1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Dict, List, Optional, Union 11 12from azure.core.exceptions import HttpResponseError 13import msrest.serialization 14 15from ._network_management_client_enums import * 16 17 18class AadAuthenticationParameters(msrest.serialization.Model): 19 """AAD Vpn authentication type related parameters. 20 21 :param aad_tenant: AAD Vpn authentication parameter AAD tenant. 22 :type aad_tenant: str 23 :param aad_audience: AAD Vpn authentication parameter AAD audience. 24 :type aad_audience: str 25 :param aad_issuer: AAD Vpn authentication parameter AAD issuer. 26 :type aad_issuer: str 27 """ 28 29 _attribute_map = { 30 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, 31 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 32 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, 33 } 34 35 def __init__( 36 self, 37 *, 38 aad_tenant: Optional[str] = None, 39 aad_audience: Optional[str] = None, 40 aad_issuer: Optional[str] = None, 41 **kwargs 42 ): 43 super(AadAuthenticationParameters, self).__init__(**kwargs) 44 self.aad_tenant = aad_tenant 45 self.aad_audience = aad_audience 46 self.aad_issuer = aad_issuer 47 48 49class AddressSpace(msrest.serialization.Model): 50 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 51 52 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 53 notation. 54 :type address_prefixes: list[str] 55 """ 56 57 _attribute_map = { 58 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 59 } 60 61 def __init__( 62 self, 63 *, 64 address_prefixes: Optional[List[str]] = None, 65 **kwargs 66 ): 67 super(AddressSpace, self).__init__(**kwargs) 68 self.address_prefixes = address_prefixes 69 70 71class Resource(msrest.serialization.Model): 72 """Common resource representation. 73 74 Variables are only populated by the server, and will be ignored when sending a request. 75 76 :param id: Resource ID. 77 :type id: str 78 :ivar name: Resource name. 79 :vartype name: str 80 :ivar type: Resource type. 81 :vartype type: str 82 :param location: Resource location. 83 :type location: str 84 :param tags: A set of tags. Resource tags. 85 :type tags: dict[str, str] 86 """ 87 88 _validation = { 89 'name': {'readonly': True}, 90 'type': {'readonly': True}, 91 } 92 93 _attribute_map = { 94 'id': {'key': 'id', 'type': 'str'}, 95 'name': {'key': 'name', 'type': 'str'}, 96 'type': {'key': 'type', 'type': 'str'}, 97 'location': {'key': 'location', 'type': 'str'}, 98 'tags': {'key': 'tags', 'type': '{str}'}, 99 } 100 101 def __init__( 102 self, 103 *, 104 id: Optional[str] = None, 105 location: Optional[str] = None, 106 tags: Optional[Dict[str, str]] = None, 107 **kwargs 108 ): 109 super(Resource, self).__init__(**kwargs) 110 self.id = id 111 self.name = None 112 self.type = None 113 self.location = location 114 self.tags = tags 115 116 117class ApplicationGateway(Resource): 118 """Application gateway resource. 119 120 Variables are only populated by the server, and will be ignored when sending a request. 121 122 :param id: Resource ID. 123 :type id: str 124 :ivar name: Resource name. 125 :vartype name: str 126 :ivar type: Resource type. 127 :vartype type: str 128 :param location: Resource location. 129 :type location: str 130 :param tags: A set of tags. Resource tags. 131 :type tags: dict[str, str] 132 :ivar etag: A unique read-only string that changes whenever the resource is updated. 133 :vartype etag: str 134 :param zones: A list of availability zones denoting where the resource needs to come from. 135 :type zones: list[str] 136 :param identity: The identity of the application gateway, if configured. 137 :type identity: ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity 138 :param sku: SKU of the application gateway resource. 139 :type sku: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySku 140 :param ssl_policy: SSL policy of the application gateway resource. 141 :type ssl_policy: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicy 142 :ivar operational_state: Operational state of the application gateway resource. Possible values 143 include: "Stopped", "Starting", "Running", "Stopping". 144 :vartype operational_state: str or 145 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayOperationalState 146 :param gateway_ip_configurations: Subnets of the application gateway resource. For default 147 limits, see `Application Gateway limits 148 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 149 :type gateway_ip_configurations: 150 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayIPConfiguration] 151 :param authentication_certificates: Authentication certificates of the application gateway 152 resource. For default limits, see `Application Gateway limits 153 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 154 :type authentication_certificates: 155 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAuthenticationCertificate] 156 :param trusted_root_certificates: Trusted Root certificates of the application gateway 157 resource. For default limits, see `Application Gateway limits 158 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 159 :type trusted_root_certificates: 160 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTrustedRootCertificate] 161 :param ssl_certificates: SSL certificates of the application gateway resource. For default 162 limits, see `Application Gateway limits 163 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 164 :type ssl_certificates: 165 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCertificate] 166 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 167 For default limits, see `Application Gateway limits 168 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 169 :type frontend_ip_configurations: 170 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendIPConfiguration] 171 :param frontend_ports: Frontend ports of the application gateway resource. For default limits, 172 see `Application Gateway limits 173 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 174 :type frontend_ports: 175 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFrontendPort] 176 :param probes: Probes of the application gateway resource. 177 :type probes: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbe] 178 :param backend_address_pools: Backend address pool of the application gateway resource. For 179 default limits, see `Application Gateway limits 180 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 181 :type backend_address_pools: 182 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] 183 :param backend_http_settings_collection: Backend http settings of the application gateway 184 resource. For default limits, see `Application Gateway limits 185 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 186 :type backend_http_settings_collection: 187 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings] 188 :param http_listeners: Http listeners of the application gateway resource. For default limits, 189 see `Application Gateway limits 190 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 191 :type http_listeners: 192 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHttpListener] 193 :param url_path_maps: URL path map of the application gateway resource. For default limits, see 194 `Application Gateway limits 195 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 196 :type url_path_maps: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlPathMap] 197 :param request_routing_rules: Request routing rules of the application gateway resource. 198 :type request_routing_rules: 199 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRule] 200 :param rewrite_rule_sets: Rewrite rules for the application gateway resource. 201 :type rewrite_rule_sets: 202 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleSet] 203 :param redirect_configurations: Redirect configurations of the application gateway resource. 204 For default limits, see `Application Gateway limits 205 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 206 :type redirect_configurations: 207 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectConfiguration] 208 :param web_application_firewall_configuration: Web application firewall configuration. 209 :type web_application_firewall_configuration: 210 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 211 :param firewall_policy: Reference to the FirewallPolicy resource. 212 :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 213 :param enable_http2: Whether HTTP2 is enabled on the application gateway resource. 214 :type enable_http2: bool 215 :param enable_fips: Whether FIPS is enabled on the application gateway resource. 216 :type enable_fips: bool 217 :param autoscale_configuration: Autoscale Configuration. 218 :type autoscale_configuration: 219 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayAutoscaleConfiguration 220 :ivar resource_guid: The resource GUID property of the application gateway resource. 221 :vartype resource_guid: str 222 :ivar provisioning_state: The provisioning state of the application gateway resource. Possible 223 values include: "Succeeded", "Updating", "Deleting", "Failed". 224 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 225 :param custom_error_configurations: Custom error configurations of the application gateway 226 resource. 227 :type custom_error_configurations: 228 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] 229 :param force_firewall_policy_association: If true, associates a firewall policy with an 230 application gateway regardless whether the policy differs from the WAF Config. 231 :type force_firewall_policy_association: bool 232 """ 233 234 _validation = { 235 'name': {'readonly': True}, 236 'type': {'readonly': True}, 237 'etag': {'readonly': True}, 238 'operational_state': {'readonly': True}, 239 'resource_guid': {'readonly': True}, 240 'provisioning_state': {'readonly': True}, 241 } 242 243 _attribute_map = { 244 'id': {'key': 'id', 'type': 'str'}, 245 'name': {'key': 'name', 'type': 'str'}, 246 'type': {'key': 'type', 'type': 'str'}, 247 'location': {'key': 'location', 'type': 'str'}, 248 'tags': {'key': 'tags', 'type': '{str}'}, 249 'etag': {'key': 'etag', 'type': 'str'}, 250 'zones': {'key': 'zones', 'type': '[str]'}, 251 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 252 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 253 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 254 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 255 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 256 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 257 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, 258 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 259 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 260 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 261 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 262 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 263 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 264 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 265 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 266 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 267 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, 268 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, 269 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 270 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 271 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, 272 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, 273 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, 274 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 275 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 276 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, 277 'force_firewall_policy_association': {'key': 'properties.forceFirewallPolicyAssociation', 'type': 'bool'}, 278 } 279 280 def __init__( 281 self, 282 *, 283 id: Optional[str] = None, 284 location: Optional[str] = None, 285 tags: Optional[Dict[str, str]] = None, 286 zones: Optional[List[str]] = None, 287 identity: Optional["ManagedServiceIdentity"] = None, 288 sku: Optional["ApplicationGatewaySku"] = None, 289 ssl_policy: Optional["ApplicationGatewaySslPolicy"] = None, 290 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 291 authentication_certificates: Optional[List["ApplicationGatewayAuthenticationCertificate"]] = None, 292 trusted_root_certificates: Optional[List["ApplicationGatewayTrustedRootCertificate"]] = None, 293 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 294 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 295 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 296 probes: Optional[List["ApplicationGatewayProbe"]] = None, 297 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 298 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 299 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 300 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 301 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 302 rewrite_rule_sets: Optional[List["ApplicationGatewayRewriteRuleSet"]] = None, 303 redirect_configurations: Optional[List["ApplicationGatewayRedirectConfiguration"]] = None, 304 web_application_firewall_configuration: Optional["ApplicationGatewayWebApplicationFirewallConfiguration"] = None, 305 firewall_policy: Optional["SubResource"] = None, 306 enable_http2: Optional[bool] = None, 307 enable_fips: Optional[bool] = None, 308 autoscale_configuration: Optional["ApplicationGatewayAutoscaleConfiguration"] = None, 309 custom_error_configurations: Optional[List["ApplicationGatewayCustomError"]] = None, 310 force_firewall_policy_association: Optional[bool] = None, 311 **kwargs 312 ): 313 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 314 self.etag = None 315 self.zones = zones 316 self.identity = identity 317 self.sku = sku 318 self.ssl_policy = ssl_policy 319 self.operational_state = None 320 self.gateway_ip_configurations = gateway_ip_configurations 321 self.authentication_certificates = authentication_certificates 322 self.trusted_root_certificates = trusted_root_certificates 323 self.ssl_certificates = ssl_certificates 324 self.frontend_ip_configurations = frontend_ip_configurations 325 self.frontend_ports = frontend_ports 326 self.probes = probes 327 self.backend_address_pools = backend_address_pools 328 self.backend_http_settings_collection = backend_http_settings_collection 329 self.http_listeners = http_listeners 330 self.url_path_maps = url_path_maps 331 self.request_routing_rules = request_routing_rules 332 self.rewrite_rule_sets = rewrite_rule_sets 333 self.redirect_configurations = redirect_configurations 334 self.web_application_firewall_configuration = web_application_firewall_configuration 335 self.firewall_policy = firewall_policy 336 self.enable_http2 = enable_http2 337 self.enable_fips = enable_fips 338 self.autoscale_configuration = autoscale_configuration 339 self.resource_guid = None 340 self.provisioning_state = None 341 self.custom_error_configurations = custom_error_configurations 342 self.force_firewall_policy_association = force_firewall_policy_association 343 344 345class SubResource(msrest.serialization.Model): 346 """Reference to another subresource. 347 348 :param id: Resource ID. 349 :type id: str 350 """ 351 352 _attribute_map = { 353 'id': {'key': 'id', 'type': 'str'}, 354 } 355 356 def __init__( 357 self, 358 *, 359 id: Optional[str] = None, 360 **kwargs 361 ): 362 super(SubResource, self).__init__(**kwargs) 363 self.id = id 364 365 366class ApplicationGatewayAuthenticationCertificate(SubResource): 367 """Authentication certificates of an application gateway. 368 369 Variables are only populated by the server, and will be ignored when sending a request. 370 371 :param id: Resource ID. 372 :type id: str 373 :param name: Name of the authentication certificate that is unique within an Application 374 Gateway. 375 :type name: str 376 :ivar etag: A unique read-only string that changes whenever the resource is updated. 377 :vartype etag: str 378 :ivar type: Type of the resource. 379 :vartype type: str 380 :param data: Certificate public data. 381 :type data: str 382 :ivar provisioning_state: The provisioning state of the authentication certificate resource. 383 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 384 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 385 """ 386 387 _validation = { 388 'etag': {'readonly': True}, 389 'type': {'readonly': True}, 390 'provisioning_state': {'readonly': True}, 391 } 392 393 _attribute_map = { 394 'id': {'key': 'id', 'type': 'str'}, 395 'name': {'key': 'name', 'type': 'str'}, 396 'etag': {'key': 'etag', 'type': 'str'}, 397 'type': {'key': 'type', 'type': 'str'}, 398 'data': {'key': 'properties.data', 'type': 'str'}, 399 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 400 } 401 402 def __init__( 403 self, 404 *, 405 id: Optional[str] = None, 406 name: Optional[str] = None, 407 data: Optional[str] = None, 408 **kwargs 409 ): 410 super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) 411 self.name = name 412 self.etag = None 413 self.type = None 414 self.data = data 415 self.provisioning_state = None 416 417 418class ApplicationGatewayAutoscaleConfiguration(msrest.serialization.Model): 419 """Application Gateway autoscale configuration. 420 421 All required parameters must be populated in order to send to Azure. 422 423 :param min_capacity: Required. Lower bound on number of Application Gateway capacity. 424 :type min_capacity: int 425 :param max_capacity: Upper bound on number of Application Gateway capacity. 426 :type max_capacity: int 427 """ 428 429 _validation = { 430 'min_capacity': {'required': True, 'minimum': 0}, 431 'max_capacity': {'minimum': 2}, 432 } 433 434 _attribute_map = { 435 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, 436 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, 437 } 438 439 def __init__( 440 self, 441 *, 442 min_capacity: int, 443 max_capacity: Optional[int] = None, 444 **kwargs 445 ): 446 super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) 447 self.min_capacity = min_capacity 448 self.max_capacity = max_capacity 449 450 451class ApplicationGatewayAvailableSslOptions(Resource): 452 """Response for ApplicationGatewayAvailableSslOptions API service call. 453 454 Variables are only populated by the server, and will be ignored when sending a request. 455 456 :param id: Resource ID. 457 :type id: str 458 :ivar name: Resource name. 459 :vartype name: str 460 :ivar type: Resource type. 461 :vartype type: str 462 :param location: Resource location. 463 :type location: str 464 :param tags: A set of tags. Resource tags. 465 :type tags: dict[str, str] 466 :param predefined_policies: List of available Ssl predefined policy. 467 :type predefined_policies: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 468 :param default_policy: Name of the Ssl predefined policy applied by default to application 469 gateway. Possible values include: "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", 470 "AppGwSslPolicy20170401S". 471 :type default_policy: str or 472 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName 473 :param available_cipher_suites: List of available Ssl cipher suites. 474 :type available_cipher_suites: list[str or 475 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] 476 :param available_protocols: List of available Ssl protocols. 477 :type available_protocols: list[str or 478 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] 479 """ 480 481 _validation = { 482 'name': {'readonly': True}, 483 'type': {'readonly': True}, 484 } 485 486 _attribute_map = { 487 'id': {'key': 'id', 'type': 'str'}, 488 'name': {'key': 'name', 'type': 'str'}, 489 'type': {'key': 'type', 'type': 'str'}, 490 'location': {'key': 'location', 'type': 'str'}, 491 'tags': {'key': 'tags', 'type': '{str}'}, 492 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, 493 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, 494 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, 495 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, 496 } 497 498 def __init__( 499 self, 500 *, 501 id: Optional[str] = None, 502 location: Optional[str] = None, 503 tags: Optional[Dict[str, str]] = None, 504 predefined_policies: Optional[List["SubResource"]] = None, 505 default_policy: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 506 available_cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 507 available_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 508 **kwargs 509 ): 510 super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) 511 self.predefined_policies = predefined_policies 512 self.default_policy = default_policy 513 self.available_cipher_suites = available_cipher_suites 514 self.available_protocols = available_protocols 515 516 517class ApplicationGatewayAvailableSslPredefinedPolicies(msrest.serialization.Model): 518 """Response for ApplicationGatewayAvailableSslOptions API service call. 519 520 :param value: List of available Ssl predefined policy. 521 :type value: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPredefinedPolicy] 522 :param next_link: URL to get the next set of results. 523 :type next_link: str 524 """ 525 526 _attribute_map = { 527 'value': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'}, 528 'next_link': {'key': 'nextLink', 'type': 'str'}, 529 } 530 531 def __init__( 532 self, 533 *, 534 value: Optional[List["ApplicationGatewaySslPredefinedPolicy"]] = None, 535 next_link: Optional[str] = None, 536 **kwargs 537 ): 538 super(ApplicationGatewayAvailableSslPredefinedPolicies, self).__init__(**kwargs) 539 self.value = value 540 self.next_link = next_link 541 542 543class ApplicationGatewayAvailableWafRuleSetsResult(msrest.serialization.Model): 544 """Response for ApplicationGatewayAvailableWafRuleSets API service call. 545 546 :param value: The list of application gateway rule sets. 547 :type value: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleSet] 548 """ 549 550 _attribute_map = { 551 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, 552 } 553 554 def __init__( 555 self, 556 *, 557 value: Optional[List["ApplicationGatewayFirewallRuleSet"]] = None, 558 **kwargs 559 ): 560 super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) 561 self.value = value 562 563 564class ApplicationGatewayBackendAddress(msrest.serialization.Model): 565 """Backend address of an application gateway. 566 567 :param fqdn: Fully qualified domain name (FQDN). 568 :type fqdn: str 569 :param ip_address: IP address. 570 :type ip_address: str 571 """ 572 573 _attribute_map = { 574 'fqdn': {'key': 'fqdn', 'type': 'str'}, 575 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 576 } 577 578 def __init__( 579 self, 580 *, 581 fqdn: Optional[str] = None, 582 ip_address: Optional[str] = None, 583 **kwargs 584 ): 585 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 586 self.fqdn = fqdn 587 self.ip_address = ip_address 588 589 590class ApplicationGatewayBackendAddressPool(SubResource): 591 """Backend Address Pool of an application gateway. 592 593 Variables are only populated by the server, and will be ignored when sending a request. 594 595 :param id: Resource ID. 596 :type id: str 597 :param name: Name of the backend address pool that is unique within an Application Gateway. 598 :type name: str 599 :ivar etag: A unique read-only string that changes whenever the resource is updated. 600 :vartype etag: str 601 :ivar type: Type of the resource. 602 :vartype type: str 603 :ivar backend_ip_configurations: Collection of references to IPs defined in network interfaces. 604 :vartype backend_ip_configurations: 605 list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] 606 :param backend_addresses: Backend addresses. 607 :type backend_addresses: 608 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddress] 609 :ivar provisioning_state: The provisioning state of the backend address pool resource. Possible 610 values include: "Succeeded", "Updating", "Deleting", "Failed". 611 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 612 """ 613 614 _validation = { 615 'etag': {'readonly': True}, 616 'type': {'readonly': True}, 617 'backend_ip_configurations': {'readonly': True}, 618 'provisioning_state': {'readonly': True}, 619 } 620 621 _attribute_map = { 622 'id': {'key': 'id', 'type': 'str'}, 623 'name': {'key': 'name', 'type': 'str'}, 624 'etag': {'key': 'etag', 'type': 'str'}, 625 'type': {'key': 'type', 'type': 'str'}, 626 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 627 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 628 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 629 } 630 631 def __init__( 632 self, 633 *, 634 id: Optional[str] = None, 635 name: Optional[str] = None, 636 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 637 **kwargs 638 ): 639 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 640 self.name = name 641 self.etag = None 642 self.type = None 643 self.backend_ip_configurations = None 644 self.backend_addresses = backend_addresses 645 self.provisioning_state = None 646 647 648class ApplicationGatewayBackendHealth(msrest.serialization.Model): 649 """Response for ApplicationGatewayBackendHealth API service call. 650 651 :param backend_address_pools: A list of ApplicationGatewayBackendHealthPool resources. 652 :type backend_address_pools: 653 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthPool] 654 """ 655 656 _attribute_map = { 657 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 658 } 659 660 def __init__( 661 self, 662 *, 663 backend_address_pools: Optional[List["ApplicationGatewayBackendHealthPool"]] = None, 664 **kwargs 665 ): 666 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 667 self.backend_address_pools = backend_address_pools 668 669 670class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 671 """Application gateway BackendHealthHttp settings. 672 673 :param backend_http_settings: Reference to an ApplicationGatewayBackendHttpSettings resource. 674 :type backend_http_settings: 675 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHttpSettings 676 :param servers: List of ApplicationGatewayBackendHealthServer resources. 677 :type servers: 678 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServer] 679 """ 680 681 _attribute_map = { 682 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 683 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 684 } 685 686 def __init__( 687 self, 688 *, 689 backend_http_settings: Optional["ApplicationGatewayBackendHttpSettings"] = None, 690 servers: Optional[List["ApplicationGatewayBackendHealthServer"]] = None, 691 **kwargs 692 ): 693 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 694 self.backend_http_settings = backend_http_settings 695 self.servers = servers 696 697 698class ApplicationGatewayBackendHealthOnDemand(msrest.serialization.Model): 699 """Result of on demand test probe. 700 701 :param backend_address_pool: Reference to an ApplicationGatewayBackendAddressPool resource. 702 :type backend_address_pool: 703 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool 704 :param backend_health_http_settings: Application gateway BackendHealthHttp settings. 705 :type backend_health_http_settings: 706 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings 707 """ 708 709 _attribute_map = { 710 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 711 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, 712 } 713 714 def __init__( 715 self, 716 *, 717 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 718 backend_health_http_settings: Optional["ApplicationGatewayBackendHealthHttpSettings"] = None, 719 **kwargs 720 ): 721 super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) 722 self.backend_address_pool = backend_address_pool 723 self.backend_health_http_settings = backend_health_http_settings 724 725 726class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 727 """Application gateway BackendHealth pool. 728 729 :param backend_address_pool: Reference to an ApplicationGatewayBackendAddressPool resource. 730 :type backend_address_pool: 731 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool 732 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 733 resources. 734 :type backend_http_settings_collection: 735 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthHttpSettings] 736 """ 737 738 _attribute_map = { 739 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 740 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 741 } 742 743 def __init__( 744 self, 745 *, 746 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 747 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHealthHttpSettings"]] = None, 748 **kwargs 749 ): 750 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 751 self.backend_address_pool = backend_address_pool 752 self.backend_http_settings_collection = backend_http_settings_collection 753 754 755class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 756 """Application gateway backendhealth http settings. 757 758 :param address: IP address or FQDN of backend server. 759 :type address: str 760 :param ip_configuration: Reference to IP configuration of backend server. 761 :type ip_configuration: ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration 762 :param health: Health of backend server. Possible values include: "Unknown", "Up", "Down", 763 "Partial", "Draining". 764 :type health: str or 765 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendHealthServerHealth 766 :param health_probe_log: Health Probe Log. 767 :type health_probe_log: str 768 """ 769 770 _attribute_map = { 771 'address': {'key': 'address', 'type': 'str'}, 772 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 773 'health': {'key': 'health', 'type': 'str'}, 774 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, 775 } 776 777 def __init__( 778 self, 779 *, 780 address: Optional[str] = None, 781 ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 782 health: Optional[Union[str, "ApplicationGatewayBackendHealthServerHealth"]] = None, 783 health_probe_log: Optional[str] = None, 784 **kwargs 785 ): 786 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 787 self.address = address 788 self.ip_configuration = ip_configuration 789 self.health = health 790 self.health_probe_log = health_probe_log 791 792 793class ApplicationGatewayBackendHttpSettings(SubResource): 794 """Backend address pool settings of an application gateway. 795 796 Variables are only populated by the server, and will be ignored when sending a request. 797 798 :param id: Resource ID. 799 :type id: str 800 :param name: Name of the backend http settings that is unique within an Application Gateway. 801 :type name: str 802 :ivar etag: A unique read-only string that changes whenever the resource is updated. 803 :vartype etag: str 804 :ivar type: Type of the resource. 805 :vartype type: str 806 :param port: The destination port on the backend. 807 :type port: int 808 :param protocol: The protocol used to communicate with the backend. Possible values include: 809 "Http", "Https". 810 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol 811 :param cookie_based_affinity: Cookie based affinity. Possible values include: "Enabled", 812 "Disabled". 813 :type cookie_based_affinity: str or 814 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCookieBasedAffinity 815 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 816 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 817 seconds. 818 :type request_timeout: int 819 :param probe: Probe resource of an application gateway. 820 :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource 821 :param authentication_certificates: Array of references to application gateway authentication 822 certificates. 823 :type authentication_certificates: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 824 :param trusted_root_certificates: Array of references to application gateway trusted root 825 certificates. 826 :type trusted_root_certificates: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 827 :param connection_draining: Connection draining of the backend http settings resource. 828 :type connection_draining: 829 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayConnectionDraining 830 :param host_name: Host header to be sent to the backend servers. 831 :type host_name: str 832 :param pick_host_name_from_backend_address: Whether to pick host header should be picked from 833 the host name of the backend server. Default value is false. 834 :type pick_host_name_from_backend_address: bool 835 :param affinity_cookie_name: Cookie name to use for the affinity cookie. 836 :type affinity_cookie_name: str 837 :param probe_enabled: Whether the probe is enabled. Default value is false. 838 :type probe_enabled: bool 839 :param path: Path which should be used as a prefix for all HTTP requests. Null means no path 840 will be prefixed. Default value is null. 841 :type path: str 842 :ivar provisioning_state: The provisioning state of the backend HTTP settings resource. 843 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 844 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 845 """ 846 847 _validation = { 848 'etag': {'readonly': True}, 849 'type': {'readonly': True}, 850 'provisioning_state': {'readonly': True}, 851 } 852 853 _attribute_map = { 854 'id': {'key': 'id', 'type': 'str'}, 855 'name': {'key': 'name', 'type': 'str'}, 856 'etag': {'key': 'etag', 'type': 'str'}, 857 'type': {'key': 'type', 'type': 'str'}, 858 'port': {'key': 'properties.port', 'type': 'int'}, 859 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 860 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 861 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 862 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 863 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 864 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, 865 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 866 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 867 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, 868 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, 869 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, 870 'path': {'key': 'properties.path', 'type': 'str'}, 871 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 872 } 873 874 def __init__( 875 self, 876 *, 877 id: Optional[str] = None, 878 name: Optional[str] = None, 879 port: Optional[int] = None, 880 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 881 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 882 request_timeout: Optional[int] = None, 883 probe: Optional["SubResource"] = None, 884 authentication_certificates: Optional[List["SubResource"]] = None, 885 trusted_root_certificates: Optional[List["SubResource"]] = None, 886 connection_draining: Optional["ApplicationGatewayConnectionDraining"] = None, 887 host_name: Optional[str] = None, 888 pick_host_name_from_backend_address: Optional[bool] = None, 889 affinity_cookie_name: Optional[str] = None, 890 probe_enabled: Optional[bool] = None, 891 path: Optional[str] = None, 892 **kwargs 893 ): 894 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 895 self.name = name 896 self.etag = None 897 self.type = None 898 self.port = port 899 self.protocol = protocol 900 self.cookie_based_affinity = cookie_based_affinity 901 self.request_timeout = request_timeout 902 self.probe = probe 903 self.authentication_certificates = authentication_certificates 904 self.trusted_root_certificates = trusted_root_certificates 905 self.connection_draining = connection_draining 906 self.host_name = host_name 907 self.pick_host_name_from_backend_address = pick_host_name_from_backend_address 908 self.affinity_cookie_name = affinity_cookie_name 909 self.probe_enabled = probe_enabled 910 self.path = path 911 self.provisioning_state = None 912 913 914class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 915 """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. 916 917 All required parameters must be populated in order to send to Azure. 918 919 :param enabled: Required. Whether connection draining is enabled or not. 920 :type enabled: bool 921 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 922 Acceptable values are from 1 second to 3600 seconds. 923 :type drain_timeout_in_sec: int 924 """ 925 926 _validation = { 927 'enabled': {'required': True}, 928 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 929 } 930 931 _attribute_map = { 932 'enabled': {'key': 'enabled', 'type': 'bool'}, 933 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 934 } 935 936 def __init__( 937 self, 938 *, 939 enabled: bool, 940 drain_timeout_in_sec: int, 941 **kwargs 942 ): 943 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 944 self.enabled = enabled 945 self.drain_timeout_in_sec = drain_timeout_in_sec 946 947 948class ApplicationGatewayCustomError(msrest.serialization.Model): 949 """Customer error of an application gateway. 950 951 :param status_code: Status code of the application gateway customer error. Possible values 952 include: "HttpStatus403", "HttpStatus502". 953 :type status_code: str or 954 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomErrorStatusCode 955 :param custom_error_page_url: Error page URL of the application gateway customer error. 956 :type custom_error_page_url: str 957 """ 958 959 _attribute_map = { 960 'status_code': {'key': 'statusCode', 'type': 'str'}, 961 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, 962 } 963 964 def __init__( 965 self, 966 *, 967 status_code: Optional[Union[str, "ApplicationGatewayCustomErrorStatusCode"]] = None, 968 custom_error_page_url: Optional[str] = None, 969 **kwargs 970 ): 971 super(ApplicationGatewayCustomError, self).__init__(**kwargs) 972 self.status_code = status_code 973 self.custom_error_page_url = custom_error_page_url 974 975 976class ApplicationGatewayFirewallDisabledRuleGroup(msrest.serialization.Model): 977 """Allows to disable rules within a rule group or an entire rule group. 978 979 All required parameters must be populated in order to send to Azure. 980 981 :param rule_group_name: Required. The name of the rule group that will be disabled. 982 :type rule_group_name: str 983 :param rules: The list of rules that will be disabled. If null, all rules of the rule group 984 will be disabled. 985 :type rules: list[int] 986 """ 987 988 _validation = { 989 'rule_group_name': {'required': True}, 990 } 991 992 _attribute_map = { 993 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 994 'rules': {'key': 'rules', 'type': '[int]'}, 995 } 996 997 def __init__( 998 self, 999 *, 1000 rule_group_name: str, 1001 rules: Optional[List[int]] = None, 1002 **kwargs 1003 ): 1004 super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) 1005 self.rule_group_name = rule_group_name 1006 self.rules = rules 1007 1008 1009class ApplicationGatewayFirewallExclusion(msrest.serialization.Model): 1010 """Allow to exclude some variable satisfy the condition for the WAF check. 1011 1012 All required parameters must be populated in order to send to Azure. 1013 1014 :param match_variable: Required. The variable to be excluded. 1015 :type match_variable: str 1016 :param selector_match_operator: Required. When matchVariable is a collection, operate on the 1017 selector to specify which elements in the collection this exclusion applies to. 1018 :type selector_match_operator: str 1019 :param selector: Required. When matchVariable is a collection, operator used to specify which 1020 elements in the collection this exclusion applies to. 1021 :type selector: str 1022 """ 1023 1024 _validation = { 1025 'match_variable': {'required': True}, 1026 'selector_match_operator': {'required': True}, 1027 'selector': {'required': True}, 1028 } 1029 1030 _attribute_map = { 1031 'match_variable': {'key': 'matchVariable', 'type': 'str'}, 1032 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, 1033 'selector': {'key': 'selector', 'type': 'str'}, 1034 } 1035 1036 def __init__( 1037 self, 1038 *, 1039 match_variable: str, 1040 selector_match_operator: str, 1041 selector: str, 1042 **kwargs 1043 ): 1044 super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) 1045 self.match_variable = match_variable 1046 self.selector_match_operator = selector_match_operator 1047 self.selector = selector 1048 1049 1050class ApplicationGatewayFirewallRule(msrest.serialization.Model): 1051 """A web application firewall rule. 1052 1053 All required parameters must be populated in order to send to Azure. 1054 1055 :param rule_id: Required. The identifier of the web application firewall rule. 1056 :type rule_id: int 1057 :param description: The description of the web application firewall rule. 1058 :type description: str 1059 """ 1060 1061 _validation = { 1062 'rule_id': {'required': True}, 1063 } 1064 1065 _attribute_map = { 1066 'rule_id': {'key': 'ruleId', 'type': 'int'}, 1067 'description': {'key': 'description', 'type': 'str'}, 1068 } 1069 1070 def __init__( 1071 self, 1072 *, 1073 rule_id: int, 1074 description: Optional[str] = None, 1075 **kwargs 1076 ): 1077 super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) 1078 self.rule_id = rule_id 1079 self.description = description 1080 1081 1082class ApplicationGatewayFirewallRuleGroup(msrest.serialization.Model): 1083 """A web application firewall rule group. 1084 1085 All required parameters must be populated in order to send to Azure. 1086 1087 :param rule_group_name: Required. The name of the web application firewall rule group. 1088 :type rule_group_name: str 1089 :param description: The description of the web application firewall rule group. 1090 :type description: str 1091 :param rules: Required. The rules of the web application firewall rule group. 1092 :type rules: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRule] 1093 """ 1094 1095 _validation = { 1096 'rule_group_name': {'required': True}, 1097 'rules': {'required': True}, 1098 } 1099 1100 _attribute_map = { 1101 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 1102 'description': {'key': 'description', 'type': 'str'}, 1103 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, 1104 } 1105 1106 def __init__( 1107 self, 1108 *, 1109 rule_group_name: str, 1110 rules: List["ApplicationGatewayFirewallRule"], 1111 description: Optional[str] = None, 1112 **kwargs 1113 ): 1114 super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) 1115 self.rule_group_name = rule_group_name 1116 self.description = description 1117 self.rules = rules 1118 1119 1120class ApplicationGatewayFirewallRuleSet(Resource): 1121 """A web application firewall rule set. 1122 1123 Variables are only populated by the server, and will be ignored when sending a request. 1124 1125 :param id: Resource ID. 1126 :type id: str 1127 :ivar name: Resource name. 1128 :vartype name: str 1129 :ivar type: Resource type. 1130 :vartype type: str 1131 :param location: Resource location. 1132 :type location: str 1133 :param tags: A set of tags. Resource tags. 1134 :type tags: dict[str, str] 1135 :ivar provisioning_state: The provisioning state of the web application firewall rule set. 1136 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1137 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1138 :param rule_set_type: The type of the web application firewall rule set. 1139 :type rule_set_type: str 1140 :param rule_set_version: The version of the web application firewall rule set type. 1141 :type rule_set_version: str 1142 :param rule_groups: The rule groups of the web application firewall rule set. 1143 :type rule_groups: 1144 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallRuleGroup] 1145 """ 1146 1147 _validation = { 1148 'name': {'readonly': True}, 1149 'type': {'readonly': True}, 1150 'provisioning_state': {'readonly': True}, 1151 } 1152 1153 _attribute_map = { 1154 'id': {'key': 'id', 'type': 'str'}, 1155 'name': {'key': 'name', 'type': 'str'}, 1156 'type': {'key': 'type', 'type': 'str'}, 1157 'location': {'key': 'location', 'type': 'str'}, 1158 'tags': {'key': 'tags', 'type': '{str}'}, 1159 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1160 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, 1161 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, 1162 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, 1163 } 1164 1165 def __init__( 1166 self, 1167 *, 1168 id: Optional[str] = None, 1169 location: Optional[str] = None, 1170 tags: Optional[Dict[str, str]] = None, 1171 rule_set_type: Optional[str] = None, 1172 rule_set_version: Optional[str] = None, 1173 rule_groups: Optional[List["ApplicationGatewayFirewallRuleGroup"]] = None, 1174 **kwargs 1175 ): 1176 super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) 1177 self.provisioning_state = None 1178 self.rule_set_type = rule_set_type 1179 self.rule_set_version = rule_set_version 1180 self.rule_groups = rule_groups 1181 1182 1183class ApplicationGatewayFrontendIPConfiguration(SubResource): 1184 """Frontend IP configuration of an application gateway. 1185 1186 Variables are only populated by the server, and will be ignored when sending a request. 1187 1188 :param id: Resource ID. 1189 :type id: str 1190 :param name: Name of the frontend IP configuration that is unique within an Application 1191 Gateway. 1192 :type name: str 1193 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1194 :vartype etag: str 1195 :ivar type: Type of the resource. 1196 :vartype type: str 1197 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 1198 :type private_ip_address: str 1199 :param private_ip_allocation_method: The private IP address allocation method. Possible values 1200 include: "Static", "Dynamic". 1201 :type private_ip_allocation_method: str or 1202 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 1203 :param subnet: Reference to the subnet resource. 1204 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 1205 :param public_ip_address: Reference to the PublicIP resource. 1206 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.SubResource 1207 :ivar provisioning_state: The provisioning state of the frontend IP configuration resource. 1208 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1209 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1210 """ 1211 1212 _validation = { 1213 'etag': {'readonly': True}, 1214 'type': {'readonly': True}, 1215 'provisioning_state': {'readonly': True}, 1216 } 1217 1218 _attribute_map = { 1219 'id': {'key': 'id', 'type': 'str'}, 1220 'name': {'key': 'name', 'type': 'str'}, 1221 'etag': {'key': 'etag', 'type': 'str'}, 1222 'type': {'key': 'type', 'type': 'str'}, 1223 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 1224 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 1225 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1226 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 1227 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1228 } 1229 1230 def __init__( 1231 self, 1232 *, 1233 id: Optional[str] = None, 1234 name: Optional[str] = None, 1235 private_ip_address: Optional[str] = None, 1236 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 1237 subnet: Optional["SubResource"] = None, 1238 public_ip_address: Optional["SubResource"] = None, 1239 **kwargs 1240 ): 1241 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 1242 self.name = name 1243 self.etag = None 1244 self.type = None 1245 self.private_ip_address = private_ip_address 1246 self.private_ip_allocation_method = private_ip_allocation_method 1247 self.subnet = subnet 1248 self.public_ip_address = public_ip_address 1249 self.provisioning_state = None 1250 1251 1252class ApplicationGatewayFrontendPort(SubResource): 1253 """Frontend port of an application gateway. 1254 1255 Variables are only populated by the server, and will be ignored when sending a request. 1256 1257 :param id: Resource ID. 1258 :type id: str 1259 :param name: Name of the frontend port that is unique within an Application Gateway. 1260 :type name: str 1261 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1262 :vartype etag: str 1263 :ivar type: Type of the resource. 1264 :vartype type: str 1265 :param port: Frontend port. 1266 :type port: int 1267 :ivar provisioning_state: The provisioning state of the frontend port resource. Possible values 1268 include: "Succeeded", "Updating", "Deleting", "Failed". 1269 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1270 """ 1271 1272 _validation = { 1273 'etag': {'readonly': True}, 1274 'type': {'readonly': True}, 1275 'provisioning_state': {'readonly': True}, 1276 } 1277 1278 _attribute_map = { 1279 'id': {'key': 'id', 'type': 'str'}, 1280 'name': {'key': 'name', 'type': 'str'}, 1281 'etag': {'key': 'etag', 'type': 'str'}, 1282 'type': {'key': 'type', 'type': 'str'}, 1283 'port': {'key': 'properties.port', 'type': 'int'}, 1284 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1285 } 1286 1287 def __init__( 1288 self, 1289 *, 1290 id: Optional[str] = None, 1291 name: Optional[str] = None, 1292 port: Optional[int] = None, 1293 **kwargs 1294 ): 1295 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 1296 self.name = name 1297 self.etag = None 1298 self.type = None 1299 self.port = port 1300 self.provisioning_state = None 1301 1302 1303class ApplicationGatewayHeaderConfiguration(msrest.serialization.Model): 1304 """Header configuration of the Actions set in Application Gateway. 1305 1306 :param header_name: Header name of the header configuration. 1307 :type header_name: str 1308 :param header_value: Header value of the header configuration. 1309 :type header_value: str 1310 """ 1311 1312 _attribute_map = { 1313 'header_name': {'key': 'headerName', 'type': 'str'}, 1314 'header_value': {'key': 'headerValue', 'type': 'str'}, 1315 } 1316 1317 def __init__( 1318 self, 1319 *, 1320 header_name: Optional[str] = None, 1321 header_value: Optional[str] = None, 1322 **kwargs 1323 ): 1324 super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) 1325 self.header_name = header_name 1326 self.header_value = header_value 1327 1328 1329class ApplicationGatewayHttpListener(SubResource): 1330 """Http listener of an application gateway. 1331 1332 Variables are only populated by the server, and will be ignored when sending a request. 1333 1334 :param id: Resource ID. 1335 :type id: str 1336 :param name: Name of the HTTP listener that is unique within an Application Gateway. 1337 :type name: str 1338 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1339 :vartype etag: str 1340 :ivar type: Type of the resource. 1341 :vartype type: str 1342 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 1343 :type frontend_ip_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 1344 :param frontend_port: Frontend port resource of an application gateway. 1345 :type frontend_port: ~azure.mgmt.network.v2020_04_01.models.SubResource 1346 :param protocol: Protocol of the HTTP listener. Possible values include: "Http", "Https". 1347 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol 1348 :param host_name: Host name of HTTP listener. 1349 :type host_name: str 1350 :param ssl_certificate: SSL certificate resource of an application gateway. 1351 :type ssl_certificate: ~azure.mgmt.network.v2020_04_01.models.SubResource 1352 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 1353 multi-hosting. 1354 :type require_server_name_indication: bool 1355 :ivar provisioning_state: The provisioning state of the HTTP listener resource. Possible values 1356 include: "Succeeded", "Updating", "Deleting", "Failed". 1357 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1358 :param custom_error_configurations: Custom error configurations of the HTTP listener. 1359 :type custom_error_configurations: 1360 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayCustomError] 1361 :param firewall_policy: Reference to the FirewallPolicy resource. 1362 :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 1363 :param host_names: List of Host names for HTTP Listener that allows special wildcard characters 1364 as well. 1365 :type host_names: list[str] 1366 """ 1367 1368 _validation = { 1369 'etag': {'readonly': True}, 1370 'type': {'readonly': True}, 1371 'provisioning_state': {'readonly': True}, 1372 } 1373 1374 _attribute_map = { 1375 'id': {'key': 'id', 'type': 'str'}, 1376 'name': {'key': 'name', 'type': 'str'}, 1377 'etag': {'key': 'etag', 'type': 'str'}, 1378 'type': {'key': 'type', 'type': 'str'}, 1379 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 1380 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 1381 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1382 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 1383 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 1384 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 1385 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1386 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, 1387 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 1388 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, 1389 } 1390 1391 def __init__( 1392 self, 1393 *, 1394 id: Optional[str] = None, 1395 name: Optional[str] = None, 1396 frontend_ip_configuration: Optional["SubResource"] = None, 1397 frontend_port: Optional["SubResource"] = None, 1398 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1399 host_name: Optional[str] = None, 1400 ssl_certificate: Optional["SubResource"] = None, 1401 require_server_name_indication: Optional[bool] = None, 1402 custom_error_configurations: Optional[List["ApplicationGatewayCustomError"]] = None, 1403 firewall_policy: Optional["SubResource"] = None, 1404 host_names: Optional[List[str]] = None, 1405 **kwargs 1406 ): 1407 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 1408 self.name = name 1409 self.etag = None 1410 self.type = None 1411 self.frontend_ip_configuration = frontend_ip_configuration 1412 self.frontend_port = frontend_port 1413 self.protocol = protocol 1414 self.host_name = host_name 1415 self.ssl_certificate = ssl_certificate 1416 self.require_server_name_indication = require_server_name_indication 1417 self.provisioning_state = None 1418 self.custom_error_configurations = custom_error_configurations 1419 self.firewall_policy = firewall_policy 1420 self.host_names = host_names 1421 1422 1423class ApplicationGatewayIPConfiguration(SubResource): 1424 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 1425 1426 Variables are only populated by the server, and will be ignored when sending a request. 1427 1428 :param id: Resource ID. 1429 :type id: str 1430 :param name: Name of the IP configuration that is unique within an Application Gateway. 1431 :type name: str 1432 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1433 :vartype etag: str 1434 :ivar type: Type of the resource. 1435 :vartype type: str 1436 :param subnet: Reference to the subnet resource. A subnet from where application gateway gets 1437 its private address. 1438 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 1439 :ivar provisioning_state: The provisioning state of the application gateway IP configuration 1440 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1441 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1442 """ 1443 1444 _validation = { 1445 'etag': {'readonly': True}, 1446 'type': {'readonly': True}, 1447 'provisioning_state': {'readonly': True}, 1448 } 1449 1450 _attribute_map = { 1451 'id': {'key': 'id', 'type': 'str'}, 1452 'name': {'key': 'name', 'type': 'str'}, 1453 'etag': {'key': 'etag', 'type': 'str'}, 1454 'type': {'key': 'type', 'type': 'str'}, 1455 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1456 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1457 } 1458 1459 def __init__( 1460 self, 1461 *, 1462 id: Optional[str] = None, 1463 name: Optional[str] = None, 1464 subnet: Optional["SubResource"] = None, 1465 **kwargs 1466 ): 1467 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 1468 self.name = name 1469 self.etag = None 1470 self.type = None 1471 self.subnet = subnet 1472 self.provisioning_state = None 1473 1474 1475class ApplicationGatewayListResult(msrest.serialization.Model): 1476 """Response for ListApplicationGateways API service call. 1477 1478 :param value: List of an application gateways in a resource group. 1479 :type value: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] 1480 :param next_link: URL to get the next set of results. 1481 :type next_link: str 1482 """ 1483 1484 _attribute_map = { 1485 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 1486 'next_link': {'key': 'nextLink', 'type': 'str'}, 1487 } 1488 1489 def __init__( 1490 self, 1491 *, 1492 value: Optional[List["ApplicationGateway"]] = None, 1493 next_link: Optional[str] = None, 1494 **kwargs 1495 ): 1496 super(ApplicationGatewayListResult, self).__init__(**kwargs) 1497 self.value = value 1498 self.next_link = next_link 1499 1500 1501class ApplicationGatewayOnDemandProbe(msrest.serialization.Model): 1502 """Details of on demand test probe request. 1503 1504 :param protocol: The protocol used for the probe. Possible values include: "Http", "Https". 1505 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol 1506 :param host: Host name to send the probe to. 1507 :type host: str 1508 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1509 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1510 :type path: str 1511 :param timeout: The probe timeout in seconds. Probe marked as failed if valid response is not 1512 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1513 :type timeout: int 1514 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1515 the backend http settings. Default value is false. 1516 :type pick_host_name_from_backend_http_settings: bool 1517 :param match: Criterion for classifying a healthy probe response. 1518 :type match: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch 1519 :param backend_address_pool: Reference to backend pool of application gateway to which probe 1520 request will be sent. 1521 :type backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 1522 :param backend_http_settings: Reference to backend http setting of application gateway to be 1523 used for test probe. 1524 :type backend_http_settings: ~azure.mgmt.network.v2020_04_01.models.SubResource 1525 """ 1526 1527 _attribute_map = { 1528 'protocol': {'key': 'protocol', 'type': 'str'}, 1529 'host': {'key': 'host', 'type': 'str'}, 1530 'path': {'key': 'path', 'type': 'str'}, 1531 'timeout': {'key': 'timeout', 'type': 'int'}, 1532 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1533 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1534 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, 1535 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, 1536 } 1537 1538 def __init__( 1539 self, 1540 *, 1541 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1542 host: Optional[str] = None, 1543 path: Optional[str] = None, 1544 timeout: Optional[int] = None, 1545 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1546 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1547 backend_address_pool: Optional["SubResource"] = None, 1548 backend_http_settings: Optional["SubResource"] = None, 1549 **kwargs 1550 ): 1551 super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) 1552 self.protocol = protocol 1553 self.host = host 1554 self.path = path 1555 self.timeout = timeout 1556 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1557 self.match = match 1558 self.backend_address_pool = backend_address_pool 1559 self.backend_http_settings = backend_http_settings 1560 1561 1562class ApplicationGatewayPathRule(SubResource): 1563 """Path rule of URL path map of an application gateway. 1564 1565 Variables are only populated by the server, and will be ignored when sending a request. 1566 1567 :param id: Resource ID. 1568 :type id: str 1569 :param name: Name of the path rule that is unique within an Application Gateway. 1570 :type name: str 1571 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1572 :vartype etag: str 1573 :ivar type: Type of the resource. 1574 :vartype type: str 1575 :param paths: Path rules of URL path map. 1576 :type paths: list[str] 1577 :param backend_address_pool: Backend address pool resource of URL path map path rule. 1578 :type backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 1579 :param backend_http_settings: Backend http settings resource of URL path map path rule. 1580 :type backend_http_settings: ~azure.mgmt.network.v2020_04_01.models.SubResource 1581 :param redirect_configuration: Redirect configuration resource of URL path map path rule. 1582 :type redirect_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 1583 :param rewrite_rule_set: Rewrite rule set resource of URL path map path rule. 1584 :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource 1585 :ivar provisioning_state: The provisioning state of the path rule resource. Possible values 1586 include: "Succeeded", "Updating", "Deleting", "Failed". 1587 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1588 :param firewall_policy: Reference to the FirewallPolicy resource. 1589 :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 1590 """ 1591 1592 _validation = { 1593 'etag': {'readonly': True}, 1594 'type': {'readonly': True}, 1595 'provisioning_state': {'readonly': True}, 1596 } 1597 1598 _attribute_map = { 1599 'id': {'key': 'id', 'type': 'str'}, 1600 'name': {'key': 'name', 'type': 'str'}, 1601 'etag': {'key': 'etag', 'type': 'str'}, 1602 'type': {'key': 'type', 'type': 'str'}, 1603 'paths': {'key': 'properties.paths', 'type': '[str]'}, 1604 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1605 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1606 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1607 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, 1608 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1609 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 1610 } 1611 1612 def __init__( 1613 self, 1614 *, 1615 id: Optional[str] = None, 1616 name: Optional[str] = None, 1617 paths: Optional[List[str]] = None, 1618 backend_address_pool: Optional["SubResource"] = None, 1619 backend_http_settings: Optional["SubResource"] = None, 1620 redirect_configuration: Optional["SubResource"] = None, 1621 rewrite_rule_set: Optional["SubResource"] = None, 1622 firewall_policy: Optional["SubResource"] = None, 1623 **kwargs 1624 ): 1625 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 1626 self.name = name 1627 self.etag = None 1628 self.type = None 1629 self.paths = paths 1630 self.backend_address_pool = backend_address_pool 1631 self.backend_http_settings = backend_http_settings 1632 self.redirect_configuration = redirect_configuration 1633 self.rewrite_rule_set = rewrite_rule_set 1634 self.provisioning_state = None 1635 self.firewall_policy = firewall_policy 1636 1637 1638class ApplicationGatewayProbe(SubResource): 1639 """Probe of the application gateway. 1640 1641 Variables are only populated by the server, and will be ignored when sending a request. 1642 1643 :param id: Resource ID. 1644 :type id: str 1645 :param name: Name of the probe that is unique within an Application Gateway. 1646 :type name: str 1647 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1648 :vartype etag: str 1649 :ivar type: Type of the resource. 1650 :vartype type: str 1651 :param protocol: The protocol used for the probe. Possible values include: "Http", "Https". 1652 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProtocol 1653 :param host: Host name to send the probe to. 1654 :type host: str 1655 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1656 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1657 :type path: str 1658 :param interval: The probing interval in seconds. This is the time interval between two 1659 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1660 :type interval: int 1661 :param timeout: The probe timeout in seconds. Probe marked as failed if valid response is not 1662 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1663 :type timeout: int 1664 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 1665 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1666 to 20. 1667 :type unhealthy_threshold: int 1668 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1669 the backend http settings. Default value is false. 1670 :type pick_host_name_from_backend_http_settings: bool 1671 :param min_servers: Minimum number of servers that are always marked healthy. Default value is 1672 0. 1673 :type min_servers: int 1674 :param match: Criterion for classifying a healthy probe response. 1675 :type match: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayProbeHealthResponseMatch 1676 :ivar provisioning_state: The provisioning state of the probe resource. Possible values 1677 include: "Succeeded", "Updating", "Deleting", "Failed". 1678 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1679 :param port: Custom port which will be used for probing the backend servers. The valid value 1680 ranges from 1 to 65535. In case not set, port from http settings will be used. This property is 1681 valid for Standard_v2 and WAF_v2 only. 1682 :type port: int 1683 """ 1684 1685 _validation = { 1686 'etag': {'readonly': True}, 1687 'type': {'readonly': True}, 1688 'provisioning_state': {'readonly': True}, 1689 'port': {'maximum': 65535, 'minimum': 1}, 1690 } 1691 1692 _attribute_map = { 1693 'id': {'key': 'id', 'type': 'str'}, 1694 'name': {'key': 'name', 'type': 'str'}, 1695 'etag': {'key': 'etag', 'type': 'str'}, 1696 'type': {'key': 'type', 'type': 'str'}, 1697 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1698 'host': {'key': 'properties.host', 'type': 'str'}, 1699 'path': {'key': 'properties.path', 'type': 'str'}, 1700 'interval': {'key': 'properties.interval', 'type': 'int'}, 1701 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 1702 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 1703 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1704 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, 1705 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1706 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1707 'port': {'key': 'properties.port', 'type': 'int'}, 1708 } 1709 1710 def __init__( 1711 self, 1712 *, 1713 id: Optional[str] = None, 1714 name: Optional[str] = None, 1715 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1716 host: Optional[str] = None, 1717 path: Optional[str] = None, 1718 interval: Optional[int] = None, 1719 timeout: Optional[int] = None, 1720 unhealthy_threshold: Optional[int] = None, 1721 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1722 min_servers: Optional[int] = None, 1723 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1724 port: Optional[int] = None, 1725 **kwargs 1726 ): 1727 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 1728 self.name = name 1729 self.etag = None 1730 self.type = None 1731 self.protocol = protocol 1732 self.host = host 1733 self.path = path 1734 self.interval = interval 1735 self.timeout = timeout 1736 self.unhealthy_threshold = unhealthy_threshold 1737 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1738 self.min_servers = min_servers 1739 self.match = match 1740 self.provisioning_state = None 1741 self.port = port 1742 1743 1744class ApplicationGatewayProbeHealthResponseMatch(msrest.serialization.Model): 1745 """Application gateway probe health response match. 1746 1747 :param body: Body that must be contained in the health response. Default value is empty. 1748 :type body: str 1749 :param status_codes: Allowed ranges of healthy status codes. Default range of healthy status 1750 codes is 200-399. 1751 :type status_codes: list[str] 1752 """ 1753 1754 _attribute_map = { 1755 'body': {'key': 'body', 'type': 'str'}, 1756 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, 1757 } 1758 1759 def __init__( 1760 self, 1761 *, 1762 body: Optional[str] = None, 1763 status_codes: Optional[List[str]] = None, 1764 **kwargs 1765 ): 1766 super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) 1767 self.body = body 1768 self.status_codes = status_codes 1769 1770 1771class ApplicationGatewayRedirectConfiguration(SubResource): 1772 """Redirect configuration of an application gateway. 1773 1774 Variables are only populated by the server, and will be ignored when sending a request. 1775 1776 :param id: Resource ID. 1777 :type id: str 1778 :param name: Name of the redirect configuration that is unique within an Application Gateway. 1779 :type name: str 1780 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1781 :vartype etag: str 1782 :ivar type: Type of the resource. 1783 :vartype type: str 1784 :param redirect_type: HTTP redirection type. Possible values include: "Permanent", "Found", 1785 "SeeOther", "Temporary". 1786 :type redirect_type: str or 1787 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRedirectType 1788 :param target_listener: Reference to a listener to redirect the request to. 1789 :type target_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource 1790 :param target_url: Url to redirect the request to. 1791 :type target_url: str 1792 :param include_path: Include path in the redirected url. 1793 :type include_path: bool 1794 :param include_query_string: Include query string in the redirected url. 1795 :type include_query_string: bool 1796 :param request_routing_rules: Request routing specifying redirect configuration. 1797 :type request_routing_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 1798 :param url_path_maps: Url path maps specifying default redirect configuration. 1799 :type url_path_maps: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 1800 :param path_rules: Path rules specifying redirect configuration. 1801 :type path_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 1802 """ 1803 1804 _validation = { 1805 'etag': {'readonly': True}, 1806 'type': {'readonly': True}, 1807 } 1808 1809 _attribute_map = { 1810 'id': {'key': 'id', 'type': 'str'}, 1811 'name': {'key': 'name', 'type': 'str'}, 1812 'etag': {'key': 'etag', 'type': 'str'}, 1813 'type': {'key': 'type', 'type': 'str'}, 1814 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, 1815 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, 1816 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, 1817 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, 1818 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, 1819 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, 1820 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, 1821 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, 1822 } 1823 1824 def __init__( 1825 self, 1826 *, 1827 id: Optional[str] = None, 1828 name: Optional[str] = None, 1829 redirect_type: Optional[Union[str, "ApplicationGatewayRedirectType"]] = None, 1830 target_listener: Optional["SubResource"] = None, 1831 target_url: Optional[str] = None, 1832 include_path: Optional[bool] = None, 1833 include_query_string: Optional[bool] = None, 1834 request_routing_rules: Optional[List["SubResource"]] = None, 1835 url_path_maps: Optional[List["SubResource"]] = None, 1836 path_rules: Optional[List["SubResource"]] = None, 1837 **kwargs 1838 ): 1839 super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) 1840 self.name = name 1841 self.etag = None 1842 self.type = None 1843 self.redirect_type = redirect_type 1844 self.target_listener = target_listener 1845 self.target_url = target_url 1846 self.include_path = include_path 1847 self.include_query_string = include_query_string 1848 self.request_routing_rules = request_routing_rules 1849 self.url_path_maps = url_path_maps 1850 self.path_rules = path_rules 1851 1852 1853class ApplicationGatewayRequestRoutingRule(SubResource): 1854 """Request routing rule of an application gateway. 1855 1856 Variables are only populated by the server, and will be ignored when sending a request. 1857 1858 :param id: Resource ID. 1859 :type id: str 1860 :param name: Name of the request routing rule that is unique within an Application Gateway. 1861 :type name: str 1862 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1863 :vartype etag: str 1864 :ivar type: Type of the resource. 1865 :vartype type: str 1866 :param rule_type: Rule type. Possible values include: "Basic", "PathBasedRouting". 1867 :type rule_type: str or 1868 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRequestRoutingRuleType 1869 :param priority: Priority of the request routing rule. 1870 :type priority: int 1871 :param backend_address_pool: Backend address pool resource of the application gateway. 1872 :type backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 1873 :param backend_http_settings: Backend http settings resource of the application gateway. 1874 :type backend_http_settings: ~azure.mgmt.network.v2020_04_01.models.SubResource 1875 :param http_listener: Http listener resource of the application gateway. 1876 :type http_listener: ~azure.mgmt.network.v2020_04_01.models.SubResource 1877 :param url_path_map: URL path map resource of the application gateway. 1878 :type url_path_map: ~azure.mgmt.network.v2020_04_01.models.SubResource 1879 :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the application gateway. 1880 :type rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource 1881 :param redirect_configuration: Redirect configuration resource of the application gateway. 1882 :type redirect_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 1883 :ivar provisioning_state: The provisioning state of the request routing rule resource. Possible 1884 values include: "Succeeded", "Updating", "Deleting", "Failed". 1885 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 1886 """ 1887 1888 _validation = { 1889 'etag': {'readonly': True}, 1890 'type': {'readonly': True}, 1891 'priority': {'maximum': 20000, 'minimum': 1}, 1892 'provisioning_state': {'readonly': True}, 1893 } 1894 1895 _attribute_map = { 1896 'id': {'key': 'id', 'type': 'str'}, 1897 'name': {'key': 'name', 'type': 'str'}, 1898 'etag': {'key': 'etag', 'type': 'str'}, 1899 'type': {'key': 'type', 'type': 'str'}, 1900 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 1901 'priority': {'key': 'properties.priority', 'type': 'int'}, 1902 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1903 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1904 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 1905 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 1906 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, 1907 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1908 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1909 } 1910 1911 def __init__( 1912 self, 1913 *, 1914 id: Optional[str] = None, 1915 name: Optional[str] = None, 1916 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 1917 priority: Optional[int] = None, 1918 backend_address_pool: Optional["SubResource"] = None, 1919 backend_http_settings: Optional["SubResource"] = None, 1920 http_listener: Optional["SubResource"] = None, 1921 url_path_map: Optional["SubResource"] = None, 1922 rewrite_rule_set: Optional["SubResource"] = None, 1923 redirect_configuration: Optional["SubResource"] = None, 1924 **kwargs 1925 ): 1926 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 1927 self.name = name 1928 self.etag = None 1929 self.type = None 1930 self.rule_type = rule_type 1931 self.priority = priority 1932 self.backend_address_pool = backend_address_pool 1933 self.backend_http_settings = backend_http_settings 1934 self.http_listener = http_listener 1935 self.url_path_map = url_path_map 1936 self.rewrite_rule_set = rewrite_rule_set 1937 self.redirect_configuration = redirect_configuration 1938 self.provisioning_state = None 1939 1940 1941class ApplicationGatewayRewriteRule(msrest.serialization.Model): 1942 """Rewrite rule of an application gateway. 1943 1944 :param name: Name of the rewrite rule that is unique within an Application Gateway. 1945 :type name: str 1946 :param rule_sequence: Rule Sequence of the rewrite rule that determines the order of execution 1947 of a particular rule in a RewriteRuleSet. 1948 :type rule_sequence: int 1949 :param conditions: Conditions based on which the action set execution will be evaluated. 1950 :type conditions: 1951 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleCondition] 1952 :param action_set: Set of actions to be done as part of the rewrite Rule. 1953 :type action_set: ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRuleActionSet 1954 """ 1955 1956 _attribute_map = { 1957 'name': {'key': 'name', 'type': 'str'}, 1958 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, 1959 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, 1960 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, 1961 } 1962 1963 def __init__( 1964 self, 1965 *, 1966 name: Optional[str] = None, 1967 rule_sequence: Optional[int] = None, 1968 conditions: Optional[List["ApplicationGatewayRewriteRuleCondition"]] = None, 1969 action_set: Optional["ApplicationGatewayRewriteRuleActionSet"] = None, 1970 **kwargs 1971 ): 1972 super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) 1973 self.name = name 1974 self.rule_sequence = rule_sequence 1975 self.conditions = conditions 1976 self.action_set = action_set 1977 1978 1979class ApplicationGatewayRewriteRuleActionSet(msrest.serialization.Model): 1980 """Set of actions in the Rewrite Rule in Application Gateway. 1981 1982 :param request_header_configurations: Request Header Actions in the Action Set. 1983 :type request_header_configurations: 1984 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] 1985 :param response_header_configurations: Response Header Actions in the Action Set. 1986 :type response_header_configurations: 1987 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayHeaderConfiguration] 1988 :param url_configuration: Url Configuration Action in the Action Set. 1989 :type url_configuration: 1990 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayUrlConfiguration 1991 """ 1992 1993 _attribute_map = { 1994 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, 1995 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, 1996 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, 1997 } 1998 1999 def __init__( 2000 self, 2001 *, 2002 request_header_configurations: Optional[List["ApplicationGatewayHeaderConfiguration"]] = None, 2003 response_header_configurations: Optional[List["ApplicationGatewayHeaderConfiguration"]] = None, 2004 url_configuration: Optional["ApplicationGatewayUrlConfiguration"] = None, 2005 **kwargs 2006 ): 2007 super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) 2008 self.request_header_configurations = request_header_configurations 2009 self.response_header_configurations = response_header_configurations 2010 self.url_configuration = url_configuration 2011 2012 2013class ApplicationGatewayRewriteRuleCondition(msrest.serialization.Model): 2014 """Set of conditions in the Rewrite Rule in Application Gateway. 2015 2016 :param variable: The condition parameter of the RewriteRuleCondition. 2017 :type variable: str 2018 :param pattern: The pattern, either fixed string or regular expression, that evaluates the 2019 truthfulness of the condition. 2020 :type pattern: str 2021 :param ignore_case: Setting this parameter to truth value with force the pattern to do a case 2022 in-sensitive comparison. 2023 :type ignore_case: bool 2024 :param negate: Setting this value as truth will force to check the negation of the condition 2025 given by the user. 2026 :type negate: bool 2027 """ 2028 2029 _attribute_map = { 2030 'variable': {'key': 'variable', 'type': 'str'}, 2031 'pattern': {'key': 'pattern', 'type': 'str'}, 2032 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, 2033 'negate': {'key': 'negate', 'type': 'bool'}, 2034 } 2035 2036 def __init__( 2037 self, 2038 *, 2039 variable: Optional[str] = None, 2040 pattern: Optional[str] = None, 2041 ignore_case: Optional[bool] = None, 2042 negate: Optional[bool] = None, 2043 **kwargs 2044 ): 2045 super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) 2046 self.variable = variable 2047 self.pattern = pattern 2048 self.ignore_case = ignore_case 2049 self.negate = negate 2050 2051 2052class ApplicationGatewayRewriteRuleSet(SubResource): 2053 """Rewrite rule set of an application gateway. 2054 2055 Variables are only populated by the server, and will be ignored when sending a request. 2056 2057 :param id: Resource ID. 2058 :type id: str 2059 :param name: Name of the rewrite rule set that is unique within an Application Gateway. 2060 :type name: str 2061 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2062 :vartype etag: str 2063 :param rewrite_rules: Rewrite rules in the rewrite rule set. 2064 :type rewrite_rules: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayRewriteRule] 2065 :ivar provisioning_state: The provisioning state of the rewrite rule set resource. Possible 2066 values include: "Succeeded", "Updating", "Deleting", "Failed". 2067 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 2068 """ 2069 2070 _validation = { 2071 'etag': {'readonly': True}, 2072 'provisioning_state': {'readonly': True}, 2073 } 2074 2075 _attribute_map = { 2076 'id': {'key': 'id', 'type': 'str'}, 2077 'name': {'key': 'name', 'type': 'str'}, 2078 'etag': {'key': 'etag', 'type': 'str'}, 2079 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, 2080 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2081 } 2082 2083 def __init__( 2084 self, 2085 *, 2086 id: Optional[str] = None, 2087 name: Optional[str] = None, 2088 rewrite_rules: Optional[List["ApplicationGatewayRewriteRule"]] = None, 2089 **kwargs 2090 ): 2091 super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) 2092 self.name = name 2093 self.etag = None 2094 self.rewrite_rules = rewrite_rules 2095 self.provisioning_state = None 2096 2097 2098class ApplicationGatewaySku(msrest.serialization.Model): 2099 """SKU of an application gateway. 2100 2101 :param name: Name of an application gateway SKU. Possible values include: "Standard_Small", 2102 "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large", "Standard_v2", "WAF_v2". 2103 :type name: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySkuName 2104 :param tier: Tier of an application gateway. Possible values include: "Standard", "WAF", 2105 "Standard_v2", "WAF_v2". 2106 :type tier: str or ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayTier 2107 :param capacity: Capacity (instance count) of an application gateway. 2108 :type capacity: int 2109 """ 2110 2111 _attribute_map = { 2112 'name': {'key': 'name', 'type': 'str'}, 2113 'tier': {'key': 'tier', 'type': 'str'}, 2114 'capacity': {'key': 'capacity', 'type': 'int'}, 2115 } 2116 2117 def __init__( 2118 self, 2119 *, 2120 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 2121 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 2122 capacity: Optional[int] = None, 2123 **kwargs 2124 ): 2125 super(ApplicationGatewaySku, self).__init__(**kwargs) 2126 self.name = name 2127 self.tier = tier 2128 self.capacity = capacity 2129 2130 2131class ApplicationGatewaySslCertificate(SubResource): 2132 """SSL certificates of an application gateway. 2133 2134 Variables are only populated by the server, and will be ignored when sending a request. 2135 2136 :param id: Resource ID. 2137 :type id: str 2138 :param name: Name of the SSL certificate that is unique within an Application Gateway. 2139 :type name: str 2140 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2141 :vartype etag: str 2142 :ivar type: Type of the resource. 2143 :vartype type: str 2144 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 2145 :type data: str 2146 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 2147 :type password: str 2148 :ivar public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 2149 data. Only applicable in GET request. 2150 :vartype public_cert_data: str 2151 :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 2152 'Certificate' object stored in KeyVault. 2153 :type key_vault_secret_id: str 2154 :ivar provisioning_state: The provisioning state of the SSL certificate resource. Possible 2155 values include: "Succeeded", "Updating", "Deleting", "Failed". 2156 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 2157 """ 2158 2159 _validation = { 2160 'etag': {'readonly': True}, 2161 'type': {'readonly': True}, 2162 'public_cert_data': {'readonly': True}, 2163 'provisioning_state': {'readonly': True}, 2164 } 2165 2166 _attribute_map = { 2167 'id': {'key': 'id', 'type': 'str'}, 2168 'name': {'key': 'name', 'type': 'str'}, 2169 'etag': {'key': 'etag', 'type': 'str'}, 2170 'type': {'key': 'type', 'type': 'str'}, 2171 'data': {'key': 'properties.data', 'type': 'str'}, 2172 'password': {'key': 'properties.password', 'type': 'str'}, 2173 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 2174 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, 2175 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2176 } 2177 2178 def __init__( 2179 self, 2180 *, 2181 id: Optional[str] = None, 2182 name: Optional[str] = None, 2183 data: Optional[str] = None, 2184 password: Optional[str] = None, 2185 key_vault_secret_id: Optional[str] = None, 2186 **kwargs 2187 ): 2188 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 2189 self.name = name 2190 self.etag = None 2191 self.type = None 2192 self.data = data 2193 self.password = password 2194 self.public_cert_data = None 2195 self.key_vault_secret_id = key_vault_secret_id 2196 self.provisioning_state = None 2197 2198 2199class ApplicationGatewaySslPolicy(msrest.serialization.Model): 2200 """Application Gateway Ssl policy. 2201 2202 :param disabled_ssl_protocols: Ssl protocols to be disabled on application gateway. 2203 :type disabled_ssl_protocols: list[str or 2204 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol] 2205 :param policy_type: Type of Ssl Policy. Possible values include: "Predefined", "Custom". 2206 :type policy_type: str or 2207 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyType 2208 :param policy_name: Name of Ssl predefined policy. Possible values include: 2209 "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S". 2210 :type policy_name: str or 2211 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslPolicyName 2212 :param cipher_suites: Ssl cipher suites to be enabled in the specified order to application 2213 gateway. 2214 :type cipher_suites: list[str or 2215 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] 2216 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 2217 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 2218 :type min_protocol_version: str or 2219 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol 2220 """ 2221 2222 _attribute_map = { 2223 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 2224 'policy_type': {'key': 'policyType', 'type': 'str'}, 2225 'policy_name': {'key': 'policyName', 'type': 'str'}, 2226 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, 2227 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, 2228 } 2229 2230 def __init__( 2231 self, 2232 *, 2233 disabled_ssl_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 2234 policy_type: Optional[Union[str, "ApplicationGatewaySslPolicyType"]] = None, 2235 policy_name: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 2236 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 2237 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 2238 **kwargs 2239 ): 2240 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 2241 self.disabled_ssl_protocols = disabled_ssl_protocols 2242 self.policy_type = policy_type 2243 self.policy_name = policy_name 2244 self.cipher_suites = cipher_suites 2245 self.min_protocol_version = min_protocol_version 2246 2247 2248class ApplicationGatewaySslPredefinedPolicy(SubResource): 2249 """An Ssl predefined policy. 2250 2251 :param id: Resource ID. 2252 :type id: str 2253 :param name: Name of the Ssl predefined policy. 2254 :type name: str 2255 :param cipher_suites: Ssl cipher suites to be enabled in the specified order for application 2256 gateway. 2257 :type cipher_suites: list[str or 2258 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslCipherSuite] 2259 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 2260 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 2261 :type min_protocol_version: str or 2262 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewaySslProtocol 2263 """ 2264 2265 _attribute_map = { 2266 'id': {'key': 'id', 'type': 'str'}, 2267 'name': {'key': 'name', 'type': 'str'}, 2268 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, 2269 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, 2270 } 2271 2272 def __init__( 2273 self, 2274 *, 2275 id: Optional[str] = None, 2276 name: Optional[str] = None, 2277 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 2278 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 2279 **kwargs 2280 ): 2281 super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) 2282 self.name = name 2283 self.cipher_suites = cipher_suites 2284 self.min_protocol_version = min_protocol_version 2285 2286 2287class ApplicationGatewayTrustedRootCertificate(SubResource): 2288 """Trusted Root certificates of an application gateway. 2289 2290 Variables are only populated by the server, and will be ignored when sending a request. 2291 2292 :param id: Resource ID. 2293 :type id: str 2294 :param name: Name of the trusted root certificate that is unique within an Application Gateway. 2295 :type name: str 2296 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2297 :vartype etag: str 2298 :ivar type: Type of the resource. 2299 :vartype type: str 2300 :param data: Certificate public data. 2301 :type data: str 2302 :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 2303 'Certificate' object stored in KeyVault. 2304 :type key_vault_secret_id: str 2305 :ivar provisioning_state: The provisioning state of the trusted root certificate resource. 2306 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 2307 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 2308 """ 2309 2310 _validation = { 2311 'etag': {'readonly': True}, 2312 'type': {'readonly': True}, 2313 'provisioning_state': {'readonly': True}, 2314 } 2315 2316 _attribute_map = { 2317 'id': {'key': 'id', 'type': 'str'}, 2318 'name': {'key': 'name', 'type': 'str'}, 2319 'etag': {'key': 'etag', 'type': 'str'}, 2320 'type': {'key': 'type', 'type': 'str'}, 2321 'data': {'key': 'properties.data', 'type': 'str'}, 2322 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, 2323 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2324 } 2325 2326 def __init__( 2327 self, 2328 *, 2329 id: Optional[str] = None, 2330 name: Optional[str] = None, 2331 data: Optional[str] = None, 2332 key_vault_secret_id: Optional[str] = None, 2333 **kwargs 2334 ): 2335 super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) 2336 self.name = name 2337 self.etag = None 2338 self.type = None 2339 self.data = data 2340 self.key_vault_secret_id = key_vault_secret_id 2341 self.provisioning_state = None 2342 2343 2344class ApplicationGatewayUrlConfiguration(msrest.serialization.Model): 2345 """Url configuration of the Actions set in Application Gateway. 2346 2347 :param modified_path: Url path which user has provided for url rewrite. Null means no path will 2348 be updated. Default value is null. 2349 :type modified_path: str 2350 :param modified_query_string: Query string which user has provided for url rewrite. Null means 2351 no query string will be updated. Default value is null. 2352 :type modified_query_string: str 2353 :param reroute: If set as true, it will re-evaluate the url path map provided in path based 2354 request routing rules using modified path. Default value is false. 2355 :type reroute: bool 2356 """ 2357 2358 _attribute_map = { 2359 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, 2360 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, 2361 'reroute': {'key': 'reroute', 'type': 'bool'}, 2362 } 2363 2364 def __init__( 2365 self, 2366 *, 2367 modified_path: Optional[str] = None, 2368 modified_query_string: Optional[str] = None, 2369 reroute: Optional[bool] = None, 2370 **kwargs 2371 ): 2372 super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) 2373 self.modified_path = modified_path 2374 self.modified_query_string = modified_query_string 2375 self.reroute = reroute 2376 2377 2378class ApplicationGatewayUrlPathMap(SubResource): 2379 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 2380 2381 Variables are only populated by the server, and will be ignored when sending a request. 2382 2383 :param id: Resource ID. 2384 :type id: str 2385 :param name: Name of the URL path map that is unique within an Application Gateway. 2386 :type name: str 2387 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2388 :vartype etag: str 2389 :ivar type: Type of the resource. 2390 :vartype type: str 2391 :param default_backend_address_pool: Default backend address pool resource of URL path map. 2392 :type default_backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 2393 :param default_backend_http_settings: Default backend http settings resource of URL path map. 2394 :type default_backend_http_settings: ~azure.mgmt.network.v2020_04_01.models.SubResource 2395 :param default_rewrite_rule_set: Default Rewrite rule set resource of URL path map. 2396 :type default_rewrite_rule_set: ~azure.mgmt.network.v2020_04_01.models.SubResource 2397 :param default_redirect_configuration: Default redirect configuration resource of URL path map. 2398 :type default_redirect_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 2399 :param path_rules: Path rule of URL path map resource. 2400 :type path_rules: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayPathRule] 2401 :ivar provisioning_state: The provisioning state of the URL path map resource. Possible values 2402 include: "Succeeded", "Updating", "Deleting", "Failed". 2403 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 2404 """ 2405 2406 _validation = { 2407 'etag': {'readonly': True}, 2408 'type': {'readonly': True}, 2409 'provisioning_state': {'readonly': True}, 2410 } 2411 2412 _attribute_map = { 2413 'id': {'key': 'id', 'type': 'str'}, 2414 'name': {'key': 'name', 'type': 'str'}, 2415 'etag': {'key': 'etag', 'type': 'str'}, 2416 'type': {'key': 'type', 'type': 'str'}, 2417 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 2418 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 2419 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, 2420 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, 2421 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 2422 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2423 } 2424 2425 def __init__( 2426 self, 2427 *, 2428 id: Optional[str] = None, 2429 name: Optional[str] = None, 2430 default_backend_address_pool: Optional["SubResource"] = None, 2431 default_backend_http_settings: Optional["SubResource"] = None, 2432 default_rewrite_rule_set: Optional["SubResource"] = None, 2433 default_redirect_configuration: Optional["SubResource"] = None, 2434 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 2435 **kwargs 2436 ): 2437 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 2438 self.name = name 2439 self.etag = None 2440 self.type = None 2441 self.default_backend_address_pool = default_backend_address_pool 2442 self.default_backend_http_settings = default_backend_http_settings 2443 self.default_rewrite_rule_set = default_rewrite_rule_set 2444 self.default_redirect_configuration = default_redirect_configuration 2445 self.path_rules = path_rules 2446 self.provisioning_state = None 2447 2448 2449class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 2450 """Application gateway web application firewall configuration. 2451 2452 All required parameters must be populated in order to send to Azure. 2453 2454 :param enabled: Required. Whether the web application firewall is enabled or not. 2455 :type enabled: bool 2456 :param firewall_mode: Required. Web application firewall mode. Possible values include: 2457 "Detection", "Prevention". 2458 :type firewall_mode: str or 2459 ~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallMode 2460 :param rule_set_type: Required. The type of the web application firewall rule set. Possible 2461 values are: 'OWASP'. 2462 :type rule_set_type: str 2463 :param rule_set_version: Required. The version of the rule set type. 2464 :type rule_set_version: str 2465 :param disabled_rule_groups: The disabled rule groups. 2466 :type disabled_rule_groups: 2467 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] 2468 :param request_body_check: Whether allow WAF to check request Body. 2469 :type request_body_check: bool 2470 :param max_request_body_size: Maximum request body size for WAF. 2471 :type max_request_body_size: int 2472 :param max_request_body_size_in_kb: Maximum request body size in Kb for WAF. 2473 :type max_request_body_size_in_kb: int 2474 :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. 2475 :type file_upload_limit_in_mb: int 2476 :param exclusions: The exclusion list. 2477 :type exclusions: 2478 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayFirewallExclusion] 2479 """ 2480 2481 _validation = { 2482 'enabled': {'required': True}, 2483 'firewall_mode': {'required': True}, 2484 'rule_set_type': {'required': True}, 2485 'rule_set_version': {'required': True}, 2486 'max_request_body_size': {'maximum': 128, 'minimum': 8}, 2487 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, 2488 'file_upload_limit_in_mb': {'minimum': 0}, 2489 } 2490 2491 _attribute_map = { 2492 'enabled': {'key': 'enabled', 'type': 'bool'}, 2493 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 2494 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 2495 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 2496 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, 2497 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 2498 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, 2499 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, 2500 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, 2501 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, 2502 } 2503 2504 def __init__( 2505 self, 2506 *, 2507 enabled: bool, 2508 firewall_mode: Union[str, "ApplicationGatewayFirewallMode"], 2509 rule_set_type: str, 2510 rule_set_version: str, 2511 disabled_rule_groups: Optional[List["ApplicationGatewayFirewallDisabledRuleGroup"]] = None, 2512 request_body_check: Optional[bool] = None, 2513 max_request_body_size: Optional[int] = None, 2514 max_request_body_size_in_kb: Optional[int] = None, 2515 file_upload_limit_in_mb: Optional[int] = None, 2516 exclusions: Optional[List["ApplicationGatewayFirewallExclusion"]] = None, 2517 **kwargs 2518 ): 2519 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 2520 self.enabled = enabled 2521 self.firewall_mode = firewall_mode 2522 self.rule_set_type = rule_set_type 2523 self.rule_set_version = rule_set_version 2524 self.disabled_rule_groups = disabled_rule_groups 2525 self.request_body_check = request_body_check 2526 self.max_request_body_size = max_request_body_size 2527 self.max_request_body_size_in_kb = max_request_body_size_in_kb 2528 self.file_upload_limit_in_mb = file_upload_limit_in_mb 2529 self.exclusions = exclusions 2530 2531 2532class FirewallPolicyRuleCondition(msrest.serialization.Model): 2533 """Properties of a rule. 2534 2535 You probably want to use the sub-classes and not this class directly. Known 2536 sub-classes are: ApplicationRuleCondition, NatRuleCondition, NetworkRuleCondition. 2537 2538 All required parameters must be populated in order to send to Azure. 2539 2540 :param name: Name of the rule condition. 2541 :type name: str 2542 :param description: Description of the rule condition. 2543 :type description: str 2544 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 2545 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 2546 :type rule_condition_type: str or 2547 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionType 2548 """ 2549 2550 _validation = { 2551 'rule_condition_type': {'required': True}, 2552 } 2553 2554 _attribute_map = { 2555 'name': {'key': 'name', 'type': 'str'}, 2556 'description': {'key': 'description', 'type': 'str'}, 2557 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 2558 } 2559 2560 _subtype_map = { 2561 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NatRuleCondition': 'NatRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} 2562 } 2563 2564 def __init__( 2565 self, 2566 *, 2567 name: Optional[str] = None, 2568 description: Optional[str] = None, 2569 **kwargs 2570 ): 2571 super(FirewallPolicyRuleCondition, self).__init__(**kwargs) 2572 self.name = name 2573 self.description = description 2574 self.rule_condition_type = None # type: Optional[str] 2575 2576 2577class ApplicationRuleCondition(FirewallPolicyRuleCondition): 2578 """Rule condition of type application. 2579 2580 All required parameters must be populated in order to send to Azure. 2581 2582 :param name: Name of the rule condition. 2583 :type name: str 2584 :param description: Description of the rule condition. 2585 :type description: str 2586 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 2587 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 2588 :type rule_condition_type: str or 2589 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionType 2590 :param source_addresses: List of source IP addresses for this rule. 2591 :type source_addresses: list[str] 2592 :param destination_addresses: List of destination IP addresses or Service Tags. 2593 :type destination_addresses: list[str] 2594 :param protocols: Array of Application Protocols. 2595 :type protocols: 2596 list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocol] 2597 :param target_fqdns: List of FQDNs for this rule condition. 2598 :type target_fqdns: list[str] 2599 :param fqdn_tags: List of FQDN Tags for this rule condition. 2600 :type fqdn_tags: list[str] 2601 :param source_ip_groups: List of source IpGroups for this rule. 2602 :type source_ip_groups: list[str] 2603 """ 2604 2605 _validation = { 2606 'rule_condition_type': {'required': True}, 2607 } 2608 2609 _attribute_map = { 2610 'name': {'key': 'name', 'type': 'str'}, 2611 'description': {'key': 'description', 'type': 'str'}, 2612 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 2613 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2614 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 2615 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, 2616 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, 2617 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, 2618 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 2619 } 2620 2621 def __init__( 2622 self, 2623 *, 2624 name: Optional[str] = None, 2625 description: Optional[str] = None, 2626 source_addresses: Optional[List[str]] = None, 2627 destination_addresses: Optional[List[str]] = None, 2628 protocols: Optional[List["FirewallPolicyRuleConditionApplicationProtocol"]] = None, 2629 target_fqdns: Optional[List[str]] = None, 2630 fqdn_tags: Optional[List[str]] = None, 2631 source_ip_groups: Optional[List[str]] = None, 2632 **kwargs 2633 ): 2634 super(ApplicationRuleCondition, self).__init__(name=name, description=description, **kwargs) 2635 self.rule_condition_type = 'ApplicationRuleCondition' # type: str 2636 self.source_addresses = source_addresses 2637 self.destination_addresses = destination_addresses 2638 self.protocols = protocols 2639 self.target_fqdns = target_fqdns 2640 self.fqdn_tags = fqdn_tags 2641 self.source_ip_groups = source_ip_groups 2642 2643 2644class ApplicationSecurityGroup(Resource): 2645 """An application security group in a resource group. 2646 2647 Variables are only populated by the server, and will be ignored when sending a request. 2648 2649 :param id: Resource ID. 2650 :type id: str 2651 :ivar name: Resource name. 2652 :vartype name: str 2653 :ivar type: Resource type. 2654 :vartype type: str 2655 :param location: Resource location. 2656 :type location: str 2657 :param tags: A set of tags. Resource tags. 2658 :type tags: dict[str, str] 2659 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2660 :vartype etag: str 2661 :ivar resource_guid: The resource GUID property of the application security group resource. It 2662 uniquely identifies a resource, even if the user changes its name or migrate the resource 2663 across subscriptions or resource groups. 2664 :vartype resource_guid: str 2665 :ivar provisioning_state: The provisioning state of the application security group resource. 2666 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 2667 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 2668 """ 2669 2670 _validation = { 2671 'name': {'readonly': True}, 2672 'type': {'readonly': True}, 2673 'etag': {'readonly': True}, 2674 'resource_guid': {'readonly': True}, 2675 'provisioning_state': {'readonly': True}, 2676 } 2677 2678 _attribute_map = { 2679 'id': {'key': 'id', 'type': 'str'}, 2680 'name': {'key': 'name', 'type': 'str'}, 2681 'type': {'key': 'type', 'type': 'str'}, 2682 'location': {'key': 'location', 'type': 'str'}, 2683 'tags': {'key': 'tags', 'type': '{str}'}, 2684 'etag': {'key': 'etag', 'type': 'str'}, 2685 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2686 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2687 } 2688 2689 def __init__( 2690 self, 2691 *, 2692 id: Optional[str] = None, 2693 location: Optional[str] = None, 2694 tags: Optional[Dict[str, str]] = None, 2695 **kwargs 2696 ): 2697 super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 2698 self.etag = None 2699 self.resource_guid = None 2700 self.provisioning_state = None 2701 2702 2703class ApplicationSecurityGroupListResult(msrest.serialization.Model): 2704 """A list of application security groups. 2705 2706 Variables are only populated by the server, and will be ignored when sending a request. 2707 2708 :param value: A list of application security groups. 2709 :type value: list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] 2710 :ivar next_link: The URL to get the next set of results. 2711 :vartype next_link: str 2712 """ 2713 2714 _validation = { 2715 'next_link': {'readonly': True}, 2716 } 2717 2718 _attribute_map = { 2719 'value': {'key': 'value', 'type': '[ApplicationSecurityGroup]'}, 2720 'next_link': {'key': 'nextLink', 'type': 'str'}, 2721 } 2722 2723 def __init__( 2724 self, 2725 *, 2726 value: Optional[List["ApplicationSecurityGroup"]] = None, 2727 **kwargs 2728 ): 2729 super(ApplicationSecurityGroupListResult, self).__init__(**kwargs) 2730 self.value = value 2731 self.next_link = None 2732 2733 2734class AuthorizationListResult(msrest.serialization.Model): 2735 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 2736 2737 :param value: The authorizations in an ExpressRoute Circuit. 2738 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] 2739 :param next_link: The URL to get the next set of results. 2740 :type next_link: str 2741 """ 2742 2743 _attribute_map = { 2744 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 2745 'next_link': {'key': 'nextLink', 'type': 'str'}, 2746 } 2747 2748 def __init__( 2749 self, 2750 *, 2751 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 2752 next_link: Optional[str] = None, 2753 **kwargs 2754 ): 2755 super(AuthorizationListResult, self).__init__(**kwargs) 2756 self.value = value 2757 self.next_link = next_link 2758 2759 2760class AutoApprovedPrivateLinkService(msrest.serialization.Model): 2761 """The information of an AutoApprovedPrivateLinkService. 2762 2763 :param private_link_service: The id of the private link service resource. 2764 :type private_link_service: str 2765 """ 2766 2767 _attribute_map = { 2768 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, 2769 } 2770 2771 def __init__( 2772 self, 2773 *, 2774 private_link_service: Optional[str] = None, 2775 **kwargs 2776 ): 2777 super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) 2778 self.private_link_service = private_link_service 2779 2780 2781class AutoApprovedPrivateLinkServicesResult(msrest.serialization.Model): 2782 """An array of private link service id that can be linked to a private end point with auto approved. 2783 2784 Variables are only populated by the server, and will be ignored when sending a request. 2785 2786 :param value: An array of auto approved private link service. 2787 :type value: list[~azure.mgmt.network.v2020_04_01.models.AutoApprovedPrivateLinkService] 2788 :ivar next_link: The URL to get the next set of results. 2789 :vartype next_link: str 2790 """ 2791 2792 _validation = { 2793 'next_link': {'readonly': True}, 2794 } 2795 2796 _attribute_map = { 2797 'value': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'}, 2798 'next_link': {'key': 'nextLink', 'type': 'str'}, 2799 } 2800 2801 def __init__( 2802 self, 2803 *, 2804 value: Optional[List["AutoApprovedPrivateLinkService"]] = None, 2805 **kwargs 2806 ): 2807 super(AutoApprovedPrivateLinkServicesResult, self).__init__(**kwargs) 2808 self.value = value 2809 self.next_link = None 2810 2811 2812class Availability(msrest.serialization.Model): 2813 """Availability of the metric. 2814 2815 :param time_grain: The time grain of the availability. 2816 :type time_grain: str 2817 :param retention: The retention of the availability. 2818 :type retention: str 2819 :param blob_duration: Duration of the availability blob. 2820 :type blob_duration: str 2821 """ 2822 2823 _attribute_map = { 2824 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 2825 'retention': {'key': 'retention', 'type': 'str'}, 2826 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 2827 } 2828 2829 def __init__( 2830 self, 2831 *, 2832 time_grain: Optional[str] = None, 2833 retention: Optional[str] = None, 2834 blob_duration: Optional[str] = None, 2835 **kwargs 2836 ): 2837 super(Availability, self).__init__(**kwargs) 2838 self.time_grain = time_grain 2839 self.retention = retention 2840 self.blob_duration = blob_duration 2841 2842 2843class AvailableDelegation(msrest.serialization.Model): 2844 """The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. 2845 2846 :param name: The name of the AvailableDelegation resource. 2847 :type name: str 2848 :param id: A unique identifier of the AvailableDelegation resource. 2849 :type id: str 2850 :param type: Resource type. 2851 :type type: str 2852 :param service_name: The name of the service and resource. 2853 :type service_name: str 2854 :param actions: The actions permitted to the service upon delegation. 2855 :type actions: list[str] 2856 """ 2857 2858 _attribute_map = { 2859 'name': {'key': 'name', 'type': 'str'}, 2860 'id': {'key': 'id', 'type': 'str'}, 2861 'type': {'key': 'type', 'type': 'str'}, 2862 'service_name': {'key': 'serviceName', 'type': 'str'}, 2863 'actions': {'key': 'actions', 'type': '[str]'}, 2864 } 2865 2866 def __init__( 2867 self, 2868 *, 2869 name: Optional[str] = None, 2870 id: Optional[str] = None, 2871 type: Optional[str] = None, 2872 service_name: Optional[str] = None, 2873 actions: Optional[List[str]] = None, 2874 **kwargs 2875 ): 2876 super(AvailableDelegation, self).__init__(**kwargs) 2877 self.name = name 2878 self.id = id 2879 self.type = type 2880 self.service_name = service_name 2881 self.actions = actions 2882 2883 2884class AvailableDelegationsResult(msrest.serialization.Model): 2885 """An array of available delegations. 2886 2887 Variables are only populated by the server, and will be ignored when sending a request. 2888 2889 :param value: An array of available delegations. 2890 :type value: list[~azure.mgmt.network.v2020_04_01.models.AvailableDelegation] 2891 :ivar next_link: The URL to get the next set of results. 2892 :vartype next_link: str 2893 """ 2894 2895 _validation = { 2896 'next_link': {'readonly': True}, 2897 } 2898 2899 _attribute_map = { 2900 'value': {'key': 'value', 'type': '[AvailableDelegation]'}, 2901 'next_link': {'key': 'nextLink', 'type': 'str'}, 2902 } 2903 2904 def __init__( 2905 self, 2906 *, 2907 value: Optional[List["AvailableDelegation"]] = None, 2908 **kwargs 2909 ): 2910 super(AvailableDelegationsResult, self).__init__(**kwargs) 2911 self.value = value 2912 self.next_link = None 2913 2914 2915class AvailablePrivateEndpointType(msrest.serialization.Model): 2916 """The information of an AvailablePrivateEndpointType. 2917 2918 :param name: The name of the service and resource. 2919 :type name: str 2920 :param id: A unique identifier of the AvailablePrivateEndpoint Type resource. 2921 :type id: str 2922 :param type: Resource type. 2923 :type type: str 2924 :param resource_name: The name of the service and resource. 2925 :type resource_name: str 2926 """ 2927 2928 _attribute_map = { 2929 'name': {'key': 'name', 'type': 'str'}, 2930 'id': {'key': 'id', 'type': 'str'}, 2931 'type': {'key': 'type', 'type': 'str'}, 2932 'resource_name': {'key': 'resourceName', 'type': 'str'}, 2933 } 2934 2935 def __init__( 2936 self, 2937 *, 2938 name: Optional[str] = None, 2939 id: Optional[str] = None, 2940 type: Optional[str] = None, 2941 resource_name: Optional[str] = None, 2942 **kwargs 2943 ): 2944 super(AvailablePrivateEndpointType, self).__init__(**kwargs) 2945 self.name = name 2946 self.id = id 2947 self.type = type 2948 self.resource_name = resource_name 2949 2950 2951class AvailablePrivateEndpointTypesResult(msrest.serialization.Model): 2952 """An array of available PrivateEndpoint types. 2953 2954 Variables are only populated by the server, and will be ignored when sending a request. 2955 2956 :param value: An array of available privateEndpoint type. 2957 :type value: list[~azure.mgmt.network.v2020_04_01.models.AvailablePrivateEndpointType] 2958 :ivar next_link: The URL to get the next set of results. 2959 :vartype next_link: str 2960 """ 2961 2962 _validation = { 2963 'next_link': {'readonly': True}, 2964 } 2965 2966 _attribute_map = { 2967 'value': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'}, 2968 'next_link': {'key': 'nextLink', 'type': 'str'}, 2969 } 2970 2971 def __init__( 2972 self, 2973 *, 2974 value: Optional[List["AvailablePrivateEndpointType"]] = None, 2975 **kwargs 2976 ): 2977 super(AvailablePrivateEndpointTypesResult, self).__init__(**kwargs) 2978 self.value = value 2979 self.next_link = None 2980 2981 2982class AvailableProvidersList(msrest.serialization.Model): 2983 """List of available countries with details. 2984 2985 All required parameters must be populated in order to send to Azure. 2986 2987 :param countries: Required. List of available countries. 2988 :type countries: list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCountry] 2989 """ 2990 2991 _validation = { 2992 'countries': {'required': True}, 2993 } 2994 2995 _attribute_map = { 2996 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, 2997 } 2998 2999 def __init__( 3000 self, 3001 *, 3002 countries: List["AvailableProvidersListCountry"], 3003 **kwargs 3004 ): 3005 super(AvailableProvidersList, self).__init__(**kwargs) 3006 self.countries = countries 3007 3008 3009class AvailableProvidersListCity(msrest.serialization.Model): 3010 """City or town details. 3011 3012 :param city_name: The city or town name. 3013 :type city_name: str 3014 :param providers: A list of Internet service providers. 3015 :type providers: list[str] 3016 """ 3017 3018 _attribute_map = { 3019 'city_name': {'key': 'cityName', 'type': 'str'}, 3020 'providers': {'key': 'providers', 'type': '[str]'}, 3021 } 3022 3023 def __init__( 3024 self, 3025 *, 3026 city_name: Optional[str] = None, 3027 providers: Optional[List[str]] = None, 3028 **kwargs 3029 ): 3030 super(AvailableProvidersListCity, self).__init__(**kwargs) 3031 self.city_name = city_name 3032 self.providers = providers 3033 3034 3035class AvailableProvidersListCountry(msrest.serialization.Model): 3036 """Country details. 3037 3038 :param country_name: The country name. 3039 :type country_name: str 3040 :param providers: A list of Internet service providers. 3041 :type providers: list[str] 3042 :param states: List of available states in the country. 3043 :type states: list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListState] 3044 """ 3045 3046 _attribute_map = { 3047 'country_name': {'key': 'countryName', 'type': 'str'}, 3048 'providers': {'key': 'providers', 'type': '[str]'}, 3049 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, 3050 } 3051 3052 def __init__( 3053 self, 3054 *, 3055 country_name: Optional[str] = None, 3056 providers: Optional[List[str]] = None, 3057 states: Optional[List["AvailableProvidersListState"]] = None, 3058 **kwargs 3059 ): 3060 super(AvailableProvidersListCountry, self).__init__(**kwargs) 3061 self.country_name = country_name 3062 self.providers = providers 3063 self.states = states 3064 3065 3066class AvailableProvidersListParameters(msrest.serialization.Model): 3067 """Constraints that determine the list of available Internet service providers. 3068 3069 :param azure_locations: A list of Azure regions. 3070 :type azure_locations: list[str] 3071 :param country: The country for available providers list. 3072 :type country: str 3073 :param state: The state for available providers list. 3074 :type state: str 3075 :param city: The city or town for available providers list. 3076 :type city: str 3077 """ 3078 3079 _attribute_map = { 3080 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 3081 'country': {'key': 'country', 'type': 'str'}, 3082 'state': {'key': 'state', 'type': 'str'}, 3083 'city': {'key': 'city', 'type': 'str'}, 3084 } 3085 3086 def __init__( 3087 self, 3088 *, 3089 azure_locations: Optional[List[str]] = None, 3090 country: Optional[str] = None, 3091 state: Optional[str] = None, 3092 city: Optional[str] = None, 3093 **kwargs 3094 ): 3095 super(AvailableProvidersListParameters, self).__init__(**kwargs) 3096 self.azure_locations = azure_locations 3097 self.country = country 3098 self.state = state 3099 self.city = city 3100 3101 3102class AvailableProvidersListState(msrest.serialization.Model): 3103 """State details. 3104 3105 :param state_name: The state name. 3106 :type state_name: str 3107 :param providers: A list of Internet service providers. 3108 :type providers: list[str] 3109 :param cities: List of available cities or towns in the state. 3110 :type cities: list[~azure.mgmt.network.v2020_04_01.models.AvailableProvidersListCity] 3111 """ 3112 3113 _attribute_map = { 3114 'state_name': {'key': 'stateName', 'type': 'str'}, 3115 'providers': {'key': 'providers', 'type': '[str]'}, 3116 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, 3117 } 3118 3119 def __init__( 3120 self, 3121 *, 3122 state_name: Optional[str] = None, 3123 providers: Optional[List[str]] = None, 3124 cities: Optional[List["AvailableProvidersListCity"]] = None, 3125 **kwargs 3126 ): 3127 super(AvailableProvidersListState, self).__init__(**kwargs) 3128 self.state_name = state_name 3129 self.providers = providers 3130 self.cities = cities 3131 3132 3133class AvailableServiceAlias(msrest.serialization.Model): 3134 """The available service alias. 3135 3136 :param name: The name of the service alias. 3137 :type name: str 3138 :param id: The ID of the service alias. 3139 :type id: str 3140 :param type: The type of the resource. 3141 :type type: str 3142 :param resource_name: The resource name of the service alias. 3143 :type resource_name: str 3144 """ 3145 3146 _attribute_map = { 3147 'name': {'key': 'name', 'type': 'str'}, 3148 'id': {'key': 'id', 'type': 'str'}, 3149 'type': {'key': 'type', 'type': 'str'}, 3150 'resource_name': {'key': 'resourceName', 'type': 'str'}, 3151 } 3152 3153 def __init__( 3154 self, 3155 *, 3156 name: Optional[str] = None, 3157 id: Optional[str] = None, 3158 type: Optional[str] = None, 3159 resource_name: Optional[str] = None, 3160 **kwargs 3161 ): 3162 super(AvailableServiceAlias, self).__init__(**kwargs) 3163 self.name = name 3164 self.id = id 3165 self.type = type 3166 self.resource_name = resource_name 3167 3168 3169class AvailableServiceAliasesResult(msrest.serialization.Model): 3170 """An array of available service aliases. 3171 3172 Variables are only populated by the server, and will be ignored when sending a request. 3173 3174 :param value: An array of available service aliases. 3175 :type value: list[~azure.mgmt.network.v2020_04_01.models.AvailableServiceAlias] 3176 :ivar next_link: The URL to get the next set of results. 3177 :vartype next_link: str 3178 """ 3179 3180 _validation = { 3181 'next_link': {'readonly': True}, 3182 } 3183 3184 _attribute_map = { 3185 'value': {'key': 'value', 'type': '[AvailableServiceAlias]'}, 3186 'next_link': {'key': 'nextLink', 'type': 'str'}, 3187 } 3188 3189 def __init__( 3190 self, 3191 *, 3192 value: Optional[List["AvailableServiceAlias"]] = None, 3193 **kwargs 3194 ): 3195 super(AvailableServiceAliasesResult, self).__init__(**kwargs) 3196 self.value = value 3197 self.next_link = None 3198 3199 3200class AzureAsyncOperationResult(msrest.serialization.Model): 3201 """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. 3202 3203 :param status: Status of the Azure async operation. Possible values include: "InProgress", 3204 "Succeeded", "Failed". 3205 :type status: str or ~azure.mgmt.network.v2020_04_01.models.NetworkOperationStatus 3206 :param error: Details of the error occurred during specified asynchronous operation. 3207 :type error: ~azure.mgmt.network.v2020_04_01.models.Error 3208 """ 3209 3210 _attribute_map = { 3211 'status': {'key': 'status', 'type': 'str'}, 3212 'error': {'key': 'error', 'type': 'Error'}, 3213 } 3214 3215 def __init__( 3216 self, 3217 *, 3218 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 3219 error: Optional["Error"] = None, 3220 **kwargs 3221 ): 3222 super(AzureAsyncOperationResult, self).__init__(**kwargs) 3223 self.status = status 3224 self.error = error 3225 3226 3227class AzureFirewall(Resource): 3228 """Azure Firewall resource. 3229 3230 Variables are only populated by the server, and will be ignored when sending a request. 3231 3232 :param id: Resource ID. 3233 :type id: str 3234 :ivar name: Resource name. 3235 :vartype name: str 3236 :ivar type: Resource type. 3237 :vartype type: str 3238 :param location: Resource location. 3239 :type location: str 3240 :param tags: A set of tags. Resource tags. 3241 :type tags: dict[str, str] 3242 :param zones: A list of availability zones denoting where the resource needs to come from. 3243 :type zones: list[str] 3244 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3245 :vartype etag: str 3246 :param application_rule_collections: Collection of application rule collections used by Azure 3247 Firewall. 3248 :type application_rule_collections: 3249 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleCollection] 3250 :param nat_rule_collections: Collection of NAT rule collections used by Azure Firewall. 3251 :type nat_rule_collections: 3252 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRuleCollection] 3253 :param network_rule_collections: Collection of network rule collections used by Azure Firewall. 3254 :type network_rule_collections: 3255 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleCollection] 3256 :param ip_configurations: IP configuration of the Azure Firewall resource. 3257 :type ip_configurations: 3258 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration] 3259 :param management_ip_configuration: IP configuration of the Azure Firewall used for management 3260 traffic. 3261 :type management_ip_configuration: 3262 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallIPConfiguration 3263 :ivar provisioning_state: The provisioning state of the Azure firewall resource. Possible 3264 values include: "Succeeded", "Updating", "Deleting", "Failed". 3265 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3266 :param threat_intel_mode: The operation mode for Threat Intelligence. Possible values include: 3267 "Alert", "Deny", "Off". 3268 :type threat_intel_mode: str or 3269 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode 3270 :param virtual_hub: The virtualHub to which the firewall belongs. 3271 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource 3272 :param firewall_policy: The firewallPolicy associated with this azure firewall. 3273 :type firewall_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 3274 :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. 3275 :vartype hub_ip_addresses: ~azure.mgmt.network.v2020_04_01.models.HubIPAddresses 3276 :ivar ip_groups: IpGroups associated with AzureFirewall. 3277 :vartype ip_groups: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallIpGroups] 3278 :param sku: The Azure Firewall Resource SKU. 3279 :type sku: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSku 3280 :param additional_properties: The additional properties used to further config this azure 3281 firewall. 3282 :type additional_properties: dict[str, str] 3283 """ 3284 3285 _validation = { 3286 'name': {'readonly': True}, 3287 'type': {'readonly': True}, 3288 'etag': {'readonly': True}, 3289 'provisioning_state': {'readonly': True}, 3290 'hub_ip_addresses': {'readonly': True}, 3291 'ip_groups': {'readonly': True}, 3292 } 3293 3294 _attribute_map = { 3295 'id': {'key': 'id', 'type': 'str'}, 3296 'name': {'key': 'name', 'type': 'str'}, 3297 'type': {'key': 'type', 'type': 'str'}, 3298 'location': {'key': 'location', 'type': 'str'}, 3299 'tags': {'key': 'tags', 'type': '{str}'}, 3300 'zones': {'key': 'zones', 'type': '[str]'}, 3301 'etag': {'key': 'etag', 'type': 'str'}, 3302 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, 3303 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, 3304 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, 3305 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, 3306 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, 3307 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3308 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, 3309 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 3310 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 3311 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, 3312 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, 3313 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, 3314 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, 3315 } 3316 3317 def __init__( 3318 self, 3319 *, 3320 id: Optional[str] = None, 3321 location: Optional[str] = None, 3322 tags: Optional[Dict[str, str]] = None, 3323 zones: Optional[List[str]] = None, 3324 application_rule_collections: Optional[List["AzureFirewallApplicationRuleCollection"]] = None, 3325 nat_rule_collections: Optional[List["AzureFirewallNatRuleCollection"]] = None, 3326 network_rule_collections: Optional[List["AzureFirewallNetworkRuleCollection"]] = None, 3327 ip_configurations: Optional[List["AzureFirewallIPConfiguration"]] = None, 3328 management_ip_configuration: Optional["AzureFirewallIPConfiguration"] = None, 3329 threat_intel_mode: Optional[Union[str, "AzureFirewallThreatIntelMode"]] = None, 3330 virtual_hub: Optional["SubResource"] = None, 3331 firewall_policy: Optional["SubResource"] = None, 3332 sku: Optional["AzureFirewallSku"] = None, 3333 additional_properties: Optional[Dict[str, str]] = None, 3334 **kwargs 3335 ): 3336 super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) 3337 self.zones = zones 3338 self.etag = None 3339 self.application_rule_collections = application_rule_collections 3340 self.nat_rule_collections = nat_rule_collections 3341 self.network_rule_collections = network_rule_collections 3342 self.ip_configurations = ip_configurations 3343 self.management_ip_configuration = management_ip_configuration 3344 self.provisioning_state = None 3345 self.threat_intel_mode = threat_intel_mode 3346 self.virtual_hub = virtual_hub 3347 self.firewall_policy = firewall_policy 3348 self.hub_ip_addresses = None 3349 self.ip_groups = None 3350 self.sku = sku 3351 self.additional_properties = additional_properties 3352 3353 3354class AzureFirewallApplicationRule(msrest.serialization.Model): 3355 """Properties of an application rule. 3356 3357 :param name: Name of the application rule. 3358 :type name: str 3359 :param description: Description of the rule. 3360 :type description: str 3361 :param source_addresses: List of source IP addresses for this rule. 3362 :type source_addresses: list[str] 3363 :param protocols: Array of ApplicationRuleProtocols. 3364 :type protocols: 3365 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocol] 3366 :param target_fqdns: List of FQDNs for this rule. 3367 :type target_fqdns: list[str] 3368 :param fqdn_tags: List of FQDN Tags for this rule. 3369 :type fqdn_tags: list[str] 3370 :param source_ip_groups: List of source IpGroups for this rule. 3371 :type source_ip_groups: list[str] 3372 """ 3373 3374 _attribute_map = { 3375 'name': {'key': 'name', 'type': 'str'}, 3376 'description': {'key': 'description', 'type': 'str'}, 3377 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3378 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, 3379 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, 3380 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, 3381 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3382 } 3383 3384 def __init__( 3385 self, 3386 *, 3387 name: Optional[str] = None, 3388 description: Optional[str] = None, 3389 source_addresses: Optional[List[str]] = None, 3390 protocols: Optional[List["AzureFirewallApplicationRuleProtocol"]] = None, 3391 target_fqdns: Optional[List[str]] = None, 3392 fqdn_tags: Optional[List[str]] = None, 3393 source_ip_groups: Optional[List[str]] = None, 3394 **kwargs 3395 ): 3396 super(AzureFirewallApplicationRule, self).__init__(**kwargs) 3397 self.name = name 3398 self.description = description 3399 self.source_addresses = source_addresses 3400 self.protocols = protocols 3401 self.target_fqdns = target_fqdns 3402 self.fqdn_tags = fqdn_tags 3403 self.source_ip_groups = source_ip_groups 3404 3405 3406class AzureFirewallApplicationRuleCollection(SubResource): 3407 """Application rule collection resource. 3408 3409 Variables are only populated by the server, and will be ignored when sending a request. 3410 3411 :param id: Resource ID. 3412 :type id: str 3413 :param name: The name of the resource that is unique within the Azure firewall. This name can 3414 be used to access the resource. 3415 :type name: str 3416 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3417 :vartype etag: str 3418 :param priority: Priority of the application rule collection resource. 3419 :type priority: int 3420 :param action: The action type of a rule collection. 3421 :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction 3422 :param rules: Collection of rules used by a application rule collection. 3423 :type rules: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRule] 3424 :ivar provisioning_state: The provisioning state of the application rule collection resource. 3425 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3426 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3427 """ 3428 3429 _validation = { 3430 'etag': {'readonly': True}, 3431 'priority': {'maximum': 65000, 'minimum': 100}, 3432 'provisioning_state': {'readonly': True}, 3433 } 3434 3435 _attribute_map = { 3436 'id': {'key': 'id', 'type': 'str'}, 3437 'name': {'key': 'name', 'type': 'str'}, 3438 'etag': {'key': 'etag', 'type': 'str'}, 3439 'priority': {'key': 'properties.priority', 'type': 'int'}, 3440 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 3441 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, 3442 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3443 } 3444 3445 def __init__( 3446 self, 3447 *, 3448 id: Optional[str] = None, 3449 name: Optional[str] = None, 3450 priority: Optional[int] = None, 3451 action: Optional["AzureFirewallRCAction"] = None, 3452 rules: Optional[List["AzureFirewallApplicationRule"]] = None, 3453 **kwargs 3454 ): 3455 super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) 3456 self.name = name 3457 self.etag = None 3458 self.priority = priority 3459 self.action = action 3460 self.rules = rules 3461 self.provisioning_state = None 3462 3463 3464class AzureFirewallApplicationRuleProtocol(msrest.serialization.Model): 3465 """Properties of the application rule protocol. 3466 3467 :param protocol_type: Protocol type. Possible values include: "Http", "Https", "Mssql". 3468 :type protocol_type: str or 3469 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallApplicationRuleProtocolType 3470 :param port: Port number for the protocol, cannot be greater than 64000. This field is 3471 optional. 3472 :type port: int 3473 """ 3474 3475 _validation = { 3476 'port': {'maximum': 64000, 'minimum': 0}, 3477 } 3478 3479 _attribute_map = { 3480 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 3481 'port': {'key': 'port', 'type': 'int'}, 3482 } 3483 3484 def __init__( 3485 self, 3486 *, 3487 protocol_type: Optional[Union[str, "AzureFirewallApplicationRuleProtocolType"]] = None, 3488 port: Optional[int] = None, 3489 **kwargs 3490 ): 3491 super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) 3492 self.protocol_type = protocol_type 3493 self.port = port 3494 3495 3496class AzureFirewallFqdnTag(Resource): 3497 """Azure Firewall FQDN Tag Resource. 3498 3499 Variables are only populated by the server, and will be ignored when sending a request. 3500 3501 :param id: Resource ID. 3502 :type id: str 3503 :ivar name: Resource name. 3504 :vartype name: str 3505 :ivar type: Resource type. 3506 :vartype type: str 3507 :param location: Resource location. 3508 :type location: str 3509 :param tags: A set of tags. Resource tags. 3510 :type tags: dict[str, str] 3511 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3512 :vartype etag: str 3513 :ivar provisioning_state: The provisioning state of the Azure firewall FQDN tag resource. 3514 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3515 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3516 :ivar fqdn_tag_name: The name of this FQDN Tag. 3517 :vartype fqdn_tag_name: str 3518 """ 3519 3520 _validation = { 3521 'name': {'readonly': True}, 3522 'type': {'readonly': True}, 3523 'etag': {'readonly': True}, 3524 'provisioning_state': {'readonly': True}, 3525 'fqdn_tag_name': {'readonly': True}, 3526 } 3527 3528 _attribute_map = { 3529 'id': {'key': 'id', 'type': 'str'}, 3530 'name': {'key': 'name', 'type': 'str'}, 3531 'type': {'key': 'type', 'type': 'str'}, 3532 'location': {'key': 'location', 'type': 'str'}, 3533 'tags': {'key': 'tags', 'type': '{str}'}, 3534 'etag': {'key': 'etag', 'type': 'str'}, 3535 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3536 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, 3537 } 3538 3539 def __init__( 3540 self, 3541 *, 3542 id: Optional[str] = None, 3543 location: Optional[str] = None, 3544 tags: Optional[Dict[str, str]] = None, 3545 **kwargs 3546 ): 3547 super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) 3548 self.etag = None 3549 self.provisioning_state = None 3550 self.fqdn_tag_name = None 3551 3552 3553class AzureFirewallFqdnTagListResult(msrest.serialization.Model): 3554 """Response for ListAzureFirewallFqdnTags API service call. 3555 3556 :param value: List of Azure Firewall FQDN Tags in a resource group. 3557 :type value: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallFqdnTag] 3558 :param next_link: URL to get the next set of results. 3559 :type next_link: str 3560 """ 3561 3562 _attribute_map = { 3563 'value': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'}, 3564 'next_link': {'key': 'nextLink', 'type': 'str'}, 3565 } 3566 3567 def __init__( 3568 self, 3569 *, 3570 value: Optional[List["AzureFirewallFqdnTag"]] = None, 3571 next_link: Optional[str] = None, 3572 **kwargs 3573 ): 3574 super(AzureFirewallFqdnTagListResult, self).__init__(**kwargs) 3575 self.value = value 3576 self.next_link = next_link 3577 3578 3579class AzureFirewallIPConfiguration(SubResource): 3580 """IP configuration of an Azure Firewall. 3581 3582 Variables are only populated by the server, and will be ignored when sending a request. 3583 3584 :param id: Resource ID. 3585 :type id: str 3586 :param name: Name of the resource that is unique within a resource group. This name can be used 3587 to access the resource. 3588 :type name: str 3589 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3590 :vartype etag: str 3591 :ivar type: Type of the resource. 3592 :vartype type: str 3593 :ivar private_ip_address: The Firewall Internal Load Balancer IP to be used as the next hop in 3594 User Defined Routes. 3595 :vartype private_ip_address: str 3596 :param subnet: Reference to the subnet resource. This resource must be named 3597 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. 3598 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 3599 :param public_ip_address: Reference to the PublicIP resource. This field is a mandatory input 3600 if subnet is not null. 3601 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.SubResource 3602 :ivar provisioning_state: The provisioning state of the Azure firewall IP configuration 3603 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3604 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3605 """ 3606 3607 _validation = { 3608 'etag': {'readonly': True}, 3609 'type': {'readonly': True}, 3610 'private_ip_address': {'readonly': True}, 3611 'provisioning_state': {'readonly': True}, 3612 } 3613 3614 _attribute_map = { 3615 'id': {'key': 'id', 'type': 'str'}, 3616 'name': {'key': 'name', 'type': 'str'}, 3617 'etag': {'key': 'etag', 'type': 'str'}, 3618 'type': {'key': 'type', 'type': 'str'}, 3619 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 3620 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 3621 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 3622 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3623 } 3624 3625 def __init__( 3626 self, 3627 *, 3628 id: Optional[str] = None, 3629 name: Optional[str] = None, 3630 subnet: Optional["SubResource"] = None, 3631 public_ip_address: Optional["SubResource"] = None, 3632 **kwargs 3633 ): 3634 super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) 3635 self.name = name 3636 self.etag = None 3637 self.type = None 3638 self.private_ip_address = None 3639 self.subnet = subnet 3640 self.public_ip_address = public_ip_address 3641 self.provisioning_state = None 3642 3643 3644class AzureFirewallIpGroups(msrest.serialization.Model): 3645 """IpGroups associated with azure firewall. 3646 3647 Variables are only populated by the server, and will be ignored when sending a request. 3648 3649 :ivar id: Resource ID. 3650 :vartype id: str 3651 :ivar change_number: The iteration number. 3652 :vartype change_number: str 3653 """ 3654 3655 _validation = { 3656 'id': {'readonly': True}, 3657 'change_number': {'readonly': True}, 3658 } 3659 3660 _attribute_map = { 3661 'id': {'key': 'id', 'type': 'str'}, 3662 'change_number': {'key': 'changeNumber', 'type': 'str'}, 3663 } 3664 3665 def __init__( 3666 self, 3667 **kwargs 3668 ): 3669 super(AzureFirewallIpGroups, self).__init__(**kwargs) 3670 self.id = None 3671 self.change_number = None 3672 3673 3674class AzureFirewallListResult(msrest.serialization.Model): 3675 """Response for ListAzureFirewalls API service call. 3676 3677 :param value: List of Azure Firewalls in a resource group. 3678 :type value: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewall] 3679 :param next_link: URL to get the next set of results. 3680 :type next_link: str 3681 """ 3682 3683 _attribute_map = { 3684 'value': {'key': 'value', 'type': '[AzureFirewall]'}, 3685 'next_link': {'key': 'nextLink', 'type': 'str'}, 3686 } 3687 3688 def __init__( 3689 self, 3690 *, 3691 value: Optional[List["AzureFirewall"]] = None, 3692 next_link: Optional[str] = None, 3693 **kwargs 3694 ): 3695 super(AzureFirewallListResult, self).__init__(**kwargs) 3696 self.value = value 3697 self.next_link = next_link 3698 3699 3700class AzureFirewallNatRCAction(msrest.serialization.Model): 3701 """AzureFirewall NAT Rule Collection Action. 3702 3703 :param type: The type of action. Possible values include: "Snat", "Dnat". 3704 :type type: str or ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCActionType 3705 """ 3706 3707 _attribute_map = { 3708 'type': {'key': 'type', 'type': 'str'}, 3709 } 3710 3711 def __init__( 3712 self, 3713 *, 3714 type: Optional[Union[str, "AzureFirewallNatRCActionType"]] = None, 3715 **kwargs 3716 ): 3717 super(AzureFirewallNatRCAction, self).__init__(**kwargs) 3718 self.type = type 3719 3720 3721class AzureFirewallNatRule(msrest.serialization.Model): 3722 """Properties of a NAT rule. 3723 3724 :param name: Name of the NAT rule. 3725 :type name: str 3726 :param description: Description of the rule. 3727 :type description: str 3728 :param source_addresses: List of source IP addresses for this rule. 3729 :type source_addresses: list[str] 3730 :param destination_addresses: List of destination IP addresses for this rule. Supports IP 3731 ranges, prefixes, and service tags. 3732 :type destination_addresses: list[str] 3733 :param destination_ports: List of destination ports. 3734 :type destination_ports: list[str] 3735 :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. 3736 :type protocols: list[str or 3737 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] 3738 :param translated_address: The translated address for this NAT rule. 3739 :type translated_address: str 3740 :param translated_port: The translated port for this NAT rule. 3741 :type translated_port: str 3742 :param translated_fqdn: The translated FQDN for this NAT rule. 3743 :type translated_fqdn: str 3744 :param source_ip_groups: List of source IpGroups for this rule. 3745 :type source_ip_groups: list[str] 3746 """ 3747 3748 _attribute_map = { 3749 'name': {'key': 'name', 'type': 'str'}, 3750 'description': {'key': 'description', 'type': 'str'}, 3751 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3752 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 3753 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 3754 'protocols': {'key': 'protocols', 'type': '[str]'}, 3755 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, 3756 'translated_port': {'key': 'translatedPort', 'type': 'str'}, 3757 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, 3758 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3759 } 3760 3761 def __init__( 3762 self, 3763 *, 3764 name: Optional[str] = None, 3765 description: Optional[str] = None, 3766 source_addresses: Optional[List[str]] = None, 3767 destination_addresses: Optional[List[str]] = None, 3768 destination_ports: Optional[List[str]] = None, 3769 protocols: Optional[List[Union[str, "AzureFirewallNetworkRuleProtocol"]]] = None, 3770 translated_address: Optional[str] = None, 3771 translated_port: Optional[str] = None, 3772 translated_fqdn: Optional[str] = None, 3773 source_ip_groups: Optional[List[str]] = None, 3774 **kwargs 3775 ): 3776 super(AzureFirewallNatRule, self).__init__(**kwargs) 3777 self.name = name 3778 self.description = description 3779 self.source_addresses = source_addresses 3780 self.destination_addresses = destination_addresses 3781 self.destination_ports = destination_ports 3782 self.protocols = protocols 3783 self.translated_address = translated_address 3784 self.translated_port = translated_port 3785 self.translated_fqdn = translated_fqdn 3786 self.source_ip_groups = source_ip_groups 3787 3788 3789class AzureFirewallNatRuleCollection(SubResource): 3790 """NAT rule collection resource. 3791 3792 Variables are only populated by the server, and will be ignored when sending a request. 3793 3794 :param id: Resource ID. 3795 :type id: str 3796 :param name: The name of the resource that is unique within the Azure firewall. This name can 3797 be used to access the resource. 3798 :type name: str 3799 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3800 :vartype etag: str 3801 :param priority: Priority of the NAT rule collection resource. 3802 :type priority: int 3803 :param action: The action type of a NAT rule collection. 3804 :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRCAction 3805 :param rules: Collection of rules used by a NAT rule collection. 3806 :type rules: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNatRule] 3807 :ivar provisioning_state: The provisioning state of the NAT rule collection resource. Possible 3808 values include: "Succeeded", "Updating", "Deleting", "Failed". 3809 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3810 """ 3811 3812 _validation = { 3813 'etag': {'readonly': True}, 3814 'priority': {'maximum': 65000, 'minimum': 100}, 3815 'provisioning_state': {'readonly': True}, 3816 } 3817 3818 _attribute_map = { 3819 'id': {'key': 'id', 'type': 'str'}, 3820 'name': {'key': 'name', 'type': 'str'}, 3821 'etag': {'key': 'etag', 'type': 'str'}, 3822 'priority': {'key': 'properties.priority', 'type': 'int'}, 3823 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, 3824 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, 3825 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3826 } 3827 3828 def __init__( 3829 self, 3830 *, 3831 id: Optional[str] = None, 3832 name: Optional[str] = None, 3833 priority: Optional[int] = None, 3834 action: Optional["AzureFirewallNatRCAction"] = None, 3835 rules: Optional[List["AzureFirewallNatRule"]] = None, 3836 **kwargs 3837 ): 3838 super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) 3839 self.name = name 3840 self.etag = None 3841 self.priority = priority 3842 self.action = action 3843 self.rules = rules 3844 self.provisioning_state = None 3845 3846 3847class AzureFirewallNetworkRule(msrest.serialization.Model): 3848 """Properties of the network rule. 3849 3850 :param name: Name of the network rule. 3851 :type name: str 3852 :param description: Description of the rule. 3853 :type description: str 3854 :param protocols: Array of AzureFirewallNetworkRuleProtocols. 3855 :type protocols: list[str or 3856 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRuleProtocol] 3857 :param source_addresses: List of source IP addresses for this rule. 3858 :type source_addresses: list[str] 3859 :param destination_addresses: List of destination IP addresses. 3860 :type destination_addresses: list[str] 3861 :param destination_ports: List of destination ports. 3862 :type destination_ports: list[str] 3863 :param destination_fqdns: List of destination FQDNs. 3864 :type destination_fqdns: list[str] 3865 :param source_ip_groups: List of source IpGroups for this rule. 3866 :type source_ip_groups: list[str] 3867 :param destination_ip_groups: List of destination IpGroups for this rule. 3868 :type destination_ip_groups: list[str] 3869 """ 3870 3871 _attribute_map = { 3872 'name': {'key': 'name', 'type': 'str'}, 3873 'description': {'key': 'description', 'type': 'str'}, 3874 'protocols': {'key': 'protocols', 'type': '[str]'}, 3875 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3876 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 3877 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 3878 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, 3879 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3880 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, 3881 } 3882 3883 def __init__( 3884 self, 3885 *, 3886 name: Optional[str] = None, 3887 description: Optional[str] = None, 3888 protocols: Optional[List[Union[str, "AzureFirewallNetworkRuleProtocol"]]] = None, 3889 source_addresses: Optional[List[str]] = None, 3890 destination_addresses: Optional[List[str]] = None, 3891 destination_ports: Optional[List[str]] = None, 3892 destination_fqdns: Optional[List[str]] = None, 3893 source_ip_groups: Optional[List[str]] = None, 3894 destination_ip_groups: Optional[List[str]] = None, 3895 **kwargs 3896 ): 3897 super(AzureFirewallNetworkRule, self).__init__(**kwargs) 3898 self.name = name 3899 self.description = description 3900 self.protocols = protocols 3901 self.source_addresses = source_addresses 3902 self.destination_addresses = destination_addresses 3903 self.destination_ports = destination_ports 3904 self.destination_fqdns = destination_fqdns 3905 self.source_ip_groups = source_ip_groups 3906 self.destination_ip_groups = destination_ip_groups 3907 3908 3909class AzureFirewallNetworkRuleCollection(SubResource): 3910 """Network rule collection resource. 3911 3912 Variables are only populated by the server, and will be ignored when sending a request. 3913 3914 :param id: Resource ID. 3915 :type id: str 3916 :param name: The name of the resource that is unique within the Azure firewall. This name can 3917 be used to access the resource. 3918 :type name: str 3919 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3920 :vartype etag: str 3921 :param priority: Priority of the network rule collection resource. 3922 :type priority: int 3923 :param action: The action type of a rule collection. 3924 :type action: ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCAction 3925 :param rules: Collection of rules used by a network rule collection. 3926 :type rules: list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallNetworkRule] 3927 :ivar provisioning_state: The provisioning state of the network rule collection resource. 3928 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3929 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 3930 """ 3931 3932 _validation = { 3933 'etag': {'readonly': True}, 3934 'priority': {'maximum': 65000, 'minimum': 100}, 3935 'provisioning_state': {'readonly': True}, 3936 } 3937 3938 _attribute_map = { 3939 'id': {'key': 'id', 'type': 'str'}, 3940 'name': {'key': 'name', 'type': 'str'}, 3941 'etag': {'key': 'etag', 'type': 'str'}, 3942 'priority': {'key': 'properties.priority', 'type': 'int'}, 3943 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 3944 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, 3945 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3946 } 3947 3948 def __init__( 3949 self, 3950 *, 3951 id: Optional[str] = None, 3952 name: Optional[str] = None, 3953 priority: Optional[int] = None, 3954 action: Optional["AzureFirewallRCAction"] = None, 3955 rules: Optional[List["AzureFirewallNetworkRule"]] = None, 3956 **kwargs 3957 ): 3958 super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) 3959 self.name = name 3960 self.etag = None 3961 self.priority = priority 3962 self.action = action 3963 self.rules = rules 3964 self.provisioning_state = None 3965 3966 3967class AzureFirewallPublicIPAddress(msrest.serialization.Model): 3968 """Public IP Address associated with azure firewall. 3969 3970 :param address: Public IP Address value. 3971 :type address: str 3972 """ 3973 3974 _attribute_map = { 3975 'address': {'key': 'address', 'type': 'str'}, 3976 } 3977 3978 def __init__( 3979 self, 3980 *, 3981 address: Optional[str] = None, 3982 **kwargs 3983 ): 3984 super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) 3985 self.address = address 3986 3987 3988class AzureFirewallRCAction(msrest.serialization.Model): 3989 """Properties of the AzureFirewallRCAction. 3990 3991 :param type: The type of action. Possible values include: "Allow", "Deny". 3992 :type type: str or ~azure.mgmt.network.v2020_04_01.models.AzureFirewallRCActionType 3993 """ 3994 3995 _attribute_map = { 3996 'type': {'key': 'type', 'type': 'str'}, 3997 } 3998 3999 def __init__( 4000 self, 4001 *, 4002 type: Optional[Union[str, "AzureFirewallRCActionType"]] = None, 4003 **kwargs 4004 ): 4005 super(AzureFirewallRCAction, self).__init__(**kwargs) 4006 self.type = type 4007 4008 4009class AzureFirewallSku(msrest.serialization.Model): 4010 """SKU of an Azure Firewall. 4011 4012 :param name: Name of an Azure Firewall SKU. Possible values include: "AZFW_VNet", "AZFW_Hub". 4013 :type name: str or ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuName 4014 :param tier: Tier of an Azure Firewall. Possible values include: "Standard", "Premium". 4015 :type tier: str or ~azure.mgmt.network.v2020_04_01.models.AzureFirewallSkuTier 4016 """ 4017 4018 _attribute_map = { 4019 'name': {'key': 'name', 'type': 'str'}, 4020 'tier': {'key': 'tier', 'type': 'str'}, 4021 } 4022 4023 def __init__( 4024 self, 4025 *, 4026 name: Optional[Union[str, "AzureFirewallSkuName"]] = None, 4027 tier: Optional[Union[str, "AzureFirewallSkuTier"]] = None, 4028 **kwargs 4029 ): 4030 super(AzureFirewallSku, self).__init__(**kwargs) 4031 self.name = name 4032 self.tier = tier 4033 4034 4035class AzureReachabilityReport(msrest.serialization.Model): 4036 """Azure reachability report details. 4037 4038 All required parameters must be populated in order to send to Azure. 4039 4040 :param aggregation_level: Required. The aggregation level of Azure reachability report. Can be 4041 Country, State or City. 4042 :type aggregation_level: str 4043 :param provider_location: Required. Parameters that define a geographic location. 4044 :type provider_location: ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation 4045 :param reachability_report: Required. List of Azure reachability report items. 4046 :type reachability_report: 4047 list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportItem] 4048 """ 4049 4050 _validation = { 4051 'aggregation_level': {'required': True}, 4052 'provider_location': {'required': True}, 4053 'reachability_report': {'required': True}, 4054 } 4055 4056 _attribute_map = { 4057 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, 4058 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 4059 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, 4060 } 4061 4062 def __init__( 4063 self, 4064 *, 4065 aggregation_level: str, 4066 provider_location: "AzureReachabilityReportLocation", 4067 reachability_report: List["AzureReachabilityReportItem"], 4068 **kwargs 4069 ): 4070 super(AzureReachabilityReport, self).__init__(**kwargs) 4071 self.aggregation_level = aggregation_level 4072 self.provider_location = provider_location 4073 self.reachability_report = reachability_report 4074 4075 4076class AzureReachabilityReportItem(msrest.serialization.Model): 4077 """Azure reachability report details for a given provider location. 4078 4079 :param provider: The Internet service provider. 4080 :type provider: str 4081 :param azure_location: The Azure region. 4082 :type azure_location: str 4083 :param latencies: List of latency details for each of the time series. 4084 :type latencies: 4085 list[~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLatencyInfo] 4086 """ 4087 4088 _attribute_map = { 4089 'provider': {'key': 'provider', 'type': 'str'}, 4090 'azure_location': {'key': 'azureLocation', 'type': 'str'}, 4091 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, 4092 } 4093 4094 def __init__( 4095 self, 4096 *, 4097 provider: Optional[str] = None, 4098 azure_location: Optional[str] = None, 4099 latencies: Optional[List["AzureReachabilityReportLatencyInfo"]] = None, 4100 **kwargs 4101 ): 4102 super(AzureReachabilityReportItem, self).__init__(**kwargs) 4103 self.provider = provider 4104 self.azure_location = azure_location 4105 self.latencies = latencies 4106 4107 4108class AzureReachabilityReportLatencyInfo(msrest.serialization.Model): 4109 """Details on latency for a time series. 4110 4111 :param time_stamp: The time stamp. 4112 :type time_stamp: ~datetime.datetime 4113 :param score: The relative latency score between 1 and 100, higher values indicating a faster 4114 connection. 4115 :type score: int 4116 """ 4117 4118 _validation = { 4119 'score': {'maximum': 100, 'minimum': 1}, 4120 } 4121 4122 _attribute_map = { 4123 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, 4124 'score': {'key': 'score', 'type': 'int'}, 4125 } 4126 4127 def __init__( 4128 self, 4129 *, 4130 time_stamp: Optional[datetime.datetime] = None, 4131 score: Optional[int] = None, 4132 **kwargs 4133 ): 4134 super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) 4135 self.time_stamp = time_stamp 4136 self.score = score 4137 4138 4139class AzureReachabilityReportLocation(msrest.serialization.Model): 4140 """Parameters that define a geographic location. 4141 4142 All required parameters must be populated in order to send to Azure. 4143 4144 :param country: Required. The name of the country. 4145 :type country: str 4146 :param state: The name of the state. 4147 :type state: str 4148 :param city: The name of the city or town. 4149 :type city: str 4150 """ 4151 4152 _validation = { 4153 'country': {'required': True}, 4154 } 4155 4156 _attribute_map = { 4157 'country': {'key': 'country', 'type': 'str'}, 4158 'state': {'key': 'state', 'type': 'str'}, 4159 'city': {'key': 'city', 'type': 'str'}, 4160 } 4161 4162 def __init__( 4163 self, 4164 *, 4165 country: str, 4166 state: Optional[str] = None, 4167 city: Optional[str] = None, 4168 **kwargs 4169 ): 4170 super(AzureReachabilityReportLocation, self).__init__(**kwargs) 4171 self.country = country 4172 self.state = state 4173 self.city = city 4174 4175 4176class AzureReachabilityReportParameters(msrest.serialization.Model): 4177 """Geographic and time constraints for Azure reachability report. 4178 4179 All required parameters must be populated in order to send to Azure. 4180 4181 :param provider_location: Required. Parameters that define a geographic location. 4182 :type provider_location: ~azure.mgmt.network.v2020_04_01.models.AzureReachabilityReportLocation 4183 :param providers: List of Internet service providers. 4184 :type providers: list[str] 4185 :param azure_locations: Optional Azure regions to scope the query to. 4186 :type azure_locations: list[str] 4187 :param start_time: Required. The start time for the Azure reachability report. 4188 :type start_time: ~datetime.datetime 4189 :param end_time: Required. The end time for the Azure reachability report. 4190 :type end_time: ~datetime.datetime 4191 """ 4192 4193 _validation = { 4194 'provider_location': {'required': True}, 4195 'start_time': {'required': True}, 4196 'end_time': {'required': True}, 4197 } 4198 4199 _attribute_map = { 4200 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 4201 'providers': {'key': 'providers', 'type': '[str]'}, 4202 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 4203 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 4204 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 4205 } 4206 4207 def __init__( 4208 self, 4209 *, 4210 provider_location: "AzureReachabilityReportLocation", 4211 start_time: datetime.datetime, 4212 end_time: datetime.datetime, 4213 providers: Optional[List[str]] = None, 4214 azure_locations: Optional[List[str]] = None, 4215 **kwargs 4216 ): 4217 super(AzureReachabilityReportParameters, self).__init__(**kwargs) 4218 self.provider_location = provider_location 4219 self.providers = providers 4220 self.azure_locations = azure_locations 4221 self.start_time = start_time 4222 self.end_time = end_time 4223 4224 4225class BackendAddressPool(SubResource): 4226 """Pool of backend IP addresses. 4227 4228 Variables are only populated by the server, and will be ignored when sending a request. 4229 4230 :param id: Resource ID. 4231 :type id: str 4232 :param name: The name of the resource that is unique within the set of backend address pools 4233 used by the load balancer. This name can be used to access the resource. 4234 :type name: str 4235 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4236 :vartype etag: str 4237 :ivar type: Type of the resource. 4238 :vartype type: str 4239 :param load_balancer_backend_addresses: An array of backend addresses. 4240 :type load_balancer_backend_addresses: 4241 list[~azure.mgmt.network.v2020_04_01.models.LoadBalancerBackendAddress] 4242 :ivar backend_ip_configurations: An array of references to IP addresses defined in network 4243 interfaces. 4244 :vartype backend_ip_configurations: 4245 list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] 4246 :ivar load_balancing_rules: An array of references to load balancing rules that use this 4247 backend address pool. 4248 :vartype load_balancing_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 4249 :ivar outbound_rule: A reference to an outbound rule that uses this backend address pool. 4250 :vartype outbound_rule: ~azure.mgmt.network.v2020_04_01.models.SubResource 4251 :ivar outbound_rules: An array of references to outbound rules that use this backend address 4252 pool. 4253 :vartype outbound_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 4254 :ivar provisioning_state: The provisioning state of the backend address pool resource. Possible 4255 values include: "Succeeded", "Updating", "Deleting", "Failed". 4256 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 4257 """ 4258 4259 _validation = { 4260 'etag': {'readonly': True}, 4261 'type': {'readonly': True}, 4262 'backend_ip_configurations': {'readonly': True}, 4263 'load_balancing_rules': {'readonly': True}, 4264 'outbound_rule': {'readonly': True}, 4265 'outbound_rules': {'readonly': True}, 4266 'provisioning_state': {'readonly': True}, 4267 } 4268 4269 _attribute_map = { 4270 'id': {'key': 'id', 'type': 'str'}, 4271 'name': {'key': 'name', 'type': 'str'}, 4272 'etag': {'key': 'etag', 'type': 'str'}, 4273 'type': {'key': 'type', 'type': 'str'}, 4274 'load_balancer_backend_addresses': {'key': 'properties.loadBalancerBackendAddresses', 'type': '[LoadBalancerBackendAddress]'}, 4275 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 4276 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 4277 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, 4278 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 4279 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4280 } 4281 4282 def __init__( 4283 self, 4284 *, 4285 id: Optional[str] = None, 4286 name: Optional[str] = None, 4287 load_balancer_backend_addresses: Optional[List["LoadBalancerBackendAddress"]] = None, 4288 **kwargs 4289 ): 4290 super(BackendAddressPool, self).__init__(id=id, **kwargs) 4291 self.name = name 4292 self.etag = None 4293 self.type = None 4294 self.load_balancer_backend_addresses = load_balancer_backend_addresses 4295 self.backend_ip_configurations = None 4296 self.load_balancing_rules = None 4297 self.outbound_rule = None 4298 self.outbound_rules = None 4299 self.provisioning_state = None 4300 4301 4302class BastionActiveSession(msrest.serialization.Model): 4303 """The session detail for a target. 4304 4305 Variables are only populated by the server, and will be ignored when sending a request. 4306 4307 :ivar session_id: A unique id for the session. 4308 :vartype session_id: str 4309 :ivar start_time: The time when the session started. 4310 :vartype start_time: str 4311 :ivar target_subscription_id: The subscription id for the target virtual machine. 4312 :vartype target_subscription_id: str 4313 :ivar resource_type: The type of the resource. 4314 :vartype resource_type: str 4315 :ivar target_host_name: The host name of the target. 4316 :vartype target_host_name: str 4317 :ivar target_resource_group: The resource group of the target. 4318 :vartype target_resource_group: str 4319 :ivar user_name: The user name who is active on this session. 4320 :vartype user_name: str 4321 :ivar target_ip_address: The IP Address of the target. 4322 :vartype target_ip_address: str 4323 :ivar protocol: The protocol used to connect to the target. Possible values include: "SSH", 4324 "RDP". 4325 :vartype protocol: str or ~azure.mgmt.network.v2020_04_01.models.BastionConnectProtocol 4326 :ivar target_resource_id: The resource id of the target. 4327 :vartype target_resource_id: str 4328 :ivar session_duration_in_mins: Duration in mins the session has been active. 4329 :vartype session_duration_in_mins: float 4330 """ 4331 4332 _validation = { 4333 'session_id': {'readonly': True}, 4334 'start_time': {'readonly': True}, 4335 'target_subscription_id': {'readonly': True}, 4336 'resource_type': {'readonly': True}, 4337 'target_host_name': {'readonly': True}, 4338 'target_resource_group': {'readonly': True}, 4339 'user_name': {'readonly': True}, 4340 'target_ip_address': {'readonly': True}, 4341 'protocol': {'readonly': True}, 4342 'target_resource_id': {'readonly': True}, 4343 'session_duration_in_mins': {'readonly': True}, 4344 } 4345 4346 _attribute_map = { 4347 'session_id': {'key': 'sessionId', 'type': 'str'}, 4348 'start_time': {'key': 'startTime', 'type': 'str'}, 4349 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, 4350 'resource_type': {'key': 'resourceType', 'type': 'str'}, 4351 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, 4352 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, 4353 'user_name': {'key': 'userName', 'type': 'str'}, 4354 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, 4355 'protocol': {'key': 'protocol', 'type': 'str'}, 4356 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4357 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, 4358 } 4359 4360 def __init__( 4361 self, 4362 **kwargs 4363 ): 4364 super(BastionActiveSession, self).__init__(**kwargs) 4365 self.session_id = None 4366 self.start_time = None 4367 self.target_subscription_id = None 4368 self.resource_type = None 4369 self.target_host_name = None 4370 self.target_resource_group = None 4371 self.user_name = None 4372 self.target_ip_address = None 4373 self.protocol = None 4374 self.target_resource_id = None 4375 self.session_duration_in_mins = None 4376 4377 4378class BastionActiveSessionListResult(msrest.serialization.Model): 4379 """Response for GetActiveSessions. 4380 4381 :param value: List of active sessions on the bastion. 4382 :type value: list[~azure.mgmt.network.v2020_04_01.models.BastionActiveSession] 4383 :param next_link: The URL to get the next set of results. 4384 :type next_link: str 4385 """ 4386 4387 _attribute_map = { 4388 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, 4389 'next_link': {'key': 'nextLink', 'type': 'str'}, 4390 } 4391 4392 def __init__( 4393 self, 4394 *, 4395 value: Optional[List["BastionActiveSession"]] = None, 4396 next_link: Optional[str] = None, 4397 **kwargs 4398 ): 4399 super(BastionActiveSessionListResult, self).__init__(**kwargs) 4400 self.value = value 4401 self.next_link = next_link 4402 4403 4404class BastionHost(Resource): 4405 """Bastion Host resource. 4406 4407 Variables are only populated by the server, and will be ignored when sending a request. 4408 4409 :param id: Resource ID. 4410 :type id: str 4411 :ivar name: Resource name. 4412 :vartype name: str 4413 :ivar type: Resource type. 4414 :vartype type: str 4415 :param location: Resource location. 4416 :type location: str 4417 :param tags: A set of tags. Resource tags. 4418 :type tags: dict[str, str] 4419 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4420 :vartype etag: str 4421 :param ip_configurations: IP configuration of the Bastion Host resource. 4422 :type ip_configurations: 4423 list[~azure.mgmt.network.v2020_04_01.models.BastionHostIPConfiguration] 4424 :param dns_name: FQDN for the endpoint on which bastion host is accessible. 4425 :type dns_name: str 4426 :ivar provisioning_state: The provisioning state of the bastion host resource. Possible values 4427 include: "Succeeded", "Updating", "Deleting", "Failed". 4428 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 4429 """ 4430 4431 _validation = { 4432 'name': {'readonly': True}, 4433 'type': {'readonly': True}, 4434 'etag': {'readonly': True}, 4435 'provisioning_state': {'readonly': True}, 4436 } 4437 4438 _attribute_map = { 4439 'id': {'key': 'id', 'type': 'str'}, 4440 'name': {'key': 'name', 'type': 'str'}, 4441 'type': {'key': 'type', 'type': 'str'}, 4442 'location': {'key': 'location', 'type': 'str'}, 4443 'tags': {'key': 'tags', 'type': '{str}'}, 4444 'etag': {'key': 'etag', 'type': 'str'}, 4445 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, 4446 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, 4447 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4448 } 4449 4450 def __init__( 4451 self, 4452 *, 4453 id: Optional[str] = None, 4454 location: Optional[str] = None, 4455 tags: Optional[Dict[str, str]] = None, 4456 ip_configurations: Optional[List["BastionHostIPConfiguration"]] = None, 4457 dns_name: Optional[str] = None, 4458 **kwargs 4459 ): 4460 super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) 4461 self.etag = None 4462 self.ip_configurations = ip_configurations 4463 self.dns_name = dns_name 4464 self.provisioning_state = None 4465 4466 4467class BastionHostIPConfiguration(SubResource): 4468 """IP configuration of an Bastion Host. 4469 4470 Variables are only populated by the server, and will be ignored when sending a request. 4471 4472 :param id: Resource ID. 4473 :type id: str 4474 :param name: Name of the resource that is unique within a resource group. This name can be used 4475 to access the resource. 4476 :type name: str 4477 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4478 :vartype etag: str 4479 :ivar type: Ip configuration type. 4480 :vartype type: str 4481 :param subnet: Reference of the subnet resource. 4482 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 4483 :param public_ip_address: Reference of the PublicIP resource. 4484 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.SubResource 4485 :ivar provisioning_state: The provisioning state of the bastion host IP configuration resource. 4486 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 4487 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 4488 :param private_ip_allocation_method: Private IP allocation method. Possible values include: 4489 "Static", "Dynamic". 4490 :type private_ip_allocation_method: str or 4491 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 4492 """ 4493 4494 _validation = { 4495 'etag': {'readonly': True}, 4496 'type': {'readonly': True}, 4497 'provisioning_state': {'readonly': True}, 4498 } 4499 4500 _attribute_map = { 4501 'id': {'key': 'id', 'type': 'str'}, 4502 'name': {'key': 'name', 'type': 'str'}, 4503 'etag': {'key': 'etag', 'type': 'str'}, 4504 'type': {'key': 'type', 'type': 'str'}, 4505 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 4506 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 4507 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4508 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 4509 } 4510 4511 def __init__( 4512 self, 4513 *, 4514 id: Optional[str] = None, 4515 name: Optional[str] = None, 4516 subnet: Optional["SubResource"] = None, 4517 public_ip_address: Optional["SubResource"] = None, 4518 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 4519 **kwargs 4520 ): 4521 super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) 4522 self.name = name 4523 self.etag = None 4524 self.type = None 4525 self.subnet = subnet 4526 self.public_ip_address = public_ip_address 4527 self.provisioning_state = None 4528 self.private_ip_allocation_method = private_ip_allocation_method 4529 4530 4531class BastionHostListResult(msrest.serialization.Model): 4532 """Response for ListBastionHosts API service call. 4533 4534 :param value: List of Bastion Hosts in a resource group. 4535 :type value: list[~azure.mgmt.network.v2020_04_01.models.BastionHost] 4536 :param next_link: URL to get the next set of results. 4537 :type next_link: str 4538 """ 4539 4540 _attribute_map = { 4541 'value': {'key': 'value', 'type': '[BastionHost]'}, 4542 'next_link': {'key': 'nextLink', 'type': 'str'}, 4543 } 4544 4545 def __init__( 4546 self, 4547 *, 4548 value: Optional[List["BastionHost"]] = None, 4549 next_link: Optional[str] = None, 4550 **kwargs 4551 ): 4552 super(BastionHostListResult, self).__init__(**kwargs) 4553 self.value = value 4554 self.next_link = next_link 4555 4556 4557class BastionSessionDeleteResult(msrest.serialization.Model): 4558 """Response for DisconnectActiveSessions. 4559 4560 :param value: List of sessions with their corresponding state. 4561 :type value: list[~azure.mgmt.network.v2020_04_01.models.BastionSessionState] 4562 :param next_link: The URL to get the next set of results. 4563 :type next_link: str 4564 """ 4565 4566 _attribute_map = { 4567 'value': {'key': 'value', 'type': '[BastionSessionState]'}, 4568 'next_link': {'key': 'nextLink', 'type': 'str'}, 4569 } 4570 4571 def __init__( 4572 self, 4573 *, 4574 value: Optional[List["BastionSessionState"]] = None, 4575 next_link: Optional[str] = None, 4576 **kwargs 4577 ): 4578 super(BastionSessionDeleteResult, self).__init__(**kwargs) 4579 self.value = value 4580 self.next_link = next_link 4581 4582 4583class BastionSessionState(msrest.serialization.Model): 4584 """The session state detail for a target. 4585 4586 Variables are only populated by the server, and will be ignored when sending a request. 4587 4588 :ivar session_id: A unique id for the session. 4589 :vartype session_id: str 4590 :ivar message: Used for extra information. 4591 :vartype message: str 4592 :ivar state: The state of the session. Disconnected/Failed/NotFound. 4593 :vartype state: str 4594 """ 4595 4596 _validation = { 4597 'session_id': {'readonly': True}, 4598 'message': {'readonly': True}, 4599 'state': {'readonly': True}, 4600 } 4601 4602 _attribute_map = { 4603 'session_id': {'key': 'sessionId', 'type': 'str'}, 4604 'message': {'key': 'message', 'type': 'str'}, 4605 'state': {'key': 'state', 'type': 'str'}, 4606 } 4607 4608 def __init__( 4609 self, 4610 **kwargs 4611 ): 4612 super(BastionSessionState, self).__init__(**kwargs) 4613 self.session_id = None 4614 self.message = None 4615 self.state = None 4616 4617 4618class BastionShareableLink(msrest.serialization.Model): 4619 """Bastion Shareable Link. 4620 4621 Variables are only populated by the server, and will be ignored when sending a request. 4622 4623 All required parameters must be populated in order to send to Azure. 4624 4625 :param vm: Required. Reference of the virtual machine resource. 4626 :type vm: ~azure.mgmt.network.v2020_04_01.models.VM 4627 :ivar bsl: The unique Bastion Shareable Link to the virtual machine. 4628 :vartype bsl: str 4629 :ivar created_at: The time when the link was created. 4630 :vartype created_at: str 4631 :ivar message: Optional field indicating the warning or error message related to the vm in case 4632 of partial failure. 4633 :vartype message: str 4634 """ 4635 4636 _validation = { 4637 'vm': {'required': True}, 4638 'bsl': {'readonly': True}, 4639 'created_at': {'readonly': True}, 4640 'message': {'readonly': True}, 4641 } 4642 4643 _attribute_map = { 4644 'vm': {'key': 'vm', 'type': 'VM'}, 4645 'bsl': {'key': 'bsl', 'type': 'str'}, 4646 'created_at': {'key': 'createdAt', 'type': 'str'}, 4647 'message': {'key': 'message', 'type': 'str'}, 4648 } 4649 4650 def __init__( 4651 self, 4652 *, 4653 vm: "VM", 4654 **kwargs 4655 ): 4656 super(BastionShareableLink, self).__init__(**kwargs) 4657 self.vm = vm 4658 self.bsl = None 4659 self.created_at = None 4660 self.message = None 4661 4662 4663class BastionShareableLinkListRequest(msrest.serialization.Model): 4664 """Post request for all the Bastion Shareable Link endpoints. 4665 4666 :param vms: List of VM references. 4667 :type vms: list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] 4668 """ 4669 4670 _attribute_map = { 4671 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, 4672 } 4673 4674 def __init__( 4675 self, 4676 *, 4677 vms: Optional[List["BastionShareableLink"]] = None, 4678 **kwargs 4679 ): 4680 super(BastionShareableLinkListRequest, self).__init__(**kwargs) 4681 self.vms = vms 4682 4683 4684class BastionShareableLinkListResult(msrest.serialization.Model): 4685 """Response for all the Bastion Shareable Link endpoints. 4686 4687 :param value: List of Bastion Shareable Links for the request. 4688 :type value: list[~azure.mgmt.network.v2020_04_01.models.BastionShareableLink] 4689 :param next_link: The URL to get the next set of results. 4690 :type next_link: str 4691 """ 4692 4693 _attribute_map = { 4694 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, 4695 'next_link': {'key': 'nextLink', 'type': 'str'}, 4696 } 4697 4698 def __init__( 4699 self, 4700 *, 4701 value: Optional[List["BastionShareableLink"]] = None, 4702 next_link: Optional[str] = None, 4703 **kwargs 4704 ): 4705 super(BastionShareableLinkListResult, self).__init__(**kwargs) 4706 self.value = value 4707 self.next_link = next_link 4708 4709 4710class BGPCommunity(msrest.serialization.Model): 4711 """Contains bgp community information offered in Service Community resources. 4712 4713 :param service_supported_region: The region which the service support. e.g. For O365, region is 4714 Global. 4715 :type service_supported_region: str 4716 :param community_name: The name of the bgp community. e.g. Skype. 4717 :type community_name: str 4718 :param community_value: The value of the bgp community. For more information: 4719 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 4720 :type community_value: str 4721 :param community_prefixes: The prefixes that the bgp community contains. 4722 :type community_prefixes: list[str] 4723 :param is_authorized_to_use: Customer is authorized to use bgp community or not. 4724 :type is_authorized_to_use: bool 4725 :param service_group: The service group of the bgp community contains. 4726 :type service_group: str 4727 """ 4728 4729 _attribute_map = { 4730 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 4731 'community_name': {'key': 'communityName', 'type': 'str'}, 4732 'community_value': {'key': 'communityValue', 'type': 'str'}, 4733 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 4734 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, 4735 'service_group': {'key': 'serviceGroup', 'type': 'str'}, 4736 } 4737 4738 def __init__( 4739 self, 4740 *, 4741 service_supported_region: Optional[str] = None, 4742 community_name: Optional[str] = None, 4743 community_value: Optional[str] = None, 4744 community_prefixes: Optional[List[str]] = None, 4745 is_authorized_to_use: Optional[bool] = None, 4746 service_group: Optional[str] = None, 4747 **kwargs 4748 ): 4749 super(BGPCommunity, self).__init__(**kwargs) 4750 self.service_supported_region = service_supported_region 4751 self.community_name = community_name 4752 self.community_value = community_value 4753 self.community_prefixes = community_prefixes 4754 self.is_authorized_to_use = is_authorized_to_use 4755 self.service_group = service_group 4756 4757 4758class BgpPeerStatus(msrest.serialization.Model): 4759 """BGP peer status details. 4760 4761 Variables are only populated by the server, and will be ignored when sending a request. 4762 4763 :ivar local_address: The virtual network gateway's local address. 4764 :vartype local_address: str 4765 :ivar neighbor: The remote BGP peer. 4766 :vartype neighbor: str 4767 :ivar asn: The autonomous system number of the remote BGP peer. 4768 :vartype asn: long 4769 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 4770 "Connecting", "Connected". 4771 :vartype state: str or ~azure.mgmt.network.v2020_04_01.models.BgpPeerState 4772 :ivar connected_duration: For how long the peering has been up. 4773 :vartype connected_duration: str 4774 :ivar routes_received: The number of routes learned from this peer. 4775 :vartype routes_received: long 4776 :ivar messages_sent: The number of BGP messages sent. 4777 :vartype messages_sent: long 4778 :ivar messages_received: The number of BGP messages received. 4779 :vartype messages_received: long 4780 """ 4781 4782 _validation = { 4783 'local_address': {'readonly': True}, 4784 'neighbor': {'readonly': True}, 4785 'asn': {'readonly': True, 'maximum': 4294967295, 'minimum': 0}, 4786 'state': {'readonly': True}, 4787 'connected_duration': {'readonly': True}, 4788 'routes_received': {'readonly': True}, 4789 'messages_sent': {'readonly': True}, 4790 'messages_received': {'readonly': True}, 4791 } 4792 4793 _attribute_map = { 4794 'local_address': {'key': 'localAddress', 'type': 'str'}, 4795 'neighbor': {'key': 'neighbor', 'type': 'str'}, 4796 'asn': {'key': 'asn', 'type': 'long'}, 4797 'state': {'key': 'state', 'type': 'str'}, 4798 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 4799 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 4800 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 4801 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 4802 } 4803 4804 def __init__( 4805 self, 4806 **kwargs 4807 ): 4808 super(BgpPeerStatus, self).__init__(**kwargs) 4809 self.local_address = None 4810 self.neighbor = None 4811 self.asn = None 4812 self.state = None 4813 self.connected_duration = None 4814 self.routes_received = None 4815 self.messages_sent = None 4816 self.messages_received = None 4817 4818 4819class BgpPeerStatusListResult(msrest.serialization.Model): 4820 """Response for list BGP peer status API service call. 4821 4822 :param value: List of BGP peers. 4823 :type value: list[~azure.mgmt.network.v2020_04_01.models.BgpPeerStatus] 4824 """ 4825 4826 _attribute_map = { 4827 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 4828 } 4829 4830 def __init__( 4831 self, 4832 *, 4833 value: Optional[List["BgpPeerStatus"]] = None, 4834 **kwargs 4835 ): 4836 super(BgpPeerStatusListResult, self).__init__(**kwargs) 4837 self.value = value 4838 4839 4840class BgpServiceCommunity(Resource): 4841 """Service Community Properties. 4842 4843 Variables are only populated by the server, and will be ignored when sending a request. 4844 4845 :param id: Resource ID. 4846 :type id: str 4847 :ivar name: Resource name. 4848 :vartype name: str 4849 :ivar type: Resource type. 4850 :vartype type: str 4851 :param location: Resource location. 4852 :type location: str 4853 :param tags: A set of tags. Resource tags. 4854 :type tags: dict[str, str] 4855 :param service_name: The name of the bgp community. e.g. Skype. 4856 :type service_name: str 4857 :param bgp_communities: A list of bgp communities. 4858 :type bgp_communities: list[~azure.mgmt.network.v2020_04_01.models.BGPCommunity] 4859 """ 4860 4861 _validation = { 4862 'name': {'readonly': True}, 4863 'type': {'readonly': True}, 4864 } 4865 4866 _attribute_map = { 4867 'id': {'key': 'id', 'type': 'str'}, 4868 'name': {'key': 'name', 'type': 'str'}, 4869 'type': {'key': 'type', 'type': 'str'}, 4870 'location': {'key': 'location', 'type': 'str'}, 4871 'tags': {'key': 'tags', 'type': '{str}'}, 4872 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 4873 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 4874 } 4875 4876 def __init__( 4877 self, 4878 *, 4879 id: Optional[str] = None, 4880 location: Optional[str] = None, 4881 tags: Optional[Dict[str, str]] = None, 4882 service_name: Optional[str] = None, 4883 bgp_communities: Optional[List["BGPCommunity"]] = None, 4884 **kwargs 4885 ): 4886 super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) 4887 self.service_name = service_name 4888 self.bgp_communities = bgp_communities 4889 4890 4891class BgpServiceCommunityListResult(msrest.serialization.Model): 4892 """Response for the ListServiceCommunity API service call. 4893 4894 :param value: A list of service community resources. 4895 :type value: list[~azure.mgmt.network.v2020_04_01.models.BgpServiceCommunity] 4896 :param next_link: The URL to get the next set of results. 4897 :type next_link: str 4898 """ 4899 4900 _attribute_map = { 4901 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 4902 'next_link': {'key': 'nextLink', 'type': 'str'}, 4903 } 4904 4905 def __init__( 4906 self, 4907 *, 4908 value: Optional[List["BgpServiceCommunity"]] = None, 4909 next_link: Optional[str] = None, 4910 **kwargs 4911 ): 4912 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 4913 self.value = value 4914 self.next_link = next_link 4915 4916 4917class BgpSettings(msrest.serialization.Model): 4918 """BGP settings details. 4919 4920 :param asn: The BGP speaker's ASN. 4921 :type asn: long 4922 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 4923 :type bgp_peering_address: str 4924 :param peer_weight: The weight added to routes learned from this BGP speaker. 4925 :type peer_weight: int 4926 :param bgp_peering_addresses: BGP peering address with IP configuration ID for virtual network 4927 gateway. 4928 :type bgp_peering_addresses: 4929 list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationBgpPeeringAddress] 4930 """ 4931 4932 _validation = { 4933 'asn': {'maximum': 4294967295, 'minimum': 0}, 4934 } 4935 4936 _attribute_map = { 4937 'asn': {'key': 'asn', 'type': 'long'}, 4938 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 4939 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 4940 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, 4941 } 4942 4943 def __init__( 4944 self, 4945 *, 4946 asn: Optional[int] = None, 4947 bgp_peering_address: Optional[str] = None, 4948 peer_weight: Optional[int] = None, 4949 bgp_peering_addresses: Optional[List["IPConfigurationBgpPeeringAddress"]] = None, 4950 **kwargs 4951 ): 4952 super(BgpSettings, self).__init__(**kwargs) 4953 self.asn = asn 4954 self.bgp_peering_address = bgp_peering_address 4955 self.peer_weight = peer_weight 4956 self.bgp_peering_addresses = bgp_peering_addresses 4957 4958 4959class CheckPrivateLinkServiceVisibilityRequest(msrest.serialization.Model): 4960 """Request body of the CheckPrivateLinkServiceVisibility API service call. 4961 4962 :param private_link_service_alias: The alias of the private link service. 4963 :type private_link_service_alias: str 4964 """ 4965 4966 _attribute_map = { 4967 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, 4968 } 4969 4970 def __init__( 4971 self, 4972 *, 4973 private_link_service_alias: Optional[str] = None, 4974 **kwargs 4975 ): 4976 super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) 4977 self.private_link_service_alias = private_link_service_alias 4978 4979 4980class CloudErrorBody(msrest.serialization.Model): 4981 """An error response from the service. 4982 4983 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 4984 programmatically. 4985 :type code: str 4986 :param message: A message describing the error, intended to be suitable for display in a user 4987 interface. 4988 :type message: str 4989 :param target: The target of the particular error. For example, the name of the property in 4990 error. 4991 :type target: str 4992 :param details: A list of additional details about the error. 4993 :type details: list[~azure.mgmt.network.v2020_04_01.models.CloudErrorBody] 4994 """ 4995 4996 _attribute_map = { 4997 'code': {'key': 'code', 'type': 'str'}, 4998 'message': {'key': 'message', 'type': 'str'}, 4999 'target': {'key': 'target', 'type': 'str'}, 5000 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 5001 } 5002 5003 def __init__( 5004 self, 5005 *, 5006 code: Optional[str] = None, 5007 message: Optional[str] = None, 5008 target: Optional[str] = None, 5009 details: Optional[List["CloudErrorBody"]] = None, 5010 **kwargs 5011 ): 5012 super(CloudErrorBody, self).__init__(**kwargs) 5013 self.code = code 5014 self.message = message 5015 self.target = target 5016 self.details = details 5017 5018 5019class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): 5020 """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. 5021 5022 Variables are only populated by the server, and will be ignored when sending a request. 5023 5024 :ivar principal_id: The principal id of user assigned identity. 5025 :vartype principal_id: str 5026 :ivar client_id: The client id of user assigned identity. 5027 :vartype client_id: str 5028 """ 5029 5030 _validation = { 5031 'principal_id': {'readonly': True}, 5032 'client_id': {'readonly': True}, 5033 } 5034 5035 _attribute_map = { 5036 'principal_id': {'key': 'principalId', 'type': 'str'}, 5037 'client_id': {'key': 'clientId', 'type': 'str'}, 5038 } 5039 5040 def __init__( 5041 self, 5042 **kwargs 5043 ): 5044 super(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) 5045 self.principal_id = None 5046 self.client_id = None 5047 5048 5049class ConnectionMonitor(msrest.serialization.Model): 5050 """Parameters that define the operation to create a connection monitor. 5051 5052 :param location: Connection monitor location. 5053 :type location: str 5054 :param tags: A set of tags. Connection monitor tags. 5055 :type tags: dict[str, str] 5056 :param source: Describes the source of connection monitor. 5057 :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource 5058 :param destination: Describes the destination of connection monitor. 5059 :type destination: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination 5060 :param auto_start: Determines if the connection monitor will start automatically once created. 5061 :type auto_start: bool 5062 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5063 :type monitoring_interval_in_seconds: int 5064 :param endpoints: List of connection monitor endpoints. 5065 :type endpoints: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] 5066 :param test_configurations: List of connection monitor test configurations. 5067 :type test_configurations: 5068 list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] 5069 :param test_groups: List of connection monitor test groups. 5070 :type test_groups: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] 5071 :param outputs: List of connection monitor outputs. 5072 :type outputs: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] 5073 :param notes: Optional notes to be associated with the connection monitor. 5074 :type notes: str 5075 """ 5076 5077 _attribute_map = { 5078 'location': {'key': 'location', 'type': 'str'}, 5079 'tags': {'key': 'tags', 'type': '{str}'}, 5080 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 5081 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 5082 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 5083 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 5084 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5085 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5086 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5087 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, 5088 'notes': {'key': 'properties.notes', 'type': 'str'}, 5089 } 5090 5091 def __init__( 5092 self, 5093 *, 5094 location: Optional[str] = None, 5095 tags: Optional[Dict[str, str]] = None, 5096 source: Optional["ConnectionMonitorSource"] = None, 5097 destination: Optional["ConnectionMonitorDestination"] = None, 5098 auto_start: Optional[bool] = True, 5099 monitoring_interval_in_seconds: Optional[int] = 60, 5100 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5101 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5102 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5103 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5104 notes: Optional[str] = None, 5105 **kwargs 5106 ): 5107 super(ConnectionMonitor, self).__init__(**kwargs) 5108 self.location = location 5109 self.tags = tags 5110 self.source = source 5111 self.destination = destination 5112 self.auto_start = auto_start 5113 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5114 self.endpoints = endpoints 5115 self.test_configurations = test_configurations 5116 self.test_groups = test_groups 5117 self.outputs = outputs 5118 self.notes = notes 5119 5120 5121class ConnectionMonitorDestination(msrest.serialization.Model): 5122 """Describes the destination of connection monitor. 5123 5124 :param resource_id: The ID of the resource used as the destination by connection monitor. 5125 :type resource_id: str 5126 :param address: Address of the connection monitor destination (IP or domain name). 5127 :type address: str 5128 :param port: The destination port used by connection monitor. 5129 :type port: int 5130 """ 5131 5132 _attribute_map = { 5133 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5134 'address': {'key': 'address', 'type': 'str'}, 5135 'port': {'key': 'port', 'type': 'int'}, 5136 } 5137 5138 def __init__( 5139 self, 5140 *, 5141 resource_id: Optional[str] = None, 5142 address: Optional[str] = None, 5143 port: Optional[int] = None, 5144 **kwargs 5145 ): 5146 super(ConnectionMonitorDestination, self).__init__(**kwargs) 5147 self.resource_id = resource_id 5148 self.address = address 5149 self.port = port 5150 5151 5152class ConnectionMonitorEndpoint(msrest.serialization.Model): 5153 """Describes the connection monitor endpoint. 5154 5155 All required parameters must be populated in order to send to Azure. 5156 5157 :param name: Required. The name of the connection monitor endpoint. 5158 :type name: str 5159 :param resource_id: Resource ID of the connection monitor endpoint. 5160 :type resource_id: str 5161 :param address: Address of the connection monitor endpoint (IP or domain name). 5162 :type address: str 5163 :param filter: Filter for sub-items within the endpoint. 5164 :type filter: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilter 5165 """ 5166 5167 _validation = { 5168 'name': {'required': True}, 5169 } 5170 5171 _attribute_map = { 5172 'name': {'key': 'name', 'type': 'str'}, 5173 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5174 'address': {'key': 'address', 'type': 'str'}, 5175 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, 5176 } 5177 5178 def __init__( 5179 self, 5180 *, 5181 name: str, 5182 resource_id: Optional[str] = None, 5183 address: Optional[str] = None, 5184 filter: Optional["ConnectionMonitorEndpointFilter"] = None, 5185 **kwargs 5186 ): 5187 super(ConnectionMonitorEndpoint, self).__init__(**kwargs) 5188 self.name = name 5189 self.resource_id = resource_id 5190 self.address = address 5191 self.filter = filter 5192 5193 5194class ConnectionMonitorEndpointFilter(msrest.serialization.Model): 5195 """Describes the connection monitor endpoint filter. 5196 5197 :param type: The behavior of the endpoint filter. Currently only 'Include' is supported. 5198 Possible values include: "Include". 5199 :type type: str or ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterType 5200 :param items: List of items in the filter. 5201 :type items: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItem] 5202 """ 5203 5204 _attribute_map = { 5205 'type': {'key': 'type', 'type': 'str'}, 5206 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, 5207 } 5208 5209 def __init__( 5210 self, 5211 *, 5212 type: Optional[Union[str, "ConnectionMonitorEndpointFilterType"]] = None, 5213 items: Optional[List["ConnectionMonitorEndpointFilterItem"]] = None, 5214 **kwargs 5215 ): 5216 super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) 5217 self.type = type 5218 self.items = items 5219 5220 5221class ConnectionMonitorEndpointFilterItem(msrest.serialization.Model): 5222 """Describes the connection monitor endpoint filter item. 5223 5224 :param type: The type of item included in the filter. Currently only 'AgentAddress' is 5225 supported. Possible values include: "AgentAddress". 5226 :type type: str or 5227 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpointFilterItemType 5228 :param address: The address of the filter item. 5229 :type address: str 5230 """ 5231 5232 _attribute_map = { 5233 'type': {'key': 'type', 'type': 'str'}, 5234 'address': {'key': 'address', 'type': 'str'}, 5235 } 5236 5237 def __init__( 5238 self, 5239 *, 5240 type: Optional[Union[str, "ConnectionMonitorEndpointFilterItemType"]] = None, 5241 address: Optional[str] = None, 5242 **kwargs 5243 ): 5244 super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) 5245 self.type = type 5246 self.address = address 5247 5248 5249class ConnectionMonitorHttpConfiguration(msrest.serialization.Model): 5250 """Describes the HTTP configuration. 5251 5252 :param port: The port to connect to. 5253 :type port: int 5254 :param method: The HTTP method to use. Possible values include: "Get", "Post". 5255 :type method: str or ~azure.mgmt.network.v2020_04_01.models.HTTPConfigurationMethod 5256 :param path: The path component of the URI. For instance, "/dir1/dir2". 5257 :type path: str 5258 :param request_headers: The HTTP headers to transmit with the request. 5259 :type request_headers: list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] 5260 :param valid_status_code_ranges: HTTP status codes to consider successful. For instance, 5261 "2xx,301-304,418". 5262 :type valid_status_code_ranges: list[str] 5263 :param prefer_https: Value indicating whether HTTPS is preferred over HTTP in cases where the 5264 choice is not explicit. 5265 :type prefer_https: bool 5266 """ 5267 5268 _attribute_map = { 5269 'port': {'key': 'port', 'type': 'int'}, 5270 'method': {'key': 'method', 'type': 'str'}, 5271 'path': {'key': 'path', 'type': 'str'}, 5272 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, 5273 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, 5274 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, 5275 } 5276 5277 def __init__( 5278 self, 5279 *, 5280 port: Optional[int] = None, 5281 method: Optional[Union[str, "HTTPConfigurationMethod"]] = None, 5282 path: Optional[str] = None, 5283 request_headers: Optional[List["HTTPHeader"]] = None, 5284 valid_status_code_ranges: Optional[List[str]] = None, 5285 prefer_https: Optional[bool] = None, 5286 **kwargs 5287 ): 5288 super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) 5289 self.port = port 5290 self.method = method 5291 self.path = path 5292 self.request_headers = request_headers 5293 self.valid_status_code_ranges = valid_status_code_ranges 5294 self.prefer_https = prefer_https 5295 5296 5297class ConnectionMonitorIcmpConfiguration(msrest.serialization.Model): 5298 """Describes the ICMP configuration. 5299 5300 :param disable_trace_route: Value indicating whether path evaluation with trace route should be 5301 disabled. 5302 :type disable_trace_route: bool 5303 """ 5304 5305 _attribute_map = { 5306 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, 5307 } 5308 5309 def __init__( 5310 self, 5311 *, 5312 disable_trace_route: Optional[bool] = None, 5313 **kwargs 5314 ): 5315 super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) 5316 self.disable_trace_route = disable_trace_route 5317 5318 5319class ConnectionMonitorListResult(msrest.serialization.Model): 5320 """List of connection monitors. 5321 5322 :param value: Information about connection monitors. 5323 :type value: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorResult] 5324 """ 5325 5326 _attribute_map = { 5327 'value': {'key': 'value', 'type': '[ConnectionMonitorResult]'}, 5328 } 5329 5330 def __init__( 5331 self, 5332 *, 5333 value: Optional[List["ConnectionMonitorResult"]] = None, 5334 **kwargs 5335 ): 5336 super(ConnectionMonitorListResult, self).__init__(**kwargs) 5337 self.value = value 5338 5339 5340class ConnectionMonitorOutput(msrest.serialization.Model): 5341 """Describes a connection monitor output destination. 5342 5343 :param type: Connection monitor output destination type. Currently, only "Workspace" is 5344 supported. Possible values include: "Workspace". 5345 :type type: str or ~azure.mgmt.network.v2020_04_01.models.OutputType 5346 :param workspace_settings: Describes the settings for producing output into a log analytics 5347 workspace. 5348 :type workspace_settings: 5349 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorWorkspaceSettings 5350 """ 5351 5352 _attribute_map = { 5353 'type': {'key': 'type', 'type': 'str'}, 5354 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, 5355 } 5356 5357 def __init__( 5358 self, 5359 *, 5360 type: Optional[Union[str, "OutputType"]] = None, 5361 workspace_settings: Optional["ConnectionMonitorWorkspaceSettings"] = None, 5362 **kwargs 5363 ): 5364 super(ConnectionMonitorOutput, self).__init__(**kwargs) 5365 self.type = type 5366 self.workspace_settings = workspace_settings 5367 5368 5369class ConnectionMonitorParameters(msrest.serialization.Model): 5370 """Parameters that define the operation to create a connection monitor. 5371 5372 :param source: Describes the source of connection monitor. 5373 :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource 5374 :param destination: Describes the destination of connection monitor. 5375 :type destination: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination 5376 :param auto_start: Determines if the connection monitor will start automatically once created. 5377 :type auto_start: bool 5378 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5379 :type monitoring_interval_in_seconds: int 5380 :param endpoints: List of connection monitor endpoints. 5381 :type endpoints: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] 5382 :param test_configurations: List of connection monitor test configurations. 5383 :type test_configurations: 5384 list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] 5385 :param test_groups: List of connection monitor test groups. 5386 :type test_groups: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] 5387 :param outputs: List of connection monitor outputs. 5388 :type outputs: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] 5389 :param notes: Optional notes to be associated with the connection monitor. 5390 :type notes: str 5391 """ 5392 5393 _attribute_map = { 5394 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 5395 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 5396 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 5397 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 5398 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5399 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5400 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5401 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, 5402 'notes': {'key': 'notes', 'type': 'str'}, 5403 } 5404 5405 def __init__( 5406 self, 5407 *, 5408 source: Optional["ConnectionMonitorSource"] = None, 5409 destination: Optional["ConnectionMonitorDestination"] = None, 5410 auto_start: Optional[bool] = True, 5411 monitoring_interval_in_seconds: Optional[int] = 60, 5412 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5413 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5414 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5415 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5416 notes: Optional[str] = None, 5417 **kwargs 5418 ): 5419 super(ConnectionMonitorParameters, self).__init__(**kwargs) 5420 self.source = source 5421 self.destination = destination 5422 self.auto_start = auto_start 5423 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5424 self.endpoints = endpoints 5425 self.test_configurations = test_configurations 5426 self.test_groups = test_groups 5427 self.outputs = outputs 5428 self.notes = notes 5429 5430 5431class ConnectionMonitorQueryResult(msrest.serialization.Model): 5432 """List of connection states snapshots. 5433 5434 :param source_status: Status of connection monitor source. Possible values include: "Unknown", 5435 "Active", "Inactive". 5436 :type source_status: str or 5437 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSourceStatus 5438 :param states: Information about connection states. 5439 :type states: list[~azure.mgmt.network.v2020_04_01.models.ConnectionStateSnapshot] 5440 """ 5441 5442 _attribute_map = { 5443 'source_status': {'key': 'sourceStatus', 'type': 'str'}, 5444 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, 5445 } 5446 5447 def __init__( 5448 self, 5449 *, 5450 source_status: Optional[Union[str, "ConnectionMonitorSourceStatus"]] = None, 5451 states: Optional[List["ConnectionStateSnapshot"]] = None, 5452 **kwargs 5453 ): 5454 super(ConnectionMonitorQueryResult, self).__init__(**kwargs) 5455 self.source_status = source_status 5456 self.states = states 5457 5458 5459class ConnectionMonitorResult(msrest.serialization.Model): 5460 """Information about the connection monitor. 5461 5462 Variables are only populated by the server, and will be ignored when sending a request. 5463 5464 :ivar name: Name of the connection monitor. 5465 :vartype name: str 5466 :ivar id: ID of the connection monitor. 5467 :vartype id: str 5468 :ivar etag: A unique read-only string that changes whenever the resource is updated. 5469 :vartype etag: str 5470 :ivar type: Connection monitor type. 5471 :vartype type: str 5472 :param location: Connection monitor location. 5473 :type location: str 5474 :param tags: A set of tags. Connection monitor tags. 5475 :type tags: dict[str, str] 5476 :param source: Describes the source of connection monitor. 5477 :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource 5478 :param destination: Describes the destination of connection monitor. 5479 :type destination: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination 5480 :param auto_start: Determines if the connection monitor will start automatically once created. 5481 :type auto_start: bool 5482 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5483 :type monitoring_interval_in_seconds: int 5484 :param endpoints: List of connection monitor endpoints. 5485 :type endpoints: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] 5486 :param test_configurations: List of connection monitor test configurations. 5487 :type test_configurations: 5488 list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] 5489 :param test_groups: List of connection monitor test groups. 5490 :type test_groups: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] 5491 :param outputs: List of connection monitor outputs. 5492 :type outputs: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] 5493 :param notes: Optional notes to be associated with the connection monitor. 5494 :type notes: str 5495 :ivar provisioning_state: The provisioning state of the connection monitor. Possible values 5496 include: "Succeeded", "Updating", "Deleting", "Failed". 5497 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 5498 :ivar start_time: The date and time when the connection monitor was started. 5499 :vartype start_time: ~datetime.datetime 5500 :ivar monitoring_status: The monitoring status of the connection monitor. 5501 :vartype monitoring_status: str 5502 :ivar connection_monitor_type: Type of connection monitor. Possible values include: 5503 "MultiEndpoint", "SingleSourceDestination". 5504 :vartype connection_monitor_type: str or 5505 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorType 5506 """ 5507 5508 _validation = { 5509 'name': {'readonly': True}, 5510 'id': {'readonly': True}, 5511 'etag': {'readonly': True}, 5512 'type': {'readonly': True}, 5513 'provisioning_state': {'readonly': True}, 5514 'start_time': {'readonly': True}, 5515 'monitoring_status': {'readonly': True}, 5516 'connection_monitor_type': {'readonly': True}, 5517 } 5518 5519 _attribute_map = { 5520 'name': {'key': 'name', 'type': 'str'}, 5521 'id': {'key': 'id', 'type': 'str'}, 5522 'etag': {'key': 'etag', 'type': 'str'}, 5523 'type': {'key': 'type', 'type': 'str'}, 5524 'location': {'key': 'location', 'type': 'str'}, 5525 'tags': {'key': 'tags', 'type': '{str}'}, 5526 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 5527 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 5528 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 5529 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 5530 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5531 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5532 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5533 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, 5534 'notes': {'key': 'properties.notes', 'type': 'str'}, 5535 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5536 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 5537 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 5538 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, 5539 } 5540 5541 def __init__( 5542 self, 5543 *, 5544 location: Optional[str] = None, 5545 tags: Optional[Dict[str, str]] = None, 5546 source: Optional["ConnectionMonitorSource"] = None, 5547 destination: Optional["ConnectionMonitorDestination"] = None, 5548 auto_start: Optional[bool] = True, 5549 monitoring_interval_in_seconds: Optional[int] = 60, 5550 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5551 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5552 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5553 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5554 notes: Optional[str] = None, 5555 **kwargs 5556 ): 5557 super(ConnectionMonitorResult, self).__init__(**kwargs) 5558 self.name = None 5559 self.id = None 5560 self.etag = None 5561 self.type = None 5562 self.location = location 5563 self.tags = tags 5564 self.source = source 5565 self.destination = destination 5566 self.auto_start = auto_start 5567 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5568 self.endpoints = endpoints 5569 self.test_configurations = test_configurations 5570 self.test_groups = test_groups 5571 self.outputs = outputs 5572 self.notes = notes 5573 self.provisioning_state = None 5574 self.start_time = None 5575 self.monitoring_status = None 5576 self.connection_monitor_type = None 5577 5578 5579class ConnectionMonitorResultProperties(ConnectionMonitorParameters): 5580 """Describes the properties of a connection monitor. 5581 5582 Variables are only populated by the server, and will be ignored when sending a request. 5583 5584 :param source: Describes the source of connection monitor. 5585 :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSource 5586 :param destination: Describes the destination of connection monitor. 5587 :type destination: ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorDestination 5588 :param auto_start: Determines if the connection monitor will start automatically once created. 5589 :type auto_start: bool 5590 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5591 :type monitoring_interval_in_seconds: int 5592 :param endpoints: List of connection monitor endpoints. 5593 :type endpoints: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorEndpoint] 5594 :param test_configurations: List of connection monitor test configurations. 5595 :type test_configurations: 5596 list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfiguration] 5597 :param test_groups: List of connection monitor test groups. 5598 :type test_groups: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestGroup] 5599 :param outputs: List of connection monitor outputs. 5600 :type outputs: list[~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorOutput] 5601 :param notes: Optional notes to be associated with the connection monitor. 5602 :type notes: str 5603 :ivar provisioning_state: The provisioning state of the connection monitor. Possible values 5604 include: "Succeeded", "Updating", "Deleting", "Failed". 5605 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 5606 :ivar start_time: The date and time when the connection monitor was started. 5607 :vartype start_time: ~datetime.datetime 5608 :ivar monitoring_status: The monitoring status of the connection monitor. 5609 :vartype monitoring_status: str 5610 :ivar connection_monitor_type: Type of connection monitor. Possible values include: 5611 "MultiEndpoint", "SingleSourceDestination". 5612 :vartype connection_monitor_type: str or 5613 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorType 5614 """ 5615 5616 _validation = { 5617 'provisioning_state': {'readonly': True}, 5618 'start_time': {'readonly': True}, 5619 'monitoring_status': {'readonly': True}, 5620 'connection_monitor_type': {'readonly': True}, 5621 } 5622 5623 _attribute_map = { 5624 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 5625 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 5626 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 5627 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 5628 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5629 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5630 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5631 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, 5632 'notes': {'key': 'notes', 'type': 'str'}, 5633 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 5634 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5635 'monitoring_status': {'key': 'monitoringStatus', 'type': 'str'}, 5636 'connection_monitor_type': {'key': 'connectionMonitorType', 'type': 'str'}, 5637 } 5638 5639 def __init__( 5640 self, 5641 *, 5642 source: Optional["ConnectionMonitorSource"] = None, 5643 destination: Optional["ConnectionMonitorDestination"] = None, 5644 auto_start: Optional[bool] = True, 5645 monitoring_interval_in_seconds: Optional[int] = 60, 5646 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5647 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5648 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5649 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5650 notes: Optional[str] = None, 5651 **kwargs 5652 ): 5653 super(ConnectionMonitorResultProperties, self).__init__(source=source, destination=destination, auto_start=auto_start, monitoring_interval_in_seconds=monitoring_interval_in_seconds, endpoints=endpoints, test_configurations=test_configurations, test_groups=test_groups, outputs=outputs, notes=notes, **kwargs) 5654 self.provisioning_state = None 5655 self.start_time = None 5656 self.monitoring_status = None 5657 self.connection_monitor_type = None 5658 5659 5660class ConnectionMonitorSource(msrest.serialization.Model): 5661 """Describes the source of connection monitor. 5662 5663 All required parameters must be populated in order to send to Azure. 5664 5665 :param resource_id: Required. The ID of the resource used as the source by connection monitor. 5666 :type resource_id: str 5667 :param port: The source port used by connection monitor. 5668 :type port: int 5669 """ 5670 5671 _validation = { 5672 'resource_id': {'required': True}, 5673 } 5674 5675 _attribute_map = { 5676 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5677 'port': {'key': 'port', 'type': 'int'}, 5678 } 5679 5680 def __init__( 5681 self, 5682 *, 5683 resource_id: str, 5684 port: Optional[int] = None, 5685 **kwargs 5686 ): 5687 super(ConnectionMonitorSource, self).__init__(**kwargs) 5688 self.resource_id = resource_id 5689 self.port = port 5690 5691 5692class ConnectionMonitorSuccessThreshold(msrest.serialization.Model): 5693 """Describes the threshold for declaring a test successful. 5694 5695 :param checks_failed_percent: The maximum percentage of failed checks permitted for a test to 5696 evaluate as successful. 5697 :type checks_failed_percent: int 5698 :param round_trip_time_ms: The maximum round-trip time in milliseconds permitted for a test to 5699 evaluate as successful. 5700 :type round_trip_time_ms: float 5701 """ 5702 5703 _attribute_map = { 5704 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, 5705 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'float'}, 5706 } 5707 5708 def __init__( 5709 self, 5710 *, 5711 checks_failed_percent: Optional[int] = None, 5712 round_trip_time_ms: Optional[float] = None, 5713 **kwargs 5714 ): 5715 super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) 5716 self.checks_failed_percent = checks_failed_percent 5717 self.round_trip_time_ms = round_trip_time_ms 5718 5719 5720class ConnectionMonitorTcpConfiguration(msrest.serialization.Model): 5721 """Describes the TCP configuration. 5722 5723 :param port: The port to connect to. 5724 :type port: int 5725 :param disable_trace_route: Value indicating whether path evaluation with trace route should be 5726 disabled. 5727 :type disable_trace_route: bool 5728 """ 5729 5730 _attribute_map = { 5731 'port': {'key': 'port', 'type': 'int'}, 5732 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, 5733 } 5734 5735 def __init__( 5736 self, 5737 *, 5738 port: Optional[int] = None, 5739 disable_trace_route: Optional[bool] = None, 5740 **kwargs 5741 ): 5742 super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) 5743 self.port = port 5744 self.disable_trace_route = disable_trace_route 5745 5746 5747class ConnectionMonitorTestConfiguration(msrest.serialization.Model): 5748 """Describes a connection monitor test configuration. 5749 5750 All required parameters must be populated in order to send to Azure. 5751 5752 :param name: Required. The name of the connection monitor test configuration. 5753 :type name: str 5754 :param test_frequency_sec: The frequency of test evaluation, in seconds. 5755 :type test_frequency_sec: int 5756 :param protocol: Required. The protocol to use in test evaluation. Possible values include: 5757 "Tcp", "Http", "Icmp". 5758 :type protocol: str or 5759 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTestConfigurationProtocol 5760 :param preferred_ip_version: The preferred IP version to use in test evaluation. The connection 5761 monitor may choose to use a different version depending on other parameters. Possible values 5762 include: "IPv4", "IPv6". 5763 :type preferred_ip_version: str or ~azure.mgmt.network.v2020_04_01.models.PreferredIPVersion 5764 :param http_configuration: The parameters used to perform test evaluation over HTTP. 5765 :type http_configuration: 5766 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorHttpConfiguration 5767 :param tcp_configuration: The parameters used to perform test evaluation over TCP. 5768 :type tcp_configuration: 5769 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorTcpConfiguration 5770 :param icmp_configuration: The parameters used to perform test evaluation over ICMP. 5771 :type icmp_configuration: 5772 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorIcmpConfiguration 5773 :param success_threshold: The threshold for declaring a test successful. 5774 :type success_threshold: 5775 ~azure.mgmt.network.v2020_04_01.models.ConnectionMonitorSuccessThreshold 5776 """ 5777 5778 _validation = { 5779 'name': {'required': True}, 5780 'protocol': {'required': True}, 5781 } 5782 5783 _attribute_map = { 5784 'name': {'key': 'name', 'type': 'str'}, 5785 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, 5786 'protocol': {'key': 'protocol', 'type': 'str'}, 5787 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, 5788 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, 5789 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, 5790 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, 5791 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, 5792 } 5793 5794 def __init__( 5795 self, 5796 *, 5797 name: str, 5798 protocol: Union[str, "ConnectionMonitorTestConfigurationProtocol"], 5799 test_frequency_sec: Optional[int] = None, 5800 preferred_ip_version: Optional[Union[str, "PreferredIPVersion"]] = None, 5801 http_configuration: Optional["ConnectionMonitorHttpConfiguration"] = None, 5802 tcp_configuration: Optional["ConnectionMonitorTcpConfiguration"] = None, 5803 icmp_configuration: Optional["ConnectionMonitorIcmpConfiguration"] = None, 5804 success_threshold: Optional["ConnectionMonitorSuccessThreshold"] = None, 5805 **kwargs 5806 ): 5807 super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) 5808 self.name = name 5809 self.test_frequency_sec = test_frequency_sec 5810 self.protocol = protocol 5811 self.preferred_ip_version = preferred_ip_version 5812 self.http_configuration = http_configuration 5813 self.tcp_configuration = tcp_configuration 5814 self.icmp_configuration = icmp_configuration 5815 self.success_threshold = success_threshold 5816 5817 5818class ConnectionMonitorTestGroup(msrest.serialization.Model): 5819 """Describes the connection monitor test group. 5820 5821 All required parameters must be populated in order to send to Azure. 5822 5823 :param name: Required. The name of the connection monitor test group. 5824 :type name: str 5825 :param disable: Value indicating whether test group is disabled. 5826 :type disable: bool 5827 :param test_configurations: Required. List of test configuration names. 5828 :type test_configurations: list[str] 5829 :param sources: Required. List of source endpoint names. 5830 :type sources: list[str] 5831 :param destinations: Required. List of destination endpoint names. 5832 :type destinations: list[str] 5833 """ 5834 5835 _validation = { 5836 'name': {'required': True}, 5837 'test_configurations': {'required': True}, 5838 'sources': {'required': True}, 5839 'destinations': {'required': True}, 5840 } 5841 5842 _attribute_map = { 5843 'name': {'key': 'name', 'type': 'str'}, 5844 'disable': {'key': 'disable', 'type': 'bool'}, 5845 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, 5846 'sources': {'key': 'sources', 'type': '[str]'}, 5847 'destinations': {'key': 'destinations', 'type': '[str]'}, 5848 } 5849 5850 def __init__( 5851 self, 5852 *, 5853 name: str, 5854 test_configurations: List[str], 5855 sources: List[str], 5856 destinations: List[str], 5857 disable: Optional[bool] = None, 5858 **kwargs 5859 ): 5860 super(ConnectionMonitorTestGroup, self).__init__(**kwargs) 5861 self.name = name 5862 self.disable = disable 5863 self.test_configurations = test_configurations 5864 self.sources = sources 5865 self.destinations = destinations 5866 5867 5868class ConnectionMonitorWorkspaceSettings(msrest.serialization.Model): 5869 """Describes the settings for producing output into a log analytics workspace. 5870 5871 :param workspace_resource_id: Log analytics workspace resource ID. 5872 :type workspace_resource_id: str 5873 """ 5874 5875 _attribute_map = { 5876 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 5877 } 5878 5879 def __init__( 5880 self, 5881 *, 5882 workspace_resource_id: Optional[str] = None, 5883 **kwargs 5884 ): 5885 super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) 5886 self.workspace_resource_id = workspace_resource_id 5887 5888 5889class ConnectionResetSharedKey(msrest.serialization.Model): 5890 """The virtual network connection reset shared key. 5891 5892 All required parameters must be populated in order to send to Azure. 5893 5894 :param key_length: Required. The virtual network connection reset shared key length, should 5895 between 1 and 128. 5896 :type key_length: int 5897 """ 5898 5899 _validation = { 5900 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 5901 } 5902 5903 _attribute_map = { 5904 'key_length': {'key': 'keyLength', 'type': 'int'}, 5905 } 5906 5907 def __init__( 5908 self, 5909 *, 5910 key_length: int, 5911 **kwargs 5912 ): 5913 super(ConnectionResetSharedKey, self).__init__(**kwargs) 5914 self.key_length = key_length 5915 5916 5917class ConnectionSharedKey(SubResource): 5918 """Response for GetConnectionSharedKey API service call. 5919 5920 All required parameters must be populated in order to send to Azure. 5921 5922 :param id: Resource ID. 5923 :type id: str 5924 :param value: Required. The virtual network connection shared key value. 5925 :type value: str 5926 """ 5927 5928 _validation = { 5929 'value': {'required': True}, 5930 } 5931 5932 _attribute_map = { 5933 'id': {'key': 'id', 'type': 'str'}, 5934 'value': {'key': 'value', 'type': 'str'}, 5935 } 5936 5937 def __init__( 5938 self, 5939 *, 5940 value: str, 5941 id: Optional[str] = None, 5942 **kwargs 5943 ): 5944 super(ConnectionSharedKey, self).__init__(id=id, **kwargs) 5945 self.value = value 5946 5947 5948class ConnectionStateSnapshot(msrest.serialization.Model): 5949 """Connection state snapshot. 5950 5951 Variables are only populated by the server, and will be ignored when sending a request. 5952 5953 :param connection_state: The connection state. Possible values include: "Reachable", 5954 "Unreachable", "Unknown". 5955 :type connection_state: str or ~azure.mgmt.network.v2020_04_01.models.ConnectionState 5956 :param start_time: The start time of the connection snapshot. 5957 :type start_time: ~datetime.datetime 5958 :param end_time: The end time of the connection snapshot. 5959 :type end_time: ~datetime.datetime 5960 :param evaluation_state: Connectivity analysis evaluation state. Possible values include: 5961 "NotStarted", "InProgress", "Completed". 5962 :type evaluation_state: str or ~azure.mgmt.network.v2020_04_01.models.EvaluationState 5963 :param avg_latency_in_ms: Average latency in ms. 5964 :type avg_latency_in_ms: int 5965 :param min_latency_in_ms: Minimum latency in ms. 5966 :type min_latency_in_ms: int 5967 :param max_latency_in_ms: Maximum latency in ms. 5968 :type max_latency_in_ms: int 5969 :param probes_sent: The number of sent probes. 5970 :type probes_sent: int 5971 :param probes_failed: The number of failed probes. 5972 :type probes_failed: int 5973 :ivar hops: List of hops between the source and the destination. 5974 :vartype hops: list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] 5975 """ 5976 5977 _validation = { 5978 'hops': {'readonly': True}, 5979 } 5980 5981 _attribute_map = { 5982 'connection_state': {'key': 'connectionState', 'type': 'str'}, 5983 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5984 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5985 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, 5986 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 5987 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 5988 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 5989 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 5990 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 5991 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 5992 } 5993 5994 def __init__( 5995 self, 5996 *, 5997 connection_state: Optional[Union[str, "ConnectionState"]] = None, 5998 start_time: Optional[datetime.datetime] = None, 5999 end_time: Optional[datetime.datetime] = None, 6000 evaluation_state: Optional[Union[str, "EvaluationState"]] = None, 6001 avg_latency_in_ms: Optional[int] = None, 6002 min_latency_in_ms: Optional[int] = None, 6003 max_latency_in_ms: Optional[int] = None, 6004 probes_sent: Optional[int] = None, 6005 probes_failed: Optional[int] = None, 6006 **kwargs 6007 ): 6008 super(ConnectionStateSnapshot, self).__init__(**kwargs) 6009 self.connection_state = connection_state 6010 self.start_time = start_time 6011 self.end_time = end_time 6012 self.evaluation_state = evaluation_state 6013 self.avg_latency_in_ms = avg_latency_in_ms 6014 self.min_latency_in_ms = min_latency_in_ms 6015 self.max_latency_in_ms = max_latency_in_ms 6016 self.probes_sent = probes_sent 6017 self.probes_failed = probes_failed 6018 self.hops = None 6019 6020 6021class ConnectivityDestination(msrest.serialization.Model): 6022 """Parameters that define destination of connection. 6023 6024 :param resource_id: The ID of the resource to which a connection attempt will be made. 6025 :type resource_id: str 6026 :param address: The IP address or URI the resource to which a connection attempt will be made. 6027 :type address: str 6028 :param port: Port on which check connectivity will be performed. 6029 :type port: int 6030 """ 6031 6032 _attribute_map = { 6033 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6034 'address': {'key': 'address', 'type': 'str'}, 6035 'port': {'key': 'port', 'type': 'int'}, 6036 } 6037 6038 def __init__( 6039 self, 6040 *, 6041 resource_id: Optional[str] = None, 6042 address: Optional[str] = None, 6043 port: Optional[int] = None, 6044 **kwargs 6045 ): 6046 super(ConnectivityDestination, self).__init__(**kwargs) 6047 self.resource_id = resource_id 6048 self.address = address 6049 self.port = port 6050 6051 6052class ConnectivityHop(msrest.serialization.Model): 6053 """Information about a hop between the source and the destination. 6054 6055 Variables are only populated by the server, and will be ignored when sending a request. 6056 6057 :ivar type: The type of the hop. 6058 :vartype type: str 6059 :ivar id: The ID of the hop. 6060 :vartype id: str 6061 :ivar address: The IP address of the hop. 6062 :vartype address: str 6063 :ivar resource_id: The ID of the resource corresponding to this hop. 6064 :vartype resource_id: str 6065 :ivar next_hop_ids: List of next hop identifiers. 6066 :vartype next_hop_ids: list[str] 6067 :ivar issues: List of issues. 6068 :vartype issues: list[~azure.mgmt.network.v2020_04_01.models.ConnectivityIssue] 6069 """ 6070 6071 _validation = { 6072 'type': {'readonly': True}, 6073 'id': {'readonly': True}, 6074 'address': {'readonly': True}, 6075 'resource_id': {'readonly': True}, 6076 'next_hop_ids': {'readonly': True}, 6077 'issues': {'readonly': True}, 6078 } 6079 6080 _attribute_map = { 6081 'type': {'key': 'type', 'type': 'str'}, 6082 'id': {'key': 'id', 'type': 'str'}, 6083 'address': {'key': 'address', 'type': 'str'}, 6084 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6085 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, 6086 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, 6087 } 6088 6089 def __init__( 6090 self, 6091 **kwargs 6092 ): 6093 super(ConnectivityHop, self).__init__(**kwargs) 6094 self.type = None 6095 self.id = None 6096 self.address = None 6097 self.resource_id = None 6098 self.next_hop_ids = None 6099 self.issues = None 6100 6101 6102class ConnectivityInformation(msrest.serialization.Model): 6103 """Information on the connectivity status. 6104 6105 Variables are only populated by the server, and will be ignored when sending a request. 6106 6107 :ivar hops: List of hops between the source and the destination. 6108 :vartype hops: list[~azure.mgmt.network.v2020_04_01.models.ConnectivityHop] 6109 :ivar connection_status: The connection status. Possible values include: "Unknown", 6110 "Connected", "Disconnected", "Degraded". 6111 :vartype connection_status: str or ~azure.mgmt.network.v2020_04_01.models.ConnectionStatus 6112 :ivar avg_latency_in_ms: Average latency in milliseconds. 6113 :vartype avg_latency_in_ms: int 6114 :ivar min_latency_in_ms: Minimum latency in milliseconds. 6115 :vartype min_latency_in_ms: int 6116 :ivar max_latency_in_ms: Maximum latency in milliseconds. 6117 :vartype max_latency_in_ms: int 6118 :ivar probes_sent: Total number of probes sent. 6119 :vartype probes_sent: int 6120 :ivar probes_failed: Number of failed probes. 6121 :vartype probes_failed: int 6122 """ 6123 6124 _validation = { 6125 'hops': {'readonly': True}, 6126 'connection_status': {'readonly': True}, 6127 'avg_latency_in_ms': {'readonly': True}, 6128 'min_latency_in_ms': {'readonly': True}, 6129 'max_latency_in_ms': {'readonly': True}, 6130 'probes_sent': {'readonly': True}, 6131 'probes_failed': {'readonly': True}, 6132 } 6133 6134 _attribute_map = { 6135 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 6136 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 6137 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 6138 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 6139 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 6140 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 6141 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 6142 } 6143 6144 def __init__( 6145 self, 6146 **kwargs 6147 ): 6148 super(ConnectivityInformation, self).__init__(**kwargs) 6149 self.hops = None 6150 self.connection_status = None 6151 self.avg_latency_in_ms = None 6152 self.min_latency_in_ms = None 6153 self.max_latency_in_ms = None 6154 self.probes_sent = None 6155 self.probes_failed = None 6156 6157 6158class ConnectivityIssue(msrest.serialization.Model): 6159 """Information about an issue encountered in the process of checking for connectivity. 6160 6161 Variables are only populated by the server, and will be ignored when sending a request. 6162 6163 :ivar origin: The origin of the issue. Possible values include: "Local", "Inbound", "Outbound". 6164 :vartype origin: str or ~azure.mgmt.network.v2020_04_01.models.Origin 6165 :ivar severity: The severity of the issue. Possible values include: "Error", "Warning". 6166 :vartype severity: str or ~azure.mgmt.network.v2020_04_01.models.Severity 6167 :ivar type: The type of issue. Possible values include: "Unknown", "AgentStopped", 6168 "GuestFirewall", "DnsResolution", "SocketBind", "NetworkSecurityRule", "UserDefinedRoute", 6169 "PortThrottled", "Platform". 6170 :vartype type: str or ~azure.mgmt.network.v2020_04_01.models.IssueType 6171 :ivar context: Provides additional context on the issue. 6172 :vartype context: list[dict[str, str]] 6173 """ 6174 6175 _validation = { 6176 'origin': {'readonly': True}, 6177 'severity': {'readonly': True}, 6178 'type': {'readonly': True}, 6179 'context': {'readonly': True}, 6180 } 6181 6182 _attribute_map = { 6183 'origin': {'key': 'origin', 'type': 'str'}, 6184 'severity': {'key': 'severity', 'type': 'str'}, 6185 'type': {'key': 'type', 'type': 'str'}, 6186 'context': {'key': 'context', 'type': '[{str}]'}, 6187 } 6188 6189 def __init__( 6190 self, 6191 **kwargs 6192 ): 6193 super(ConnectivityIssue, self).__init__(**kwargs) 6194 self.origin = None 6195 self.severity = None 6196 self.type = None 6197 self.context = None 6198 6199 6200class ConnectivityParameters(msrest.serialization.Model): 6201 """Parameters that determine how the connectivity check will be performed. 6202 6203 All required parameters must be populated in order to send to Azure. 6204 6205 :param source: Required. The source of the connection. 6206 :type source: ~azure.mgmt.network.v2020_04_01.models.ConnectivitySource 6207 :param destination: Required. The destination of connection. 6208 :type destination: ~azure.mgmt.network.v2020_04_01.models.ConnectivityDestination 6209 :param protocol: Network protocol. Possible values include: "Tcp", "Http", "Https", "Icmp". 6210 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.Protocol 6211 :param protocol_configuration: Configuration of the protocol. 6212 :type protocol_configuration: ~azure.mgmt.network.v2020_04_01.models.ProtocolConfiguration 6213 :param preferred_ip_version: Preferred IP version of the connection. Possible values include: 6214 "IPv4", "IPv6". 6215 :type preferred_ip_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 6216 """ 6217 6218 _validation = { 6219 'source': {'required': True}, 6220 'destination': {'required': True}, 6221 } 6222 6223 _attribute_map = { 6224 'source': {'key': 'source', 'type': 'ConnectivitySource'}, 6225 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, 6226 'protocol': {'key': 'protocol', 'type': 'str'}, 6227 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, 6228 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, 6229 } 6230 6231 def __init__( 6232 self, 6233 *, 6234 source: "ConnectivitySource", 6235 destination: "ConnectivityDestination", 6236 protocol: Optional[Union[str, "Protocol"]] = None, 6237 protocol_configuration: Optional["ProtocolConfiguration"] = None, 6238 preferred_ip_version: Optional[Union[str, "IPVersion"]] = None, 6239 **kwargs 6240 ): 6241 super(ConnectivityParameters, self).__init__(**kwargs) 6242 self.source = source 6243 self.destination = destination 6244 self.protocol = protocol 6245 self.protocol_configuration = protocol_configuration 6246 self.preferred_ip_version = preferred_ip_version 6247 6248 6249class ConnectivitySource(msrest.serialization.Model): 6250 """Parameters that define the source of the connection. 6251 6252 All required parameters must be populated in order to send to Azure. 6253 6254 :param resource_id: Required. The ID of the resource from which a connectivity check will be 6255 initiated. 6256 :type resource_id: str 6257 :param port: The source port from which a connectivity check will be performed. 6258 :type port: int 6259 """ 6260 6261 _validation = { 6262 'resource_id': {'required': True}, 6263 } 6264 6265 _attribute_map = { 6266 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6267 'port': {'key': 'port', 'type': 'int'}, 6268 } 6269 6270 def __init__( 6271 self, 6272 *, 6273 resource_id: str, 6274 port: Optional[int] = None, 6275 **kwargs 6276 ): 6277 super(ConnectivitySource, self).__init__(**kwargs) 6278 self.resource_id = resource_id 6279 self.port = port 6280 6281 6282class Container(SubResource): 6283 """Reference to container resource in remote resource provider. 6284 6285 :param id: Resource ID. 6286 :type id: str 6287 """ 6288 6289 _attribute_map = { 6290 'id': {'key': 'id', 'type': 'str'}, 6291 } 6292 6293 def __init__( 6294 self, 6295 *, 6296 id: Optional[str] = None, 6297 **kwargs 6298 ): 6299 super(Container, self).__init__(id=id, **kwargs) 6300 6301 6302class ContainerNetworkInterface(SubResource): 6303 """Container network interface child resource. 6304 6305 Variables are only populated by the server, and will be ignored when sending a request. 6306 6307 :param id: Resource ID. 6308 :type id: str 6309 :param name: The name of the resource. This name can be used to access the resource. 6310 :type name: str 6311 :ivar type: Sub Resource type. 6312 :vartype type: str 6313 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6314 :vartype etag: str 6315 :ivar container_network_interface_configuration: Container network interface configuration from 6316 which this container network interface is created. 6317 :vartype container_network_interface_configuration: 6318 ~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration 6319 :param container: Reference to the container to which this container network interface is 6320 attached. 6321 :type container: ~azure.mgmt.network.v2020_04_01.models.Container 6322 :ivar ip_configurations: Reference to the ip configuration on this container nic. 6323 :vartype ip_configurations: 6324 list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceIpConfiguration] 6325 :ivar provisioning_state: The provisioning state of the container network interface resource. 6326 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6327 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6328 """ 6329 6330 _validation = { 6331 'type': {'readonly': True}, 6332 'etag': {'readonly': True}, 6333 'container_network_interface_configuration': {'readonly': True}, 6334 'ip_configurations': {'readonly': True}, 6335 'provisioning_state': {'readonly': True}, 6336 } 6337 6338 _attribute_map = { 6339 'id': {'key': 'id', 'type': 'str'}, 6340 'name': {'key': 'name', 'type': 'str'}, 6341 'type': {'key': 'type', 'type': 'str'}, 6342 'etag': {'key': 'etag', 'type': 'str'}, 6343 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, 6344 'container': {'key': 'properties.container', 'type': 'Container'}, 6345 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, 6346 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6347 } 6348 6349 def __init__( 6350 self, 6351 *, 6352 id: Optional[str] = None, 6353 name: Optional[str] = None, 6354 container: Optional["Container"] = None, 6355 **kwargs 6356 ): 6357 super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) 6358 self.name = name 6359 self.type = None 6360 self.etag = None 6361 self.container_network_interface_configuration = None 6362 self.container = container 6363 self.ip_configurations = None 6364 self.provisioning_state = None 6365 6366 6367class ContainerNetworkInterfaceConfiguration(SubResource): 6368 """Container network interface configuration child resource. 6369 6370 Variables are only populated by the server, and will be ignored when sending a request. 6371 6372 :param id: Resource ID. 6373 :type id: str 6374 :param name: The name of the resource. This name can be used to access the resource. 6375 :type name: str 6376 :ivar type: Sub Resource type. 6377 :vartype type: str 6378 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6379 :vartype etag: str 6380 :param ip_configurations: A list of ip configurations of the container network interface 6381 configuration. 6382 :type ip_configurations: list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] 6383 :param container_network_interfaces: A list of container network interfaces created from this 6384 container network interface configuration. 6385 :type container_network_interfaces: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 6386 :ivar provisioning_state: The provisioning state of the container network interface 6387 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6388 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6389 """ 6390 6391 _validation = { 6392 'type': {'readonly': True}, 6393 'etag': {'readonly': True}, 6394 'provisioning_state': {'readonly': True}, 6395 } 6396 6397 _attribute_map = { 6398 'id': {'key': 'id', 'type': 'str'}, 6399 'name': {'key': 'name', 'type': 'str'}, 6400 'type': {'key': 'type', 'type': 'str'}, 6401 'etag': {'key': 'etag', 'type': 'str'}, 6402 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, 6403 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, 6404 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6405 } 6406 6407 def __init__( 6408 self, 6409 *, 6410 id: Optional[str] = None, 6411 name: Optional[str] = None, 6412 ip_configurations: Optional[List["IPConfigurationProfile"]] = None, 6413 container_network_interfaces: Optional[List["SubResource"]] = None, 6414 **kwargs 6415 ): 6416 super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) 6417 self.name = name 6418 self.type = None 6419 self.etag = None 6420 self.ip_configurations = ip_configurations 6421 self.container_network_interfaces = container_network_interfaces 6422 self.provisioning_state = None 6423 6424 6425class ContainerNetworkInterfaceIpConfiguration(msrest.serialization.Model): 6426 """The ip configuration for a container network interface. 6427 6428 Variables are only populated by the server, and will be ignored when sending a request. 6429 6430 :param name: The name of the resource. This name can be used to access the resource. 6431 :type name: str 6432 :ivar type: Sub Resource type. 6433 :vartype type: str 6434 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6435 :vartype etag: str 6436 :ivar provisioning_state: The provisioning state of the container network interface IP 6437 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6438 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6439 """ 6440 6441 _validation = { 6442 'type': {'readonly': True}, 6443 'etag': {'readonly': True}, 6444 'provisioning_state': {'readonly': True}, 6445 } 6446 6447 _attribute_map = { 6448 'name': {'key': 'name', 'type': 'str'}, 6449 'type': {'key': 'type', 'type': 'str'}, 6450 'etag': {'key': 'etag', 'type': 'str'}, 6451 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6452 } 6453 6454 def __init__( 6455 self, 6456 *, 6457 name: Optional[str] = None, 6458 **kwargs 6459 ): 6460 super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) 6461 self.name = name 6462 self.type = None 6463 self.etag = None 6464 self.provisioning_state = None 6465 6466 6467class CustomDnsConfigPropertiesFormat(msrest.serialization.Model): 6468 """Contains custom Dns resolution configuration from customer. 6469 6470 :param fqdn: Fqdn that resolves to private endpoint ip address. 6471 :type fqdn: str 6472 :param ip_addresses: A list of private ip addresses of the private endpoint. 6473 :type ip_addresses: list[str] 6474 """ 6475 6476 _attribute_map = { 6477 'fqdn': {'key': 'fqdn', 'type': 'str'}, 6478 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, 6479 } 6480 6481 def __init__( 6482 self, 6483 *, 6484 fqdn: Optional[str] = None, 6485 ip_addresses: Optional[List[str]] = None, 6486 **kwargs 6487 ): 6488 super(CustomDnsConfigPropertiesFormat, self).__init__(**kwargs) 6489 self.fqdn = fqdn 6490 self.ip_addresses = ip_addresses 6491 6492 6493class DdosCustomPolicy(Resource): 6494 """A DDoS custom policy in a resource group. 6495 6496 Variables are only populated by the server, and will be ignored when sending a request. 6497 6498 :param id: Resource ID. 6499 :type id: str 6500 :ivar name: Resource name. 6501 :vartype name: str 6502 :ivar type: Resource type. 6503 :vartype type: str 6504 :param location: Resource location. 6505 :type location: str 6506 :param tags: A set of tags. Resource tags. 6507 :type tags: dict[str, str] 6508 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6509 :vartype etag: str 6510 :ivar resource_guid: The resource GUID property of the DDoS custom policy resource. It uniquely 6511 identifies the resource, even if the user changes its name or migrate the resource across 6512 subscriptions or resource groups. 6513 :vartype resource_guid: str 6514 :ivar provisioning_state: The provisioning state of the DDoS custom policy resource. Possible 6515 values include: "Succeeded", "Updating", "Deleting", "Failed". 6516 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6517 :ivar public_ip_addresses: The list of public IPs associated with the DDoS custom policy 6518 resource. This list is read-only. 6519 :vartype public_ip_addresses: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 6520 :param protocol_custom_settings: The protocol-specific DDoS policy customization parameters. 6521 :type protocol_custom_settings: 6522 list[~azure.mgmt.network.v2020_04_01.models.ProtocolCustomSettingsFormat] 6523 """ 6524 6525 _validation = { 6526 'name': {'readonly': True}, 6527 'type': {'readonly': True}, 6528 'etag': {'readonly': True}, 6529 'resource_guid': {'readonly': True}, 6530 'provisioning_state': {'readonly': True}, 6531 'public_ip_addresses': {'readonly': True}, 6532 } 6533 6534 _attribute_map = { 6535 'id': {'key': 'id', 'type': 'str'}, 6536 'name': {'key': 'name', 'type': 'str'}, 6537 'type': {'key': 'type', 'type': 'str'}, 6538 'location': {'key': 'location', 'type': 'str'}, 6539 'tags': {'key': 'tags', 'type': '{str}'}, 6540 'etag': {'key': 'etag', 'type': 'str'}, 6541 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6542 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6543 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, 6544 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, 6545 } 6546 6547 def __init__( 6548 self, 6549 *, 6550 id: Optional[str] = None, 6551 location: Optional[str] = None, 6552 tags: Optional[Dict[str, str]] = None, 6553 protocol_custom_settings: Optional[List["ProtocolCustomSettingsFormat"]] = None, 6554 **kwargs 6555 ): 6556 super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 6557 self.etag = None 6558 self.resource_guid = None 6559 self.provisioning_state = None 6560 self.public_ip_addresses = None 6561 self.protocol_custom_settings = protocol_custom_settings 6562 6563 6564class DdosProtectionPlan(msrest.serialization.Model): 6565 """A DDoS protection plan in a resource group. 6566 6567 Variables are only populated by the server, and will be ignored when sending a request. 6568 6569 :ivar id: Resource ID. 6570 :vartype id: str 6571 :ivar name: Resource name. 6572 :vartype name: str 6573 :ivar type: Resource type. 6574 :vartype type: str 6575 :param location: Resource location. 6576 :type location: str 6577 :param tags: A set of tags. Resource tags. 6578 :type tags: dict[str, str] 6579 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6580 :vartype etag: str 6581 :ivar resource_guid: The resource GUID property of the DDoS protection plan resource. It 6582 uniquely identifies the resource, even if the user changes its name or migrate the resource 6583 across subscriptions or resource groups. 6584 :vartype resource_guid: str 6585 :ivar provisioning_state: The provisioning state of the DDoS protection plan resource. Possible 6586 values include: "Succeeded", "Updating", "Deleting", "Failed". 6587 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6588 :ivar virtual_networks: The list of virtual networks associated with the DDoS protection plan 6589 resource. This list is read-only. 6590 :vartype virtual_networks: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 6591 """ 6592 6593 _validation = { 6594 'id': {'readonly': True}, 6595 'name': {'readonly': True}, 6596 'type': {'readonly': True}, 6597 'etag': {'readonly': True}, 6598 'resource_guid': {'readonly': True}, 6599 'provisioning_state': {'readonly': True}, 6600 'virtual_networks': {'readonly': True}, 6601 } 6602 6603 _attribute_map = { 6604 'id': {'key': 'id', 'type': 'str'}, 6605 'name': {'key': 'name', 'type': 'str'}, 6606 'type': {'key': 'type', 'type': 'str'}, 6607 'location': {'key': 'location', 'type': 'str'}, 6608 'tags': {'key': 'tags', 'type': '{str}'}, 6609 'etag': {'key': 'etag', 'type': 'str'}, 6610 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6611 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6612 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, 6613 } 6614 6615 def __init__( 6616 self, 6617 *, 6618 location: Optional[str] = None, 6619 tags: Optional[Dict[str, str]] = None, 6620 **kwargs 6621 ): 6622 super(DdosProtectionPlan, self).__init__(**kwargs) 6623 self.id = None 6624 self.name = None 6625 self.type = None 6626 self.location = location 6627 self.tags = tags 6628 self.etag = None 6629 self.resource_guid = None 6630 self.provisioning_state = None 6631 self.virtual_networks = None 6632 6633 6634class DdosProtectionPlanListResult(msrest.serialization.Model): 6635 """A list of DDoS protection plans. 6636 6637 Variables are only populated by the server, and will be ignored when sending a request. 6638 6639 :param value: A list of DDoS protection plans. 6640 :type value: list[~azure.mgmt.network.v2020_04_01.models.DdosProtectionPlan] 6641 :ivar next_link: The URL to get the next set of results. 6642 :vartype next_link: str 6643 """ 6644 6645 _validation = { 6646 'next_link': {'readonly': True}, 6647 } 6648 6649 _attribute_map = { 6650 'value': {'key': 'value', 'type': '[DdosProtectionPlan]'}, 6651 'next_link': {'key': 'nextLink', 'type': 'str'}, 6652 } 6653 6654 def __init__( 6655 self, 6656 *, 6657 value: Optional[List["DdosProtectionPlan"]] = None, 6658 **kwargs 6659 ): 6660 super(DdosProtectionPlanListResult, self).__init__(**kwargs) 6661 self.value = value 6662 self.next_link = None 6663 6664 6665class DdosSettings(msrest.serialization.Model): 6666 """Contains the DDoS protection settings of the public IP. 6667 6668 :param ddos_custom_policy: The DDoS custom policy associated with the public IP. 6669 :type ddos_custom_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 6670 :param protection_coverage: The DDoS protection policy customizability of the public IP. Only 6671 standard coverage will have the ability to be customized. Possible values include: "Basic", 6672 "Standard". 6673 :type protection_coverage: str or 6674 ~azure.mgmt.network.v2020_04_01.models.DdosSettingsProtectionCoverage 6675 :param protected_ip: Enables DDoS protection on the public IP. 6676 :type protected_ip: bool 6677 """ 6678 6679 _attribute_map = { 6680 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, 6681 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, 6682 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, 6683 } 6684 6685 def __init__( 6686 self, 6687 *, 6688 ddos_custom_policy: Optional["SubResource"] = None, 6689 protection_coverage: Optional[Union[str, "DdosSettingsProtectionCoverage"]] = None, 6690 protected_ip: Optional[bool] = None, 6691 **kwargs 6692 ): 6693 super(DdosSettings, self).__init__(**kwargs) 6694 self.ddos_custom_policy = ddos_custom_policy 6695 self.protection_coverage = protection_coverage 6696 self.protected_ip = protected_ip 6697 6698 6699class Delegation(SubResource): 6700 """Details the service to which the subnet is delegated. 6701 6702 Variables are only populated by the server, and will be ignored when sending a request. 6703 6704 :param id: Resource ID. 6705 :type id: str 6706 :param name: The name of the resource that is unique within a subnet. This name can be used to 6707 access the resource. 6708 :type name: str 6709 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6710 :vartype etag: str 6711 :param service_name: The name of the service to whom the subnet should be delegated (e.g. 6712 Microsoft.Sql/servers). 6713 :type service_name: str 6714 :ivar actions: The actions permitted to the service upon delegation. 6715 :vartype actions: list[str] 6716 :ivar provisioning_state: The provisioning state of the service delegation resource. Possible 6717 values include: "Succeeded", "Updating", "Deleting", "Failed". 6718 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 6719 """ 6720 6721 _validation = { 6722 'etag': {'readonly': True}, 6723 'actions': {'readonly': True}, 6724 'provisioning_state': {'readonly': True}, 6725 } 6726 6727 _attribute_map = { 6728 'id': {'key': 'id', 'type': 'str'}, 6729 'name': {'key': 'name', 'type': 'str'}, 6730 'etag': {'key': 'etag', 'type': 'str'}, 6731 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 6732 'actions': {'key': 'properties.actions', 'type': '[str]'}, 6733 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6734 } 6735 6736 def __init__( 6737 self, 6738 *, 6739 id: Optional[str] = None, 6740 name: Optional[str] = None, 6741 service_name: Optional[str] = None, 6742 **kwargs 6743 ): 6744 super(Delegation, self).__init__(id=id, **kwargs) 6745 self.name = name 6746 self.etag = None 6747 self.service_name = service_name 6748 self.actions = None 6749 self.provisioning_state = None 6750 6751 6752class DeviceProperties(msrest.serialization.Model): 6753 """List of properties of the device. 6754 6755 :param device_vendor: Name of the device Vendor. 6756 :type device_vendor: str 6757 :param device_model: Model of the device. 6758 :type device_model: str 6759 :param link_speed_in_mbps: Link speed. 6760 :type link_speed_in_mbps: int 6761 """ 6762 6763 _attribute_map = { 6764 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, 6765 'device_model': {'key': 'deviceModel', 'type': 'str'}, 6766 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 6767 } 6768 6769 def __init__( 6770 self, 6771 *, 6772 device_vendor: Optional[str] = None, 6773 device_model: Optional[str] = None, 6774 link_speed_in_mbps: Optional[int] = None, 6775 **kwargs 6776 ): 6777 super(DeviceProperties, self).__init__(**kwargs) 6778 self.device_vendor = device_vendor 6779 self.device_model = device_model 6780 self.link_speed_in_mbps = link_speed_in_mbps 6781 6782 6783class DhcpOptions(msrest.serialization.Model): 6784 """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. 6785 6786 :param dns_servers: The list of DNS servers IP addresses. 6787 :type dns_servers: list[str] 6788 """ 6789 6790 _attribute_map = { 6791 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 6792 } 6793 6794 def __init__( 6795 self, 6796 *, 6797 dns_servers: Optional[List[str]] = None, 6798 **kwargs 6799 ): 6800 super(DhcpOptions, self).__init__(**kwargs) 6801 self.dns_servers = dns_servers 6802 6803 6804class Dimension(msrest.serialization.Model): 6805 """Dimension of the metric. 6806 6807 :param name: The name of the dimension. 6808 :type name: str 6809 :param display_name: The display name of the dimension. 6810 :type display_name: str 6811 :param internal_name: The internal name of the dimension. 6812 :type internal_name: str 6813 """ 6814 6815 _attribute_map = { 6816 'name': {'key': 'name', 'type': 'str'}, 6817 'display_name': {'key': 'displayName', 'type': 'str'}, 6818 'internal_name': {'key': 'internalName', 'type': 'str'}, 6819 } 6820 6821 def __init__( 6822 self, 6823 *, 6824 name: Optional[str] = None, 6825 display_name: Optional[str] = None, 6826 internal_name: Optional[str] = None, 6827 **kwargs 6828 ): 6829 super(Dimension, self).__init__(**kwargs) 6830 self.name = name 6831 self.display_name = display_name 6832 self.internal_name = internal_name 6833 6834 6835class DnsNameAvailabilityResult(msrest.serialization.Model): 6836 """Response for the CheckDnsNameAvailability API service call. 6837 6838 :param available: Domain availability (True/False). 6839 :type available: bool 6840 """ 6841 6842 _attribute_map = { 6843 'available': {'key': 'available', 'type': 'bool'}, 6844 } 6845 6846 def __init__( 6847 self, 6848 *, 6849 available: Optional[bool] = None, 6850 **kwargs 6851 ): 6852 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 6853 self.available = available 6854 6855 6856class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 6857 """Effective network security group. 6858 6859 :param network_security_group: The ID of network security group that is applied. 6860 :type network_security_group: ~azure.mgmt.network.v2020_04_01.models.SubResource 6861 :param association: Associated resources. 6862 :type association: 6863 ~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroupAssociation 6864 :param effective_security_rules: A collection of effective security rules. 6865 :type effective_security_rules: 6866 list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] 6867 :param tag_map: Mapping of tags to list of IP Addresses included within the tag. 6868 :type tag_map: str 6869 """ 6870 6871 _attribute_map = { 6872 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 6873 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 6874 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 6875 'tag_map': {'key': 'tagMap', 'type': 'str'}, 6876 } 6877 6878 def __init__( 6879 self, 6880 *, 6881 network_security_group: Optional["SubResource"] = None, 6882 association: Optional["EffectiveNetworkSecurityGroupAssociation"] = None, 6883 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 6884 tag_map: Optional[str] = None, 6885 **kwargs 6886 ): 6887 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 6888 self.network_security_group = network_security_group 6889 self.association = association 6890 self.effective_security_rules = effective_security_rules 6891 self.tag_map = tag_map 6892 6893 6894class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 6895 """The effective network security group association. 6896 6897 :param subnet: The ID of the subnet if assigned. 6898 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 6899 :param network_interface: The ID of the network interface if assigned. 6900 :type network_interface: ~azure.mgmt.network.v2020_04_01.models.SubResource 6901 """ 6902 6903 _attribute_map = { 6904 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 6905 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 6906 } 6907 6908 def __init__( 6909 self, 6910 *, 6911 subnet: Optional["SubResource"] = None, 6912 network_interface: Optional["SubResource"] = None, 6913 **kwargs 6914 ): 6915 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 6916 self.subnet = subnet 6917 self.network_interface = network_interface 6918 6919 6920class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 6921 """Response for list effective network security groups API service call. 6922 6923 Variables are only populated by the server, and will be ignored when sending a request. 6924 6925 :param value: A list of effective network security groups. 6926 :type value: list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityGroup] 6927 :ivar next_link: The URL to get the next set of results. 6928 :vartype next_link: str 6929 """ 6930 6931 _validation = { 6932 'next_link': {'readonly': True}, 6933 } 6934 6935 _attribute_map = { 6936 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 6937 'next_link': {'key': 'nextLink', 'type': 'str'}, 6938 } 6939 6940 def __init__( 6941 self, 6942 *, 6943 value: Optional[List["EffectiveNetworkSecurityGroup"]] = None, 6944 **kwargs 6945 ): 6946 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 6947 self.value = value 6948 self.next_link = None 6949 6950 6951class EffectiveNetworkSecurityRule(msrest.serialization.Model): 6952 """Effective network security rules. 6953 6954 :param name: The name of the security rule specified by the user (if created by the user). 6955 :type name: str 6956 :param protocol: The network protocol this rule applies to. Possible values include: "Tcp", 6957 "Udp", "All". 6958 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.EffectiveSecurityRuleProtocol 6959 :param source_port_range: The source port or range. 6960 :type source_port_range: str 6961 :param destination_port_range: The destination port or range. 6962 :type destination_port_range: str 6963 :param source_port_ranges: The source port ranges. Expected values include a single integer 6964 between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 6965 :type source_port_ranges: list[str] 6966 :param destination_port_ranges: The destination port ranges. Expected values include a single 6967 integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 6968 :type destination_port_ranges: list[str] 6969 :param source_address_prefix: The source address prefix. 6970 :type source_address_prefix: str 6971 :param destination_address_prefix: The destination address prefix. 6972 :type destination_address_prefix: str 6973 :param source_address_prefixes: The source address prefixes. Expected values include CIDR IP 6974 ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 6975 asterisk (*). 6976 :type source_address_prefixes: list[str] 6977 :param destination_address_prefixes: The destination address prefixes. Expected values include 6978 CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 6979 the asterisk (*). 6980 :type destination_address_prefixes: list[str] 6981 :param expanded_source_address_prefix: The expanded source address prefix. 6982 :type expanded_source_address_prefix: list[str] 6983 :param expanded_destination_address_prefix: Expanded destination address prefix. 6984 :type expanded_destination_address_prefix: list[str] 6985 :param access: Whether network traffic is allowed or denied. Possible values include: "Allow", 6986 "Deny". 6987 :type access: str or ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess 6988 :param priority: The priority of the rule. 6989 :type priority: int 6990 :param direction: The direction of the rule. Possible values include: "Inbound", "Outbound". 6991 :type direction: str or ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection 6992 """ 6993 6994 _attribute_map = { 6995 'name': {'key': 'name', 'type': 'str'}, 6996 'protocol': {'key': 'protocol', 'type': 'str'}, 6997 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 6998 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 6999 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, 7000 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, 7001 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 7002 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 7003 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, 7004 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, 7005 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 7006 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 7007 'access': {'key': 'access', 'type': 'str'}, 7008 'priority': {'key': 'priority', 'type': 'int'}, 7009 'direction': {'key': 'direction', 'type': 'str'}, 7010 } 7011 7012 def __init__( 7013 self, 7014 *, 7015 name: Optional[str] = None, 7016 protocol: Optional[Union[str, "EffectiveSecurityRuleProtocol"]] = None, 7017 source_port_range: Optional[str] = None, 7018 destination_port_range: Optional[str] = None, 7019 source_port_ranges: Optional[List[str]] = None, 7020 destination_port_ranges: Optional[List[str]] = None, 7021 source_address_prefix: Optional[str] = None, 7022 destination_address_prefix: Optional[str] = None, 7023 source_address_prefixes: Optional[List[str]] = None, 7024 destination_address_prefixes: Optional[List[str]] = None, 7025 expanded_source_address_prefix: Optional[List[str]] = None, 7026 expanded_destination_address_prefix: Optional[List[str]] = None, 7027 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 7028 priority: Optional[int] = None, 7029 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 7030 **kwargs 7031 ): 7032 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 7033 self.name = name 7034 self.protocol = protocol 7035 self.source_port_range = source_port_range 7036 self.destination_port_range = destination_port_range 7037 self.source_port_ranges = source_port_ranges 7038 self.destination_port_ranges = destination_port_ranges 7039 self.source_address_prefix = source_address_prefix 7040 self.destination_address_prefix = destination_address_prefix 7041 self.source_address_prefixes = source_address_prefixes 7042 self.destination_address_prefixes = destination_address_prefixes 7043 self.expanded_source_address_prefix = expanded_source_address_prefix 7044 self.expanded_destination_address_prefix = expanded_destination_address_prefix 7045 self.access = access 7046 self.priority = priority 7047 self.direction = direction 7048 7049 7050class EffectiveRoute(msrest.serialization.Model): 7051 """Effective Route. 7052 7053 :param name: The name of the user defined route. This is optional. 7054 :type name: str 7055 :param disable_bgp_route_propagation: If true, on-premises routes are not propagated to the 7056 network interfaces in the subnet. 7057 :type disable_bgp_route_propagation: bool 7058 :param source: Who created the route. Possible values include: "Unknown", "User", 7059 "VirtualNetworkGateway", "Default". 7060 :type source: str or ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteSource 7061 :param state: The value of effective route. Possible values include: "Active", "Invalid". 7062 :type state: str or ~azure.mgmt.network.v2020_04_01.models.EffectiveRouteState 7063 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 7064 :type address_prefix: list[str] 7065 :param next_hop_ip_address: The IP address of the next hop of the effective route. 7066 :type next_hop_ip_address: list[str] 7067 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values 7068 include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 7069 :type next_hop_type: str or ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType 7070 """ 7071 7072 _attribute_map = { 7073 'name': {'key': 'name', 'type': 'str'}, 7074 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, 7075 'source': {'key': 'source', 'type': 'str'}, 7076 'state': {'key': 'state', 'type': 'str'}, 7077 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 7078 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 7079 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 7080 } 7081 7082 def __init__( 7083 self, 7084 *, 7085 name: Optional[str] = None, 7086 disable_bgp_route_propagation: Optional[bool] = None, 7087 source: Optional[Union[str, "EffectiveRouteSource"]] = None, 7088 state: Optional[Union[str, "EffectiveRouteState"]] = None, 7089 address_prefix: Optional[List[str]] = None, 7090 next_hop_ip_address: Optional[List[str]] = None, 7091 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 7092 **kwargs 7093 ): 7094 super(EffectiveRoute, self).__init__(**kwargs) 7095 self.name = name 7096 self.disable_bgp_route_propagation = disable_bgp_route_propagation 7097 self.source = source 7098 self.state = state 7099 self.address_prefix = address_prefix 7100 self.next_hop_ip_address = next_hop_ip_address 7101 self.next_hop_type = next_hop_type 7102 7103 7104class EffectiveRouteListResult(msrest.serialization.Model): 7105 """Response for list effective route API service call. 7106 7107 Variables are only populated by the server, and will be ignored when sending a request. 7108 7109 :param value: A list of effective routes. 7110 :type value: list[~azure.mgmt.network.v2020_04_01.models.EffectiveRoute] 7111 :ivar next_link: The URL to get the next set of results. 7112 :vartype next_link: str 7113 """ 7114 7115 _validation = { 7116 'next_link': {'readonly': True}, 7117 } 7118 7119 _attribute_map = { 7120 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 7121 'next_link': {'key': 'nextLink', 'type': 'str'}, 7122 } 7123 7124 def __init__( 7125 self, 7126 *, 7127 value: Optional[List["EffectiveRoute"]] = None, 7128 **kwargs 7129 ): 7130 super(EffectiveRouteListResult, self).__init__(**kwargs) 7131 self.value = value 7132 self.next_link = None 7133 7134 7135class EndpointServiceResult(SubResource): 7136 """Endpoint service. 7137 7138 Variables are only populated by the server, and will be ignored when sending a request. 7139 7140 :param id: Resource ID. 7141 :type id: str 7142 :ivar name: Name of the endpoint service. 7143 :vartype name: str 7144 :ivar type: Type of the endpoint service. 7145 :vartype type: str 7146 """ 7147 7148 _validation = { 7149 'name': {'readonly': True}, 7150 'type': {'readonly': True}, 7151 } 7152 7153 _attribute_map = { 7154 'id': {'key': 'id', 'type': 'str'}, 7155 'name': {'key': 'name', 'type': 'str'}, 7156 'type': {'key': 'type', 'type': 'str'}, 7157 } 7158 7159 def __init__( 7160 self, 7161 *, 7162 id: Optional[str] = None, 7163 **kwargs 7164 ): 7165 super(EndpointServiceResult, self).__init__(id=id, **kwargs) 7166 self.name = None 7167 self.type = None 7168 7169 7170class EndpointServicesListResult(msrest.serialization.Model): 7171 """Response for the ListAvailableEndpointServices API service call. 7172 7173 :param value: List of available endpoint services in a region. 7174 :type value: list[~azure.mgmt.network.v2020_04_01.models.EndpointServiceResult] 7175 :param next_link: The URL to get the next set of results. 7176 :type next_link: str 7177 """ 7178 7179 _attribute_map = { 7180 'value': {'key': 'value', 'type': '[EndpointServiceResult]'}, 7181 'next_link': {'key': 'nextLink', 'type': 'str'}, 7182 } 7183 7184 def __init__( 7185 self, 7186 *, 7187 value: Optional[List["EndpointServiceResult"]] = None, 7188 next_link: Optional[str] = None, 7189 **kwargs 7190 ): 7191 super(EndpointServicesListResult, self).__init__(**kwargs) 7192 self.value = value 7193 self.next_link = next_link 7194 7195 7196class Error(msrest.serialization.Model): 7197 """Common error representation. 7198 7199 :param code: Error code. 7200 :type code: str 7201 :param message: Error message. 7202 :type message: str 7203 :param target: Error target. 7204 :type target: str 7205 :param details: Error details. 7206 :type details: list[~azure.mgmt.network.v2020_04_01.models.ErrorDetails] 7207 :param inner_error: Inner error message. 7208 :type inner_error: str 7209 """ 7210 7211 _attribute_map = { 7212 'code': {'key': 'code', 'type': 'str'}, 7213 'message': {'key': 'message', 'type': 'str'}, 7214 'target': {'key': 'target', 'type': 'str'}, 7215 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 7216 'inner_error': {'key': 'innerError', 'type': 'str'}, 7217 } 7218 7219 def __init__( 7220 self, 7221 *, 7222 code: Optional[str] = None, 7223 message: Optional[str] = None, 7224 target: Optional[str] = None, 7225 details: Optional[List["ErrorDetails"]] = None, 7226 inner_error: Optional[str] = None, 7227 **kwargs 7228 ): 7229 super(Error, self).__init__(**kwargs) 7230 self.code = code 7231 self.message = message 7232 self.target = target 7233 self.details = details 7234 self.inner_error = inner_error 7235 7236 7237class ErrorDetails(msrest.serialization.Model): 7238 """Common error details representation. 7239 7240 :param code: Error code. 7241 :type code: str 7242 :param target: Error target. 7243 :type target: str 7244 :param message: Error message. 7245 :type message: str 7246 """ 7247 7248 _attribute_map = { 7249 'code': {'key': 'code', 'type': 'str'}, 7250 'target': {'key': 'target', 'type': 'str'}, 7251 'message': {'key': 'message', 'type': 'str'}, 7252 } 7253 7254 def __init__( 7255 self, 7256 *, 7257 code: Optional[str] = None, 7258 target: Optional[str] = None, 7259 message: Optional[str] = None, 7260 **kwargs 7261 ): 7262 super(ErrorDetails, self).__init__(**kwargs) 7263 self.code = code 7264 self.target = target 7265 self.message = message 7266 7267 7268class ErrorResponse(msrest.serialization.Model): 7269 """The error object. 7270 7271 :param error: The error details object. 7272 :type error: ~azure.mgmt.network.v2020_04_01.models.ErrorDetails 7273 """ 7274 7275 _attribute_map = { 7276 'error': {'key': 'error', 'type': 'ErrorDetails'}, 7277 } 7278 7279 def __init__( 7280 self, 7281 *, 7282 error: Optional["ErrorDetails"] = None, 7283 **kwargs 7284 ): 7285 super(ErrorResponse, self).__init__(**kwargs) 7286 self.error = error 7287 7288 7289class EvaluatedNetworkSecurityGroup(msrest.serialization.Model): 7290 """Results of network security group evaluation. 7291 7292 Variables are only populated by the server, and will be ignored when sending a request. 7293 7294 :param network_security_group_id: Network security group ID. 7295 :type network_security_group_id: str 7296 :param applied_to: Resource ID of nic or subnet to which network security group is applied. 7297 :type applied_to: str 7298 :param matched_rule: Matched network security rule. 7299 :type matched_rule: ~azure.mgmt.network.v2020_04_01.models.MatchedRule 7300 :ivar rules_evaluation_result: List of network security rules evaluation results. 7301 :vartype rules_evaluation_result: 7302 list[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityRulesEvaluationResult] 7303 """ 7304 7305 _validation = { 7306 'rules_evaluation_result': {'readonly': True}, 7307 } 7308 7309 _attribute_map = { 7310 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, 7311 'applied_to': {'key': 'appliedTo', 'type': 'str'}, 7312 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, 7313 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, 7314 } 7315 7316 def __init__( 7317 self, 7318 *, 7319 network_security_group_id: Optional[str] = None, 7320 applied_to: Optional[str] = None, 7321 matched_rule: Optional["MatchedRule"] = None, 7322 **kwargs 7323 ): 7324 super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) 7325 self.network_security_group_id = network_security_group_id 7326 self.applied_to = applied_to 7327 self.matched_rule = matched_rule 7328 self.rules_evaluation_result = None 7329 7330 7331class ExpressRouteCircuit(Resource): 7332 """ExpressRouteCircuit resource. 7333 7334 Variables are only populated by the server, and will be ignored when sending a request. 7335 7336 :param id: Resource ID. 7337 :type id: str 7338 :ivar name: Resource name. 7339 :vartype name: str 7340 :ivar type: Resource type. 7341 :vartype type: str 7342 :param location: Resource location. 7343 :type location: str 7344 :param tags: A set of tags. Resource tags. 7345 :type tags: dict[str, str] 7346 :param sku: The SKU. 7347 :type sku: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSku 7348 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7349 :vartype etag: str 7350 :param allow_classic_operations: Allow classic operations. 7351 :type allow_classic_operations: bool 7352 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 7353 :type circuit_provisioning_state: str 7354 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 7355 resource. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 7356 "Deprovisioning". 7357 :type service_provider_provisioning_state: str or 7358 ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState 7359 :param authorizations: The list of authorizations. 7360 :type authorizations: 7361 list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitAuthorization] 7362 :param peerings: The list of peerings. 7363 :type peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 7364 :param service_key: The ServiceKey. 7365 :type service_key: str 7366 :param service_provider_notes: The ServiceProviderNotes. 7367 :type service_provider_notes: str 7368 :param service_provider_properties: The ServiceProviderProperties. 7369 :type service_provider_properties: 7370 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitServiceProviderProperties 7371 :param express_route_port: The reference to the ExpressRoutePort resource when the circuit is 7372 provisioned on an ExpressRoutePort resource. 7373 :type express_route_port: ~azure.mgmt.network.v2020_04_01.models.SubResource 7374 :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is provisioned on an 7375 ExpressRoutePort resource. 7376 :type bandwidth_in_gbps: float 7377 :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ encapsulation. 7378 :vartype stag: int 7379 :ivar provisioning_state: The provisioning state of the express route circuit resource. 7380 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7381 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 7382 :param gateway_manager_etag: The GatewayManager Etag. 7383 :type gateway_manager_etag: str 7384 :param global_reach_enabled: Flag denoting global reach status. 7385 :type global_reach_enabled: bool 7386 """ 7387 7388 _validation = { 7389 'name': {'readonly': True}, 7390 'type': {'readonly': True}, 7391 'etag': {'readonly': True}, 7392 'stag': {'readonly': True}, 7393 'provisioning_state': {'readonly': True}, 7394 } 7395 7396 _attribute_map = { 7397 'id': {'key': 'id', 'type': 'str'}, 7398 'name': {'key': 'name', 'type': 'str'}, 7399 'type': {'key': 'type', 'type': 'str'}, 7400 'location': {'key': 'location', 'type': 'str'}, 7401 'tags': {'key': 'tags', 'type': '{str}'}, 7402 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 7403 'etag': {'key': 'etag', 'type': 'str'}, 7404 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 7405 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 7406 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 7407 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 7408 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 7409 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 7410 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 7411 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 7412 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, 7413 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, 7414 'stag': {'key': 'properties.stag', 'type': 'int'}, 7415 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7416 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 7417 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, 7418 } 7419 7420 def __init__( 7421 self, 7422 *, 7423 id: Optional[str] = None, 7424 location: Optional[str] = None, 7425 tags: Optional[Dict[str, str]] = None, 7426 sku: Optional["ExpressRouteCircuitSku"] = None, 7427 allow_classic_operations: Optional[bool] = None, 7428 circuit_provisioning_state: Optional[str] = None, 7429 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 7430 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 7431 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 7432 service_key: Optional[str] = None, 7433 service_provider_notes: Optional[str] = None, 7434 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 7435 express_route_port: Optional["SubResource"] = None, 7436 bandwidth_in_gbps: Optional[float] = None, 7437 gateway_manager_etag: Optional[str] = None, 7438 global_reach_enabled: Optional[bool] = None, 7439 **kwargs 7440 ): 7441 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 7442 self.sku = sku 7443 self.etag = None 7444 self.allow_classic_operations = allow_classic_operations 7445 self.circuit_provisioning_state = circuit_provisioning_state 7446 self.service_provider_provisioning_state = service_provider_provisioning_state 7447 self.authorizations = authorizations 7448 self.peerings = peerings 7449 self.service_key = service_key 7450 self.service_provider_notes = service_provider_notes 7451 self.service_provider_properties = service_provider_properties 7452 self.express_route_port = express_route_port 7453 self.bandwidth_in_gbps = bandwidth_in_gbps 7454 self.stag = None 7455 self.provisioning_state = None 7456 self.gateway_manager_etag = gateway_manager_etag 7457 self.global_reach_enabled = global_reach_enabled 7458 7459 7460class ExpressRouteCircuitArpTable(msrest.serialization.Model): 7461 """The ARP table associated with the ExpressRouteCircuit. 7462 7463 :param age: Entry age in minutes. 7464 :type age: int 7465 :param interface: Interface address. 7466 :type interface: str 7467 :param ip_address: The IP address. 7468 :type ip_address: str 7469 :param mac_address: The MAC address. 7470 :type mac_address: str 7471 """ 7472 7473 _attribute_map = { 7474 'age': {'key': 'age', 'type': 'int'}, 7475 'interface': {'key': 'interface', 'type': 'str'}, 7476 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 7477 'mac_address': {'key': 'macAddress', 'type': 'str'}, 7478 } 7479 7480 def __init__( 7481 self, 7482 *, 7483 age: Optional[int] = None, 7484 interface: Optional[str] = None, 7485 ip_address: Optional[str] = None, 7486 mac_address: Optional[str] = None, 7487 **kwargs 7488 ): 7489 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 7490 self.age = age 7491 self.interface = interface 7492 self.ip_address = ip_address 7493 self.mac_address = mac_address 7494 7495 7496class ExpressRouteCircuitAuthorization(SubResource): 7497 """Authorization in an ExpressRouteCircuit resource. 7498 7499 Variables are only populated by the server, and will be ignored when sending a request. 7500 7501 :param id: Resource ID. 7502 :type id: str 7503 :param name: The name of the resource that is unique within a resource group. This name can be 7504 used to access the resource. 7505 :type name: str 7506 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7507 :vartype etag: str 7508 :ivar type: Type of the resource. 7509 :vartype type: str 7510 :param authorization_key: The authorization key. 7511 :type authorization_key: str 7512 :param authorization_use_status: The authorization use status. Possible values include: 7513 "Available", "InUse". 7514 :type authorization_use_status: str or 7515 ~azure.mgmt.network.v2020_04_01.models.AuthorizationUseStatus 7516 :ivar provisioning_state: The provisioning state of the authorization resource. Possible values 7517 include: "Succeeded", "Updating", "Deleting", "Failed". 7518 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 7519 """ 7520 7521 _validation = { 7522 'etag': {'readonly': True}, 7523 'type': {'readonly': True}, 7524 'provisioning_state': {'readonly': True}, 7525 } 7526 7527 _attribute_map = { 7528 'id': {'key': 'id', 'type': 'str'}, 7529 'name': {'key': 'name', 'type': 'str'}, 7530 'etag': {'key': 'etag', 'type': 'str'}, 7531 'type': {'key': 'type', 'type': 'str'}, 7532 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 7533 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 7534 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7535 } 7536 7537 def __init__( 7538 self, 7539 *, 7540 id: Optional[str] = None, 7541 name: Optional[str] = None, 7542 authorization_key: Optional[str] = None, 7543 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 7544 **kwargs 7545 ): 7546 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 7547 self.name = name 7548 self.etag = None 7549 self.type = None 7550 self.authorization_key = authorization_key 7551 self.authorization_use_status = authorization_use_status 7552 self.provisioning_state = None 7553 7554 7555class ExpressRouteCircuitConnection(SubResource): 7556 """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 7557 7558 Variables are only populated by the server, and will be ignored when sending a request. 7559 7560 :param id: Resource ID. 7561 :type id: str 7562 :param name: The name of the resource that is unique within a resource group. This name can be 7563 used to access the resource. 7564 :type name: str 7565 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7566 :vartype etag: str 7567 :ivar type: Type of the resource. 7568 :vartype type: str 7569 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 7570 Resource of the circuit initiating connection. 7571 :type express_route_circuit_peering: ~azure.mgmt.network.v2020_04_01.models.SubResource 7572 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 7573 Resource of the peered circuit. 7574 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2020_04_01.models.SubResource 7575 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 7576 :type address_prefix: str 7577 :param authorization_key: The authorization key. 7578 :type authorization_key: str 7579 :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of the express route 7580 circuit connection. 7581 :type ipv6_circuit_connection_config: 7582 ~azure.mgmt.network.v2020_04_01.models.Ipv6CircuitConnectionConfig 7583 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 7584 include: "Connected", "Connecting", "Disconnected". 7585 :vartype circuit_connection_status: str or 7586 ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus 7587 :ivar provisioning_state: The provisioning state of the express route circuit connection 7588 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7589 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 7590 """ 7591 7592 _validation = { 7593 'etag': {'readonly': True}, 7594 'type': {'readonly': True}, 7595 'circuit_connection_status': {'readonly': True}, 7596 'provisioning_state': {'readonly': True}, 7597 } 7598 7599 _attribute_map = { 7600 'id': {'key': 'id', 'type': 'str'}, 7601 'name': {'key': 'name', 'type': 'str'}, 7602 'etag': {'key': 'etag', 'type': 'str'}, 7603 'type': {'key': 'type', 'type': 'str'}, 7604 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 7605 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 7606 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 7607 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 7608 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, 7609 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 7610 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7611 } 7612 7613 def __init__( 7614 self, 7615 *, 7616 id: Optional[str] = None, 7617 name: Optional[str] = None, 7618 express_route_circuit_peering: Optional["SubResource"] = None, 7619 peer_express_route_circuit_peering: Optional["SubResource"] = None, 7620 address_prefix: Optional[str] = None, 7621 authorization_key: Optional[str] = None, 7622 ipv6_circuit_connection_config: Optional["Ipv6CircuitConnectionConfig"] = None, 7623 **kwargs 7624 ): 7625 super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) 7626 self.name = name 7627 self.etag = None 7628 self.type = None 7629 self.express_route_circuit_peering = express_route_circuit_peering 7630 self.peer_express_route_circuit_peering = peer_express_route_circuit_peering 7631 self.address_prefix = address_prefix 7632 self.authorization_key = authorization_key 7633 self.ipv6_circuit_connection_config = ipv6_circuit_connection_config 7634 self.circuit_connection_status = None 7635 self.provisioning_state = None 7636 7637 7638class ExpressRouteCircuitConnectionListResult(msrest.serialization.Model): 7639 """Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. 7640 7641 :param value: The global reach connection associated with Private Peering in an ExpressRoute 7642 Circuit. 7643 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] 7644 :param next_link: The URL to get the next set of results. 7645 :type next_link: str 7646 """ 7647 7648 _attribute_map = { 7649 'value': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'}, 7650 'next_link': {'key': 'nextLink', 'type': 'str'}, 7651 } 7652 7653 def __init__( 7654 self, 7655 *, 7656 value: Optional[List["ExpressRouteCircuitConnection"]] = None, 7657 next_link: Optional[str] = None, 7658 **kwargs 7659 ): 7660 super(ExpressRouteCircuitConnectionListResult, self).__init__(**kwargs) 7661 self.value = value 7662 self.next_link = next_link 7663 7664 7665class ExpressRouteCircuitListResult(msrest.serialization.Model): 7666 """Response for ListExpressRouteCircuit API service call. 7667 7668 :param value: A list of ExpressRouteCircuits in a resource group. 7669 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuit] 7670 :param next_link: The URL to get the next set of results. 7671 :type next_link: str 7672 """ 7673 7674 _attribute_map = { 7675 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 7676 'next_link': {'key': 'nextLink', 'type': 'str'}, 7677 } 7678 7679 def __init__( 7680 self, 7681 *, 7682 value: Optional[List["ExpressRouteCircuit"]] = None, 7683 next_link: Optional[str] = None, 7684 **kwargs 7685 ): 7686 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 7687 self.value = value 7688 self.next_link = next_link 7689 7690 7691class ExpressRouteCircuitPeering(SubResource): 7692 """Peering in an ExpressRouteCircuit resource. 7693 7694 Variables are only populated by the server, and will be ignored when sending a request. 7695 7696 :param id: Resource ID. 7697 :type id: str 7698 :param name: The name of the resource that is unique within a resource group. This name can be 7699 used to access the resource. 7700 :type name: str 7701 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7702 :vartype etag: str 7703 :ivar type: Type of the resource. 7704 :vartype type: str 7705 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 7706 "AzurePrivatePeering", "MicrosoftPeering". 7707 :type peering_type: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType 7708 :param state: The peering state. Possible values include: "Disabled", "Enabled". 7709 :type state: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState 7710 :param azure_asn: The Azure ASN. 7711 :type azure_asn: int 7712 :param peer_asn: The peer ASN. 7713 :type peer_asn: long 7714 :param primary_peer_address_prefix: The primary address prefix. 7715 :type primary_peer_address_prefix: str 7716 :param secondary_peer_address_prefix: The secondary address prefix. 7717 :type secondary_peer_address_prefix: str 7718 :param primary_azure_port: The primary port. 7719 :type primary_azure_port: str 7720 :param secondary_azure_port: The secondary port. 7721 :type secondary_azure_port: str 7722 :param shared_key: The shared key. 7723 :type shared_key: str 7724 :param vlan_id: The VLAN ID. 7725 :type vlan_id: int 7726 :param microsoft_peering_config: The Microsoft peering configuration. 7727 :type microsoft_peering_config: 7728 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig 7729 :param stats: The peering stats of express route circuit. 7730 :type stats: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitStats 7731 :ivar provisioning_state: The provisioning state of the express route circuit peering resource. 7732 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7733 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 7734 :param gateway_manager_etag: The GatewayManager Etag. 7735 :type gateway_manager_etag: str 7736 :ivar last_modified_by: Who was the last to modify the peering. 7737 :vartype last_modified_by: str 7738 :param route_filter: The reference to the RouteFilter resource. 7739 :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource 7740 :param ipv6_peering_config: The IPv6 peering configuration. 7741 :type ipv6_peering_config: 7742 ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig 7743 :param express_route_connection: The ExpressRoute connection. 7744 :type express_route_connection: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnectionId 7745 :param connections: The list of circuit connections associated with Azure Private Peering for 7746 this circuit. 7747 :type connections: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitConnection] 7748 :ivar peered_connections: The list of peered circuit connections associated with Azure Private 7749 Peering for this circuit. 7750 :vartype peered_connections: 7751 list[~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection] 7752 """ 7753 7754 _validation = { 7755 'etag': {'readonly': True}, 7756 'type': {'readonly': True}, 7757 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 7758 'provisioning_state': {'readonly': True}, 7759 'last_modified_by': {'readonly': True}, 7760 'peered_connections': {'readonly': True}, 7761 } 7762 7763 _attribute_map = { 7764 'id': {'key': 'id', 'type': 'str'}, 7765 'name': {'key': 'name', 'type': 'str'}, 7766 'etag': {'key': 'etag', 'type': 'str'}, 7767 'type': {'key': 'type', 'type': 'str'}, 7768 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 7769 'state': {'key': 'properties.state', 'type': 'str'}, 7770 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 7771 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 7772 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 7773 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 7774 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 7775 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 7776 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 7777 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 7778 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 7779 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 7780 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7781 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 7782 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 7783 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, 7784 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 7785 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, 7786 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, 7787 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, 7788 } 7789 7790 def __init__( 7791 self, 7792 *, 7793 id: Optional[str] = None, 7794 name: Optional[str] = None, 7795 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 7796 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 7797 azure_asn: Optional[int] = None, 7798 peer_asn: Optional[int] = None, 7799 primary_peer_address_prefix: Optional[str] = None, 7800 secondary_peer_address_prefix: Optional[str] = None, 7801 primary_azure_port: Optional[str] = None, 7802 secondary_azure_port: Optional[str] = None, 7803 shared_key: Optional[str] = None, 7804 vlan_id: Optional[int] = None, 7805 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 7806 stats: Optional["ExpressRouteCircuitStats"] = None, 7807 gateway_manager_etag: Optional[str] = None, 7808 route_filter: Optional["SubResource"] = None, 7809 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 7810 express_route_connection: Optional["ExpressRouteConnectionId"] = None, 7811 connections: Optional[List["ExpressRouteCircuitConnection"]] = None, 7812 **kwargs 7813 ): 7814 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 7815 self.name = name 7816 self.etag = None 7817 self.type = None 7818 self.peering_type = peering_type 7819 self.state = state 7820 self.azure_asn = azure_asn 7821 self.peer_asn = peer_asn 7822 self.primary_peer_address_prefix = primary_peer_address_prefix 7823 self.secondary_peer_address_prefix = secondary_peer_address_prefix 7824 self.primary_azure_port = primary_azure_port 7825 self.secondary_azure_port = secondary_azure_port 7826 self.shared_key = shared_key 7827 self.vlan_id = vlan_id 7828 self.microsoft_peering_config = microsoft_peering_config 7829 self.stats = stats 7830 self.provisioning_state = None 7831 self.gateway_manager_etag = gateway_manager_etag 7832 self.last_modified_by = None 7833 self.route_filter = route_filter 7834 self.ipv6_peering_config = ipv6_peering_config 7835 self.express_route_connection = express_route_connection 7836 self.connections = connections 7837 self.peered_connections = None 7838 7839 7840class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 7841 """Specifies the peering configuration. 7842 7843 Variables are only populated by the server, and will be ignored when sending a request. 7844 7845 :param advertised_public_prefixes: The reference to AdvertisedPublicPrefixes. 7846 :type advertised_public_prefixes: list[str] 7847 :param advertised_communities: The communities of bgp peering. Specified for microsoft peering. 7848 :type advertised_communities: list[str] 7849 :ivar advertised_public_prefixes_state: The advertised public prefix state of the Peering 7850 resource. Possible values include: "NotConfigured", "Configuring", "Configured", 7851 "ValidationNeeded". 7852 :vartype advertised_public_prefixes_state: str or 7853 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 7854 :param legacy_mode: The legacy mode of the peering. 7855 :type legacy_mode: int 7856 :param customer_asn: The CustomerASN of the peering. 7857 :type customer_asn: int 7858 :param routing_registry_name: The RoutingRegistryName of the configuration. 7859 :type routing_registry_name: str 7860 """ 7861 7862 _validation = { 7863 'advertised_public_prefixes_state': {'readonly': True}, 7864 } 7865 7866 _attribute_map = { 7867 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 7868 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, 7869 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 7870 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, 7871 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 7872 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 7873 } 7874 7875 def __init__( 7876 self, 7877 *, 7878 advertised_public_prefixes: Optional[List[str]] = None, 7879 advertised_communities: Optional[List[str]] = None, 7880 legacy_mode: Optional[int] = None, 7881 customer_asn: Optional[int] = None, 7882 routing_registry_name: Optional[str] = None, 7883 **kwargs 7884 ): 7885 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 7886 self.advertised_public_prefixes = advertised_public_prefixes 7887 self.advertised_communities = advertised_communities 7888 self.advertised_public_prefixes_state = None 7889 self.legacy_mode = legacy_mode 7890 self.customer_asn = customer_asn 7891 self.routing_registry_name = routing_registry_name 7892 7893 7894class ExpressRouteCircuitPeeringId(msrest.serialization.Model): 7895 """ExpressRoute circuit peering identifier. 7896 7897 :param id: The ID of the ExpressRoute circuit peering. 7898 :type id: str 7899 """ 7900 7901 _attribute_map = { 7902 'id': {'key': 'id', 'type': 'str'}, 7903 } 7904 7905 def __init__( 7906 self, 7907 *, 7908 id: Optional[str] = None, 7909 **kwargs 7910 ): 7911 super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) 7912 self.id = id 7913 7914 7915class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 7916 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 7917 7918 :param value: The peerings in an express route circuit. 7919 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 7920 :param next_link: The URL to get the next set of results. 7921 :type next_link: str 7922 """ 7923 7924 _attribute_map = { 7925 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 7926 'next_link': {'key': 'nextLink', 'type': 'str'}, 7927 } 7928 7929 def __init__( 7930 self, 7931 *, 7932 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 7933 next_link: Optional[str] = None, 7934 **kwargs 7935 ): 7936 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 7937 self.value = value 7938 self.next_link = next_link 7939 7940 7941class ExpressRouteCircuitReference(msrest.serialization.Model): 7942 """Reference to an express route circuit. 7943 7944 :param id: Corresponding Express Route Circuit Id. 7945 :type id: str 7946 """ 7947 7948 _attribute_map = { 7949 'id': {'key': 'id', 'type': 'str'}, 7950 } 7951 7952 def __init__( 7953 self, 7954 *, 7955 id: Optional[str] = None, 7956 **kwargs 7957 ): 7958 super(ExpressRouteCircuitReference, self).__init__(**kwargs) 7959 self.id = id 7960 7961 7962class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 7963 """The routes table associated with the ExpressRouteCircuit. 7964 7965 :param network: IP address of a network entity. 7966 :type network: str 7967 :param next_hop: NextHop address. 7968 :type next_hop: str 7969 :param loc_prf: Local preference value as set with the set local-preference route-map 7970 configuration command. 7971 :type loc_prf: str 7972 :param weight: Route Weight. 7973 :type weight: int 7974 :param path: Autonomous system paths to the destination network. 7975 :type path: str 7976 """ 7977 7978 _attribute_map = { 7979 'network': {'key': 'network', 'type': 'str'}, 7980 'next_hop': {'key': 'nextHop', 'type': 'str'}, 7981 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 7982 'weight': {'key': 'weight', 'type': 'int'}, 7983 'path': {'key': 'path', 'type': 'str'}, 7984 } 7985 7986 def __init__( 7987 self, 7988 *, 7989 network: Optional[str] = None, 7990 next_hop: Optional[str] = None, 7991 loc_prf: Optional[str] = None, 7992 weight: Optional[int] = None, 7993 path: Optional[str] = None, 7994 **kwargs 7995 ): 7996 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 7997 self.network = network 7998 self.next_hop = next_hop 7999 self.loc_prf = loc_prf 8000 self.weight = weight 8001 self.path = path 8002 8003 8004class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 8005 """The routes table associated with the ExpressRouteCircuit. 8006 8007 :param neighbor: IP address of the neighbor. 8008 :type neighbor: str 8009 :param v: BGP version number spoken to the neighbor. 8010 :type v: int 8011 :param as_property: Autonomous system number. 8012 :type as_property: int 8013 :param up_down: The length of time that the BGP session has been in the Established state, or 8014 the current status if not in the Established state. 8015 :type up_down: str 8016 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 8017 been received from a neighbor or peer group. 8018 :type state_pfx_rcd: str 8019 """ 8020 8021 _attribute_map = { 8022 'neighbor': {'key': 'neighbor', 'type': 'str'}, 8023 'v': {'key': 'v', 'type': 'int'}, 8024 'as_property': {'key': 'as', 'type': 'int'}, 8025 'up_down': {'key': 'upDown', 'type': 'str'}, 8026 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 8027 } 8028 8029 def __init__( 8030 self, 8031 *, 8032 neighbor: Optional[str] = None, 8033 v: Optional[int] = None, 8034 as_property: Optional[int] = None, 8035 up_down: Optional[str] = None, 8036 state_pfx_rcd: Optional[str] = None, 8037 **kwargs 8038 ): 8039 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 8040 self.neighbor = neighbor 8041 self.v = v 8042 self.as_property = as_property 8043 self.up_down = up_down 8044 self.state_pfx_rcd = state_pfx_rcd 8045 8046 8047class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 8048 """Response for ListArpTable associated with the Express Route Circuits API. 8049 8050 :param value: A list of the ARP tables. 8051 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitArpTable] 8052 :param next_link: The URL to get the next set of results. 8053 :type next_link: str 8054 """ 8055 8056 _attribute_map = { 8057 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 8058 'next_link': {'key': 'nextLink', 'type': 'str'}, 8059 } 8060 8061 def __init__( 8062 self, 8063 *, 8064 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 8065 next_link: Optional[str] = None, 8066 **kwargs 8067 ): 8068 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 8069 self.value = value 8070 self.next_link = next_link 8071 8072 8073class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 8074 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 8075 8076 :param service_provider_name: The serviceProviderName. 8077 :type service_provider_name: str 8078 :param peering_location: The peering location. 8079 :type peering_location: str 8080 :param bandwidth_in_mbps: The BandwidthInMbps. 8081 :type bandwidth_in_mbps: int 8082 """ 8083 8084 _attribute_map = { 8085 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 8086 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 8087 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 8088 } 8089 8090 def __init__( 8091 self, 8092 *, 8093 service_provider_name: Optional[str] = None, 8094 peering_location: Optional[str] = None, 8095 bandwidth_in_mbps: Optional[int] = None, 8096 **kwargs 8097 ): 8098 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 8099 self.service_provider_name = service_provider_name 8100 self.peering_location = peering_location 8101 self.bandwidth_in_mbps = bandwidth_in_mbps 8102 8103 8104class ExpressRouteCircuitSku(msrest.serialization.Model): 8105 """Contains SKU in an ExpressRouteCircuit. 8106 8107 :param name: The name of the SKU. 8108 :type name: str 8109 :param tier: The tier of the SKU. Possible values include: "Standard", "Premium", "Basic", 8110 "Local". 8111 :type tier: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuTier 8112 :param family: The family of the SKU. Possible values include: "UnlimitedData", "MeteredData". 8113 :type family: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitSkuFamily 8114 """ 8115 8116 _attribute_map = { 8117 'name': {'key': 'name', 'type': 'str'}, 8118 'tier': {'key': 'tier', 'type': 'str'}, 8119 'family': {'key': 'family', 'type': 'str'}, 8120 } 8121 8122 def __init__( 8123 self, 8124 *, 8125 name: Optional[str] = None, 8126 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 8127 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 8128 **kwargs 8129 ): 8130 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 8131 self.name = name 8132 self.tier = tier 8133 self.family = family 8134 8135 8136class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 8137 """Response for ListRoutesTable associated with the Express Route Circuits API. 8138 8139 :param value: The list of routes table. 8140 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTable] 8141 :param next_link: The URL to get the next set of results. 8142 :type next_link: str 8143 """ 8144 8145 _attribute_map = { 8146 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 8147 'next_link': {'key': 'nextLink', 'type': 'str'}, 8148 } 8149 8150 def __init__( 8151 self, 8152 *, 8153 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 8154 next_link: Optional[str] = None, 8155 **kwargs 8156 ): 8157 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 8158 self.value = value 8159 self.next_link = next_link 8160 8161 8162class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 8163 """Response for ListRoutesTable associated with the Express Route Circuits API. 8164 8165 :param value: A list of the routes table. 8166 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitRoutesTableSummary] 8167 :param next_link: The URL to get the next set of results. 8168 :type next_link: str 8169 """ 8170 8171 _attribute_map = { 8172 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 8173 'next_link': {'key': 'nextLink', 'type': 'str'}, 8174 } 8175 8176 def __init__( 8177 self, 8178 *, 8179 value: Optional[List["ExpressRouteCircuitRoutesTableSummary"]] = None, 8180 next_link: Optional[str] = None, 8181 **kwargs 8182 ): 8183 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 8184 self.value = value 8185 self.next_link = next_link 8186 8187 8188class ExpressRouteCircuitStats(msrest.serialization.Model): 8189 """Contains stats associated with the peering. 8190 8191 :param primarybytes_in: The Primary BytesIn of the peering. 8192 :type primarybytes_in: long 8193 :param primarybytes_out: The primary BytesOut of the peering. 8194 :type primarybytes_out: long 8195 :param secondarybytes_in: The secondary BytesIn of the peering. 8196 :type secondarybytes_in: long 8197 :param secondarybytes_out: The secondary BytesOut of the peering. 8198 :type secondarybytes_out: long 8199 """ 8200 8201 _attribute_map = { 8202 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 8203 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 8204 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 8205 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 8206 } 8207 8208 def __init__( 8209 self, 8210 *, 8211 primarybytes_in: Optional[int] = None, 8212 primarybytes_out: Optional[int] = None, 8213 secondarybytes_in: Optional[int] = None, 8214 secondarybytes_out: Optional[int] = None, 8215 **kwargs 8216 ): 8217 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 8218 self.primarybytes_in = primarybytes_in 8219 self.primarybytes_out = primarybytes_out 8220 self.secondarybytes_in = secondarybytes_in 8221 self.secondarybytes_out = secondarybytes_out 8222 8223 8224class ExpressRouteConnection(SubResource): 8225 """ExpressRouteConnection resource. 8226 8227 Variables are only populated by the server, and will be ignored when sending a request. 8228 8229 All required parameters must be populated in order to send to Azure. 8230 8231 :param id: Resource ID. 8232 :type id: str 8233 :param name: Required. The name of the resource. 8234 :type name: str 8235 :ivar provisioning_state: The provisioning state of the express route connection resource. 8236 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8237 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 8238 :param express_route_circuit_peering: The ExpressRoute circuit peering. 8239 :type express_route_circuit_peering: 8240 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringId 8241 :param authorization_key: Authorization key to establish the connection. 8242 :type authorization_key: str 8243 :param routing_weight: The routing weight associated to the connection. 8244 :type routing_weight: int 8245 :param enable_internet_security: Enable internet security. 8246 :type enable_internet_security: bool 8247 :param routing_configuration: The Routing Configuration indicating the associated and 8248 propagated route tables on this connection. 8249 :type routing_configuration: ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration 8250 """ 8251 8252 _validation = { 8253 'name': {'required': True}, 8254 'provisioning_state': {'readonly': True}, 8255 } 8256 8257 _attribute_map = { 8258 'id': {'key': 'id', 'type': 'str'}, 8259 'name': {'key': 'name', 'type': 'str'}, 8260 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8261 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, 8262 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 8263 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 8264 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 8265 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, 8266 } 8267 8268 def __init__( 8269 self, 8270 *, 8271 name: str, 8272 id: Optional[str] = None, 8273 express_route_circuit_peering: Optional["ExpressRouteCircuitPeeringId"] = None, 8274 authorization_key: Optional[str] = None, 8275 routing_weight: Optional[int] = None, 8276 enable_internet_security: Optional[bool] = None, 8277 routing_configuration: Optional["RoutingConfiguration"] = None, 8278 **kwargs 8279 ): 8280 super(ExpressRouteConnection, self).__init__(id=id, **kwargs) 8281 self.name = name 8282 self.provisioning_state = None 8283 self.express_route_circuit_peering = express_route_circuit_peering 8284 self.authorization_key = authorization_key 8285 self.routing_weight = routing_weight 8286 self.enable_internet_security = enable_internet_security 8287 self.routing_configuration = routing_configuration 8288 8289 8290class ExpressRouteConnectionId(msrest.serialization.Model): 8291 """The ID of the ExpressRouteConnection. 8292 8293 Variables are only populated by the server, and will be ignored when sending a request. 8294 8295 :ivar id: The ID of the ExpressRouteConnection. 8296 :vartype id: str 8297 """ 8298 8299 _validation = { 8300 'id': {'readonly': True}, 8301 } 8302 8303 _attribute_map = { 8304 'id': {'key': 'id', 'type': 'str'}, 8305 } 8306 8307 def __init__( 8308 self, 8309 **kwargs 8310 ): 8311 super(ExpressRouteConnectionId, self).__init__(**kwargs) 8312 self.id = None 8313 8314 8315class ExpressRouteConnectionList(msrest.serialization.Model): 8316 """ExpressRouteConnection list. 8317 8318 :param value: The list of ExpressRoute connections. 8319 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] 8320 """ 8321 8322 _attribute_map = { 8323 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, 8324 } 8325 8326 def __init__( 8327 self, 8328 *, 8329 value: Optional[List["ExpressRouteConnection"]] = None, 8330 **kwargs 8331 ): 8332 super(ExpressRouteConnectionList, self).__init__(**kwargs) 8333 self.value = value 8334 8335 8336class ExpressRouteCrossConnection(Resource): 8337 """ExpressRouteCrossConnection resource. 8338 8339 Variables are only populated by the server, and will be ignored when sending a request. 8340 8341 :param id: Resource ID. 8342 :type id: str 8343 :ivar name: Resource name. 8344 :vartype name: str 8345 :ivar type: Resource type. 8346 :vartype type: str 8347 :param location: Resource location. 8348 :type location: str 8349 :param tags: A set of tags. Resource tags. 8350 :type tags: dict[str, str] 8351 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8352 :vartype etag: str 8353 :ivar primary_azure_port: The name of the primary port. 8354 :vartype primary_azure_port: str 8355 :ivar secondary_azure_port: The name of the secondary port. 8356 :vartype secondary_azure_port: str 8357 :ivar s_tag: The identifier of the circuit traffic. 8358 :vartype s_tag: int 8359 :param peering_location: The peering location of the ExpressRoute circuit. 8360 :type peering_location: str 8361 :param bandwidth_in_mbps: The circuit bandwidth In Mbps. 8362 :type bandwidth_in_mbps: int 8363 :param express_route_circuit: The ExpressRouteCircuit. 8364 :type express_route_circuit: 8365 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitReference 8366 :param service_provider_provisioning_state: The provisioning state of the circuit in the 8367 connectivity provider system. Possible values include: "NotProvisioned", "Provisioning", 8368 "Provisioned", "Deprovisioning". 8369 :type service_provider_provisioning_state: str or 8370 ~azure.mgmt.network.v2020_04_01.models.ServiceProviderProvisioningState 8371 :param service_provider_notes: Additional read only notes set by the connectivity provider. 8372 :type service_provider_notes: str 8373 :ivar provisioning_state: The provisioning state of the express route cross connection 8374 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8375 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 8376 :param peerings: The list of peerings. 8377 :type peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] 8378 """ 8379 8380 _validation = { 8381 'name': {'readonly': True}, 8382 'type': {'readonly': True}, 8383 'etag': {'readonly': True}, 8384 'primary_azure_port': {'readonly': True}, 8385 'secondary_azure_port': {'readonly': True}, 8386 's_tag': {'readonly': True}, 8387 'provisioning_state': {'readonly': True}, 8388 } 8389 8390 _attribute_map = { 8391 'id': {'key': 'id', 'type': 'str'}, 8392 'name': {'key': 'name', 'type': 'str'}, 8393 'type': {'key': 'type', 'type': 'str'}, 8394 'location': {'key': 'location', 'type': 'str'}, 8395 'tags': {'key': 'tags', 'type': '{str}'}, 8396 'etag': {'key': 'etag', 'type': 'str'}, 8397 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 8398 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 8399 's_tag': {'key': 'properties.sTag', 'type': 'int'}, 8400 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 8401 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, 8402 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, 8403 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 8404 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 8405 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8406 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, 8407 } 8408 8409 def __init__( 8410 self, 8411 *, 8412 id: Optional[str] = None, 8413 location: Optional[str] = None, 8414 tags: Optional[Dict[str, str]] = None, 8415 peering_location: Optional[str] = None, 8416 bandwidth_in_mbps: Optional[int] = None, 8417 express_route_circuit: Optional["ExpressRouteCircuitReference"] = None, 8418 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 8419 service_provider_notes: Optional[str] = None, 8420 peerings: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 8421 **kwargs 8422 ): 8423 super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 8424 self.etag = None 8425 self.primary_azure_port = None 8426 self.secondary_azure_port = None 8427 self.s_tag = None 8428 self.peering_location = peering_location 8429 self.bandwidth_in_mbps = bandwidth_in_mbps 8430 self.express_route_circuit = express_route_circuit 8431 self.service_provider_provisioning_state = service_provider_provisioning_state 8432 self.service_provider_notes = service_provider_notes 8433 self.provisioning_state = None 8434 self.peerings = peerings 8435 8436 8437class ExpressRouteCrossConnectionListResult(msrest.serialization.Model): 8438 """Response for ListExpressRouteCrossConnection API service call. 8439 8440 Variables are only populated by the server, and will be ignored when sending a request. 8441 8442 :param value: A list of ExpressRouteCrossConnection resources. 8443 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnection] 8444 :ivar next_link: The URL to get the next set of results. 8445 :vartype next_link: str 8446 """ 8447 8448 _validation = { 8449 'next_link': {'readonly': True}, 8450 } 8451 8452 _attribute_map = { 8453 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'}, 8454 'next_link': {'key': 'nextLink', 'type': 'str'}, 8455 } 8456 8457 def __init__( 8458 self, 8459 *, 8460 value: Optional[List["ExpressRouteCrossConnection"]] = None, 8461 **kwargs 8462 ): 8463 super(ExpressRouteCrossConnectionListResult, self).__init__(**kwargs) 8464 self.value = value 8465 self.next_link = None 8466 8467 8468class ExpressRouteCrossConnectionPeering(SubResource): 8469 """Peering in an ExpressRoute Cross Connection resource. 8470 8471 Variables are only populated by the server, and will be ignored when sending a request. 8472 8473 :param id: Resource ID. 8474 :type id: str 8475 :param name: The name of the resource that is unique within a resource group. This name can be 8476 used to access the resource. 8477 :type name: str 8478 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8479 :vartype etag: str 8480 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 8481 "AzurePrivatePeering", "MicrosoftPeering". 8482 :type peering_type: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringType 8483 :param state: The peering state. Possible values include: "Disabled", "Enabled". 8484 :type state: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePeeringState 8485 :ivar azure_asn: The Azure ASN. 8486 :vartype azure_asn: int 8487 :param peer_asn: The peer ASN. 8488 :type peer_asn: long 8489 :param primary_peer_address_prefix: The primary address prefix. 8490 :type primary_peer_address_prefix: str 8491 :param secondary_peer_address_prefix: The secondary address prefix. 8492 :type secondary_peer_address_prefix: str 8493 :ivar primary_azure_port: The primary port. 8494 :vartype primary_azure_port: str 8495 :ivar secondary_azure_port: The secondary port. 8496 :vartype secondary_azure_port: str 8497 :param shared_key: The shared key. 8498 :type shared_key: str 8499 :param vlan_id: The VLAN ID. 8500 :type vlan_id: int 8501 :param microsoft_peering_config: The Microsoft peering configuration. 8502 :type microsoft_peering_config: 8503 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig 8504 :ivar provisioning_state: The provisioning state of the express route cross connection peering 8505 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8506 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 8507 :param gateway_manager_etag: The GatewayManager Etag. 8508 :type gateway_manager_etag: str 8509 :ivar last_modified_by: Who was the last to modify the peering. 8510 :vartype last_modified_by: str 8511 :param ipv6_peering_config: The IPv6 peering configuration. 8512 :type ipv6_peering_config: 8513 ~azure.mgmt.network.v2020_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig 8514 """ 8515 8516 _validation = { 8517 'etag': {'readonly': True}, 8518 'azure_asn': {'readonly': True}, 8519 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 8520 'primary_azure_port': {'readonly': True}, 8521 'secondary_azure_port': {'readonly': True}, 8522 'provisioning_state': {'readonly': True}, 8523 'last_modified_by': {'readonly': True}, 8524 } 8525 8526 _attribute_map = { 8527 'id': {'key': 'id', 'type': 'str'}, 8528 'name': {'key': 'name', 'type': 'str'}, 8529 'etag': {'key': 'etag', 'type': 'str'}, 8530 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 8531 'state': {'key': 'properties.state', 'type': 'str'}, 8532 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 8533 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 8534 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 8535 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 8536 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 8537 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 8538 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 8539 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 8540 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 8541 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8542 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 8543 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 8544 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 8545 } 8546 8547 def __init__( 8548 self, 8549 *, 8550 id: Optional[str] = None, 8551 name: Optional[str] = None, 8552 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 8553 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 8554 peer_asn: Optional[int] = None, 8555 primary_peer_address_prefix: Optional[str] = None, 8556 secondary_peer_address_prefix: Optional[str] = None, 8557 shared_key: Optional[str] = None, 8558 vlan_id: Optional[int] = None, 8559 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 8560 gateway_manager_etag: Optional[str] = None, 8561 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 8562 **kwargs 8563 ): 8564 super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) 8565 self.name = name 8566 self.etag = None 8567 self.peering_type = peering_type 8568 self.state = state 8569 self.azure_asn = None 8570 self.peer_asn = peer_asn 8571 self.primary_peer_address_prefix = primary_peer_address_prefix 8572 self.secondary_peer_address_prefix = secondary_peer_address_prefix 8573 self.primary_azure_port = None 8574 self.secondary_azure_port = None 8575 self.shared_key = shared_key 8576 self.vlan_id = vlan_id 8577 self.microsoft_peering_config = microsoft_peering_config 8578 self.provisioning_state = None 8579 self.gateway_manager_etag = gateway_manager_etag 8580 self.last_modified_by = None 8581 self.ipv6_peering_config = ipv6_peering_config 8582 8583 8584class ExpressRouteCrossConnectionPeeringList(msrest.serialization.Model): 8585 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 8586 8587 Variables are only populated by the server, and will be ignored when sending a request. 8588 8589 :param value: The peerings in an express route cross connection. 8590 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionPeering] 8591 :ivar next_link: The URL to get the next set of results. 8592 :vartype next_link: str 8593 """ 8594 8595 _validation = { 8596 'next_link': {'readonly': True}, 8597 } 8598 8599 _attribute_map = { 8600 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'}, 8601 'next_link': {'key': 'nextLink', 'type': 'str'}, 8602 } 8603 8604 def __init__( 8605 self, 8606 *, 8607 value: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 8608 **kwargs 8609 ): 8610 super(ExpressRouteCrossConnectionPeeringList, self).__init__(**kwargs) 8611 self.value = value 8612 self.next_link = None 8613 8614 8615class ExpressRouteCrossConnectionRoutesTableSummary(msrest.serialization.Model): 8616 """The routes table associated with the ExpressRouteCircuit. 8617 8618 :param neighbor: IP address of Neighbor router. 8619 :type neighbor: str 8620 :param asn: Autonomous system number. 8621 :type asn: int 8622 :param up_down: The length of time that the BGP session has been in the Established state, or 8623 the current status if not in the Established state. 8624 :type up_down: str 8625 :param state_or_prefixes_received: Current state of the BGP session, and the number of prefixes 8626 that have been received from a neighbor or peer group. 8627 :type state_or_prefixes_received: str 8628 """ 8629 8630 _attribute_map = { 8631 'neighbor': {'key': 'neighbor', 'type': 'str'}, 8632 'asn': {'key': 'asn', 'type': 'int'}, 8633 'up_down': {'key': 'upDown', 'type': 'str'}, 8634 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, 8635 } 8636 8637 def __init__( 8638 self, 8639 *, 8640 neighbor: Optional[str] = None, 8641 asn: Optional[int] = None, 8642 up_down: Optional[str] = None, 8643 state_or_prefixes_received: Optional[str] = None, 8644 **kwargs 8645 ): 8646 super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) 8647 self.neighbor = neighbor 8648 self.asn = asn 8649 self.up_down = up_down 8650 self.state_or_prefixes_received = state_or_prefixes_received 8651 8652 8653class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(msrest.serialization.Model): 8654 """Response for ListRoutesTable associated with the Express Route Cross Connections. 8655 8656 Variables are only populated by the server, and will be ignored when sending a request. 8657 8658 :param value: A list of the routes table. 8659 :type value: 8660 list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] 8661 :ivar next_link: The URL to get the next set of results. 8662 :vartype next_link: str 8663 """ 8664 8665 _validation = { 8666 'next_link': {'readonly': True}, 8667 } 8668 8669 _attribute_map = { 8670 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, 8671 'next_link': {'key': 'nextLink', 'type': 'str'}, 8672 } 8673 8674 def __init__( 8675 self, 8676 *, 8677 value: Optional[List["ExpressRouteCrossConnectionRoutesTableSummary"]] = None, 8678 **kwargs 8679 ): 8680 super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) 8681 self.value = value 8682 self.next_link = None 8683 8684 8685class ExpressRouteGateway(Resource): 8686 """ExpressRoute gateway resource. 8687 8688 Variables are only populated by the server, and will be ignored when sending a request. 8689 8690 :param id: Resource ID. 8691 :type id: str 8692 :ivar name: Resource name. 8693 :vartype name: str 8694 :ivar type: Resource type. 8695 :vartype type: str 8696 :param location: Resource location. 8697 :type location: str 8698 :param tags: A set of tags. Resource tags. 8699 :type tags: dict[str, str] 8700 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8701 :vartype etag: str 8702 :param auto_scale_configuration: Configuration for auto scaling. 8703 :type auto_scale_configuration: 8704 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration 8705 :ivar express_route_connections: List of ExpressRoute connections to the ExpressRoute gateway. 8706 :vartype express_route_connections: 8707 list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteConnection] 8708 :ivar provisioning_state: The provisioning state of the express route gateway resource. 8709 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8710 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 8711 :param virtual_hub: The Virtual Hub where the ExpressRoute gateway is or will be deployed. 8712 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.VirtualHubId 8713 """ 8714 8715 _validation = { 8716 'name': {'readonly': True}, 8717 'type': {'readonly': True}, 8718 'etag': {'readonly': True}, 8719 'express_route_connections': {'readonly': True}, 8720 'provisioning_state': {'readonly': True}, 8721 } 8722 8723 _attribute_map = { 8724 'id': {'key': 'id', 'type': 'str'}, 8725 'name': {'key': 'name', 'type': 'str'}, 8726 'type': {'key': 'type', 'type': 'str'}, 8727 'location': {'key': 'location', 'type': 'str'}, 8728 'tags': {'key': 'tags', 'type': '{str}'}, 8729 'etag': {'key': 'etag', 'type': 'str'}, 8730 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, 8731 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, 8732 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8733 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, 8734 } 8735 8736 def __init__( 8737 self, 8738 *, 8739 id: Optional[str] = None, 8740 location: Optional[str] = None, 8741 tags: Optional[Dict[str, str]] = None, 8742 auto_scale_configuration: Optional["ExpressRouteGatewayPropertiesAutoScaleConfiguration"] = None, 8743 virtual_hub: Optional["VirtualHubId"] = None, 8744 **kwargs 8745 ): 8746 super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 8747 self.etag = None 8748 self.auto_scale_configuration = auto_scale_configuration 8749 self.express_route_connections = None 8750 self.provisioning_state = None 8751 self.virtual_hub = virtual_hub 8752 8753 8754class ExpressRouteGatewayList(msrest.serialization.Model): 8755 """List of ExpressRoute gateways. 8756 8757 :param value: List of ExpressRoute gateways. 8758 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteGateway] 8759 """ 8760 8761 _attribute_map = { 8762 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, 8763 } 8764 8765 def __init__( 8766 self, 8767 *, 8768 value: Optional[List["ExpressRouteGateway"]] = None, 8769 **kwargs 8770 ): 8771 super(ExpressRouteGatewayList, self).__init__(**kwargs) 8772 self.value = value 8773 8774 8775class ExpressRouteGatewayPropertiesAutoScaleConfiguration(msrest.serialization.Model): 8776 """Configuration for auto scaling. 8777 8778 :param bounds: Minimum and maximum number of scale units to deploy. 8779 :type bounds: 8780 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds 8781 """ 8782 8783 _attribute_map = { 8784 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, 8785 } 8786 8787 def __init__( 8788 self, 8789 *, 8790 bounds: Optional["ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds"] = None, 8791 **kwargs 8792 ): 8793 super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) 8794 self.bounds = bounds 8795 8796 8797class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(msrest.serialization.Model): 8798 """Minimum and maximum number of scale units to deploy. 8799 8800 :param min: Minimum number of scale units deployed for ExpressRoute gateway. 8801 :type min: int 8802 :param max: Maximum number of scale units deployed for ExpressRoute gateway. 8803 :type max: int 8804 """ 8805 8806 _attribute_map = { 8807 'min': {'key': 'min', 'type': 'int'}, 8808 'max': {'key': 'max', 'type': 'int'}, 8809 } 8810 8811 def __init__( 8812 self, 8813 *, 8814 min: Optional[int] = None, 8815 max: Optional[int] = None, 8816 **kwargs 8817 ): 8818 super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) 8819 self.min = min 8820 self.max = max 8821 8822 8823class ExpressRouteLink(SubResource): 8824 """ExpressRouteLink child resource definition. 8825 8826 Variables are only populated by the server, and will be ignored when sending a request. 8827 8828 :param id: Resource ID. 8829 :type id: str 8830 :param name: Name of child port resource that is unique among child port resources of the 8831 parent. 8832 :type name: str 8833 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8834 :vartype etag: str 8835 :ivar router_name: Name of Azure router associated with physical port. 8836 :vartype router_name: str 8837 :ivar interface_name: Name of Azure router interface. 8838 :vartype interface_name: str 8839 :ivar patch_panel_id: Mapping between physical port to patch panel port. 8840 :vartype patch_panel_id: str 8841 :ivar rack_id: Mapping of physical patch panel to rack. 8842 :vartype rack_id: str 8843 :ivar connector_type: Physical fiber port type. Possible values include: "LC", "SC". 8844 :vartype connector_type: str or 8845 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkConnectorType 8846 :param admin_state: Administrative state of the physical port. Possible values include: 8847 "Enabled", "Disabled". 8848 :type admin_state: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkAdminState 8849 :ivar provisioning_state: The provisioning state of the express route link resource. Possible 8850 values include: "Succeeded", "Updating", "Deleting", "Failed". 8851 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 8852 :param mac_sec_config: MacSec configuration. 8853 :type mac_sec_config: ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecConfig 8854 """ 8855 8856 _validation = { 8857 'etag': {'readonly': True}, 8858 'router_name': {'readonly': True}, 8859 'interface_name': {'readonly': True}, 8860 'patch_panel_id': {'readonly': True}, 8861 'rack_id': {'readonly': True}, 8862 'connector_type': {'readonly': True}, 8863 'provisioning_state': {'readonly': True}, 8864 } 8865 8866 _attribute_map = { 8867 'id': {'key': 'id', 'type': 'str'}, 8868 'name': {'key': 'name', 'type': 'str'}, 8869 'etag': {'key': 'etag', 'type': 'str'}, 8870 'router_name': {'key': 'properties.routerName', 'type': 'str'}, 8871 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, 8872 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, 8873 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, 8874 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, 8875 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, 8876 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8877 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, 8878 } 8879 8880 def __init__( 8881 self, 8882 *, 8883 id: Optional[str] = None, 8884 name: Optional[str] = None, 8885 admin_state: Optional[Union[str, "ExpressRouteLinkAdminState"]] = None, 8886 mac_sec_config: Optional["ExpressRouteLinkMacSecConfig"] = None, 8887 **kwargs 8888 ): 8889 super(ExpressRouteLink, self).__init__(id=id, **kwargs) 8890 self.name = name 8891 self.etag = None 8892 self.router_name = None 8893 self.interface_name = None 8894 self.patch_panel_id = None 8895 self.rack_id = None 8896 self.connector_type = None 8897 self.admin_state = admin_state 8898 self.provisioning_state = None 8899 self.mac_sec_config = mac_sec_config 8900 8901 8902class ExpressRouteLinkListResult(msrest.serialization.Model): 8903 """Response for ListExpressRouteLinks API service call. 8904 8905 :param value: The list of ExpressRouteLink sub-resources. 8906 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink] 8907 :param next_link: The URL to get the next set of results. 8908 :type next_link: str 8909 """ 8910 8911 _attribute_map = { 8912 'value': {'key': 'value', 'type': '[ExpressRouteLink]'}, 8913 'next_link': {'key': 'nextLink', 'type': 'str'}, 8914 } 8915 8916 def __init__( 8917 self, 8918 *, 8919 value: Optional[List["ExpressRouteLink"]] = None, 8920 next_link: Optional[str] = None, 8921 **kwargs 8922 ): 8923 super(ExpressRouteLinkListResult, self).__init__(**kwargs) 8924 self.value = value 8925 self.next_link = next_link 8926 8927 8928class ExpressRouteLinkMacSecConfig(msrest.serialization.Model): 8929 """ExpressRouteLink Mac Security Configuration. 8930 8931 :param ckn_secret_identifier: Keyvault Secret Identifier URL containing Mac security CKN key. 8932 :type ckn_secret_identifier: str 8933 :param cak_secret_identifier: Keyvault Secret Identifier URL containing Mac security CAK key. 8934 :type cak_secret_identifier: str 8935 :param cipher: Mac security cipher. Possible values include: "gcm-aes-128", "gcm-aes-256". 8936 :type cipher: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRouteLinkMacSecCipher 8937 """ 8938 8939 _attribute_map = { 8940 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, 8941 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, 8942 'cipher': {'key': 'cipher', 'type': 'str'}, 8943 } 8944 8945 def __init__( 8946 self, 8947 *, 8948 ckn_secret_identifier: Optional[str] = None, 8949 cak_secret_identifier: Optional[str] = None, 8950 cipher: Optional[Union[str, "ExpressRouteLinkMacSecCipher"]] = None, 8951 **kwargs 8952 ): 8953 super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) 8954 self.ckn_secret_identifier = ckn_secret_identifier 8955 self.cak_secret_identifier = cak_secret_identifier 8956 self.cipher = cipher 8957 8958 8959class ExpressRoutePort(Resource): 8960 """ExpressRoutePort resource definition. 8961 8962 Variables are only populated by the server, and will be ignored when sending a request. 8963 8964 :param id: Resource ID. 8965 :type id: str 8966 :ivar name: Resource name. 8967 :vartype name: str 8968 :ivar type: Resource type. 8969 :vartype type: str 8970 :param location: Resource location. 8971 :type location: str 8972 :param tags: A set of tags. Resource tags. 8973 :type tags: dict[str, str] 8974 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8975 :vartype etag: str 8976 :param identity: The identity of ExpressRoutePort, if configured. 8977 :type identity: ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity 8978 :param peering_location: The name of the peering location that the ExpressRoutePort is mapped 8979 to physically. 8980 :type peering_location: str 8981 :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. 8982 :type bandwidth_in_gbps: int 8983 :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit bandwidths. 8984 :vartype provisioned_bandwidth_in_gbps: float 8985 :ivar mtu: Maximum transmission unit of the physical port pair(s). 8986 :vartype mtu: str 8987 :param encapsulation: Encapsulation method on physical ports. Possible values include: "Dot1Q", 8988 "QinQ". 8989 :type encapsulation: str or 8990 ~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsEncapsulation 8991 :ivar ether_type: Ether type of the physical port. 8992 :vartype ether_type: str 8993 :ivar allocation_date: Date of the physical port allocation to be used in Letter of 8994 Authorization. 8995 :vartype allocation_date: str 8996 :param links: The set of physical links of the ExpressRoutePort resource. 8997 :type links: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteLink] 8998 :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned on this 8999 ExpressRoutePort resource. 9000 :vartype circuits: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 9001 :ivar provisioning_state: The provisioning state of the express route port resource. Possible 9002 values include: "Succeeded", "Updating", "Deleting", "Failed". 9003 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9004 :ivar resource_guid: The resource GUID property of the express route port resource. 9005 :vartype resource_guid: str 9006 """ 9007 9008 _validation = { 9009 'name': {'readonly': True}, 9010 'type': {'readonly': True}, 9011 'etag': {'readonly': True}, 9012 'provisioned_bandwidth_in_gbps': {'readonly': True}, 9013 'mtu': {'readonly': True}, 9014 'ether_type': {'readonly': True}, 9015 'allocation_date': {'readonly': True}, 9016 'circuits': {'readonly': True}, 9017 'provisioning_state': {'readonly': True}, 9018 'resource_guid': {'readonly': True}, 9019 } 9020 9021 _attribute_map = { 9022 'id': {'key': 'id', 'type': 'str'}, 9023 'name': {'key': 'name', 'type': 'str'}, 9024 'type': {'key': 'type', 'type': 'str'}, 9025 'location': {'key': 'location', 'type': 'str'}, 9026 'tags': {'key': 'tags', 'type': '{str}'}, 9027 'etag': {'key': 'etag', 'type': 'str'}, 9028 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 9029 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 9030 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, 9031 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, 9032 'mtu': {'key': 'properties.mtu', 'type': 'str'}, 9033 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, 9034 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, 9035 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, 9036 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, 9037 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, 9038 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9039 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9040 } 9041 9042 def __init__( 9043 self, 9044 *, 9045 id: Optional[str] = None, 9046 location: Optional[str] = None, 9047 tags: Optional[Dict[str, str]] = None, 9048 identity: Optional["ManagedServiceIdentity"] = None, 9049 peering_location: Optional[str] = None, 9050 bandwidth_in_gbps: Optional[int] = None, 9051 encapsulation: Optional[Union[str, "ExpressRoutePortsEncapsulation"]] = None, 9052 links: Optional[List["ExpressRouteLink"]] = None, 9053 **kwargs 9054 ): 9055 super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) 9056 self.etag = None 9057 self.identity = identity 9058 self.peering_location = peering_location 9059 self.bandwidth_in_gbps = bandwidth_in_gbps 9060 self.provisioned_bandwidth_in_gbps = None 9061 self.mtu = None 9062 self.encapsulation = encapsulation 9063 self.ether_type = None 9064 self.allocation_date = None 9065 self.links = links 9066 self.circuits = None 9067 self.provisioning_state = None 9068 self.resource_guid = None 9069 9070 9071class ExpressRoutePortListResult(msrest.serialization.Model): 9072 """Response for ListExpressRoutePorts API service call. 9073 9074 :param value: A list of ExpressRoutePort resources. 9075 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePort] 9076 :param next_link: The URL to get the next set of results. 9077 :type next_link: str 9078 """ 9079 9080 _attribute_map = { 9081 'value': {'key': 'value', 'type': '[ExpressRoutePort]'}, 9082 'next_link': {'key': 'nextLink', 'type': 'str'}, 9083 } 9084 9085 def __init__( 9086 self, 9087 *, 9088 value: Optional[List["ExpressRoutePort"]] = None, 9089 next_link: Optional[str] = None, 9090 **kwargs 9091 ): 9092 super(ExpressRoutePortListResult, self).__init__(**kwargs) 9093 self.value = value 9094 self.next_link = next_link 9095 9096 9097class ExpressRoutePortsLocation(Resource): 9098 """Definition of the ExpressRoutePorts peering location resource. 9099 9100 Variables are only populated by the server, and will be ignored when sending a request. 9101 9102 :param id: Resource ID. 9103 :type id: str 9104 :ivar name: Resource name. 9105 :vartype name: str 9106 :ivar type: Resource type. 9107 :vartype type: str 9108 :param location: Resource location. 9109 :type location: str 9110 :param tags: A set of tags. Resource tags. 9111 :type tags: dict[str, str] 9112 :ivar address: Address of peering location. 9113 :vartype address: str 9114 :ivar contact: Contact details of peering locations. 9115 :vartype contact: str 9116 :param available_bandwidths: The inventory of available ExpressRoutePort bandwidths. 9117 :type available_bandwidths: 9118 list[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocationBandwidths] 9119 :ivar provisioning_state: The provisioning state of the express route port location resource. 9120 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9121 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9122 """ 9123 9124 _validation = { 9125 'name': {'readonly': True}, 9126 'type': {'readonly': True}, 9127 'address': {'readonly': True}, 9128 'contact': {'readonly': True}, 9129 'provisioning_state': {'readonly': True}, 9130 } 9131 9132 _attribute_map = { 9133 'id': {'key': 'id', 'type': 'str'}, 9134 'name': {'key': 'name', 'type': 'str'}, 9135 'type': {'key': 'type', 'type': 'str'}, 9136 'location': {'key': 'location', 'type': 'str'}, 9137 'tags': {'key': 'tags', 'type': '{str}'}, 9138 'address': {'key': 'properties.address', 'type': 'str'}, 9139 'contact': {'key': 'properties.contact', 'type': 'str'}, 9140 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, 9141 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9142 } 9143 9144 def __init__( 9145 self, 9146 *, 9147 id: Optional[str] = None, 9148 location: Optional[str] = None, 9149 tags: Optional[Dict[str, str]] = None, 9150 available_bandwidths: Optional[List["ExpressRoutePortsLocationBandwidths"]] = None, 9151 **kwargs 9152 ): 9153 super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) 9154 self.address = None 9155 self.contact = None 9156 self.available_bandwidths = available_bandwidths 9157 self.provisioning_state = None 9158 9159 9160class ExpressRoutePortsLocationBandwidths(msrest.serialization.Model): 9161 """Real-time inventory of available ExpressRoute port bandwidths. 9162 9163 Variables are only populated by the server, and will be ignored when sending a request. 9164 9165 :ivar offer_name: Bandwidth descriptive name. 9166 :vartype offer_name: str 9167 :ivar value_in_gbps: Bandwidth value in Gbps. 9168 :vartype value_in_gbps: int 9169 """ 9170 9171 _validation = { 9172 'offer_name': {'readonly': True}, 9173 'value_in_gbps': {'readonly': True}, 9174 } 9175 9176 _attribute_map = { 9177 'offer_name': {'key': 'offerName', 'type': 'str'}, 9178 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, 9179 } 9180 9181 def __init__( 9182 self, 9183 **kwargs 9184 ): 9185 super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) 9186 self.offer_name = None 9187 self.value_in_gbps = None 9188 9189 9190class ExpressRoutePortsLocationListResult(msrest.serialization.Model): 9191 """Response for ListExpressRoutePortsLocations API service call. 9192 9193 :param value: The list of all ExpressRoutePort peering locations. 9194 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRoutePortsLocation] 9195 :param next_link: The URL to get the next set of results. 9196 :type next_link: str 9197 """ 9198 9199 _attribute_map = { 9200 'value': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'}, 9201 'next_link': {'key': 'nextLink', 'type': 'str'}, 9202 } 9203 9204 def __init__( 9205 self, 9206 *, 9207 value: Optional[List["ExpressRoutePortsLocation"]] = None, 9208 next_link: Optional[str] = None, 9209 **kwargs 9210 ): 9211 super(ExpressRoutePortsLocationListResult, self).__init__(**kwargs) 9212 self.value = value 9213 self.next_link = next_link 9214 9215 9216class ExpressRouteServiceProvider(Resource): 9217 """A ExpressRouteResourceProvider object. 9218 9219 Variables are only populated by the server, and will be ignored when sending a request. 9220 9221 :param id: Resource ID. 9222 :type id: str 9223 :ivar name: Resource name. 9224 :vartype name: str 9225 :ivar type: Resource type. 9226 :vartype type: str 9227 :param location: Resource location. 9228 :type location: str 9229 :param tags: A set of tags. Resource tags. 9230 :type tags: dict[str, str] 9231 :param peering_locations: A list of peering locations. 9232 :type peering_locations: list[str] 9233 :param bandwidths_offered: A list of bandwidths offered. 9234 :type bandwidths_offered: 9235 list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] 9236 :ivar provisioning_state: The provisioning state of the express route service provider 9237 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9238 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9239 """ 9240 9241 _validation = { 9242 'name': {'readonly': True}, 9243 'type': {'readonly': True}, 9244 'provisioning_state': {'readonly': True}, 9245 } 9246 9247 _attribute_map = { 9248 'id': {'key': 'id', 'type': 'str'}, 9249 'name': {'key': 'name', 'type': 'str'}, 9250 'type': {'key': 'type', 'type': 'str'}, 9251 'location': {'key': 'location', 'type': 'str'}, 9252 'tags': {'key': 'tags', 'type': '{str}'}, 9253 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 9254 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 9255 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9256 } 9257 9258 def __init__( 9259 self, 9260 *, 9261 id: Optional[str] = None, 9262 location: Optional[str] = None, 9263 tags: Optional[Dict[str, str]] = None, 9264 peering_locations: Optional[List[str]] = None, 9265 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 9266 **kwargs 9267 ): 9268 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 9269 self.peering_locations = peering_locations 9270 self.bandwidths_offered = bandwidths_offered 9271 self.provisioning_state = None 9272 9273 9274class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 9275 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 9276 9277 :param offer_name: The OfferName. 9278 :type offer_name: str 9279 :param value_in_mbps: The ValueInMbps. 9280 :type value_in_mbps: int 9281 """ 9282 9283 _attribute_map = { 9284 'offer_name': {'key': 'offerName', 'type': 'str'}, 9285 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 9286 } 9287 9288 def __init__( 9289 self, 9290 *, 9291 offer_name: Optional[str] = None, 9292 value_in_mbps: Optional[int] = None, 9293 **kwargs 9294 ): 9295 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 9296 self.offer_name = offer_name 9297 self.value_in_mbps = value_in_mbps 9298 9299 9300class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 9301 """Response for the ListExpressRouteServiceProvider API service call. 9302 9303 :param value: A list of ExpressRouteResourceProvider resources. 9304 :type value: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteServiceProvider] 9305 :param next_link: The URL to get the next set of results. 9306 :type next_link: str 9307 """ 9308 9309 _attribute_map = { 9310 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 9311 'next_link': {'key': 'nextLink', 'type': 'str'}, 9312 } 9313 9314 def __init__( 9315 self, 9316 *, 9317 value: Optional[List["ExpressRouteServiceProvider"]] = None, 9318 next_link: Optional[str] = None, 9319 **kwargs 9320 ): 9321 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 9322 self.value = value 9323 self.next_link = next_link 9324 9325 9326class FirewallPolicy(Resource): 9327 """FirewallPolicy Resource. 9328 9329 Variables are only populated by the server, and will be ignored when sending a request. 9330 9331 :param id: Resource ID. 9332 :type id: str 9333 :ivar name: Resource name. 9334 :vartype name: str 9335 :ivar type: Resource type. 9336 :vartype type: str 9337 :param location: Resource location. 9338 :type location: str 9339 :param tags: A set of tags. Resource tags. 9340 :type tags: dict[str, str] 9341 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9342 :vartype etag: str 9343 :ivar rule_groups: List of references to FirewallPolicyRuleGroups. 9344 :vartype rule_groups: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 9345 :ivar provisioning_state: The provisioning state of the firewall policy resource. Possible 9346 values include: "Succeeded", "Updating", "Deleting", "Failed". 9347 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9348 :param base_policy: The parent firewall policy from which rules are inherited. 9349 :type base_policy: ~azure.mgmt.network.v2020_04_01.models.SubResource 9350 :ivar firewalls: List of references to Azure Firewalls that this Firewall Policy is associated 9351 with. 9352 :vartype firewalls: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 9353 :ivar child_policies: List of references to Child Firewall Policies. 9354 :vartype child_policies: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 9355 :param threat_intel_mode: The operation mode for Threat Intelligence. Possible values include: 9356 "Alert", "Deny", "Off". 9357 :type threat_intel_mode: str or 9358 ~azure.mgmt.network.v2020_04_01.models.AzureFirewallThreatIntelMode 9359 :param threat_intel_whitelist: ThreatIntel Whitelist for Firewall Policy. 9360 :type threat_intel_whitelist: 9361 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyThreatIntelWhitelist 9362 """ 9363 9364 _validation = { 9365 'name': {'readonly': True}, 9366 'type': {'readonly': True}, 9367 'etag': {'readonly': True}, 9368 'rule_groups': {'readonly': True}, 9369 'provisioning_state': {'readonly': True}, 9370 'firewalls': {'readonly': True}, 9371 'child_policies': {'readonly': True}, 9372 } 9373 9374 _attribute_map = { 9375 'id': {'key': 'id', 'type': 'str'}, 9376 'name': {'key': 'name', 'type': 'str'}, 9377 'type': {'key': 'type', 'type': 'str'}, 9378 'location': {'key': 'location', 'type': 'str'}, 9379 'tags': {'key': 'tags', 'type': '{str}'}, 9380 'etag': {'key': 'etag', 'type': 'str'}, 9381 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, 9382 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9383 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, 9384 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, 9385 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, 9386 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, 9387 'threat_intel_whitelist': {'key': 'properties.threatIntelWhitelist', 'type': 'FirewallPolicyThreatIntelWhitelist'}, 9388 } 9389 9390 def __init__( 9391 self, 9392 *, 9393 id: Optional[str] = None, 9394 location: Optional[str] = None, 9395 tags: Optional[Dict[str, str]] = None, 9396 base_policy: Optional["SubResource"] = None, 9397 threat_intel_mode: Optional[Union[str, "AzureFirewallThreatIntelMode"]] = None, 9398 threat_intel_whitelist: Optional["FirewallPolicyThreatIntelWhitelist"] = None, 9399 **kwargs 9400 ): 9401 super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 9402 self.etag = None 9403 self.rule_groups = None 9404 self.provisioning_state = None 9405 self.base_policy = base_policy 9406 self.firewalls = None 9407 self.child_policies = None 9408 self.threat_intel_mode = threat_intel_mode 9409 self.threat_intel_whitelist = threat_intel_whitelist 9410 9411 9412class FirewallPolicyRule(msrest.serialization.Model): 9413 """Properties of the rule. 9414 9415 You probably want to use the sub-classes and not this class directly. Known 9416 sub-classes are: FirewallPolicyFilterRule, FirewallPolicyNatRule. 9417 9418 All required parameters must be populated in order to send to Azure. 9419 9420 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9421 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9422 :type rule_type: str or ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleType 9423 :param name: The name of the rule. 9424 :type name: str 9425 :param priority: Priority of the Firewall Policy Rule resource. 9426 :type priority: int 9427 """ 9428 9429 _validation = { 9430 'rule_type': {'required': True}, 9431 'priority': {'maximum': 65000, 'minimum': 100}, 9432 } 9433 9434 _attribute_map = { 9435 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9436 'name': {'key': 'name', 'type': 'str'}, 9437 'priority': {'key': 'priority', 'type': 'int'}, 9438 } 9439 9440 _subtype_map = { 9441 'rule_type': {'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule', 'FirewallPolicyNatRule': 'FirewallPolicyNatRule'} 9442 } 9443 9444 def __init__( 9445 self, 9446 *, 9447 name: Optional[str] = None, 9448 priority: Optional[int] = None, 9449 **kwargs 9450 ): 9451 super(FirewallPolicyRule, self).__init__(**kwargs) 9452 self.rule_type = None # type: Optional[str] 9453 self.name = name 9454 self.priority = priority 9455 9456 9457class FirewallPolicyFilterRule(FirewallPolicyRule): 9458 """Firewall Policy Filter Rule. 9459 9460 All required parameters must be populated in order to send to Azure. 9461 9462 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9463 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9464 :type rule_type: str or ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleType 9465 :param name: The name of the rule. 9466 :type name: str 9467 :param priority: Priority of the Firewall Policy Rule resource. 9468 :type priority: int 9469 :param action: The action type of a Filter rule. 9470 :type action: ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleAction 9471 :param rule_conditions: Collection of rule conditions used by a rule. 9472 :type rule_conditions: list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition] 9473 """ 9474 9475 _validation = { 9476 'rule_type': {'required': True}, 9477 'priority': {'maximum': 65000, 'minimum': 100}, 9478 } 9479 9480 _attribute_map = { 9481 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9482 'name': {'key': 'name', 'type': 'str'}, 9483 'priority': {'key': 'priority', 'type': 'int'}, 9484 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, 9485 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, 9486 } 9487 9488 def __init__( 9489 self, 9490 *, 9491 name: Optional[str] = None, 9492 priority: Optional[int] = None, 9493 action: Optional["FirewallPolicyFilterRuleAction"] = None, 9494 rule_conditions: Optional[List["FirewallPolicyRuleCondition"]] = None, 9495 **kwargs 9496 ): 9497 super(FirewallPolicyFilterRule, self).__init__(name=name, priority=priority, **kwargs) 9498 self.rule_type = 'FirewallPolicyFilterRule' # type: str 9499 self.action = action 9500 self.rule_conditions = rule_conditions 9501 9502 9503class FirewallPolicyFilterRuleAction(msrest.serialization.Model): 9504 """Properties of the FirewallPolicyFilterRuleAction. 9505 9506 :param type: The type of action. Possible values include: "Allow", "Deny". 9507 :type type: str or ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyFilterRuleActionType 9508 """ 9509 9510 _attribute_map = { 9511 'type': {'key': 'type', 'type': 'str'}, 9512 } 9513 9514 def __init__( 9515 self, 9516 *, 9517 type: Optional[Union[str, "FirewallPolicyFilterRuleActionType"]] = None, 9518 **kwargs 9519 ): 9520 super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) 9521 self.type = type 9522 9523 9524class FirewallPolicyListResult(msrest.serialization.Model): 9525 """Response for ListFirewallPolicies API service call. 9526 9527 :param value: List of Firewall Policies in a resource group. 9528 :type value: list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicy] 9529 :param next_link: URL to get the next set of results. 9530 :type next_link: str 9531 """ 9532 9533 _attribute_map = { 9534 'value': {'key': 'value', 'type': '[FirewallPolicy]'}, 9535 'next_link': {'key': 'nextLink', 'type': 'str'}, 9536 } 9537 9538 def __init__( 9539 self, 9540 *, 9541 value: Optional[List["FirewallPolicy"]] = None, 9542 next_link: Optional[str] = None, 9543 **kwargs 9544 ): 9545 super(FirewallPolicyListResult, self).__init__(**kwargs) 9546 self.value = value 9547 self.next_link = next_link 9548 9549 9550class FirewallPolicyNatRule(FirewallPolicyRule): 9551 """Firewall Policy NAT Rule. 9552 9553 All required parameters must be populated in order to send to Azure. 9554 9555 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9556 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9557 :type rule_type: str or ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleType 9558 :param name: The name of the rule. 9559 :type name: str 9560 :param priority: Priority of the Firewall Policy Rule resource. 9561 :type priority: int 9562 :param action: The action type of a Nat rule. 9563 :type action: ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleAction 9564 :param translated_address: The translated address for this NAT rule. 9565 :type translated_address: str 9566 :param translated_port: The translated port for this NAT rule. 9567 :type translated_port: str 9568 :param rule_condition: The match conditions for incoming traffic. 9569 :type rule_condition: ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleCondition 9570 """ 9571 9572 _validation = { 9573 'rule_type': {'required': True}, 9574 'priority': {'maximum': 65000, 'minimum': 100}, 9575 } 9576 9577 _attribute_map = { 9578 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9579 'name': {'key': 'name', 'type': 'str'}, 9580 'priority': {'key': 'priority', 'type': 'int'}, 9581 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, 9582 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, 9583 'translated_port': {'key': 'translatedPort', 'type': 'str'}, 9584 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, 9585 } 9586 9587 def __init__( 9588 self, 9589 *, 9590 name: Optional[str] = None, 9591 priority: Optional[int] = None, 9592 action: Optional["FirewallPolicyNatRuleAction"] = None, 9593 translated_address: Optional[str] = None, 9594 translated_port: Optional[str] = None, 9595 rule_condition: Optional["FirewallPolicyRuleCondition"] = None, 9596 **kwargs 9597 ): 9598 super(FirewallPolicyNatRule, self).__init__(name=name, priority=priority, **kwargs) 9599 self.rule_type = 'FirewallPolicyNatRule' # type: str 9600 self.action = action 9601 self.translated_address = translated_address 9602 self.translated_port = translated_port 9603 self.rule_condition = rule_condition 9604 9605 9606class FirewallPolicyNatRuleAction(msrest.serialization.Model): 9607 """Properties of the FirewallPolicyNatRuleAction. 9608 9609 :param type: The type of action. Possible values include: "DNAT". 9610 :type type: str or ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyNatRuleActionType 9611 """ 9612 9613 _attribute_map = { 9614 'type': {'key': 'type', 'type': 'str'}, 9615 } 9616 9617 def __init__( 9618 self, 9619 *, 9620 type: Optional[Union[str, "FirewallPolicyNatRuleActionType"]] = None, 9621 **kwargs 9622 ): 9623 super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) 9624 self.type = type 9625 9626 9627class FirewallPolicyRuleConditionApplicationProtocol(msrest.serialization.Model): 9628 """Properties of the application rule protocol. 9629 9630 :param protocol_type: Protocol type. Possible values include: "Http", "Https". 9631 :type protocol_type: str or 9632 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionApplicationProtocolType 9633 :param port: Port number for the protocol, cannot be greater than 64000. 9634 :type port: int 9635 """ 9636 9637 _validation = { 9638 'port': {'maximum': 64000, 'minimum': 0}, 9639 } 9640 9641 _attribute_map = { 9642 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 9643 'port': {'key': 'port', 'type': 'int'}, 9644 } 9645 9646 def __init__( 9647 self, 9648 *, 9649 protocol_type: Optional[Union[str, "FirewallPolicyRuleConditionApplicationProtocolType"]] = None, 9650 port: Optional[int] = None, 9651 **kwargs 9652 ): 9653 super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) 9654 self.protocol_type = protocol_type 9655 self.port = port 9656 9657 9658class FirewallPolicyRuleGroup(SubResource): 9659 """Rule Group resource. 9660 9661 Variables are only populated by the server, and will be ignored when sending a request. 9662 9663 :param id: Resource ID. 9664 :type id: str 9665 :param name: The name of the resource that is unique within a resource group. This name can be 9666 used to access the resource. 9667 :type name: str 9668 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9669 :vartype etag: str 9670 :ivar type: Rule Group type. 9671 :vartype type: str 9672 :param priority: Priority of the Firewall Policy Rule Group resource. 9673 :type priority: int 9674 :param rules: Group of Firewall Policy rules. 9675 :type rules: list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRule] 9676 :ivar provisioning_state: The provisioning state of the firewall policy rule group resource. 9677 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9678 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9679 """ 9680 9681 _validation = { 9682 'etag': {'readonly': True}, 9683 'type': {'readonly': True}, 9684 'priority': {'maximum': 65000, 'minimum': 100}, 9685 'provisioning_state': {'readonly': True}, 9686 } 9687 9688 _attribute_map = { 9689 'id': {'key': 'id', 'type': 'str'}, 9690 'name': {'key': 'name', 'type': 'str'}, 9691 'etag': {'key': 'etag', 'type': 'str'}, 9692 'type': {'key': 'type', 'type': 'str'}, 9693 'priority': {'key': 'properties.priority', 'type': 'int'}, 9694 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, 9695 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9696 } 9697 9698 def __init__( 9699 self, 9700 *, 9701 id: Optional[str] = None, 9702 name: Optional[str] = None, 9703 priority: Optional[int] = None, 9704 rules: Optional[List["FirewallPolicyRule"]] = None, 9705 **kwargs 9706 ): 9707 super(FirewallPolicyRuleGroup, self).__init__(id=id, **kwargs) 9708 self.name = name 9709 self.etag = None 9710 self.type = None 9711 self.priority = priority 9712 self.rules = rules 9713 self.provisioning_state = None 9714 9715 9716class FirewallPolicyRuleGroupListResult(msrest.serialization.Model): 9717 """Response for ListFirewallPolicyRuleGroups API service call. 9718 9719 :param value: List of FirewallPolicyRuleGroups in a FirewallPolicy. 9720 :type value: list[~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleGroup] 9721 :param next_link: URL to get the next set of results. 9722 :type next_link: str 9723 """ 9724 9725 _attribute_map = { 9726 'value': {'key': 'value', 'type': '[FirewallPolicyRuleGroup]'}, 9727 'next_link': {'key': 'nextLink', 'type': 'str'}, 9728 } 9729 9730 def __init__( 9731 self, 9732 *, 9733 value: Optional[List["FirewallPolicyRuleGroup"]] = None, 9734 next_link: Optional[str] = None, 9735 **kwargs 9736 ): 9737 super(FirewallPolicyRuleGroupListResult, self).__init__(**kwargs) 9738 self.value = value 9739 self.next_link = next_link 9740 9741 9742class FirewallPolicyThreatIntelWhitelist(msrest.serialization.Model): 9743 """ThreatIntel Whitelist for Firewall Policy. 9744 9745 :param ip_addresses: List of IP addresses for the ThreatIntel Whitelist. 9746 :type ip_addresses: list[str] 9747 :param fqdns: List of FQDNs for the ThreatIntel Whitelist. 9748 :type fqdns: list[str] 9749 """ 9750 9751 _attribute_map = { 9752 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, 9753 'fqdns': {'key': 'fqdns', 'type': '[str]'}, 9754 } 9755 9756 def __init__( 9757 self, 9758 *, 9759 ip_addresses: Optional[List[str]] = None, 9760 fqdns: Optional[List[str]] = None, 9761 **kwargs 9762 ): 9763 super(FirewallPolicyThreatIntelWhitelist, self).__init__(**kwargs) 9764 self.ip_addresses = ip_addresses 9765 self.fqdns = fqdns 9766 9767 9768class FlowLog(Resource): 9769 """A flow log resource. 9770 9771 Variables are only populated by the server, and will be ignored when sending a request. 9772 9773 :param id: Resource ID. 9774 :type id: str 9775 :ivar name: Resource name. 9776 :vartype name: str 9777 :ivar type: Resource type. 9778 :vartype type: str 9779 :param location: Resource location. 9780 :type location: str 9781 :param tags: A set of tags. Resource tags. 9782 :type tags: dict[str, str] 9783 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9784 :vartype etag: str 9785 :param target_resource_id: ID of network security group to which flow log will be applied. 9786 :type target_resource_id: str 9787 :ivar target_resource_guid: Guid of network security group to which flow log will be applied. 9788 :vartype target_resource_guid: str 9789 :param storage_id: ID of the storage account which is used to store the flow log. 9790 :type storage_id: str 9791 :param enabled: Flag to enable/disable flow logging. 9792 :type enabled: bool 9793 :param retention_policy: Parameters that define the retention policy for flow log. 9794 :type retention_policy: ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters 9795 :param format: Parameters that define the flow log format. 9796 :type format: ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters 9797 :param flow_analytics_configuration: Parameters that define the configuration of traffic 9798 analytics. 9799 :type flow_analytics_configuration: 9800 ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties 9801 :ivar provisioning_state: The provisioning state of the flow log. Possible values include: 9802 "Succeeded", "Updating", "Deleting", "Failed". 9803 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 9804 """ 9805 9806 _validation = { 9807 'name': {'readonly': True}, 9808 'type': {'readonly': True}, 9809 'etag': {'readonly': True}, 9810 'target_resource_guid': {'readonly': True}, 9811 'provisioning_state': {'readonly': True}, 9812 } 9813 9814 _attribute_map = { 9815 'id': {'key': 'id', 'type': 'str'}, 9816 'name': {'key': 'name', 'type': 'str'}, 9817 'type': {'key': 'type', 'type': 'str'}, 9818 'location': {'key': 'location', 'type': 'str'}, 9819 'tags': {'key': 'tags', 'type': '{str}'}, 9820 'etag': {'key': 'etag', 'type': 'str'}, 9821 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, 9822 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, 9823 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 9824 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 9825 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 9826 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, 9827 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 9828 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9829 } 9830 9831 def __init__( 9832 self, 9833 *, 9834 id: Optional[str] = None, 9835 location: Optional[str] = None, 9836 tags: Optional[Dict[str, str]] = None, 9837 target_resource_id: Optional[str] = None, 9838 storage_id: Optional[str] = None, 9839 enabled: Optional[bool] = None, 9840 retention_policy: Optional["RetentionPolicyParameters"] = None, 9841 format: Optional["FlowLogFormatParameters"] = None, 9842 flow_analytics_configuration: Optional["TrafficAnalyticsProperties"] = None, 9843 **kwargs 9844 ): 9845 super(FlowLog, self).__init__(id=id, location=location, tags=tags, **kwargs) 9846 self.etag = None 9847 self.target_resource_id = target_resource_id 9848 self.target_resource_guid = None 9849 self.storage_id = storage_id 9850 self.enabled = enabled 9851 self.retention_policy = retention_policy 9852 self.format = format 9853 self.flow_analytics_configuration = flow_analytics_configuration 9854 self.provisioning_state = None 9855 9856 9857class FlowLogFormatParameters(msrest.serialization.Model): 9858 """Parameters that define the flow log format. 9859 9860 :param type: The file type of flow log. Possible values include: "JSON". 9861 :type type: str or ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatType 9862 :param version: The version (revision) of the flow log. 9863 :type version: int 9864 """ 9865 9866 _attribute_map = { 9867 'type': {'key': 'type', 'type': 'str'}, 9868 'version': {'key': 'version', 'type': 'int'}, 9869 } 9870 9871 def __init__( 9872 self, 9873 *, 9874 type: Optional[Union[str, "FlowLogFormatType"]] = None, 9875 version: Optional[int] = 0, 9876 **kwargs 9877 ): 9878 super(FlowLogFormatParameters, self).__init__(**kwargs) 9879 self.type = type 9880 self.version = version 9881 9882 9883class FlowLogInformation(msrest.serialization.Model): 9884 """Information on the configuration of flow log and traffic analytics (optional) . 9885 9886 All required parameters must be populated in order to send to Azure. 9887 9888 :param target_resource_id: Required. The ID of the resource to configure for flow log and 9889 traffic analytics (optional) . 9890 :type target_resource_id: str 9891 :param flow_analytics_configuration: Parameters that define the configuration of traffic 9892 analytics. 9893 :type flow_analytics_configuration: 9894 ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsProperties 9895 :param storage_id: Required. ID of the storage account which is used to store the flow log. 9896 :type storage_id: str 9897 :param enabled: Required. Flag to enable/disable flow logging. 9898 :type enabled: bool 9899 :param retention_policy: Parameters that define the retention policy for flow log. 9900 :type retention_policy: ~azure.mgmt.network.v2020_04_01.models.RetentionPolicyParameters 9901 :param format: Parameters that define the flow log format. 9902 :type format: ~azure.mgmt.network.v2020_04_01.models.FlowLogFormatParameters 9903 """ 9904 9905 _validation = { 9906 'target_resource_id': {'required': True}, 9907 'storage_id': {'required': True}, 9908 'enabled': {'required': True}, 9909 } 9910 9911 _attribute_map = { 9912 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9913 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 9914 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 9915 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 9916 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 9917 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, 9918 } 9919 9920 def __init__( 9921 self, 9922 *, 9923 target_resource_id: str, 9924 storage_id: str, 9925 enabled: bool, 9926 flow_analytics_configuration: Optional["TrafficAnalyticsProperties"] = None, 9927 retention_policy: Optional["RetentionPolicyParameters"] = None, 9928 format: Optional["FlowLogFormatParameters"] = None, 9929 **kwargs 9930 ): 9931 super(FlowLogInformation, self).__init__(**kwargs) 9932 self.target_resource_id = target_resource_id 9933 self.flow_analytics_configuration = flow_analytics_configuration 9934 self.storage_id = storage_id 9935 self.enabled = enabled 9936 self.retention_policy = retention_policy 9937 self.format = format 9938 9939 9940class FlowLogListResult(msrest.serialization.Model): 9941 """List of flow logs. 9942 9943 Variables are only populated by the server, and will be ignored when sending a request. 9944 9945 :param value: Information about flow log resource. 9946 :type value: list[~azure.mgmt.network.v2020_04_01.models.FlowLog] 9947 :ivar next_link: The URL to get the next set of results. 9948 :vartype next_link: str 9949 """ 9950 9951 _validation = { 9952 'next_link': {'readonly': True}, 9953 } 9954 9955 _attribute_map = { 9956 'value': {'key': 'value', 'type': '[FlowLog]'}, 9957 'next_link': {'key': 'nextLink', 'type': 'str'}, 9958 } 9959 9960 def __init__( 9961 self, 9962 *, 9963 value: Optional[List["FlowLog"]] = None, 9964 **kwargs 9965 ): 9966 super(FlowLogListResult, self).__init__(**kwargs) 9967 self.value = value 9968 self.next_link = None 9969 9970 9971class FlowLogStatusParameters(msrest.serialization.Model): 9972 """Parameters that define a resource to query flow log and traffic analytics (optional) status. 9973 9974 All required parameters must be populated in order to send to Azure. 9975 9976 :param target_resource_id: Required. The target resource where getting the flow log and traffic 9977 analytics (optional) status. 9978 :type target_resource_id: str 9979 """ 9980 9981 _validation = { 9982 'target_resource_id': {'required': True}, 9983 } 9984 9985 _attribute_map = { 9986 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9987 } 9988 9989 def __init__( 9990 self, 9991 *, 9992 target_resource_id: str, 9993 **kwargs 9994 ): 9995 super(FlowLogStatusParameters, self).__init__(**kwargs) 9996 self.target_resource_id = target_resource_id 9997 9998 9999class FrontendIPConfiguration(SubResource): 10000 """Frontend IP address of the load balancer. 10001 10002 Variables are only populated by the server, and will be ignored when sending a request. 10003 10004 :param id: Resource ID. 10005 :type id: str 10006 :param name: The name of the resource that is unique within the set of frontend IP 10007 configurations used by the load balancer. This name can be used to access the resource. 10008 :type name: str 10009 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10010 :vartype etag: str 10011 :ivar type: Type of the resource. 10012 :vartype type: str 10013 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 10014 come from. 10015 :type zones: list[str] 10016 :ivar inbound_nat_rules: An array of references to inbound rules that use this frontend IP. 10017 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 10018 :ivar inbound_nat_pools: An array of references to inbound pools that use this frontend IP. 10019 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 10020 :ivar outbound_rules: An array of references to outbound rules that use this frontend IP. 10021 :vartype outbound_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 10022 :ivar load_balancing_rules: An array of references to load balancing rules that use this 10023 frontend IP. 10024 :vartype load_balancing_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 10025 :param private_ip_address: The private IP address of the IP configuration. 10026 :type private_ip_address: str 10027 :param private_ip_allocation_method: The Private IP allocation method. Possible values include: 10028 "Static", "Dynamic". 10029 :type private_ip_allocation_method: str or 10030 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 10031 :param private_ip_address_version: Whether the specific ipconfiguration is IPv4 or IPv6. 10032 Default is taken as IPv4. Possible values include: "IPv4", "IPv6". 10033 :type private_ip_address_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 10034 :param subnet: The reference to the subnet resource. 10035 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 10036 :param public_ip_address: The reference to the Public IP resource. 10037 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress 10038 :param public_ip_prefix: The reference to the Public IP Prefix resource. 10039 :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource 10040 :ivar provisioning_state: The provisioning state of the frontend IP configuration resource. 10041 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 10042 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10043 """ 10044 10045 _validation = { 10046 'etag': {'readonly': True}, 10047 'type': {'readonly': True}, 10048 'inbound_nat_rules': {'readonly': True}, 10049 'inbound_nat_pools': {'readonly': True}, 10050 'outbound_rules': {'readonly': True}, 10051 'load_balancing_rules': {'readonly': True}, 10052 'provisioning_state': {'readonly': True}, 10053 } 10054 10055 _attribute_map = { 10056 'id': {'key': 'id', 'type': 'str'}, 10057 'name': {'key': 'name', 'type': 'str'}, 10058 'etag': {'key': 'etag', 'type': 'str'}, 10059 'type': {'key': 'type', 'type': 'str'}, 10060 'zones': {'key': 'zones', 'type': '[str]'}, 10061 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 10062 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 10063 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 10064 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 10065 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 10066 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 10067 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 10068 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 10069 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 10070 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 10071 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10072 } 10073 10074 def __init__( 10075 self, 10076 *, 10077 id: Optional[str] = None, 10078 name: Optional[str] = None, 10079 zones: Optional[List[str]] = None, 10080 private_ip_address: Optional[str] = None, 10081 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 10082 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 10083 subnet: Optional["Subnet"] = None, 10084 public_ip_address: Optional["PublicIPAddress"] = None, 10085 public_ip_prefix: Optional["SubResource"] = None, 10086 **kwargs 10087 ): 10088 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 10089 self.name = name 10090 self.etag = None 10091 self.type = None 10092 self.zones = zones 10093 self.inbound_nat_rules = None 10094 self.inbound_nat_pools = None 10095 self.outbound_rules = None 10096 self.load_balancing_rules = None 10097 self.private_ip_address = private_ip_address 10098 self.private_ip_allocation_method = private_ip_allocation_method 10099 self.private_ip_address_version = private_ip_address_version 10100 self.subnet = subnet 10101 self.public_ip_address = public_ip_address 10102 self.public_ip_prefix = public_ip_prefix 10103 self.provisioning_state = None 10104 10105 10106class GatewayRoute(msrest.serialization.Model): 10107 """Gateway routing details. 10108 10109 Variables are only populated by the server, and will be ignored when sending a request. 10110 10111 :ivar local_address: The gateway's local address. 10112 :vartype local_address: str 10113 :ivar network: The route's network prefix. 10114 :vartype network: str 10115 :ivar next_hop: The route's next hop. 10116 :vartype next_hop: str 10117 :ivar source_peer: The peer this route was learned from. 10118 :vartype source_peer: str 10119 :ivar origin: The source this route was learned from. 10120 :vartype origin: str 10121 :ivar as_path: The route's AS path sequence. 10122 :vartype as_path: str 10123 :ivar weight: The route's weight. 10124 :vartype weight: int 10125 """ 10126 10127 _validation = { 10128 'local_address': {'readonly': True}, 10129 'network': {'readonly': True}, 10130 'next_hop': {'readonly': True}, 10131 'source_peer': {'readonly': True}, 10132 'origin': {'readonly': True}, 10133 'as_path': {'readonly': True}, 10134 'weight': {'readonly': True}, 10135 } 10136 10137 _attribute_map = { 10138 'local_address': {'key': 'localAddress', 'type': 'str'}, 10139 'network': {'key': 'network', 'type': 'str'}, 10140 'next_hop': {'key': 'nextHop', 'type': 'str'}, 10141 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 10142 'origin': {'key': 'origin', 'type': 'str'}, 10143 'as_path': {'key': 'asPath', 'type': 'str'}, 10144 'weight': {'key': 'weight', 'type': 'int'}, 10145 } 10146 10147 def __init__( 10148 self, 10149 **kwargs 10150 ): 10151 super(GatewayRoute, self).__init__(**kwargs) 10152 self.local_address = None 10153 self.network = None 10154 self.next_hop = None 10155 self.source_peer = None 10156 self.origin = None 10157 self.as_path = None 10158 self.weight = None 10159 10160 10161class GatewayRouteListResult(msrest.serialization.Model): 10162 """List of virtual network gateway routes. 10163 10164 :param value: List of gateway routes. 10165 :type value: list[~azure.mgmt.network.v2020_04_01.models.GatewayRoute] 10166 """ 10167 10168 _attribute_map = { 10169 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 10170 } 10171 10172 def __init__( 10173 self, 10174 *, 10175 value: Optional[List["GatewayRoute"]] = None, 10176 **kwargs 10177 ): 10178 super(GatewayRouteListResult, self).__init__(**kwargs) 10179 self.value = value 10180 10181 10182class GetVpnSitesConfigurationRequest(msrest.serialization.Model): 10183 """List of Vpn-Sites. 10184 10185 All required parameters must be populated in order to send to Azure. 10186 10187 :param vpn_sites: List of resource-ids of the vpn-sites for which config is to be downloaded. 10188 :type vpn_sites: list[str] 10189 :param output_blob_sas_url: Required. The sas-url to download the configurations for vpn-sites. 10190 :type output_blob_sas_url: str 10191 """ 10192 10193 _validation = { 10194 'output_blob_sas_url': {'required': True}, 10195 } 10196 10197 _attribute_map = { 10198 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, 10199 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 10200 } 10201 10202 def __init__( 10203 self, 10204 *, 10205 output_blob_sas_url: str, 10206 vpn_sites: Optional[List[str]] = None, 10207 **kwargs 10208 ): 10209 super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) 10210 self.vpn_sites = vpn_sites 10211 self.output_blob_sas_url = output_blob_sas_url 10212 10213 10214class HTTPConfiguration(msrest.serialization.Model): 10215 """HTTP configuration of the connectivity check. 10216 10217 :param method: HTTP method. Possible values include: "Get". 10218 :type method: str or ~azure.mgmt.network.v2020_04_01.models.HTTPMethod 10219 :param headers: List of HTTP headers. 10220 :type headers: list[~azure.mgmt.network.v2020_04_01.models.HTTPHeader] 10221 :param valid_status_codes: Valid status codes. 10222 :type valid_status_codes: list[int] 10223 """ 10224 10225 _attribute_map = { 10226 'method': {'key': 'method', 'type': 'str'}, 10227 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, 10228 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, 10229 } 10230 10231 def __init__( 10232 self, 10233 *, 10234 method: Optional[Union[str, "HTTPMethod"]] = None, 10235 headers: Optional[List["HTTPHeader"]] = None, 10236 valid_status_codes: Optional[List[int]] = None, 10237 **kwargs 10238 ): 10239 super(HTTPConfiguration, self).__init__(**kwargs) 10240 self.method = method 10241 self.headers = headers 10242 self.valid_status_codes = valid_status_codes 10243 10244 10245class HTTPHeader(msrest.serialization.Model): 10246 """The HTTP header. 10247 10248 :param name: The name in HTTP header. 10249 :type name: str 10250 :param value: The value in HTTP header. 10251 :type value: str 10252 """ 10253 10254 _attribute_map = { 10255 'name': {'key': 'name', 'type': 'str'}, 10256 'value': {'key': 'value', 'type': 'str'}, 10257 } 10258 10259 def __init__( 10260 self, 10261 *, 10262 name: Optional[str] = None, 10263 value: Optional[str] = None, 10264 **kwargs 10265 ): 10266 super(HTTPHeader, self).__init__(**kwargs) 10267 self.name = name 10268 self.value = value 10269 10270 10271class HubIPAddresses(msrest.serialization.Model): 10272 """IP addresses associated with azure firewall. 10273 10274 :param public_ip_addresses: List of Public IP addresses associated with azure firewall. 10275 :type public_ip_addresses: 10276 list[~azure.mgmt.network.v2020_04_01.models.AzureFirewallPublicIPAddress] 10277 :param private_ip_address: Private IP Address associated with azure firewall. 10278 :type private_ip_address: str 10279 """ 10280 10281 _attribute_map = { 10282 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, 10283 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, 10284 } 10285 10286 def __init__( 10287 self, 10288 *, 10289 public_ip_addresses: Optional[List["AzureFirewallPublicIPAddress"]] = None, 10290 private_ip_address: Optional[str] = None, 10291 **kwargs 10292 ): 10293 super(HubIPAddresses, self).__init__(**kwargs) 10294 self.public_ip_addresses = public_ip_addresses 10295 self.private_ip_address = private_ip_address 10296 10297 10298class HubRoute(msrest.serialization.Model): 10299 """RouteTable route. 10300 10301 All required parameters must be populated in order to send to Azure. 10302 10303 :param name: Required. The name of the Route that is unique within a RouteTable. This name can 10304 be used to access this route. 10305 :type name: str 10306 :param destination_type: Required. The type of destinations (eg: CIDR, ResourceId, Service). 10307 :type destination_type: str 10308 :param destinations: Required. List of all destinations. 10309 :type destinations: list[str] 10310 :param next_hop_type: Required. The type of next hop (eg: ResourceId). 10311 :type next_hop_type: str 10312 :param next_hop: Required. NextHop resource ID. 10313 :type next_hop: str 10314 """ 10315 10316 _validation = { 10317 'name': {'required': True}, 10318 'destination_type': {'required': True}, 10319 'destinations': {'required': True}, 10320 'next_hop_type': {'required': True}, 10321 'next_hop': {'required': True}, 10322 } 10323 10324 _attribute_map = { 10325 'name': {'key': 'name', 'type': 'str'}, 10326 'destination_type': {'key': 'destinationType', 'type': 'str'}, 10327 'destinations': {'key': 'destinations', 'type': '[str]'}, 10328 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 10329 'next_hop': {'key': 'nextHop', 'type': 'str'}, 10330 } 10331 10332 def __init__( 10333 self, 10334 *, 10335 name: str, 10336 destination_type: str, 10337 destinations: List[str], 10338 next_hop_type: str, 10339 next_hop: str, 10340 **kwargs 10341 ): 10342 super(HubRoute, self).__init__(**kwargs) 10343 self.name = name 10344 self.destination_type = destination_type 10345 self.destinations = destinations 10346 self.next_hop_type = next_hop_type 10347 self.next_hop = next_hop 10348 10349 10350class HubRouteTable(SubResource): 10351 """RouteTable resource in a virtual hub. 10352 10353 Variables are only populated by the server, and will be ignored when sending a request. 10354 10355 :param id: Resource ID. 10356 :type id: str 10357 :param name: The name of the resource that is unique within a resource group. This name can be 10358 used to access the resource. 10359 :type name: str 10360 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10361 :vartype etag: str 10362 :ivar type: Resource type. 10363 :vartype type: str 10364 :param routes: List of all routes. 10365 :type routes: list[~azure.mgmt.network.v2020_04_01.models.HubRoute] 10366 :param labels: List of labels associated with this route table. 10367 :type labels: list[str] 10368 :ivar associated_connections: List of all connections associated with this route table. 10369 :vartype associated_connections: list[str] 10370 :ivar propagating_connections: List of all connections that advertise to this route table. 10371 :vartype propagating_connections: list[str] 10372 :ivar provisioning_state: The provisioning state of the RouteTable resource. Possible values 10373 include: "Succeeded", "Updating", "Deleting", "Failed". 10374 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10375 """ 10376 10377 _validation = { 10378 'etag': {'readonly': True}, 10379 'type': {'readonly': True}, 10380 'associated_connections': {'readonly': True}, 10381 'propagating_connections': {'readonly': True}, 10382 'provisioning_state': {'readonly': True}, 10383 } 10384 10385 _attribute_map = { 10386 'id': {'key': 'id', 'type': 'str'}, 10387 'name': {'key': 'name', 'type': 'str'}, 10388 'etag': {'key': 'etag', 'type': 'str'}, 10389 'type': {'key': 'type', 'type': 'str'}, 10390 'routes': {'key': 'properties.routes', 'type': '[HubRoute]'}, 10391 'labels': {'key': 'properties.labels', 'type': '[str]'}, 10392 'associated_connections': {'key': 'properties.associatedConnections', 'type': '[str]'}, 10393 'propagating_connections': {'key': 'properties.propagatingConnections', 'type': '[str]'}, 10394 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10395 } 10396 10397 def __init__( 10398 self, 10399 *, 10400 id: Optional[str] = None, 10401 name: Optional[str] = None, 10402 routes: Optional[List["HubRoute"]] = None, 10403 labels: Optional[List[str]] = None, 10404 **kwargs 10405 ): 10406 super(HubRouteTable, self).__init__(id=id, **kwargs) 10407 self.name = name 10408 self.etag = None 10409 self.type = None 10410 self.routes = routes 10411 self.labels = labels 10412 self.associated_connections = None 10413 self.propagating_connections = None 10414 self.provisioning_state = None 10415 10416 10417class HubVirtualNetworkConnection(SubResource): 10418 """HubVirtualNetworkConnection Resource. 10419 10420 Variables are only populated by the server, and will be ignored when sending a request. 10421 10422 :param id: Resource ID. 10423 :type id: str 10424 :param name: The name of the resource that is unique within a resource group. This name can be 10425 used to access the resource. 10426 :type name: str 10427 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10428 :vartype etag: str 10429 :param remote_virtual_network: Reference to the remote virtual network. 10430 :type remote_virtual_network: ~azure.mgmt.network.v2020_04_01.models.SubResource 10431 :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit to enabled or not. 10432 :type allow_hub_to_remote_vnet_transit: bool 10433 :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use Virtual Hub's 10434 gateways. 10435 :type allow_remote_vnet_to_use_hub_vnet_gateways: bool 10436 :param enable_internet_security: Enable internet security. 10437 :type enable_internet_security: bool 10438 :param routing_configuration: The Routing Configuration indicating the associated and 10439 propagated route tables on this connection. 10440 :type routing_configuration: ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration 10441 :ivar provisioning_state: The provisioning state of the hub virtual network connection 10442 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 10443 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10444 """ 10445 10446 _validation = { 10447 'etag': {'readonly': True}, 10448 'provisioning_state': {'readonly': True}, 10449 } 10450 10451 _attribute_map = { 10452 'id': {'key': 'id', 'type': 'str'}, 10453 'name': {'key': 'name', 'type': 'str'}, 10454 'etag': {'key': 'etag', 'type': 'str'}, 10455 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 10456 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, 10457 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, 10458 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 10459 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, 10460 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10461 } 10462 10463 def __init__( 10464 self, 10465 *, 10466 id: Optional[str] = None, 10467 name: Optional[str] = None, 10468 remote_virtual_network: Optional["SubResource"] = None, 10469 allow_hub_to_remote_vnet_transit: Optional[bool] = None, 10470 allow_remote_vnet_to_use_hub_vnet_gateways: Optional[bool] = None, 10471 enable_internet_security: Optional[bool] = None, 10472 routing_configuration: Optional["RoutingConfiguration"] = None, 10473 **kwargs 10474 ): 10475 super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) 10476 self.name = name 10477 self.etag = None 10478 self.remote_virtual_network = remote_virtual_network 10479 self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit 10480 self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways 10481 self.enable_internet_security = enable_internet_security 10482 self.routing_configuration = routing_configuration 10483 self.provisioning_state = None 10484 10485 10486class InboundNatPool(SubResource): 10487 """Inbound NAT pool of the load balancer. 10488 10489 Variables are only populated by the server, and will be ignored when sending a request. 10490 10491 :param id: Resource ID. 10492 :type id: str 10493 :param name: The name of the resource that is unique within the set of inbound NAT pools used 10494 by the load balancer. This name can be used to access the resource. 10495 :type name: str 10496 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10497 :vartype etag: str 10498 :ivar type: Type of the resource. 10499 :vartype type: str 10500 :param frontend_ip_configuration: A reference to frontend IP addresses. 10501 :type frontend_ip_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 10502 :param protocol: The reference to the transport protocol used by the inbound NAT pool. Possible 10503 values include: "Udp", "Tcp", "All". 10504 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.TransportProtocol 10505 :param frontend_port_range_start: The first port number in the range of external ports that 10506 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 10507 range between 1 and 65534. 10508 :type frontend_port_range_start: int 10509 :param frontend_port_range_end: The last port number in the range of external ports that will 10510 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 10511 between 1 and 65535. 10512 :type frontend_port_range_end: int 10513 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 10514 are between 1 and 65535. 10515 :type backend_port: int 10516 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 10517 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 10518 protocol is set to TCP. 10519 :type idle_timeout_in_minutes: int 10520 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 10521 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 10522 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 10523 after you create the endpoint. 10524 :type enable_floating_ip: bool 10525 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 10526 connection termination. This element is only used when the protocol is set to TCP. 10527 :type enable_tcp_reset: bool 10528 :ivar provisioning_state: The provisioning state of the inbound NAT pool resource. Possible 10529 values include: "Succeeded", "Updating", "Deleting", "Failed". 10530 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10531 """ 10532 10533 _validation = { 10534 'etag': {'readonly': True}, 10535 'type': {'readonly': True}, 10536 'provisioning_state': {'readonly': True}, 10537 } 10538 10539 _attribute_map = { 10540 'id': {'key': 'id', 'type': 'str'}, 10541 'name': {'key': 'name', 'type': 'str'}, 10542 'etag': {'key': 'etag', 'type': 'str'}, 10543 'type': {'key': 'type', 'type': 'str'}, 10544 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 10545 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 10546 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 10547 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 10548 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 10549 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 10550 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 10551 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 10552 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10553 } 10554 10555 def __init__( 10556 self, 10557 *, 10558 id: Optional[str] = None, 10559 name: Optional[str] = None, 10560 frontend_ip_configuration: Optional["SubResource"] = None, 10561 protocol: Optional[Union[str, "TransportProtocol"]] = None, 10562 frontend_port_range_start: Optional[int] = None, 10563 frontend_port_range_end: Optional[int] = None, 10564 backend_port: Optional[int] = None, 10565 idle_timeout_in_minutes: Optional[int] = None, 10566 enable_floating_ip: Optional[bool] = None, 10567 enable_tcp_reset: Optional[bool] = None, 10568 **kwargs 10569 ): 10570 super(InboundNatPool, self).__init__(id=id, **kwargs) 10571 self.name = name 10572 self.etag = None 10573 self.type = None 10574 self.frontend_ip_configuration = frontend_ip_configuration 10575 self.protocol = protocol 10576 self.frontend_port_range_start = frontend_port_range_start 10577 self.frontend_port_range_end = frontend_port_range_end 10578 self.backend_port = backend_port 10579 self.idle_timeout_in_minutes = idle_timeout_in_minutes 10580 self.enable_floating_ip = enable_floating_ip 10581 self.enable_tcp_reset = enable_tcp_reset 10582 self.provisioning_state = None 10583 10584 10585class InboundNatRule(SubResource): 10586 """Inbound NAT rule of the load balancer. 10587 10588 Variables are only populated by the server, and will be ignored when sending a request. 10589 10590 :param id: Resource ID. 10591 :type id: str 10592 :param name: The name of the resource that is unique within the set of inbound NAT rules used 10593 by the load balancer. This name can be used to access the resource. 10594 :type name: str 10595 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10596 :vartype etag: str 10597 :ivar type: Type of the resource. 10598 :vartype type: str 10599 :param frontend_ip_configuration: A reference to frontend IP addresses. 10600 :type frontend_ip_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 10601 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 10602 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 10603 is forwarded to the backend IP. 10604 :vartype backend_ip_configuration: 10605 ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration 10606 :param protocol: The reference to the transport protocol used by the load balancing rule. 10607 Possible values include: "Udp", "Tcp", "All". 10608 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.TransportProtocol 10609 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 10610 unique within the Load Balancer. Acceptable values range from 1 to 65534. 10611 :type frontend_port: int 10612 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 10613 65535. 10614 :type backend_port: int 10615 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 10616 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 10617 protocol is set to TCP. 10618 :type idle_timeout_in_minutes: int 10619 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 10620 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 10621 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 10622 after you create the endpoint. 10623 :type enable_floating_ip: bool 10624 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 10625 connection termination. This element is only used when the protocol is set to TCP. 10626 :type enable_tcp_reset: bool 10627 :ivar provisioning_state: The provisioning state of the inbound NAT rule resource. Possible 10628 values include: "Succeeded", "Updating", "Deleting", "Failed". 10629 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10630 """ 10631 10632 _validation = { 10633 'etag': {'readonly': True}, 10634 'type': {'readonly': True}, 10635 'backend_ip_configuration': {'readonly': True}, 10636 'provisioning_state': {'readonly': True}, 10637 } 10638 10639 _attribute_map = { 10640 'id': {'key': 'id', 'type': 'str'}, 10641 'name': {'key': 'name', 'type': 'str'}, 10642 'etag': {'key': 'etag', 'type': 'str'}, 10643 'type': {'key': 'type', 'type': 'str'}, 10644 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 10645 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 10646 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 10647 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 10648 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 10649 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 10650 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 10651 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 10652 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10653 } 10654 10655 def __init__( 10656 self, 10657 *, 10658 id: Optional[str] = None, 10659 name: Optional[str] = None, 10660 frontend_ip_configuration: Optional["SubResource"] = None, 10661 protocol: Optional[Union[str, "TransportProtocol"]] = None, 10662 frontend_port: Optional[int] = None, 10663 backend_port: Optional[int] = None, 10664 idle_timeout_in_minutes: Optional[int] = None, 10665 enable_floating_ip: Optional[bool] = None, 10666 enable_tcp_reset: Optional[bool] = None, 10667 **kwargs 10668 ): 10669 super(InboundNatRule, self).__init__(id=id, **kwargs) 10670 self.name = name 10671 self.etag = None 10672 self.type = None 10673 self.frontend_ip_configuration = frontend_ip_configuration 10674 self.backend_ip_configuration = None 10675 self.protocol = protocol 10676 self.frontend_port = frontend_port 10677 self.backend_port = backend_port 10678 self.idle_timeout_in_minutes = idle_timeout_in_minutes 10679 self.enable_floating_ip = enable_floating_ip 10680 self.enable_tcp_reset = enable_tcp_reset 10681 self.provisioning_state = None 10682 10683 10684class InboundNatRuleListResult(msrest.serialization.Model): 10685 """Response for ListInboundNatRule API service call. 10686 10687 Variables are only populated by the server, and will be ignored when sending a request. 10688 10689 :param value: A list of inbound nat rules in a load balancer. 10690 :type value: list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] 10691 :ivar next_link: The URL to get the next set of results. 10692 :vartype next_link: str 10693 """ 10694 10695 _validation = { 10696 'next_link': {'readonly': True}, 10697 } 10698 10699 _attribute_map = { 10700 'value': {'key': 'value', 'type': '[InboundNatRule]'}, 10701 'next_link': {'key': 'nextLink', 'type': 'str'}, 10702 } 10703 10704 def __init__( 10705 self, 10706 *, 10707 value: Optional[List["InboundNatRule"]] = None, 10708 **kwargs 10709 ): 10710 super(InboundNatRuleListResult, self).__init__(**kwargs) 10711 self.value = value 10712 self.next_link = None 10713 10714 10715class IPAddressAvailabilityResult(msrest.serialization.Model): 10716 """Response for CheckIPAddressAvailability API service call. 10717 10718 :param available: Private IP address availability. 10719 :type available: bool 10720 :param available_ip_addresses: Contains other available private IP addresses if the asked for 10721 address is taken. 10722 :type available_ip_addresses: list[str] 10723 """ 10724 10725 _attribute_map = { 10726 'available': {'key': 'available', 'type': 'bool'}, 10727 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 10728 } 10729 10730 def __init__( 10731 self, 10732 *, 10733 available: Optional[bool] = None, 10734 available_ip_addresses: Optional[List[str]] = None, 10735 **kwargs 10736 ): 10737 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 10738 self.available = available 10739 self.available_ip_addresses = available_ip_addresses 10740 10741 10742class IpAllocation(Resource): 10743 """IpAllocation resource. 10744 10745 Variables are only populated by the server, and will be ignored when sending a request. 10746 10747 :param id: Resource ID. 10748 :type id: str 10749 :ivar name: Resource name. 10750 :vartype name: str 10751 :ivar type: Resource type. 10752 :vartype type: str 10753 :param location: Resource location. 10754 :type location: str 10755 :param tags: A set of tags. Resource tags. 10756 :type tags: dict[str, str] 10757 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10758 :vartype etag: str 10759 :ivar subnet: The Subnet that using the prefix of this IpAllocation resource. 10760 :vartype subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 10761 :ivar virtual_network: The VirtualNetwork that using the prefix of this IpAllocation resource. 10762 :vartype virtual_network: ~azure.mgmt.network.v2020_04_01.models.SubResource 10763 :param type_properties_type: The type for the IpAllocation. Possible values include: 10764 "Undefined", "Hypernet". 10765 :type type_properties_type: str or ~azure.mgmt.network.v2020_04_01.models.IpAllocationType 10766 :param prefix: The address prefix for the IpAllocation. 10767 :type prefix: str 10768 :param prefix_length: The address prefix length for the IpAllocation. 10769 :type prefix_length: int 10770 :param prefix_type: The address prefix Type for the IpAllocation. Possible values include: 10771 "IPv4", "IPv6". 10772 :type prefix_type: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 10773 :param ipam_allocation_id: The IPAM allocation ID. 10774 :type ipam_allocation_id: str 10775 :param allocation_tags: IpAllocation tags. 10776 :type allocation_tags: dict[str, str] 10777 """ 10778 10779 _validation = { 10780 'name': {'readonly': True}, 10781 'type': {'readonly': True}, 10782 'etag': {'readonly': True}, 10783 'subnet': {'readonly': True}, 10784 'virtual_network': {'readonly': True}, 10785 } 10786 10787 _attribute_map = { 10788 'id': {'key': 'id', 'type': 'str'}, 10789 'name': {'key': 'name', 'type': 'str'}, 10790 'type': {'key': 'type', 'type': 'str'}, 10791 'location': {'key': 'location', 'type': 'str'}, 10792 'tags': {'key': 'tags', 'type': '{str}'}, 10793 'etag': {'key': 'etag', 'type': 'str'}, 10794 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 10795 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, 10796 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 10797 'prefix': {'key': 'properties.prefix', 'type': 'str'}, 10798 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, 10799 'prefix_type': {'key': 'properties.prefixType', 'type': 'str'}, 10800 'ipam_allocation_id': {'key': 'properties.ipamAllocationId', 'type': 'str'}, 10801 'allocation_tags': {'key': 'properties.allocationTags', 'type': '{str}'}, 10802 } 10803 10804 def __init__( 10805 self, 10806 *, 10807 id: Optional[str] = None, 10808 location: Optional[str] = None, 10809 tags: Optional[Dict[str, str]] = None, 10810 type_properties_type: Optional[Union[str, "IpAllocationType"]] = None, 10811 prefix: Optional[str] = None, 10812 prefix_length: Optional[int] = 0, 10813 prefix_type: Optional[Union[str, "IPVersion"]] = None, 10814 ipam_allocation_id: Optional[str] = None, 10815 allocation_tags: Optional[Dict[str, str]] = None, 10816 **kwargs 10817 ): 10818 super(IpAllocation, self).__init__(id=id, location=location, tags=tags, **kwargs) 10819 self.etag = None 10820 self.subnet = None 10821 self.virtual_network = None 10822 self.type_properties_type = type_properties_type 10823 self.prefix = prefix 10824 self.prefix_length = prefix_length 10825 self.prefix_type = prefix_type 10826 self.ipam_allocation_id = ipam_allocation_id 10827 self.allocation_tags = allocation_tags 10828 10829 10830class IpAllocationListResult(msrest.serialization.Model): 10831 """Response for the ListIpAllocations API service call. 10832 10833 :param value: A list of IpAllocation resources. 10834 :type value: list[~azure.mgmt.network.v2020_04_01.models.IpAllocation] 10835 :param next_link: The URL to get the next set of results. 10836 :type next_link: str 10837 """ 10838 10839 _attribute_map = { 10840 'value': {'key': 'value', 'type': '[IpAllocation]'}, 10841 'next_link': {'key': 'nextLink', 'type': 'str'}, 10842 } 10843 10844 def __init__( 10845 self, 10846 *, 10847 value: Optional[List["IpAllocation"]] = None, 10848 next_link: Optional[str] = None, 10849 **kwargs 10850 ): 10851 super(IpAllocationListResult, self).__init__(**kwargs) 10852 self.value = value 10853 self.next_link = next_link 10854 10855 10856class IPConfiguration(SubResource): 10857 """IP configuration. 10858 10859 Variables are only populated by the server, and will be ignored when sending a request. 10860 10861 :param id: Resource ID. 10862 :type id: str 10863 :param name: The name of the resource that is unique within a resource group. This name can be 10864 used to access the resource. 10865 :type name: str 10866 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10867 :vartype etag: str 10868 :param private_ip_address: The private IP address of the IP configuration. 10869 :type private_ip_address: str 10870 :param private_ip_allocation_method: The private IP address allocation method. Possible values 10871 include: "Static", "Dynamic". 10872 :type private_ip_allocation_method: str or 10873 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 10874 :param subnet: The reference to the subnet resource. 10875 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 10876 :param public_ip_address: The reference to the public IP resource. 10877 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress 10878 :ivar provisioning_state: The provisioning state of the IP configuration resource. Possible 10879 values include: "Succeeded", "Updating", "Deleting", "Failed". 10880 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10881 """ 10882 10883 _validation = { 10884 'etag': {'readonly': True}, 10885 'provisioning_state': {'readonly': True}, 10886 } 10887 10888 _attribute_map = { 10889 'id': {'key': 'id', 'type': 'str'}, 10890 'name': {'key': 'name', 'type': 'str'}, 10891 'etag': {'key': 'etag', 'type': 'str'}, 10892 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 10893 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 10894 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 10895 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 10896 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10897 } 10898 10899 def __init__( 10900 self, 10901 *, 10902 id: Optional[str] = None, 10903 name: Optional[str] = None, 10904 private_ip_address: Optional[str] = None, 10905 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 10906 subnet: Optional["Subnet"] = None, 10907 public_ip_address: Optional["PublicIPAddress"] = None, 10908 **kwargs 10909 ): 10910 super(IPConfiguration, self).__init__(id=id, **kwargs) 10911 self.name = name 10912 self.etag = None 10913 self.private_ip_address = private_ip_address 10914 self.private_ip_allocation_method = private_ip_allocation_method 10915 self.subnet = subnet 10916 self.public_ip_address = public_ip_address 10917 self.provisioning_state = None 10918 10919 10920class IPConfigurationBgpPeeringAddress(msrest.serialization.Model): 10921 """Properties of IPConfigurationBgpPeeringAddress. 10922 10923 Variables are only populated by the server, and will be ignored when sending a request. 10924 10925 :param ipconfiguration_id: The ID of IP configuration which belongs to gateway. 10926 :type ipconfiguration_id: str 10927 :ivar default_bgp_ip_addresses: The list of default BGP peering addresses which belong to IP 10928 configuration. 10929 :vartype default_bgp_ip_addresses: list[str] 10930 :param custom_bgp_ip_addresses: The list of custom BGP peering addresses which belong to IP 10931 configuration. 10932 :type custom_bgp_ip_addresses: list[str] 10933 :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which belong to IP 10934 configuration. 10935 :vartype tunnel_ip_addresses: list[str] 10936 """ 10937 10938 _validation = { 10939 'default_bgp_ip_addresses': {'readonly': True}, 10940 'tunnel_ip_addresses': {'readonly': True}, 10941 } 10942 10943 _attribute_map = { 10944 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, 10945 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, 10946 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, 10947 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, 10948 } 10949 10950 def __init__( 10951 self, 10952 *, 10953 ipconfiguration_id: Optional[str] = None, 10954 custom_bgp_ip_addresses: Optional[List[str]] = None, 10955 **kwargs 10956 ): 10957 super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) 10958 self.ipconfiguration_id = ipconfiguration_id 10959 self.default_bgp_ip_addresses = None 10960 self.custom_bgp_ip_addresses = custom_bgp_ip_addresses 10961 self.tunnel_ip_addresses = None 10962 10963 10964class IPConfigurationProfile(SubResource): 10965 """IP configuration profile child resource. 10966 10967 Variables are only populated by the server, and will be ignored when sending a request. 10968 10969 :param id: Resource ID. 10970 :type id: str 10971 :param name: The name of the resource. This name can be used to access the resource. 10972 :type name: str 10973 :ivar type: Sub Resource type. 10974 :vartype type: str 10975 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10976 :vartype etag: str 10977 :param subnet: The reference to the subnet resource to create a container network interface ip 10978 configuration. 10979 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 10980 :ivar provisioning_state: The provisioning state of the IP configuration profile resource. 10981 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 10982 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 10983 """ 10984 10985 _validation = { 10986 'type': {'readonly': True}, 10987 'etag': {'readonly': True}, 10988 'provisioning_state': {'readonly': True}, 10989 } 10990 10991 _attribute_map = { 10992 'id': {'key': 'id', 'type': 'str'}, 10993 'name': {'key': 'name', 'type': 'str'}, 10994 'type': {'key': 'type', 'type': 'str'}, 10995 'etag': {'key': 'etag', 'type': 'str'}, 10996 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 10997 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10998 } 10999 11000 def __init__( 11001 self, 11002 *, 11003 id: Optional[str] = None, 11004 name: Optional[str] = None, 11005 subnet: Optional["Subnet"] = None, 11006 **kwargs 11007 ): 11008 super(IPConfigurationProfile, self).__init__(id=id, **kwargs) 11009 self.name = name 11010 self.type = None 11011 self.etag = None 11012 self.subnet = subnet 11013 self.provisioning_state = None 11014 11015 11016class IpGroup(Resource): 11017 """The IpGroups resource information. 11018 11019 Variables are only populated by the server, and will be ignored when sending a request. 11020 11021 :param id: Resource ID. 11022 :type id: str 11023 :ivar name: Resource name. 11024 :vartype name: str 11025 :ivar type: Resource type. 11026 :vartype type: str 11027 :param location: Resource location. 11028 :type location: str 11029 :param tags: A set of tags. Resource tags. 11030 :type tags: dict[str, str] 11031 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11032 :vartype etag: str 11033 :ivar provisioning_state: The provisioning state of the IpGroups resource. Possible values 11034 include: "Succeeded", "Updating", "Deleting", "Failed". 11035 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 11036 :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups resource. 11037 :type ip_addresses: list[str] 11038 :ivar firewalls: List of references to Azure resources that this IpGroups is associated with. 11039 :vartype firewalls: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 11040 """ 11041 11042 _validation = { 11043 'name': {'readonly': True}, 11044 'type': {'readonly': True}, 11045 'etag': {'readonly': True}, 11046 'provisioning_state': {'readonly': True}, 11047 'firewalls': {'readonly': True}, 11048 } 11049 11050 _attribute_map = { 11051 'id': {'key': 'id', 'type': 'str'}, 11052 'name': {'key': 'name', 'type': 'str'}, 11053 'type': {'key': 'type', 'type': 'str'}, 11054 'location': {'key': 'location', 'type': 'str'}, 11055 'tags': {'key': 'tags', 'type': '{str}'}, 11056 'etag': {'key': 'etag', 'type': 'str'}, 11057 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11058 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, 11059 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, 11060 } 11061 11062 def __init__( 11063 self, 11064 *, 11065 id: Optional[str] = None, 11066 location: Optional[str] = None, 11067 tags: Optional[Dict[str, str]] = None, 11068 ip_addresses: Optional[List[str]] = None, 11069 **kwargs 11070 ): 11071 super(IpGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 11072 self.etag = None 11073 self.provisioning_state = None 11074 self.ip_addresses = ip_addresses 11075 self.firewalls = None 11076 11077 11078class IpGroupListResult(msrest.serialization.Model): 11079 """Response for the ListIpGroups API service call. 11080 11081 :param value: The list of IpGroups information resources. 11082 :type value: list[~azure.mgmt.network.v2020_04_01.models.IpGroup] 11083 :param next_link: URL to get the next set of results. 11084 :type next_link: str 11085 """ 11086 11087 _attribute_map = { 11088 'value': {'key': 'value', 'type': '[IpGroup]'}, 11089 'next_link': {'key': 'nextLink', 'type': 'str'}, 11090 } 11091 11092 def __init__( 11093 self, 11094 *, 11095 value: Optional[List["IpGroup"]] = None, 11096 next_link: Optional[str] = None, 11097 **kwargs 11098 ): 11099 super(IpGroupListResult, self).__init__(**kwargs) 11100 self.value = value 11101 self.next_link = next_link 11102 11103 11104class IpsecPolicy(msrest.serialization.Model): 11105 """An IPSec Policy configuration for a virtual network gateway connection. 11106 11107 All required parameters must be populated in order to send to Azure. 11108 11109 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 11110 or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 11111 :type sa_life_time_seconds: int 11112 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 11113 or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 11114 :type sa_data_size_kilobytes: int 11115 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 11116 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 11117 "GCMAES256". 11118 :type ipsec_encryption: str or ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption 11119 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 11120 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 11121 :type ipsec_integrity: str or ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity 11122 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 11123 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 11124 :type ike_encryption: str or ~azure.mgmt.network.v2020_04_01.models.IkeEncryption 11125 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 11126 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 11127 :type ike_integrity: str or ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity 11128 :param dh_group: Required. The DH Group used in IKE Phase 1 for initial SA. Possible values 11129 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 11130 "DHGroup24". 11131 :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup 11132 :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new child SA. Possible values 11133 include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM". 11134 :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup 11135 """ 11136 11137 _validation = { 11138 'sa_life_time_seconds': {'required': True}, 11139 'sa_data_size_kilobytes': {'required': True}, 11140 'ipsec_encryption': {'required': True}, 11141 'ipsec_integrity': {'required': True}, 11142 'ike_encryption': {'required': True}, 11143 'ike_integrity': {'required': True}, 11144 'dh_group': {'required': True}, 11145 'pfs_group': {'required': True}, 11146 } 11147 11148 _attribute_map = { 11149 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 11150 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 11151 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 11152 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 11153 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 11154 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 11155 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 11156 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 11157 } 11158 11159 def __init__( 11160 self, 11161 *, 11162 sa_life_time_seconds: int, 11163 sa_data_size_kilobytes: int, 11164 ipsec_encryption: Union[str, "IpsecEncryption"], 11165 ipsec_integrity: Union[str, "IpsecIntegrity"], 11166 ike_encryption: Union[str, "IkeEncryption"], 11167 ike_integrity: Union[str, "IkeIntegrity"], 11168 dh_group: Union[str, "DhGroup"], 11169 pfs_group: Union[str, "PfsGroup"], 11170 **kwargs 11171 ): 11172 super(IpsecPolicy, self).__init__(**kwargs) 11173 self.sa_life_time_seconds = sa_life_time_seconds 11174 self.sa_data_size_kilobytes = sa_data_size_kilobytes 11175 self.ipsec_encryption = ipsec_encryption 11176 self.ipsec_integrity = ipsec_integrity 11177 self.ike_encryption = ike_encryption 11178 self.ike_integrity = ike_integrity 11179 self.dh_group = dh_group 11180 self.pfs_group = pfs_group 11181 11182 11183class IpTag(msrest.serialization.Model): 11184 """Contains the IpTag associated with the object. 11185 11186 :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. 11187 :type ip_tag_type: str 11188 :param tag: The value of the IP tag associated with the public IP. Example: SQL. 11189 :type tag: str 11190 """ 11191 11192 _attribute_map = { 11193 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 11194 'tag': {'key': 'tag', 'type': 'str'}, 11195 } 11196 11197 def __init__( 11198 self, 11199 *, 11200 ip_tag_type: Optional[str] = None, 11201 tag: Optional[str] = None, 11202 **kwargs 11203 ): 11204 super(IpTag, self).__init__(**kwargs) 11205 self.ip_tag_type = ip_tag_type 11206 self.tag = tag 11207 11208 11209class Ipv6CircuitConnectionConfig(msrest.serialization.Model): 11210 """IPv6 Circuit Connection properties for global reach. 11211 11212 Variables are only populated by the server, and will be ignored when sending a request. 11213 11214 :param address_prefix: /125 IP address space to carve out customer addresses for global reach. 11215 :type address_prefix: str 11216 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 11217 include: "Connected", "Connecting", "Disconnected". 11218 :vartype circuit_connection_status: str or 11219 ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus 11220 """ 11221 11222 _validation = { 11223 'circuit_connection_status': {'readonly': True}, 11224 } 11225 11226 _attribute_map = { 11227 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, 11228 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, 11229 } 11230 11231 def __init__( 11232 self, 11233 *, 11234 address_prefix: Optional[str] = None, 11235 **kwargs 11236 ): 11237 super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) 11238 self.address_prefix = address_prefix 11239 self.circuit_connection_status = None 11240 11241 11242class Ipv6ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 11243 """Contains IPv6 peering config. 11244 11245 :param primary_peer_address_prefix: The primary address prefix. 11246 :type primary_peer_address_prefix: str 11247 :param secondary_peer_address_prefix: The secondary address prefix. 11248 :type secondary_peer_address_prefix: str 11249 :param microsoft_peering_config: The Microsoft peering configuration. 11250 :type microsoft_peering_config: 11251 ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringConfig 11252 :param route_filter: The reference to the RouteFilter resource. 11253 :type route_filter: ~azure.mgmt.network.v2020_04_01.models.SubResource 11254 :param state: The state of peering. Possible values include: "Disabled", "Enabled". 11255 :type state: str or ~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeeringState 11256 """ 11257 11258 _attribute_map = { 11259 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, 11260 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, 11261 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 11262 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, 11263 'state': {'key': 'state', 'type': 'str'}, 11264 } 11265 11266 def __init__( 11267 self, 11268 *, 11269 primary_peer_address_prefix: Optional[str] = None, 11270 secondary_peer_address_prefix: Optional[str] = None, 11271 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 11272 route_filter: Optional["SubResource"] = None, 11273 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 11274 **kwargs 11275 ): 11276 super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 11277 self.primary_peer_address_prefix = primary_peer_address_prefix 11278 self.secondary_peer_address_prefix = secondary_peer_address_prefix 11279 self.microsoft_peering_config = microsoft_peering_config 11280 self.route_filter = route_filter 11281 self.state = state 11282 11283 11284class ListHubRouteTablesResult(msrest.serialization.Model): 11285 """List of RouteTables and a URL nextLink to get the next set of results. 11286 11287 :param value: List of RouteTables. 11288 :type value: list[~azure.mgmt.network.v2020_04_01.models.HubRouteTable] 11289 :param next_link: URL to get the next set of operation list results if there are any. 11290 :type next_link: str 11291 """ 11292 11293 _attribute_map = { 11294 'value': {'key': 'value', 'type': '[HubRouteTable]'}, 11295 'next_link': {'key': 'nextLink', 'type': 'str'}, 11296 } 11297 11298 def __init__( 11299 self, 11300 *, 11301 value: Optional[List["HubRouteTable"]] = None, 11302 next_link: Optional[str] = None, 11303 **kwargs 11304 ): 11305 super(ListHubRouteTablesResult, self).__init__(**kwargs) 11306 self.value = value 11307 self.next_link = next_link 11308 11309 11310class ListHubVirtualNetworkConnectionsResult(msrest.serialization.Model): 11311 """List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 11312 11313 :param value: List of HubVirtualNetworkConnections. 11314 :type value: list[~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection] 11315 :param next_link: URL to get the next set of operation list results if there are any. 11316 :type next_link: str 11317 """ 11318 11319 _attribute_map = { 11320 'value': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'}, 11321 'next_link': {'key': 'nextLink', 'type': 'str'}, 11322 } 11323 11324 def __init__( 11325 self, 11326 *, 11327 value: Optional[List["HubVirtualNetworkConnection"]] = None, 11328 next_link: Optional[str] = None, 11329 **kwargs 11330 ): 11331 super(ListHubVirtualNetworkConnectionsResult, self).__init__(**kwargs) 11332 self.value = value 11333 self.next_link = next_link 11334 11335 11336class ListP2SVpnGatewaysResult(msrest.serialization.Model): 11337 """Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results. 11338 11339 :param value: List of P2SVpnGateways. 11340 :type value: list[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] 11341 :param next_link: URL to get the next set of operation list results if there are any. 11342 :type next_link: str 11343 """ 11344 11345 _attribute_map = { 11346 'value': {'key': 'value', 'type': '[P2SVpnGateway]'}, 11347 'next_link': {'key': 'nextLink', 'type': 'str'}, 11348 } 11349 11350 def __init__( 11351 self, 11352 *, 11353 value: Optional[List["P2SVpnGateway"]] = None, 11354 next_link: Optional[str] = None, 11355 **kwargs 11356 ): 11357 super(ListP2SVpnGatewaysResult, self).__init__(**kwargs) 11358 self.value = value 11359 self.next_link = next_link 11360 11361 11362class ListVirtualHubRouteTableV2SResult(msrest.serialization.Model): 11363 """List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. 11364 11365 :param value: List of VirtualHubRouteTableV2s. 11366 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] 11367 :param next_link: URL to get the next set of operation list results if there are any. 11368 :type next_link: str 11369 """ 11370 11371 _attribute_map = { 11372 'value': {'key': 'value', 'type': '[VirtualHubRouteTableV2]'}, 11373 'next_link': {'key': 'nextLink', 'type': 'str'}, 11374 } 11375 11376 def __init__( 11377 self, 11378 *, 11379 value: Optional[List["VirtualHubRouteTableV2"]] = None, 11380 next_link: Optional[str] = None, 11381 **kwargs 11382 ): 11383 super(ListVirtualHubRouteTableV2SResult, self).__init__(**kwargs) 11384 self.value = value 11385 self.next_link = next_link 11386 11387 11388class ListVirtualHubsResult(msrest.serialization.Model): 11389 """Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 11390 11391 :param value: List of VirtualHubs. 11392 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualHub] 11393 :param next_link: URL to get the next set of operation list results if there are any. 11394 :type next_link: str 11395 """ 11396 11397 _attribute_map = { 11398 'value': {'key': 'value', 'type': '[VirtualHub]'}, 11399 'next_link': {'key': 'nextLink', 'type': 'str'}, 11400 } 11401 11402 def __init__( 11403 self, 11404 *, 11405 value: Optional[List["VirtualHub"]] = None, 11406 next_link: Optional[str] = None, 11407 **kwargs 11408 ): 11409 super(ListVirtualHubsResult, self).__init__(**kwargs) 11410 self.value = value 11411 self.next_link = next_link 11412 11413 11414class ListVirtualWANsResult(msrest.serialization.Model): 11415 """Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 11416 11417 :param value: List of VirtualWANs. 11418 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualWAN] 11419 :param next_link: URL to get the next set of operation list results if there are any. 11420 :type next_link: str 11421 """ 11422 11423 _attribute_map = { 11424 'value': {'key': 'value', 'type': '[VirtualWAN]'}, 11425 'next_link': {'key': 'nextLink', 'type': 'str'}, 11426 } 11427 11428 def __init__( 11429 self, 11430 *, 11431 value: Optional[List["VirtualWAN"]] = None, 11432 next_link: Optional[str] = None, 11433 **kwargs 11434 ): 11435 super(ListVirtualWANsResult, self).__init__(**kwargs) 11436 self.value = value 11437 self.next_link = next_link 11438 11439 11440class ListVpnConnectionsResult(msrest.serialization.Model): 11441 """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. 11442 11443 :param value: List of Vpn Connections. 11444 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnConnection] 11445 :param next_link: URL to get the next set of operation list results if there are any. 11446 :type next_link: str 11447 """ 11448 11449 _attribute_map = { 11450 'value': {'key': 'value', 'type': '[VpnConnection]'}, 11451 'next_link': {'key': 'nextLink', 'type': 'str'}, 11452 } 11453 11454 def __init__( 11455 self, 11456 *, 11457 value: Optional[List["VpnConnection"]] = None, 11458 next_link: Optional[str] = None, 11459 **kwargs 11460 ): 11461 super(ListVpnConnectionsResult, self).__init__(**kwargs) 11462 self.value = value 11463 self.next_link = next_link 11464 11465 11466class ListVpnGatewaysResult(msrest.serialization.Model): 11467 """Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 11468 11469 :param value: List of VpnGateways. 11470 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnGateway] 11471 :param next_link: URL to get the next set of operation list results if there are any. 11472 :type next_link: str 11473 """ 11474 11475 _attribute_map = { 11476 'value': {'key': 'value', 'type': '[VpnGateway]'}, 11477 'next_link': {'key': 'nextLink', 'type': 'str'}, 11478 } 11479 11480 def __init__( 11481 self, 11482 *, 11483 value: Optional[List["VpnGateway"]] = None, 11484 next_link: Optional[str] = None, 11485 **kwargs 11486 ): 11487 super(ListVpnGatewaysResult, self).__init__(**kwargs) 11488 self.value = value 11489 self.next_link = next_link 11490 11491 11492class ListVpnServerConfigurationsResult(msrest.serialization.Model): 11493 """Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results. 11494 11495 :param value: List of VpnServerConfigurations. 11496 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfiguration] 11497 :param next_link: URL to get the next set of operation list results if there are any. 11498 :type next_link: str 11499 """ 11500 11501 _attribute_map = { 11502 'value': {'key': 'value', 'type': '[VpnServerConfiguration]'}, 11503 'next_link': {'key': 'nextLink', 'type': 'str'}, 11504 } 11505 11506 def __init__( 11507 self, 11508 *, 11509 value: Optional[List["VpnServerConfiguration"]] = None, 11510 next_link: Optional[str] = None, 11511 **kwargs 11512 ): 11513 super(ListVpnServerConfigurationsResult, self).__init__(**kwargs) 11514 self.value = value 11515 self.next_link = next_link 11516 11517 11518class ListVpnSiteLinkConnectionsResult(msrest.serialization.Model): 11519 """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. 11520 11521 :param value: List of VpnSiteLinkConnections. 11522 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection] 11523 :param next_link: URL to get the next set of operation list results if there are any. 11524 :type next_link: str 11525 """ 11526 11527 _attribute_map = { 11528 'value': {'key': 'value', 'type': '[VpnSiteLinkConnection]'}, 11529 'next_link': {'key': 'nextLink', 'type': 'str'}, 11530 } 11531 11532 def __init__( 11533 self, 11534 *, 11535 value: Optional[List["VpnSiteLinkConnection"]] = None, 11536 next_link: Optional[str] = None, 11537 **kwargs 11538 ): 11539 super(ListVpnSiteLinkConnectionsResult, self).__init__(**kwargs) 11540 self.value = value 11541 self.next_link = next_link 11542 11543 11544class ListVpnSiteLinksResult(msrest.serialization.Model): 11545 """Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results. 11546 11547 :param value: List of VpnSitesLinks. 11548 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLink] 11549 :param next_link: URL to get the next set of operation list results if there are any. 11550 :type next_link: str 11551 """ 11552 11553 _attribute_map = { 11554 'value': {'key': 'value', 'type': '[VpnSiteLink]'}, 11555 'next_link': {'key': 'nextLink', 'type': 'str'}, 11556 } 11557 11558 def __init__( 11559 self, 11560 *, 11561 value: Optional[List["VpnSiteLink"]] = None, 11562 next_link: Optional[str] = None, 11563 **kwargs 11564 ): 11565 super(ListVpnSiteLinksResult, self).__init__(**kwargs) 11566 self.value = value 11567 self.next_link = next_link 11568 11569 11570class ListVpnSitesResult(msrest.serialization.Model): 11571 """Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 11572 11573 :param value: List of VpnSites. 11574 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnSite] 11575 :param next_link: URL to get the next set of operation list results if there are any. 11576 :type next_link: str 11577 """ 11578 11579 _attribute_map = { 11580 'value': {'key': 'value', 'type': '[VpnSite]'}, 11581 'next_link': {'key': 'nextLink', 'type': 'str'}, 11582 } 11583 11584 def __init__( 11585 self, 11586 *, 11587 value: Optional[List["VpnSite"]] = None, 11588 next_link: Optional[str] = None, 11589 **kwargs 11590 ): 11591 super(ListVpnSitesResult, self).__init__(**kwargs) 11592 self.value = value 11593 self.next_link = next_link 11594 11595 11596class LoadBalancer(Resource): 11597 """LoadBalancer resource. 11598 11599 Variables are only populated by the server, and will be ignored when sending a request. 11600 11601 :param id: Resource ID. 11602 :type id: str 11603 :ivar name: Resource name. 11604 :vartype name: str 11605 :ivar type: Resource type. 11606 :vartype type: str 11607 :param location: Resource location. 11608 :type location: str 11609 :param tags: A set of tags. Resource tags. 11610 :type tags: dict[str, str] 11611 :param sku: The load balancer SKU. 11612 :type sku: ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSku 11613 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11614 :vartype etag: str 11615 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 11616 balancer. 11617 :type frontend_ip_configurations: 11618 list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] 11619 :param backend_address_pools: Collection of backend address pools used by a load balancer. 11620 :type backend_address_pools: list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] 11621 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 11622 provisioning. 11623 :type load_balancing_rules: list[~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule] 11624 :param probes: Collection of probe objects used in the load balancer. 11625 :type probes: list[~azure.mgmt.network.v2020_04_01.models.Probe] 11626 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 11627 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 11628 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 11629 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 11630 reference individual inbound NAT rules. 11631 :type inbound_nat_rules: list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] 11632 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 11633 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 11634 each NIC associated with the Load Balancer using an external port from this range. Defining an 11635 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 11636 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 11637 individual virtual machines cannot reference an inbound NAT pool. They have to reference 11638 individual inbound NAT rules. 11639 :type inbound_nat_pools: list[~azure.mgmt.network.v2020_04_01.models.InboundNatPool] 11640 :param outbound_rules: The outbound rules. 11641 :type outbound_rules: list[~azure.mgmt.network.v2020_04_01.models.OutboundRule] 11642 :ivar resource_guid: The resource GUID property of the load balancer resource. 11643 :vartype resource_guid: str 11644 :ivar provisioning_state: The provisioning state of the load balancer resource. Possible values 11645 include: "Succeeded", "Updating", "Deleting", "Failed". 11646 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 11647 """ 11648 11649 _validation = { 11650 'name': {'readonly': True}, 11651 'type': {'readonly': True}, 11652 'etag': {'readonly': True}, 11653 'resource_guid': {'readonly': True}, 11654 'provisioning_state': {'readonly': True}, 11655 } 11656 11657 _attribute_map = { 11658 'id': {'key': 'id', 'type': 'str'}, 11659 'name': {'key': 'name', 'type': 'str'}, 11660 'type': {'key': 'type', 'type': 'str'}, 11661 'location': {'key': 'location', 'type': 'str'}, 11662 'tags': {'key': 'tags', 'type': '{str}'}, 11663 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, 11664 'etag': {'key': 'etag', 'type': 'str'}, 11665 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 11666 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 11667 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 11668 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 11669 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 11670 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 11671 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, 11672 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 11673 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11674 } 11675 11676 def __init__( 11677 self, 11678 *, 11679 id: Optional[str] = None, 11680 location: Optional[str] = None, 11681 tags: Optional[Dict[str, str]] = None, 11682 sku: Optional["LoadBalancerSku"] = None, 11683 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 11684 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 11685 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 11686 probes: Optional[List["Probe"]] = None, 11687 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 11688 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 11689 outbound_rules: Optional[List["OutboundRule"]] = None, 11690 **kwargs 11691 ): 11692 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 11693 self.sku = sku 11694 self.etag = None 11695 self.frontend_ip_configurations = frontend_ip_configurations 11696 self.backend_address_pools = backend_address_pools 11697 self.load_balancing_rules = load_balancing_rules 11698 self.probes = probes 11699 self.inbound_nat_rules = inbound_nat_rules 11700 self.inbound_nat_pools = inbound_nat_pools 11701 self.outbound_rules = outbound_rules 11702 self.resource_guid = None 11703 self.provisioning_state = None 11704 11705 11706class LoadBalancerBackendAddress(msrest.serialization.Model): 11707 """Load balancer backend addresses. 11708 11709 Variables are only populated by the server, and will be ignored when sending a request. 11710 11711 :param name: Name of the backend address. 11712 :type name: str 11713 :param virtual_network: Reference to an existing virtual network. 11714 :type virtual_network: ~azure.mgmt.network.v2020_04_01.models.SubResource 11715 :param ip_address: IP Address belonging to the referenced virtual network. 11716 :type ip_address: str 11717 :ivar network_interface_ip_configuration: Reference to IP address defined in network 11718 interfaces. 11719 :vartype network_interface_ip_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 11720 """ 11721 11722 _validation = { 11723 'network_interface_ip_configuration': {'readonly': True}, 11724 } 11725 11726 _attribute_map = { 11727 'name': {'key': 'name', 'type': 'str'}, 11728 'virtual_network': {'key': 'properties.virtualNetwork', 'type': 'SubResource'}, 11729 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 11730 'network_interface_ip_configuration': {'key': 'properties.networkInterfaceIPConfiguration', 'type': 'SubResource'}, 11731 } 11732 11733 def __init__( 11734 self, 11735 *, 11736 name: Optional[str] = None, 11737 virtual_network: Optional["SubResource"] = None, 11738 ip_address: Optional[str] = None, 11739 **kwargs 11740 ): 11741 super(LoadBalancerBackendAddress, self).__init__(**kwargs) 11742 self.name = name 11743 self.virtual_network = virtual_network 11744 self.ip_address = ip_address 11745 self.network_interface_ip_configuration = None 11746 11747 11748class LoadBalancerBackendAddressPoolListResult(msrest.serialization.Model): 11749 """Response for ListBackendAddressPool API service call. 11750 11751 Variables are only populated by the server, and will be ignored when sending a request. 11752 11753 :param value: A list of backend address pools in a load balancer. 11754 :type value: list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] 11755 :ivar next_link: The URL to get the next set of results. 11756 :vartype next_link: str 11757 """ 11758 11759 _validation = { 11760 'next_link': {'readonly': True}, 11761 } 11762 11763 _attribute_map = { 11764 'value': {'key': 'value', 'type': '[BackendAddressPool]'}, 11765 'next_link': {'key': 'nextLink', 'type': 'str'}, 11766 } 11767 11768 def __init__( 11769 self, 11770 *, 11771 value: Optional[List["BackendAddressPool"]] = None, 11772 **kwargs 11773 ): 11774 super(LoadBalancerBackendAddressPoolListResult, self).__init__(**kwargs) 11775 self.value = value 11776 self.next_link = None 11777 11778 11779class LoadBalancerFrontendIPConfigurationListResult(msrest.serialization.Model): 11780 """Response for ListFrontendIPConfiguration API service call. 11781 11782 Variables are only populated by the server, and will be ignored when sending a request. 11783 11784 :param value: A list of frontend IP configurations in a load balancer. 11785 :type value: list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] 11786 :ivar next_link: The URL to get the next set of results. 11787 :vartype next_link: str 11788 """ 11789 11790 _validation = { 11791 'next_link': {'readonly': True}, 11792 } 11793 11794 _attribute_map = { 11795 'value': {'key': 'value', 'type': '[FrontendIPConfiguration]'}, 11796 'next_link': {'key': 'nextLink', 'type': 'str'}, 11797 } 11798 11799 def __init__( 11800 self, 11801 *, 11802 value: Optional[List["FrontendIPConfiguration"]] = None, 11803 **kwargs 11804 ): 11805 super(LoadBalancerFrontendIPConfigurationListResult, self).__init__(**kwargs) 11806 self.value = value 11807 self.next_link = None 11808 11809 11810class LoadBalancerListResult(msrest.serialization.Model): 11811 """Response for ListLoadBalancers API service call. 11812 11813 Variables are only populated by the server, and will be ignored when sending a request. 11814 11815 :param value: A list of load balancers in a resource group. 11816 :type value: list[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] 11817 :ivar next_link: The URL to get the next set of results. 11818 :vartype next_link: str 11819 """ 11820 11821 _validation = { 11822 'next_link': {'readonly': True}, 11823 } 11824 11825 _attribute_map = { 11826 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 11827 'next_link': {'key': 'nextLink', 'type': 'str'}, 11828 } 11829 11830 def __init__( 11831 self, 11832 *, 11833 value: Optional[List["LoadBalancer"]] = None, 11834 **kwargs 11835 ): 11836 super(LoadBalancerListResult, self).__init__(**kwargs) 11837 self.value = value 11838 self.next_link = None 11839 11840 11841class LoadBalancerLoadBalancingRuleListResult(msrest.serialization.Model): 11842 """Response for ListLoadBalancingRule API service call. 11843 11844 Variables are only populated by the server, and will be ignored when sending a request. 11845 11846 :param value: A list of load balancing rules in a load balancer. 11847 :type value: list[~azure.mgmt.network.v2020_04_01.models.LoadBalancingRule] 11848 :ivar next_link: The URL to get the next set of results. 11849 :vartype next_link: str 11850 """ 11851 11852 _validation = { 11853 'next_link': {'readonly': True}, 11854 } 11855 11856 _attribute_map = { 11857 'value': {'key': 'value', 'type': '[LoadBalancingRule]'}, 11858 'next_link': {'key': 'nextLink', 'type': 'str'}, 11859 } 11860 11861 def __init__( 11862 self, 11863 *, 11864 value: Optional[List["LoadBalancingRule"]] = None, 11865 **kwargs 11866 ): 11867 super(LoadBalancerLoadBalancingRuleListResult, self).__init__(**kwargs) 11868 self.value = value 11869 self.next_link = None 11870 11871 11872class LoadBalancerOutboundRuleListResult(msrest.serialization.Model): 11873 """Response for ListOutboundRule API service call. 11874 11875 Variables are only populated by the server, and will be ignored when sending a request. 11876 11877 :param value: A list of outbound rules in a load balancer. 11878 :type value: list[~azure.mgmt.network.v2020_04_01.models.OutboundRule] 11879 :ivar next_link: The URL to get the next set of results. 11880 :vartype next_link: str 11881 """ 11882 11883 _validation = { 11884 'next_link': {'readonly': True}, 11885 } 11886 11887 _attribute_map = { 11888 'value': {'key': 'value', 'type': '[OutboundRule]'}, 11889 'next_link': {'key': 'nextLink', 'type': 'str'}, 11890 } 11891 11892 def __init__( 11893 self, 11894 *, 11895 value: Optional[List["OutboundRule"]] = None, 11896 **kwargs 11897 ): 11898 super(LoadBalancerOutboundRuleListResult, self).__init__(**kwargs) 11899 self.value = value 11900 self.next_link = None 11901 11902 11903class LoadBalancerProbeListResult(msrest.serialization.Model): 11904 """Response for ListProbe API service call. 11905 11906 Variables are only populated by the server, and will be ignored when sending a request. 11907 11908 :param value: A list of probes in a load balancer. 11909 :type value: list[~azure.mgmt.network.v2020_04_01.models.Probe] 11910 :ivar next_link: The URL to get the next set of results. 11911 :vartype next_link: str 11912 """ 11913 11914 _validation = { 11915 'next_link': {'readonly': True}, 11916 } 11917 11918 _attribute_map = { 11919 'value': {'key': 'value', 'type': '[Probe]'}, 11920 'next_link': {'key': 'nextLink', 'type': 'str'}, 11921 } 11922 11923 def __init__( 11924 self, 11925 *, 11926 value: Optional[List["Probe"]] = None, 11927 **kwargs 11928 ): 11929 super(LoadBalancerProbeListResult, self).__init__(**kwargs) 11930 self.value = value 11931 self.next_link = None 11932 11933 11934class LoadBalancerSku(msrest.serialization.Model): 11935 """SKU of a load balancer. 11936 11937 :param name: Name of a load balancer SKU. Possible values include: "Basic", "Standard". 11938 :type name: str or ~azure.mgmt.network.v2020_04_01.models.LoadBalancerSkuName 11939 """ 11940 11941 _attribute_map = { 11942 'name': {'key': 'name', 'type': 'str'}, 11943 } 11944 11945 def __init__( 11946 self, 11947 *, 11948 name: Optional[Union[str, "LoadBalancerSkuName"]] = None, 11949 **kwargs 11950 ): 11951 super(LoadBalancerSku, self).__init__(**kwargs) 11952 self.name = name 11953 11954 11955class LoadBalancingRule(SubResource): 11956 """A load balancing rule for a load balancer. 11957 11958 Variables are only populated by the server, and will be ignored when sending a request. 11959 11960 :param id: Resource ID. 11961 :type id: str 11962 :param name: The name of the resource that is unique within the set of load balancing rules 11963 used by the load balancer. This name can be used to access the resource. 11964 :type name: str 11965 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11966 :vartype etag: str 11967 :ivar type: Type of the resource. 11968 :vartype type: str 11969 :param frontend_ip_configuration: A reference to frontend IP addresses. 11970 :type frontend_ip_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 11971 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 11972 balanced across IPs in the backend IPs. 11973 :type backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 11974 :param probe: The reference to the load balancer probe used by the load balancing rule. 11975 :type probe: ~azure.mgmt.network.v2020_04_01.models.SubResource 11976 :param protocol: The reference to the transport protocol used by the load balancing rule. 11977 Possible values include: "Udp", "Tcp", "All". 11978 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.TransportProtocol 11979 :param load_distribution: The load distribution policy for this rule. Possible values include: 11980 "Default", "SourceIP", "SourceIPProtocol". 11981 :type load_distribution: str or ~azure.mgmt.network.v2020_04_01.models.LoadDistribution 11982 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 11983 unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 11984 enables "Any Port". 11985 :type frontend_port: int 11986 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 11987 are between 0 and 65535. Note that value 0 enables "Any Port". 11988 :type backend_port: int 11989 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 11990 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 11991 protocol is set to TCP. 11992 :type idle_timeout_in_minutes: int 11993 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 11994 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 11995 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 11996 after you create the endpoint. 11997 :type enable_floating_ip: bool 11998 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 11999 connection termination. This element is only used when the protocol is set to TCP. 12000 :type enable_tcp_reset: bool 12001 :param disable_outbound_snat: Configures SNAT for the VMs in the backend pool to use the 12002 publicIP address specified in the frontend of the load balancing rule. 12003 :type disable_outbound_snat: bool 12004 :ivar provisioning_state: The provisioning state of the load balancing rule resource. Possible 12005 values include: "Succeeded", "Updating", "Deleting", "Failed". 12006 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 12007 """ 12008 12009 _validation = { 12010 'etag': {'readonly': True}, 12011 'type': {'readonly': True}, 12012 'provisioning_state': {'readonly': True}, 12013 } 12014 12015 _attribute_map = { 12016 'id': {'key': 'id', 'type': 'str'}, 12017 'name': {'key': 'name', 'type': 'str'}, 12018 'etag': {'key': 'etag', 'type': 'str'}, 12019 'type': {'key': 'type', 'type': 'str'}, 12020 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 12021 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 12022 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 12023 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 12024 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 12025 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 12026 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 12027 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 12028 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 12029 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 12030 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, 12031 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12032 } 12033 12034 def __init__( 12035 self, 12036 *, 12037 id: Optional[str] = None, 12038 name: Optional[str] = None, 12039 frontend_ip_configuration: Optional["SubResource"] = None, 12040 backend_address_pool: Optional["SubResource"] = None, 12041 probe: Optional["SubResource"] = None, 12042 protocol: Optional[Union[str, "TransportProtocol"]] = None, 12043 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 12044 frontend_port: Optional[int] = None, 12045 backend_port: Optional[int] = None, 12046 idle_timeout_in_minutes: Optional[int] = None, 12047 enable_floating_ip: Optional[bool] = None, 12048 enable_tcp_reset: Optional[bool] = None, 12049 disable_outbound_snat: Optional[bool] = None, 12050 **kwargs 12051 ): 12052 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 12053 self.name = name 12054 self.etag = None 12055 self.type = None 12056 self.frontend_ip_configuration = frontend_ip_configuration 12057 self.backend_address_pool = backend_address_pool 12058 self.probe = probe 12059 self.protocol = protocol 12060 self.load_distribution = load_distribution 12061 self.frontend_port = frontend_port 12062 self.backend_port = backend_port 12063 self.idle_timeout_in_minutes = idle_timeout_in_minutes 12064 self.enable_floating_ip = enable_floating_ip 12065 self.enable_tcp_reset = enable_tcp_reset 12066 self.disable_outbound_snat = disable_outbound_snat 12067 self.provisioning_state = None 12068 12069 12070class LocalNetworkGateway(Resource): 12071 """A common class for general resource information. 12072 12073 Variables are only populated by the server, and will be ignored when sending a request. 12074 12075 :param id: Resource ID. 12076 :type id: str 12077 :ivar name: Resource name. 12078 :vartype name: str 12079 :ivar type: Resource type. 12080 :vartype type: str 12081 :param location: Resource location. 12082 :type location: str 12083 :param tags: A set of tags. Resource tags. 12084 :type tags: dict[str, str] 12085 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12086 :vartype etag: str 12087 :param local_network_address_space: Local network site address space. 12088 :type local_network_address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 12089 :param gateway_ip_address: IP address of local network gateway. 12090 :type gateway_ip_address: str 12091 :param fqdn: FQDN of local network gateway. 12092 :type fqdn: str 12093 :param bgp_settings: Local network gateway's BGP speaker settings. 12094 :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings 12095 :ivar resource_guid: The resource GUID property of the local network gateway resource. 12096 :vartype resource_guid: str 12097 :ivar provisioning_state: The provisioning state of the local network gateway resource. 12098 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 12099 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 12100 """ 12101 12102 _validation = { 12103 'name': {'readonly': True}, 12104 'type': {'readonly': True}, 12105 'etag': {'readonly': True}, 12106 'resource_guid': {'readonly': True}, 12107 'provisioning_state': {'readonly': True}, 12108 } 12109 12110 _attribute_map = { 12111 'id': {'key': 'id', 'type': 'str'}, 12112 'name': {'key': 'name', 'type': 'str'}, 12113 'type': {'key': 'type', 'type': 'str'}, 12114 'location': {'key': 'location', 'type': 'str'}, 12115 'tags': {'key': 'tags', 'type': '{str}'}, 12116 'etag': {'key': 'etag', 'type': 'str'}, 12117 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 12118 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 12119 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 12120 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 12121 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 12122 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12123 } 12124 12125 def __init__( 12126 self, 12127 *, 12128 id: Optional[str] = None, 12129 location: Optional[str] = None, 12130 tags: Optional[Dict[str, str]] = None, 12131 local_network_address_space: Optional["AddressSpace"] = None, 12132 gateway_ip_address: Optional[str] = None, 12133 fqdn: Optional[str] = None, 12134 bgp_settings: Optional["BgpSettings"] = None, 12135 **kwargs 12136 ): 12137 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 12138 self.etag = None 12139 self.local_network_address_space = local_network_address_space 12140 self.gateway_ip_address = gateway_ip_address 12141 self.fqdn = fqdn 12142 self.bgp_settings = bgp_settings 12143 self.resource_guid = None 12144 self.provisioning_state = None 12145 12146 12147class LocalNetworkGatewayListResult(msrest.serialization.Model): 12148 """Response for ListLocalNetworkGateways API service call. 12149 12150 Variables are only populated by the server, and will be ignored when sending a request. 12151 12152 :param value: A list of local network gateways that exists in a resource group. 12153 :type value: list[~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway] 12154 :ivar next_link: The URL to get the next set of results. 12155 :vartype next_link: str 12156 """ 12157 12158 _validation = { 12159 'next_link': {'readonly': True}, 12160 } 12161 12162 _attribute_map = { 12163 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 12164 'next_link': {'key': 'nextLink', 'type': 'str'}, 12165 } 12166 12167 def __init__( 12168 self, 12169 *, 12170 value: Optional[List["LocalNetworkGateway"]] = None, 12171 **kwargs 12172 ): 12173 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 12174 self.value = value 12175 self.next_link = None 12176 12177 12178class LogSpecification(msrest.serialization.Model): 12179 """Description of logging specification. 12180 12181 :param name: The name of the specification. 12182 :type name: str 12183 :param display_name: The display name of the specification. 12184 :type display_name: str 12185 :param blob_duration: Duration of the blob. 12186 :type blob_duration: str 12187 """ 12188 12189 _attribute_map = { 12190 'name': {'key': 'name', 'type': 'str'}, 12191 'display_name': {'key': 'displayName', 'type': 'str'}, 12192 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 12193 } 12194 12195 def __init__( 12196 self, 12197 *, 12198 name: Optional[str] = None, 12199 display_name: Optional[str] = None, 12200 blob_duration: Optional[str] = None, 12201 **kwargs 12202 ): 12203 super(LogSpecification, self).__init__(**kwargs) 12204 self.name = name 12205 self.display_name = display_name 12206 self.blob_duration = blob_duration 12207 12208 12209class ManagedRuleGroupOverride(msrest.serialization.Model): 12210 """Defines a managed rule group override setting. 12211 12212 All required parameters must be populated in order to send to Azure. 12213 12214 :param rule_group_name: Required. The managed rule group to override. 12215 :type rule_group_name: str 12216 :param rules: List of rules that will be disabled. If none specified, all rules in the group 12217 will be disabled. 12218 :type rules: list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleOverride] 12219 """ 12220 12221 _validation = { 12222 'rule_group_name': {'required': True}, 12223 } 12224 12225 _attribute_map = { 12226 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 12227 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, 12228 } 12229 12230 def __init__( 12231 self, 12232 *, 12233 rule_group_name: str, 12234 rules: Optional[List["ManagedRuleOverride"]] = None, 12235 **kwargs 12236 ): 12237 super(ManagedRuleGroupOverride, self).__init__(**kwargs) 12238 self.rule_group_name = rule_group_name 12239 self.rules = rules 12240 12241 12242class ManagedRuleOverride(msrest.serialization.Model): 12243 """Defines a managed rule group override setting. 12244 12245 All required parameters must be populated in order to send to Azure. 12246 12247 :param rule_id: Required. Identifier for the managed rule. 12248 :type rule_id: str 12249 :param state: The state of the managed rule. Defaults to Disabled if not specified. Possible 12250 values include: "Disabled". 12251 :type state: str or ~azure.mgmt.network.v2020_04_01.models.ManagedRuleEnabledState 12252 """ 12253 12254 _validation = { 12255 'rule_id': {'required': True}, 12256 } 12257 12258 _attribute_map = { 12259 'rule_id': {'key': 'ruleId', 'type': 'str'}, 12260 'state': {'key': 'state', 'type': 'str'}, 12261 } 12262 12263 def __init__( 12264 self, 12265 *, 12266 rule_id: str, 12267 state: Optional[Union[str, "ManagedRuleEnabledState"]] = None, 12268 **kwargs 12269 ): 12270 super(ManagedRuleOverride, self).__init__(**kwargs) 12271 self.rule_id = rule_id 12272 self.state = state 12273 12274 12275class ManagedRulesDefinition(msrest.serialization.Model): 12276 """Allow to exclude some variable satisfy the condition for the WAF check. 12277 12278 All required parameters must be populated in order to send to Azure. 12279 12280 :param exclusions: The Exclusions that are applied on the policy. 12281 :type exclusions: list[~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntry] 12282 :param managed_rule_sets: Required. The managed rule sets that are associated with the policy. 12283 :type managed_rule_sets: list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleSet] 12284 """ 12285 12286 _validation = { 12287 'managed_rule_sets': {'required': True}, 12288 } 12289 12290 _attribute_map = { 12291 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, 12292 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, 12293 } 12294 12295 def __init__( 12296 self, 12297 *, 12298 managed_rule_sets: List["ManagedRuleSet"], 12299 exclusions: Optional[List["OwaspCrsExclusionEntry"]] = None, 12300 **kwargs 12301 ): 12302 super(ManagedRulesDefinition, self).__init__(**kwargs) 12303 self.exclusions = exclusions 12304 self.managed_rule_sets = managed_rule_sets 12305 12306 12307class ManagedRuleSet(msrest.serialization.Model): 12308 """Defines a managed rule set. 12309 12310 All required parameters must be populated in order to send to Azure. 12311 12312 :param rule_set_type: Required. Defines the rule set type to use. 12313 :type rule_set_type: str 12314 :param rule_set_version: Required. Defines the version of the rule set to use. 12315 :type rule_set_version: str 12316 :param rule_group_overrides: Defines the rule group overrides to apply to the rule set. 12317 :type rule_group_overrides: 12318 list[~azure.mgmt.network.v2020_04_01.models.ManagedRuleGroupOverride] 12319 """ 12320 12321 _validation = { 12322 'rule_set_type': {'required': True}, 12323 'rule_set_version': {'required': True}, 12324 } 12325 12326 _attribute_map = { 12327 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 12328 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 12329 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, 12330 } 12331 12332 def __init__( 12333 self, 12334 *, 12335 rule_set_type: str, 12336 rule_set_version: str, 12337 rule_group_overrides: Optional[List["ManagedRuleGroupOverride"]] = None, 12338 **kwargs 12339 ): 12340 super(ManagedRuleSet, self).__init__(**kwargs) 12341 self.rule_set_type = rule_set_type 12342 self.rule_set_version = rule_set_version 12343 self.rule_group_overrides = rule_group_overrides 12344 12345 12346class ManagedServiceIdentity(msrest.serialization.Model): 12347 """Identity for the resource. 12348 12349 Variables are only populated by the server, and will be ignored when sending a request. 12350 12351 :ivar principal_id: The principal id of the system assigned identity. This property will only 12352 be provided for a system assigned identity. 12353 :vartype principal_id: str 12354 :ivar tenant_id: The tenant id of the system assigned identity. This property will only be 12355 provided for a system assigned identity. 12356 :vartype tenant_id: str 12357 :param type: The type of identity used for the resource. The type 'SystemAssigned, 12358 UserAssigned' includes both an implicitly created identity and a set of user assigned 12359 identities. The type 'None' will remove any identities from the virtual machine. Possible 12360 values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 12361 :type type: str or ~azure.mgmt.network.v2020_04_01.models.ResourceIdentityType 12362 :param user_assigned_identities: The list of user identities associated with resource. The user 12363 identity dictionary key references will be ARM resource ids in the form: 12364 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 12365 :type user_assigned_identities: dict[str, 12366 ~azure.mgmt.network.v2020_04_01.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] 12367 """ 12368 12369 _validation = { 12370 'principal_id': {'readonly': True}, 12371 'tenant_id': {'readonly': True}, 12372 } 12373 12374 _attribute_map = { 12375 'principal_id': {'key': 'principalId', 'type': 'str'}, 12376 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 12377 'type': {'key': 'type', 'type': 'str'}, 12378 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'}, 12379 } 12380 12381 def __init__( 12382 self, 12383 *, 12384 type: Optional[Union[str, "ResourceIdentityType"]] = None, 12385 user_assigned_identities: Optional[Dict[str, "Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, 12386 **kwargs 12387 ): 12388 super(ManagedServiceIdentity, self).__init__(**kwargs) 12389 self.principal_id = None 12390 self.tenant_id = None 12391 self.type = type 12392 self.user_assigned_identities = user_assigned_identities 12393 12394 12395class MatchCondition(msrest.serialization.Model): 12396 """Define match conditions. 12397 12398 All required parameters must be populated in order to send to Azure. 12399 12400 :param match_variables: Required. List of match variables. 12401 :type match_variables: list[~azure.mgmt.network.v2020_04_01.models.MatchVariable] 12402 :param operator: Required. The operator to be matched. Possible values include: "IPMatch", 12403 "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", 12404 "BeginsWith", "EndsWith", "Regex", "GeoMatch". 12405 :type operator: str or ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallOperator 12406 :param negation_conditon: Whether this is negate condition or not. 12407 :type negation_conditon: bool 12408 :param match_values: Required. Match value. 12409 :type match_values: list[str] 12410 :param transforms: List of transforms. 12411 :type transforms: list[str or 12412 ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallTransform] 12413 """ 12414 12415 _validation = { 12416 'match_variables': {'required': True}, 12417 'operator': {'required': True}, 12418 'match_values': {'required': True}, 12419 } 12420 12421 _attribute_map = { 12422 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, 12423 'operator': {'key': 'operator', 'type': 'str'}, 12424 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, 12425 'match_values': {'key': 'matchValues', 'type': '[str]'}, 12426 'transforms': {'key': 'transforms', 'type': '[str]'}, 12427 } 12428 12429 def __init__( 12430 self, 12431 *, 12432 match_variables: List["MatchVariable"], 12433 operator: Union[str, "WebApplicationFirewallOperator"], 12434 match_values: List[str], 12435 negation_conditon: Optional[bool] = None, 12436 transforms: Optional[List[Union[str, "WebApplicationFirewallTransform"]]] = None, 12437 **kwargs 12438 ): 12439 super(MatchCondition, self).__init__(**kwargs) 12440 self.match_variables = match_variables 12441 self.operator = operator 12442 self.negation_conditon = negation_conditon 12443 self.match_values = match_values 12444 self.transforms = transforms 12445 12446 12447class MatchedRule(msrest.serialization.Model): 12448 """Matched rule. 12449 12450 :param rule_name: Name of the matched network security rule. 12451 :type rule_name: str 12452 :param action: The network traffic is allowed or denied. Possible values are 'Allow' and 12453 'Deny'. 12454 :type action: str 12455 """ 12456 12457 _attribute_map = { 12458 'rule_name': {'key': 'ruleName', 'type': 'str'}, 12459 'action': {'key': 'action', 'type': 'str'}, 12460 } 12461 12462 def __init__( 12463 self, 12464 *, 12465 rule_name: Optional[str] = None, 12466 action: Optional[str] = None, 12467 **kwargs 12468 ): 12469 super(MatchedRule, self).__init__(**kwargs) 12470 self.rule_name = rule_name 12471 self.action = action 12472 12473 12474class MatchVariable(msrest.serialization.Model): 12475 """Define match variables. 12476 12477 All required parameters must be populated in order to send to Azure. 12478 12479 :param variable_name: Required. Match Variable. Possible values include: "RemoteAddr", 12480 "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeaders", "RequestBody", 12481 "RequestCookies". 12482 :type variable_name: str or 12483 ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMatchVariable 12484 :param selector: The selector of match variable. 12485 :type selector: str 12486 """ 12487 12488 _validation = { 12489 'variable_name': {'required': True}, 12490 } 12491 12492 _attribute_map = { 12493 'variable_name': {'key': 'variableName', 'type': 'str'}, 12494 'selector': {'key': 'selector', 'type': 'str'}, 12495 } 12496 12497 def __init__( 12498 self, 12499 *, 12500 variable_name: Union[str, "WebApplicationFirewallMatchVariable"], 12501 selector: Optional[str] = None, 12502 **kwargs 12503 ): 12504 super(MatchVariable, self).__init__(**kwargs) 12505 self.variable_name = variable_name 12506 self.selector = selector 12507 12508 12509class MetricSpecification(msrest.serialization.Model): 12510 """Description of metrics specification. 12511 12512 :param name: The name of the metric. 12513 :type name: str 12514 :param display_name: The display name of the metric. 12515 :type display_name: str 12516 :param display_description: The description of the metric. 12517 :type display_description: str 12518 :param unit: Units the metric to be displayed in. 12519 :type unit: str 12520 :param aggregation_type: The aggregation type. 12521 :type aggregation_type: str 12522 :param availabilities: List of availability. 12523 :type availabilities: list[~azure.mgmt.network.v2020_04_01.models.Availability] 12524 :param enable_regional_mdm_account: Whether regional MDM account enabled. 12525 :type enable_regional_mdm_account: bool 12526 :param fill_gap_with_zero: Whether gaps would be filled with zeros. 12527 :type fill_gap_with_zero: bool 12528 :param metric_filter_pattern: Pattern for the filter of the metric. 12529 :type metric_filter_pattern: str 12530 :param dimensions: List of dimensions. 12531 :type dimensions: list[~azure.mgmt.network.v2020_04_01.models.Dimension] 12532 :param is_internal: Whether the metric is internal. 12533 :type is_internal: bool 12534 :param source_mdm_account: The source MDM account. 12535 :type source_mdm_account: str 12536 :param source_mdm_namespace: The source MDM namespace. 12537 :type source_mdm_namespace: str 12538 :param resource_id_dimension_name_override: The resource Id dimension name override. 12539 :type resource_id_dimension_name_override: str 12540 """ 12541 12542 _attribute_map = { 12543 'name': {'key': 'name', 'type': 'str'}, 12544 'display_name': {'key': 'displayName', 'type': 'str'}, 12545 'display_description': {'key': 'displayDescription', 'type': 'str'}, 12546 'unit': {'key': 'unit', 'type': 'str'}, 12547 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 12548 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, 12549 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, 12550 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 12551 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, 12552 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 12553 'is_internal': {'key': 'isInternal', 'type': 'bool'}, 12554 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, 12555 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, 12556 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 12557 } 12558 12559 def __init__( 12560 self, 12561 *, 12562 name: Optional[str] = None, 12563 display_name: Optional[str] = None, 12564 display_description: Optional[str] = None, 12565 unit: Optional[str] = None, 12566 aggregation_type: Optional[str] = None, 12567 availabilities: Optional[List["Availability"]] = None, 12568 enable_regional_mdm_account: Optional[bool] = None, 12569 fill_gap_with_zero: Optional[bool] = None, 12570 metric_filter_pattern: Optional[str] = None, 12571 dimensions: Optional[List["Dimension"]] = None, 12572 is_internal: Optional[bool] = None, 12573 source_mdm_account: Optional[str] = None, 12574 source_mdm_namespace: Optional[str] = None, 12575 resource_id_dimension_name_override: Optional[str] = None, 12576 **kwargs 12577 ): 12578 super(MetricSpecification, self).__init__(**kwargs) 12579 self.name = name 12580 self.display_name = display_name 12581 self.display_description = display_description 12582 self.unit = unit 12583 self.aggregation_type = aggregation_type 12584 self.availabilities = availabilities 12585 self.enable_regional_mdm_account = enable_regional_mdm_account 12586 self.fill_gap_with_zero = fill_gap_with_zero 12587 self.metric_filter_pattern = metric_filter_pattern 12588 self.dimensions = dimensions 12589 self.is_internal = is_internal 12590 self.source_mdm_account = source_mdm_account 12591 self.source_mdm_namespace = source_mdm_namespace 12592 self.resource_id_dimension_name_override = resource_id_dimension_name_override 12593 12594 12595class NatGateway(Resource): 12596 """Nat Gateway resource. 12597 12598 Variables are only populated by the server, and will be ignored when sending a request. 12599 12600 :param id: Resource ID. 12601 :type id: str 12602 :ivar name: Resource name. 12603 :vartype name: str 12604 :ivar type: Resource type. 12605 :vartype type: str 12606 :param location: Resource location. 12607 :type location: str 12608 :param tags: A set of tags. Resource tags. 12609 :type tags: dict[str, str] 12610 :param sku: The nat gateway SKU. 12611 :type sku: ~azure.mgmt.network.v2020_04_01.models.NatGatewaySku 12612 :param zones: A list of availability zones denoting the zone in which Nat Gateway should be 12613 deployed. 12614 :type zones: list[str] 12615 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12616 :vartype etag: str 12617 :param idle_timeout_in_minutes: The idle timeout of the nat gateway. 12618 :type idle_timeout_in_minutes: int 12619 :param public_ip_addresses: An array of public ip addresses associated with the nat gateway 12620 resource. 12621 :type public_ip_addresses: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 12622 :param public_ip_prefixes: An array of public ip prefixes associated with the nat gateway 12623 resource. 12624 :type public_ip_prefixes: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 12625 :ivar subnets: An array of references to the subnets using this nat gateway resource. 12626 :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 12627 :ivar resource_guid: The resource GUID property of the NAT gateway resource. 12628 :vartype resource_guid: str 12629 :ivar provisioning_state: The provisioning state of the NAT gateway resource. Possible values 12630 include: "Succeeded", "Updating", "Deleting", "Failed". 12631 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 12632 """ 12633 12634 _validation = { 12635 'name': {'readonly': True}, 12636 'type': {'readonly': True}, 12637 'etag': {'readonly': True}, 12638 'subnets': {'readonly': True}, 12639 'resource_guid': {'readonly': True}, 12640 'provisioning_state': {'readonly': True}, 12641 } 12642 12643 _attribute_map = { 12644 'id': {'key': 'id', 'type': 'str'}, 12645 'name': {'key': 'name', 'type': 'str'}, 12646 'type': {'key': 'type', 'type': 'str'}, 12647 'location': {'key': 'location', 'type': 'str'}, 12648 'tags': {'key': 'tags', 'type': '{str}'}, 12649 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, 12650 'zones': {'key': 'zones', 'type': '[str]'}, 12651 'etag': {'key': 'etag', 'type': 'str'}, 12652 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 12653 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, 12654 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, 12655 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, 12656 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 12657 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12658 } 12659 12660 def __init__( 12661 self, 12662 *, 12663 id: Optional[str] = None, 12664 location: Optional[str] = None, 12665 tags: Optional[Dict[str, str]] = None, 12666 sku: Optional["NatGatewaySku"] = None, 12667 zones: Optional[List[str]] = None, 12668 idle_timeout_in_minutes: Optional[int] = None, 12669 public_ip_addresses: Optional[List["SubResource"]] = None, 12670 public_ip_prefixes: Optional[List["SubResource"]] = None, 12671 **kwargs 12672 ): 12673 super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 12674 self.sku = sku 12675 self.zones = zones 12676 self.etag = None 12677 self.idle_timeout_in_minutes = idle_timeout_in_minutes 12678 self.public_ip_addresses = public_ip_addresses 12679 self.public_ip_prefixes = public_ip_prefixes 12680 self.subnets = None 12681 self.resource_guid = None 12682 self.provisioning_state = None 12683 12684 12685class NatGatewayListResult(msrest.serialization.Model): 12686 """Response for ListNatGateways API service call. 12687 12688 :param value: A list of Nat Gateways that exists in a resource group. 12689 :type value: list[~azure.mgmt.network.v2020_04_01.models.NatGateway] 12690 :param next_link: The URL to get the next set of results. 12691 :type next_link: str 12692 """ 12693 12694 _attribute_map = { 12695 'value': {'key': 'value', 'type': '[NatGateway]'}, 12696 'next_link': {'key': 'nextLink', 'type': 'str'}, 12697 } 12698 12699 def __init__( 12700 self, 12701 *, 12702 value: Optional[List["NatGateway"]] = None, 12703 next_link: Optional[str] = None, 12704 **kwargs 12705 ): 12706 super(NatGatewayListResult, self).__init__(**kwargs) 12707 self.value = value 12708 self.next_link = next_link 12709 12710 12711class NatGatewaySku(msrest.serialization.Model): 12712 """SKU of nat gateway. 12713 12714 :param name: Name of Nat Gateway SKU. Possible values include: "Standard". 12715 :type name: str or ~azure.mgmt.network.v2020_04_01.models.NatGatewaySkuName 12716 """ 12717 12718 _attribute_map = { 12719 'name': {'key': 'name', 'type': 'str'}, 12720 } 12721 12722 def __init__( 12723 self, 12724 *, 12725 name: Optional[Union[str, "NatGatewaySkuName"]] = None, 12726 **kwargs 12727 ): 12728 super(NatGatewaySku, self).__init__(**kwargs) 12729 self.name = name 12730 12731 12732class NatRuleCondition(FirewallPolicyRuleCondition): 12733 """Rule condition of type nat. 12734 12735 All required parameters must be populated in order to send to Azure. 12736 12737 :param name: Name of the rule condition. 12738 :type name: str 12739 :param description: Description of the rule condition. 12740 :type description: str 12741 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 12742 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 12743 :type rule_condition_type: str or 12744 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionType 12745 :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. 12746 :type ip_protocols: list[str or 12747 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] 12748 :param source_addresses: List of source IP addresses for this rule. 12749 :type source_addresses: list[str] 12750 :param destination_addresses: List of destination IP addresses or Service Tags. 12751 :type destination_addresses: list[str] 12752 :param destination_ports: List of destination ports. 12753 :type destination_ports: list[str] 12754 :param source_ip_groups: List of source IpGroups for this rule. 12755 :type source_ip_groups: list[str] 12756 """ 12757 12758 _validation = { 12759 'rule_condition_type': {'required': True}, 12760 } 12761 12762 _attribute_map = { 12763 'name': {'key': 'name', 'type': 'str'}, 12764 'description': {'key': 'description', 'type': 'str'}, 12765 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 12766 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, 12767 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 12768 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 12769 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 12770 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 12771 } 12772 12773 def __init__( 12774 self, 12775 *, 12776 name: Optional[str] = None, 12777 description: Optional[str] = None, 12778 ip_protocols: Optional[List[Union[str, "FirewallPolicyRuleConditionNetworkProtocol"]]] = None, 12779 source_addresses: Optional[List[str]] = None, 12780 destination_addresses: Optional[List[str]] = None, 12781 destination_ports: Optional[List[str]] = None, 12782 source_ip_groups: Optional[List[str]] = None, 12783 **kwargs 12784 ): 12785 super(NatRuleCondition, self).__init__(name=name, description=description, **kwargs) 12786 self.rule_condition_type = 'NatRuleCondition' # type: str 12787 self.ip_protocols = ip_protocols 12788 self.source_addresses = source_addresses 12789 self.destination_addresses = destination_addresses 12790 self.destination_ports = destination_ports 12791 self.source_ip_groups = source_ip_groups 12792 12793 12794class NetworkConfigurationDiagnosticParameters(msrest.serialization.Model): 12795 """Parameters to get network configuration diagnostic. 12796 12797 All required parameters must be populated in order to send to Azure. 12798 12799 :param target_resource_id: Required. The ID of the target resource to perform network 12800 configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and 12801 Application Gateway. 12802 :type target_resource_id: str 12803 :param verbosity_level: Verbosity level. Possible values include: "Normal", "Minimum", "Full". 12804 :type verbosity_level: str or ~azure.mgmt.network.v2020_04_01.models.VerbosityLevel 12805 :param profiles: Required. List of network configuration diagnostic profiles. 12806 :type profiles: 12807 list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile] 12808 """ 12809 12810 _validation = { 12811 'target_resource_id': {'required': True}, 12812 'profiles': {'required': True}, 12813 } 12814 12815 _attribute_map = { 12816 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 12817 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, 12818 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, 12819 } 12820 12821 def __init__( 12822 self, 12823 *, 12824 target_resource_id: str, 12825 profiles: List["NetworkConfigurationDiagnosticProfile"], 12826 verbosity_level: Optional[Union[str, "VerbosityLevel"]] = None, 12827 **kwargs 12828 ): 12829 super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) 12830 self.target_resource_id = target_resource_id 12831 self.verbosity_level = verbosity_level 12832 self.profiles = profiles 12833 12834 12835class NetworkConfigurationDiagnosticProfile(msrest.serialization.Model): 12836 """Parameters to compare with network configuration. 12837 12838 All required parameters must be populated in order to send to Azure. 12839 12840 :param direction: Required. The direction of the traffic. Possible values include: "Inbound", 12841 "Outbound". 12842 :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction 12843 :param protocol: Required. Protocol to be verified on. Accepted values are '*', TCP, UDP. 12844 :type protocol: str 12845 :param source: Required. Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. 12846 :type source: str 12847 :param destination: Required. Traffic destination. Accepted values are: '*', IP Address/CIDR, 12848 Service Tag. 12849 :type destination: str 12850 :param destination_port: Required. Traffic destination port. Accepted values are '*' and a 12851 single port in the range (0 - 65535). 12852 :type destination_port: str 12853 """ 12854 12855 _validation = { 12856 'direction': {'required': True}, 12857 'protocol': {'required': True}, 12858 'source': {'required': True}, 12859 'destination': {'required': True}, 12860 'destination_port': {'required': True}, 12861 } 12862 12863 _attribute_map = { 12864 'direction': {'key': 'direction', 'type': 'str'}, 12865 'protocol': {'key': 'protocol', 'type': 'str'}, 12866 'source': {'key': 'source', 'type': 'str'}, 12867 'destination': {'key': 'destination', 'type': 'str'}, 12868 'destination_port': {'key': 'destinationPort', 'type': 'str'}, 12869 } 12870 12871 def __init__( 12872 self, 12873 *, 12874 direction: Union[str, "Direction"], 12875 protocol: str, 12876 source: str, 12877 destination: str, 12878 destination_port: str, 12879 **kwargs 12880 ): 12881 super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) 12882 self.direction = direction 12883 self.protocol = protocol 12884 self.source = source 12885 self.destination = destination 12886 self.destination_port = destination_port 12887 12888 12889class NetworkConfigurationDiagnosticResponse(msrest.serialization.Model): 12890 """Results of network configuration diagnostic on the target resource. 12891 12892 Variables are only populated by the server, and will be ignored when sending a request. 12893 12894 :ivar results: List of network configuration diagnostic results. 12895 :vartype results: 12896 list[~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticResult] 12897 """ 12898 12899 _validation = { 12900 'results': {'readonly': True}, 12901 } 12902 12903 _attribute_map = { 12904 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, 12905 } 12906 12907 def __init__( 12908 self, 12909 **kwargs 12910 ): 12911 super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) 12912 self.results = None 12913 12914 12915class NetworkConfigurationDiagnosticResult(msrest.serialization.Model): 12916 """Network configuration diagnostic result corresponded to provided traffic query. 12917 12918 :param profile: Network configuration diagnostic profile. 12919 :type profile: ~azure.mgmt.network.v2020_04_01.models.NetworkConfigurationDiagnosticProfile 12920 :param network_security_group_result: Network security group result. 12921 :type network_security_group_result: 12922 ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroupResult 12923 """ 12924 12925 _attribute_map = { 12926 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, 12927 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, 12928 } 12929 12930 def __init__( 12931 self, 12932 *, 12933 profile: Optional["NetworkConfigurationDiagnosticProfile"] = None, 12934 network_security_group_result: Optional["NetworkSecurityGroupResult"] = None, 12935 **kwargs 12936 ): 12937 super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) 12938 self.profile = profile 12939 self.network_security_group_result = network_security_group_result 12940 12941 12942class NetworkIntentPolicy(Resource): 12943 """Network Intent Policy resource. 12944 12945 Variables are only populated by the server, and will be ignored when sending a request. 12946 12947 :param id: Resource ID. 12948 :type id: str 12949 :ivar name: Resource name. 12950 :vartype name: str 12951 :ivar type: Resource type. 12952 :vartype type: str 12953 :param location: Resource location. 12954 :type location: str 12955 :param tags: A set of tags. Resource tags. 12956 :type tags: dict[str, str] 12957 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12958 :vartype etag: str 12959 """ 12960 12961 _validation = { 12962 'name': {'readonly': True}, 12963 'type': {'readonly': True}, 12964 'etag': {'readonly': True}, 12965 } 12966 12967 _attribute_map = { 12968 'id': {'key': 'id', 'type': 'str'}, 12969 'name': {'key': 'name', 'type': 'str'}, 12970 'type': {'key': 'type', 'type': 'str'}, 12971 'location': {'key': 'location', 'type': 'str'}, 12972 'tags': {'key': 'tags', 'type': '{str}'}, 12973 'etag': {'key': 'etag', 'type': 'str'}, 12974 } 12975 12976 def __init__( 12977 self, 12978 *, 12979 id: Optional[str] = None, 12980 location: Optional[str] = None, 12981 tags: Optional[Dict[str, str]] = None, 12982 **kwargs 12983 ): 12984 super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 12985 self.etag = None 12986 12987 12988class NetworkIntentPolicyConfiguration(msrest.serialization.Model): 12989 """Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. 12990 12991 :param network_intent_policy_name: The name of the Network Intent Policy for storing in target 12992 subscription. 12993 :type network_intent_policy_name: str 12994 :param source_network_intent_policy: Source network intent policy. 12995 :type source_network_intent_policy: ~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicy 12996 """ 12997 12998 _attribute_map = { 12999 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, 13000 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, 13001 } 13002 13003 def __init__( 13004 self, 13005 *, 13006 network_intent_policy_name: Optional[str] = None, 13007 source_network_intent_policy: Optional["NetworkIntentPolicy"] = None, 13008 **kwargs 13009 ): 13010 super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) 13011 self.network_intent_policy_name = network_intent_policy_name 13012 self.source_network_intent_policy = source_network_intent_policy 13013 13014 13015class NetworkInterface(Resource): 13016 """A network interface in a resource group. 13017 13018 Variables are only populated by the server, and will be ignored when sending a request. 13019 13020 :param id: Resource ID. 13021 :type id: str 13022 :ivar name: Resource name. 13023 :vartype name: str 13024 :ivar type: Resource type. 13025 :vartype type: str 13026 :param location: Resource location. 13027 :type location: str 13028 :param tags: A set of tags. Resource tags. 13029 :type tags: dict[str, str] 13030 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13031 :vartype etag: str 13032 :ivar virtual_machine: The reference to a virtual machine. 13033 :vartype virtual_machine: ~azure.mgmt.network.v2020_04_01.models.SubResource 13034 :param network_security_group: The reference to the NetworkSecurityGroup resource. 13035 :type network_security_group: ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup 13036 :ivar private_endpoint: A reference to the private endpoint to which the network interface is 13037 linked. 13038 :vartype private_endpoint: ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint 13039 :param ip_configurations: A list of IPConfigurations of the network interface. 13040 :type ip_configurations: 13041 list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] 13042 :ivar tap_configurations: A list of TapConfigurations of the network interface. 13043 :vartype tap_configurations: 13044 list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] 13045 :param dns_settings: The DNS settings in network interface. 13046 :type dns_settings: ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceDnsSettings 13047 :ivar mac_address: The MAC address of the network interface. 13048 :vartype mac_address: str 13049 :ivar primary: Whether this is a primary network interface on a virtual machine. 13050 :vartype primary: bool 13051 :param enable_accelerated_networking: If the network interface is accelerated networking 13052 enabled. 13053 :type enable_accelerated_networking: bool 13054 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 13055 interface. 13056 :type enable_ip_forwarding: bool 13057 :ivar hosted_workloads: A list of references to linked BareMetal resources. 13058 :vartype hosted_workloads: list[str] 13059 :ivar resource_guid: The resource GUID property of the network interface resource. 13060 :vartype resource_guid: str 13061 :ivar provisioning_state: The provisioning state of the network interface resource. Possible 13062 values include: "Succeeded", "Updating", "Deleting", "Failed". 13063 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13064 """ 13065 13066 _validation = { 13067 'name': {'readonly': True}, 13068 'type': {'readonly': True}, 13069 'etag': {'readonly': True}, 13070 'virtual_machine': {'readonly': True}, 13071 'private_endpoint': {'readonly': True}, 13072 'tap_configurations': {'readonly': True}, 13073 'mac_address': {'readonly': True}, 13074 'primary': {'readonly': True}, 13075 'hosted_workloads': {'readonly': True}, 13076 'resource_guid': {'readonly': True}, 13077 'provisioning_state': {'readonly': True}, 13078 } 13079 13080 _attribute_map = { 13081 'id': {'key': 'id', 'type': 'str'}, 13082 'name': {'key': 'name', 'type': 'str'}, 13083 'type': {'key': 'type', 'type': 'str'}, 13084 'location': {'key': 'location', 'type': 'str'}, 13085 'tags': {'key': 'tags', 'type': '{str}'}, 13086 'etag': {'key': 'etag', 'type': 'str'}, 13087 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 13088 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 13089 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 13090 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 13091 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, 13092 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 13093 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 13094 'primary': {'key': 'properties.primary', 'type': 'bool'}, 13095 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 13096 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 13097 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, 13098 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 13099 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13100 } 13101 13102 def __init__( 13103 self, 13104 *, 13105 id: Optional[str] = None, 13106 location: Optional[str] = None, 13107 tags: Optional[Dict[str, str]] = None, 13108 network_security_group: Optional["NetworkSecurityGroup"] = None, 13109 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 13110 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 13111 enable_accelerated_networking: Optional[bool] = None, 13112 enable_ip_forwarding: Optional[bool] = None, 13113 **kwargs 13114 ): 13115 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 13116 self.etag = None 13117 self.virtual_machine = None 13118 self.network_security_group = network_security_group 13119 self.private_endpoint = None 13120 self.ip_configurations = ip_configurations 13121 self.tap_configurations = None 13122 self.dns_settings = dns_settings 13123 self.mac_address = None 13124 self.primary = None 13125 self.enable_accelerated_networking = enable_accelerated_networking 13126 self.enable_ip_forwarding = enable_ip_forwarding 13127 self.hosted_workloads = None 13128 self.resource_guid = None 13129 self.provisioning_state = None 13130 13131 13132class NetworkInterfaceAssociation(msrest.serialization.Model): 13133 """Network interface and its custom security rules. 13134 13135 Variables are only populated by the server, and will be ignored when sending a request. 13136 13137 :ivar id: Network interface ID. 13138 :vartype id: str 13139 :param security_rules: Collection of custom security rules. 13140 :type security_rules: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 13141 """ 13142 13143 _validation = { 13144 'id': {'readonly': True}, 13145 } 13146 13147 _attribute_map = { 13148 'id': {'key': 'id', 'type': 'str'}, 13149 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 13150 } 13151 13152 def __init__( 13153 self, 13154 *, 13155 security_rules: Optional[List["SecurityRule"]] = None, 13156 **kwargs 13157 ): 13158 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 13159 self.id = None 13160 self.security_rules = security_rules 13161 13162 13163class NetworkInterfaceDnsSettings(msrest.serialization.Model): 13164 """DNS settings of a network interface. 13165 13166 Variables are only populated by the server, and will be ignored when sending a request. 13167 13168 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 13169 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 13170 the only value in dnsServers collection. 13171 :type dns_servers: list[str] 13172 :ivar applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 13173 this list will have the union of all DNS servers from all NICs that are part of the 13174 Availability Set. This property is what is configured on each of those VMs. 13175 :vartype applied_dns_servers: list[str] 13176 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 13177 between VMs in the same virtual network. 13178 :type internal_dns_name_label: str 13179 :ivar internal_fqdn: Fully qualified DNS name supporting internal communications between VMs in 13180 the same virtual network. 13181 :vartype internal_fqdn: str 13182 :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 13183 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 13184 VM name with the value of internalDomainNameSuffix. 13185 :vartype internal_domain_name_suffix: str 13186 """ 13187 13188 _validation = { 13189 'applied_dns_servers': {'readonly': True}, 13190 'internal_fqdn': {'readonly': True}, 13191 'internal_domain_name_suffix': {'readonly': True}, 13192 } 13193 13194 _attribute_map = { 13195 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 13196 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 13197 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 13198 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 13199 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 13200 } 13201 13202 def __init__( 13203 self, 13204 *, 13205 dns_servers: Optional[List[str]] = None, 13206 internal_dns_name_label: Optional[str] = None, 13207 **kwargs 13208 ): 13209 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 13210 self.dns_servers = dns_servers 13211 self.applied_dns_servers = None 13212 self.internal_dns_name_label = internal_dns_name_label 13213 self.internal_fqdn = None 13214 self.internal_domain_name_suffix = None 13215 13216 13217class NetworkInterfaceIPConfiguration(SubResource): 13218 """IPConfiguration in a network interface. 13219 13220 Variables are only populated by the server, and will be ignored when sending a request. 13221 13222 :param id: Resource ID. 13223 :type id: str 13224 :param name: The name of the resource that is unique within a resource group. This name can be 13225 used to access the resource. 13226 :type name: str 13227 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13228 :vartype etag: str 13229 :param virtual_network_taps: The reference to Virtual Network Taps. 13230 :type virtual_network_taps: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] 13231 :param application_gateway_backend_address_pools: The reference to 13232 ApplicationGatewayBackendAddressPool resource. 13233 :type application_gateway_backend_address_pools: 13234 list[~azure.mgmt.network.v2020_04_01.models.ApplicationGatewayBackendAddressPool] 13235 :param load_balancer_backend_address_pools: The reference to LoadBalancerBackendAddressPool 13236 resource. 13237 :type load_balancer_backend_address_pools: 13238 list[~azure.mgmt.network.v2020_04_01.models.BackendAddressPool] 13239 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 13240 :type load_balancer_inbound_nat_rules: 13241 list[~azure.mgmt.network.v2020_04_01.models.InboundNatRule] 13242 :param private_ip_address: Private IP address of the IP configuration. 13243 :type private_ip_address: str 13244 :param private_ip_allocation_method: The private IP address allocation method. Possible values 13245 include: "Static", "Dynamic". 13246 :type private_ip_allocation_method: str or 13247 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 13248 :param private_ip_address_version: Whether the specific IP configuration is IPv4 or IPv6. 13249 Default is IPv4. Possible values include: "IPv4", "IPv6". 13250 :type private_ip_address_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 13251 :param subnet: Subnet bound to the IP configuration. 13252 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 13253 :param primary: Whether this is a primary customer address on the network interface. 13254 :type primary: bool 13255 :param public_ip_address: Public IP address bound to the IP configuration. 13256 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddress 13257 :param application_security_groups: Application security groups in which the IP configuration 13258 is included. 13259 :type application_security_groups: 13260 list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] 13261 :ivar provisioning_state: The provisioning state of the network interface IP configuration. 13262 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 13263 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13264 :ivar private_link_connection_properties: PrivateLinkConnection properties for the network 13265 interface. 13266 :vartype private_link_connection_properties: 13267 ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties 13268 """ 13269 13270 _validation = { 13271 'etag': {'readonly': True}, 13272 'provisioning_state': {'readonly': True}, 13273 'private_link_connection_properties': {'readonly': True}, 13274 } 13275 13276 _attribute_map = { 13277 'id': {'key': 'id', 'type': 'str'}, 13278 'name': {'key': 'name', 'type': 'str'}, 13279 'etag': {'key': 'etag', 'type': 'str'}, 13280 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, 13281 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 13282 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 13283 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 13284 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 13285 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 13286 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 13287 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 13288 'primary': {'key': 'properties.primary', 'type': 'bool'}, 13289 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 13290 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 13291 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13292 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, 13293 } 13294 13295 def __init__( 13296 self, 13297 *, 13298 id: Optional[str] = None, 13299 name: Optional[str] = None, 13300 virtual_network_taps: Optional[List["VirtualNetworkTap"]] = None, 13301 application_gateway_backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 13302 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 13303 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 13304 private_ip_address: Optional[str] = None, 13305 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 13306 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 13307 subnet: Optional["Subnet"] = None, 13308 primary: Optional[bool] = None, 13309 public_ip_address: Optional["PublicIPAddress"] = None, 13310 application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 13311 **kwargs 13312 ): 13313 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 13314 self.name = name 13315 self.etag = None 13316 self.virtual_network_taps = virtual_network_taps 13317 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 13318 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 13319 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 13320 self.private_ip_address = private_ip_address 13321 self.private_ip_allocation_method = private_ip_allocation_method 13322 self.private_ip_address_version = private_ip_address_version 13323 self.subnet = subnet 13324 self.primary = primary 13325 self.public_ip_address = public_ip_address 13326 self.application_security_groups = application_security_groups 13327 self.provisioning_state = None 13328 self.private_link_connection_properties = None 13329 13330 13331class NetworkInterfaceIPConfigurationListResult(msrest.serialization.Model): 13332 """Response for list ip configurations API service call. 13333 13334 Variables are only populated by the server, and will be ignored when sending a request. 13335 13336 :param value: A list of ip configurations. 13337 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration] 13338 :ivar next_link: The URL to get the next set of results. 13339 :vartype next_link: str 13340 """ 13341 13342 _validation = { 13343 'next_link': {'readonly': True}, 13344 } 13345 13346 _attribute_map = { 13347 'value': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'}, 13348 'next_link': {'key': 'nextLink', 'type': 'str'}, 13349 } 13350 13351 def __init__( 13352 self, 13353 *, 13354 value: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 13355 **kwargs 13356 ): 13357 super(NetworkInterfaceIPConfigurationListResult, self).__init__(**kwargs) 13358 self.value = value 13359 self.next_link = None 13360 13361 13362class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(msrest.serialization.Model): 13363 """PrivateLinkConnection properties for the network interface. 13364 13365 Variables are only populated by the server, and will be ignored when sending a request. 13366 13367 :ivar group_id: The group ID for current private link connection. 13368 :vartype group_id: str 13369 :ivar required_member_name: The required member name for current private link connection. 13370 :vartype required_member_name: str 13371 :ivar fqdns: List of FQDNs for current private link connection. 13372 :vartype fqdns: list[str] 13373 """ 13374 13375 _validation = { 13376 'group_id': {'readonly': True}, 13377 'required_member_name': {'readonly': True}, 13378 'fqdns': {'readonly': True}, 13379 } 13380 13381 _attribute_map = { 13382 'group_id': {'key': 'groupId', 'type': 'str'}, 13383 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, 13384 'fqdns': {'key': 'fqdns', 'type': '[str]'}, 13385 } 13386 13387 def __init__( 13388 self, 13389 **kwargs 13390 ): 13391 super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) 13392 self.group_id = None 13393 self.required_member_name = None 13394 self.fqdns = None 13395 13396 13397class NetworkInterfaceListResult(msrest.serialization.Model): 13398 """Response for the ListNetworkInterface API service call. 13399 13400 Variables are only populated by the server, and will be ignored when sending a request. 13401 13402 :param value: A list of network interfaces in a resource group. 13403 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] 13404 :ivar next_link: The URL to get the next set of results. 13405 :vartype next_link: str 13406 """ 13407 13408 _validation = { 13409 'next_link': {'readonly': True}, 13410 } 13411 13412 _attribute_map = { 13413 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 13414 'next_link': {'key': 'nextLink', 'type': 'str'}, 13415 } 13416 13417 def __init__( 13418 self, 13419 *, 13420 value: Optional[List["NetworkInterface"]] = None, 13421 **kwargs 13422 ): 13423 super(NetworkInterfaceListResult, self).__init__(**kwargs) 13424 self.value = value 13425 self.next_link = None 13426 13427 13428class NetworkInterfaceLoadBalancerListResult(msrest.serialization.Model): 13429 """Response for list ip configurations API service call. 13430 13431 Variables are only populated by the server, and will be ignored when sending a request. 13432 13433 :param value: A list of load balancers. 13434 :type value: list[~azure.mgmt.network.v2020_04_01.models.LoadBalancer] 13435 :ivar next_link: The URL to get the next set of results. 13436 :vartype next_link: str 13437 """ 13438 13439 _validation = { 13440 'next_link': {'readonly': True}, 13441 } 13442 13443 _attribute_map = { 13444 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 13445 'next_link': {'key': 'nextLink', 'type': 'str'}, 13446 } 13447 13448 def __init__( 13449 self, 13450 *, 13451 value: Optional[List["LoadBalancer"]] = None, 13452 **kwargs 13453 ): 13454 super(NetworkInterfaceLoadBalancerListResult, self).__init__(**kwargs) 13455 self.value = value 13456 self.next_link = None 13457 13458 13459class NetworkInterfaceTapConfiguration(SubResource): 13460 """Tap configuration in a Network Interface. 13461 13462 Variables are only populated by the server, and will be ignored when sending a request. 13463 13464 :param id: Resource ID. 13465 :type id: str 13466 :param name: The name of the resource that is unique within a resource group. This name can be 13467 used to access the resource. 13468 :type name: str 13469 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13470 :vartype etag: str 13471 :ivar type: Sub Resource type. 13472 :vartype type: str 13473 :param virtual_network_tap: The reference to the Virtual Network Tap resource. 13474 :type virtual_network_tap: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap 13475 :ivar provisioning_state: The provisioning state of the network interface tap configuration 13476 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 13477 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13478 """ 13479 13480 _validation = { 13481 'etag': {'readonly': True}, 13482 'type': {'readonly': True}, 13483 'provisioning_state': {'readonly': True}, 13484 } 13485 13486 _attribute_map = { 13487 'id': {'key': 'id', 'type': 'str'}, 13488 'name': {'key': 'name', 'type': 'str'}, 13489 'etag': {'key': 'etag', 'type': 'str'}, 13490 'type': {'key': 'type', 'type': 'str'}, 13491 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, 13492 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13493 } 13494 13495 def __init__( 13496 self, 13497 *, 13498 id: Optional[str] = None, 13499 name: Optional[str] = None, 13500 virtual_network_tap: Optional["VirtualNetworkTap"] = None, 13501 **kwargs 13502 ): 13503 super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) 13504 self.name = name 13505 self.etag = None 13506 self.type = None 13507 self.virtual_network_tap = virtual_network_tap 13508 self.provisioning_state = None 13509 13510 13511class NetworkInterfaceTapConfigurationListResult(msrest.serialization.Model): 13512 """Response for list tap configurations API service call. 13513 13514 Variables are only populated by the server, and will be ignored when sending a request. 13515 13516 :param value: A list of tap configurations. 13517 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] 13518 :ivar next_link: The URL to get the next set of results. 13519 :vartype next_link: str 13520 """ 13521 13522 _validation = { 13523 'next_link': {'readonly': True}, 13524 } 13525 13526 _attribute_map = { 13527 'value': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'}, 13528 'next_link': {'key': 'nextLink', 'type': 'str'}, 13529 } 13530 13531 def __init__( 13532 self, 13533 *, 13534 value: Optional[List["NetworkInterfaceTapConfiguration"]] = None, 13535 **kwargs 13536 ): 13537 super(NetworkInterfaceTapConfigurationListResult, self).__init__(**kwargs) 13538 self.value = value 13539 self.next_link = None 13540 13541 13542class NetworkProfile(Resource): 13543 """Network profile resource. 13544 13545 Variables are only populated by the server, and will be ignored when sending a request. 13546 13547 :param id: Resource ID. 13548 :type id: str 13549 :ivar name: Resource name. 13550 :vartype name: str 13551 :ivar type: Resource type. 13552 :vartype type: str 13553 :param location: Resource location. 13554 :type location: str 13555 :param tags: A set of tags. Resource tags. 13556 :type tags: dict[str, str] 13557 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13558 :vartype etag: str 13559 :ivar container_network_interfaces: List of child container network interfaces. 13560 :vartype container_network_interfaces: 13561 list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterface] 13562 :param container_network_interface_configurations: List of chid container network interface 13563 configurations. 13564 :type container_network_interface_configurations: 13565 list[~azure.mgmt.network.v2020_04_01.models.ContainerNetworkInterfaceConfiguration] 13566 :ivar resource_guid: The resource GUID property of the network profile resource. 13567 :vartype resource_guid: str 13568 :ivar provisioning_state: The provisioning state of the network profile resource. Possible 13569 values include: "Succeeded", "Updating", "Deleting", "Failed". 13570 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13571 """ 13572 13573 _validation = { 13574 'name': {'readonly': True}, 13575 'type': {'readonly': True}, 13576 'etag': {'readonly': True}, 13577 'container_network_interfaces': {'readonly': True}, 13578 'resource_guid': {'readonly': True}, 13579 'provisioning_state': {'readonly': True}, 13580 } 13581 13582 _attribute_map = { 13583 'id': {'key': 'id', 'type': 'str'}, 13584 'name': {'key': 'name', 'type': 'str'}, 13585 'type': {'key': 'type', 'type': 'str'}, 13586 'location': {'key': 'location', 'type': 'str'}, 13587 'tags': {'key': 'tags', 'type': '{str}'}, 13588 'etag': {'key': 'etag', 'type': 'str'}, 13589 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, 13590 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, 13591 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 13592 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13593 } 13594 13595 def __init__( 13596 self, 13597 *, 13598 id: Optional[str] = None, 13599 location: Optional[str] = None, 13600 tags: Optional[Dict[str, str]] = None, 13601 container_network_interface_configurations: Optional[List["ContainerNetworkInterfaceConfiguration"]] = None, 13602 **kwargs 13603 ): 13604 super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) 13605 self.etag = None 13606 self.container_network_interfaces = None 13607 self.container_network_interface_configurations = container_network_interface_configurations 13608 self.resource_guid = None 13609 self.provisioning_state = None 13610 13611 13612class NetworkProfileListResult(msrest.serialization.Model): 13613 """Response for ListNetworkProfiles API service call. 13614 13615 :param value: A list of network profiles that exist in a resource group. 13616 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkProfile] 13617 :param next_link: The URL to get the next set of results. 13618 :type next_link: str 13619 """ 13620 13621 _attribute_map = { 13622 'value': {'key': 'value', 'type': '[NetworkProfile]'}, 13623 'next_link': {'key': 'nextLink', 'type': 'str'}, 13624 } 13625 13626 def __init__( 13627 self, 13628 *, 13629 value: Optional[List["NetworkProfile"]] = None, 13630 next_link: Optional[str] = None, 13631 **kwargs 13632 ): 13633 super(NetworkProfileListResult, self).__init__(**kwargs) 13634 self.value = value 13635 self.next_link = next_link 13636 13637 13638class NetworkRuleCondition(FirewallPolicyRuleCondition): 13639 """Rule condition of type network. 13640 13641 All required parameters must be populated in order to send to Azure. 13642 13643 :param name: Name of the rule condition. 13644 :type name: str 13645 :param description: Description of the rule condition. 13646 :type description: str 13647 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 13648 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 13649 :type rule_condition_type: str or 13650 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionType 13651 :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. 13652 :type ip_protocols: list[str or 13653 ~azure.mgmt.network.v2020_04_01.models.FirewallPolicyRuleConditionNetworkProtocol] 13654 :param source_addresses: List of source IP addresses for this rule. 13655 :type source_addresses: list[str] 13656 :param destination_addresses: List of destination IP addresses or Service Tags. 13657 :type destination_addresses: list[str] 13658 :param destination_ports: List of destination ports. 13659 :type destination_ports: list[str] 13660 :param source_ip_groups: List of source IpGroups for this rule. 13661 :type source_ip_groups: list[str] 13662 :param destination_ip_groups: List of destination IpGroups for this rule. 13663 :type destination_ip_groups: list[str] 13664 """ 13665 13666 _validation = { 13667 'rule_condition_type': {'required': True}, 13668 } 13669 13670 _attribute_map = { 13671 'name': {'key': 'name', 'type': 'str'}, 13672 'description': {'key': 'description', 'type': 'str'}, 13673 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 13674 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, 13675 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 13676 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 13677 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 13678 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 13679 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, 13680 } 13681 13682 def __init__( 13683 self, 13684 *, 13685 name: Optional[str] = None, 13686 description: Optional[str] = None, 13687 ip_protocols: Optional[List[Union[str, "FirewallPolicyRuleConditionNetworkProtocol"]]] = None, 13688 source_addresses: Optional[List[str]] = None, 13689 destination_addresses: Optional[List[str]] = None, 13690 destination_ports: Optional[List[str]] = None, 13691 source_ip_groups: Optional[List[str]] = None, 13692 destination_ip_groups: Optional[List[str]] = None, 13693 **kwargs 13694 ): 13695 super(NetworkRuleCondition, self).__init__(name=name, description=description, **kwargs) 13696 self.rule_condition_type = 'NetworkRuleCondition' # type: str 13697 self.ip_protocols = ip_protocols 13698 self.source_addresses = source_addresses 13699 self.destination_addresses = destination_addresses 13700 self.destination_ports = destination_ports 13701 self.source_ip_groups = source_ip_groups 13702 self.destination_ip_groups = destination_ip_groups 13703 13704 13705class NetworkSecurityGroup(Resource): 13706 """NetworkSecurityGroup resource. 13707 13708 Variables are only populated by the server, and will be ignored when sending a request. 13709 13710 :param id: Resource ID. 13711 :type id: str 13712 :ivar name: Resource name. 13713 :vartype name: str 13714 :ivar type: Resource type. 13715 :vartype type: str 13716 :param location: Resource location. 13717 :type location: str 13718 :param tags: A set of tags. Resource tags. 13719 :type tags: dict[str, str] 13720 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13721 :vartype etag: str 13722 :param security_rules: A collection of security rules of the network security group. 13723 :type security_rules: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 13724 :ivar default_security_rules: The default security rules of network security group. 13725 :vartype default_security_rules: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 13726 :ivar network_interfaces: A collection of references to network interfaces. 13727 :vartype network_interfaces: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] 13728 :ivar subnets: A collection of references to subnets. 13729 :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] 13730 :ivar flow_logs: A collection of references to flow log resources. 13731 :vartype flow_logs: list[~azure.mgmt.network.v2020_04_01.models.FlowLog] 13732 :ivar resource_guid: The resource GUID property of the network security group resource. 13733 :vartype resource_guid: str 13734 :ivar provisioning_state: The provisioning state of the network security group resource. 13735 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 13736 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13737 """ 13738 13739 _validation = { 13740 'name': {'readonly': True}, 13741 'type': {'readonly': True}, 13742 'etag': {'readonly': True}, 13743 'default_security_rules': {'readonly': True}, 13744 'network_interfaces': {'readonly': True}, 13745 'subnets': {'readonly': True}, 13746 'flow_logs': {'readonly': True}, 13747 'resource_guid': {'readonly': True}, 13748 'provisioning_state': {'readonly': True}, 13749 } 13750 13751 _attribute_map = { 13752 'id': {'key': 'id', 'type': 'str'}, 13753 'name': {'key': 'name', 'type': 'str'}, 13754 'type': {'key': 'type', 'type': 'str'}, 13755 'location': {'key': 'location', 'type': 'str'}, 13756 'tags': {'key': 'tags', 'type': '{str}'}, 13757 'etag': {'key': 'etag', 'type': 'str'}, 13758 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 13759 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 13760 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 13761 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 13762 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, 13763 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 13764 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13765 } 13766 13767 def __init__( 13768 self, 13769 *, 13770 id: Optional[str] = None, 13771 location: Optional[str] = None, 13772 tags: Optional[Dict[str, str]] = None, 13773 security_rules: Optional[List["SecurityRule"]] = None, 13774 **kwargs 13775 ): 13776 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 13777 self.etag = None 13778 self.security_rules = security_rules 13779 self.default_security_rules = None 13780 self.network_interfaces = None 13781 self.subnets = None 13782 self.flow_logs = None 13783 self.resource_guid = None 13784 self.provisioning_state = None 13785 13786 13787class NetworkSecurityGroupListResult(msrest.serialization.Model): 13788 """Response for ListNetworkSecurityGroups API service call. 13789 13790 :param value: A list of NetworkSecurityGroup resources. 13791 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup] 13792 :param next_link: The URL to get the next set of results. 13793 :type next_link: str 13794 """ 13795 13796 _attribute_map = { 13797 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 13798 'next_link': {'key': 'nextLink', 'type': 'str'}, 13799 } 13800 13801 def __init__( 13802 self, 13803 *, 13804 value: Optional[List["NetworkSecurityGroup"]] = None, 13805 next_link: Optional[str] = None, 13806 **kwargs 13807 ): 13808 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 13809 self.value = value 13810 self.next_link = next_link 13811 13812 13813class NetworkSecurityGroupResult(msrest.serialization.Model): 13814 """Network configuration diagnostic result corresponded provided traffic query. 13815 13816 Variables are only populated by the server, and will be ignored when sending a request. 13817 13818 :param security_rule_access_result: The network traffic is allowed or denied. Possible values 13819 include: "Allow", "Deny". 13820 :type security_rule_access_result: str or 13821 ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess 13822 :ivar evaluated_network_security_groups: List of results network security groups diagnostic. 13823 :vartype evaluated_network_security_groups: 13824 list[~azure.mgmt.network.v2020_04_01.models.EvaluatedNetworkSecurityGroup] 13825 """ 13826 13827 _validation = { 13828 'evaluated_network_security_groups': {'readonly': True}, 13829 } 13830 13831 _attribute_map = { 13832 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, 13833 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, 13834 } 13835 13836 def __init__( 13837 self, 13838 *, 13839 security_rule_access_result: Optional[Union[str, "SecurityRuleAccess"]] = None, 13840 **kwargs 13841 ): 13842 super(NetworkSecurityGroupResult, self).__init__(**kwargs) 13843 self.security_rule_access_result = security_rule_access_result 13844 self.evaluated_network_security_groups = None 13845 13846 13847class NetworkSecurityRulesEvaluationResult(msrest.serialization.Model): 13848 """Network security rules evaluation result. 13849 13850 :param name: Name of the network security rule. 13851 :type name: str 13852 :param protocol_matched: Value indicating whether protocol is matched. 13853 :type protocol_matched: bool 13854 :param source_matched: Value indicating whether source is matched. 13855 :type source_matched: bool 13856 :param source_port_matched: Value indicating whether source port is matched. 13857 :type source_port_matched: bool 13858 :param destination_matched: Value indicating whether destination is matched. 13859 :type destination_matched: bool 13860 :param destination_port_matched: Value indicating whether destination port is matched. 13861 :type destination_port_matched: bool 13862 """ 13863 13864 _attribute_map = { 13865 'name': {'key': 'name', 'type': 'str'}, 13866 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, 13867 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, 13868 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, 13869 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, 13870 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, 13871 } 13872 13873 def __init__( 13874 self, 13875 *, 13876 name: Optional[str] = None, 13877 protocol_matched: Optional[bool] = None, 13878 source_matched: Optional[bool] = None, 13879 source_port_matched: Optional[bool] = None, 13880 destination_matched: Optional[bool] = None, 13881 destination_port_matched: Optional[bool] = None, 13882 **kwargs 13883 ): 13884 super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) 13885 self.name = name 13886 self.protocol_matched = protocol_matched 13887 self.source_matched = source_matched 13888 self.source_port_matched = source_port_matched 13889 self.destination_matched = destination_matched 13890 self.destination_port_matched = destination_port_matched 13891 13892 13893class NetworkVirtualAppliance(Resource): 13894 """NetworkVirtualAppliance Resource. 13895 13896 Variables are only populated by the server, and will be ignored when sending a request. 13897 13898 :param id: Resource ID. 13899 :type id: str 13900 :ivar name: Resource name. 13901 :vartype name: str 13902 :ivar type: Resource type. 13903 :vartype type: str 13904 :param location: Resource location. 13905 :type location: str 13906 :param tags: A set of tags. Resource tags. 13907 :type tags: dict[str, str] 13908 :param identity: The service principal that has read access to cloud-init and config blob. 13909 :type identity: ~azure.mgmt.network.v2020_04_01.models.ManagedServiceIdentity 13910 :param sku: Network Virtual Appliance SKU. 13911 :type sku: ~azure.mgmt.network.v2020_04_01.models.VirtualApplianceSkuProperties 13912 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13913 :vartype etag: str 13914 :param boot_strap_configuration_blob: BootStrapConfigurationBlob storage URLs. 13915 :type boot_strap_configuration_blob: list[str] 13916 :param virtual_hub: The Virtual Hub where Network Virtual Appliance is being deployed. 13917 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource 13918 :param cloud_init_configuration_blob: CloudInitConfigurationBlob storage URLs. 13919 :type cloud_init_configuration_blob: list[str] 13920 :param virtual_appliance_asn: VirtualAppliance ASN. 13921 :type virtual_appliance_asn: long 13922 :ivar virtual_appliance_nics: List of Virtual Appliance Network Interfaces. 13923 :vartype virtual_appliance_nics: 13924 list[~azure.mgmt.network.v2020_04_01.models.VirtualApplianceNicProperties] 13925 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 13926 "Succeeded", "Updating", "Deleting", "Failed". 13927 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 13928 """ 13929 13930 _validation = { 13931 'name': {'readonly': True}, 13932 'type': {'readonly': True}, 13933 'etag': {'readonly': True}, 13934 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, 13935 'virtual_appliance_nics': {'readonly': True}, 13936 'provisioning_state': {'readonly': True}, 13937 } 13938 13939 _attribute_map = { 13940 'id': {'key': 'id', 'type': 'str'}, 13941 'name': {'key': 'name', 'type': 'str'}, 13942 'type': {'key': 'type', 'type': 'str'}, 13943 'location': {'key': 'location', 'type': 'str'}, 13944 'tags': {'key': 'tags', 'type': '{str}'}, 13945 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 13946 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, 13947 'etag': {'key': 'etag', 'type': 'str'}, 13948 'boot_strap_configuration_blob': {'key': 'properties.bootStrapConfigurationBlob', 'type': '[str]'}, 13949 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 13950 'cloud_init_configuration_blob': {'key': 'properties.cloudInitConfigurationBlob', 'type': '[str]'}, 13951 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, 13952 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, 13953 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13954 } 13955 13956 def __init__( 13957 self, 13958 *, 13959 id: Optional[str] = None, 13960 location: Optional[str] = None, 13961 tags: Optional[Dict[str, str]] = None, 13962 identity: Optional["ManagedServiceIdentity"] = None, 13963 sku: Optional["VirtualApplianceSkuProperties"] = None, 13964 boot_strap_configuration_blob: Optional[List[str]] = None, 13965 virtual_hub: Optional["SubResource"] = None, 13966 cloud_init_configuration_blob: Optional[List[str]] = None, 13967 virtual_appliance_asn: Optional[int] = None, 13968 **kwargs 13969 ): 13970 super(NetworkVirtualAppliance, self).__init__(id=id, location=location, tags=tags, **kwargs) 13971 self.identity = identity 13972 self.sku = sku 13973 self.etag = None 13974 self.boot_strap_configuration_blob = boot_strap_configuration_blob 13975 self.virtual_hub = virtual_hub 13976 self.cloud_init_configuration_blob = cloud_init_configuration_blob 13977 self.virtual_appliance_asn = virtual_appliance_asn 13978 self.virtual_appliance_nics = None 13979 self.provisioning_state = None 13980 13981 13982class NetworkVirtualApplianceListResult(msrest.serialization.Model): 13983 """Response for ListNetworkVirtualAppliances API service call. 13984 13985 :param value: List of Network Virtual Appliances. 13986 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkVirtualAppliance] 13987 :param next_link: URL to get the next set of results. 13988 :type next_link: str 13989 """ 13990 13991 _attribute_map = { 13992 'value': {'key': 'value', 'type': '[NetworkVirtualAppliance]'}, 13993 'next_link': {'key': 'nextLink', 'type': 'str'}, 13994 } 13995 13996 def __init__( 13997 self, 13998 *, 13999 value: Optional[List["NetworkVirtualAppliance"]] = None, 14000 next_link: Optional[str] = None, 14001 **kwargs 14002 ): 14003 super(NetworkVirtualApplianceListResult, self).__init__(**kwargs) 14004 self.value = value 14005 self.next_link = next_link 14006 14007 14008class NetworkWatcher(Resource): 14009 """Network watcher in a resource group. 14010 14011 Variables are only populated by the server, and will be ignored when sending a request. 14012 14013 :param id: Resource ID. 14014 :type id: str 14015 :ivar name: Resource name. 14016 :vartype name: str 14017 :ivar type: Resource type. 14018 :vartype type: str 14019 :param location: Resource location. 14020 :type location: str 14021 :param tags: A set of tags. Resource tags. 14022 :type tags: dict[str, str] 14023 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14024 :vartype etag: str 14025 :ivar provisioning_state: The provisioning state of the network watcher resource. Possible 14026 values include: "Succeeded", "Updating", "Deleting", "Failed". 14027 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14028 """ 14029 14030 _validation = { 14031 'name': {'readonly': True}, 14032 'type': {'readonly': True}, 14033 'etag': {'readonly': True}, 14034 'provisioning_state': {'readonly': True}, 14035 } 14036 14037 _attribute_map = { 14038 'id': {'key': 'id', 'type': 'str'}, 14039 'name': {'key': 'name', 'type': 'str'}, 14040 'type': {'key': 'type', 'type': 'str'}, 14041 'location': {'key': 'location', 'type': 'str'}, 14042 'tags': {'key': 'tags', 'type': '{str}'}, 14043 'etag': {'key': 'etag', 'type': 'str'}, 14044 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14045 } 14046 14047 def __init__( 14048 self, 14049 *, 14050 id: Optional[str] = None, 14051 location: Optional[str] = None, 14052 tags: Optional[Dict[str, str]] = None, 14053 **kwargs 14054 ): 14055 super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) 14056 self.etag = None 14057 self.provisioning_state = None 14058 14059 14060class NetworkWatcherListResult(msrest.serialization.Model): 14061 """Response for ListNetworkWatchers API service call. 14062 14063 :param value: List of network watcher resources. 14064 :type value: list[~azure.mgmt.network.v2020_04_01.models.NetworkWatcher] 14065 """ 14066 14067 _attribute_map = { 14068 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 14069 } 14070 14071 def __init__( 14072 self, 14073 *, 14074 value: Optional[List["NetworkWatcher"]] = None, 14075 **kwargs 14076 ): 14077 super(NetworkWatcherListResult, self).__init__(**kwargs) 14078 self.value = value 14079 14080 14081class NextHopParameters(msrest.serialization.Model): 14082 """Parameters that define the source and destination endpoint. 14083 14084 All required parameters must be populated in order to send to Azure. 14085 14086 :param target_resource_id: Required. The resource identifier of the target resource against 14087 which the action is to be performed. 14088 :type target_resource_id: str 14089 :param source_ip_address: Required. The source IP address. 14090 :type source_ip_address: str 14091 :param destination_ip_address: Required. The destination IP address. 14092 :type destination_ip_address: str 14093 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 14094 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 14095 :type target_nic_resource_id: str 14096 """ 14097 14098 _validation = { 14099 'target_resource_id': {'required': True}, 14100 'source_ip_address': {'required': True}, 14101 'destination_ip_address': {'required': True}, 14102 } 14103 14104 _attribute_map = { 14105 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 14106 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 14107 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 14108 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 14109 } 14110 14111 def __init__( 14112 self, 14113 *, 14114 target_resource_id: str, 14115 source_ip_address: str, 14116 destination_ip_address: str, 14117 target_nic_resource_id: Optional[str] = None, 14118 **kwargs 14119 ): 14120 super(NextHopParameters, self).__init__(**kwargs) 14121 self.target_resource_id = target_resource_id 14122 self.source_ip_address = source_ip_address 14123 self.destination_ip_address = destination_ip_address 14124 self.target_nic_resource_id = target_nic_resource_id 14125 14126 14127class NextHopResult(msrest.serialization.Model): 14128 """The information about next hop from the specified VM. 14129 14130 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 14131 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 14132 :type next_hop_type: str or ~azure.mgmt.network.v2020_04_01.models.NextHopType 14133 :param next_hop_ip_address: Next hop IP Address. 14134 :type next_hop_ip_address: str 14135 :param route_table_id: The resource identifier for the route table associated with the route 14136 being returned. If the route being returned does not correspond to any user created routes then 14137 this field will be the string 'System Route'. 14138 :type route_table_id: str 14139 """ 14140 14141 _attribute_map = { 14142 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 14143 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 14144 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 14145 } 14146 14147 def __init__( 14148 self, 14149 *, 14150 next_hop_type: Optional[Union[str, "NextHopType"]] = None, 14151 next_hop_ip_address: Optional[str] = None, 14152 route_table_id: Optional[str] = None, 14153 **kwargs 14154 ): 14155 super(NextHopResult, self).__init__(**kwargs) 14156 self.next_hop_type = next_hop_type 14157 self.next_hop_ip_address = next_hop_ip_address 14158 self.route_table_id = route_table_id 14159 14160 14161class Operation(msrest.serialization.Model): 14162 """Network REST API operation definition. 14163 14164 :param name: Operation name: {provider}/{resource}/{operation}. 14165 :type name: str 14166 :param display: Display metadata associated with the operation. 14167 :type display: ~azure.mgmt.network.v2020_04_01.models.OperationDisplay 14168 :param origin: Origin of the operation. 14169 :type origin: str 14170 :param service_specification: Specification of the service. 14171 :type service_specification: 14172 ~azure.mgmt.network.v2020_04_01.models.OperationPropertiesFormatServiceSpecification 14173 """ 14174 14175 _attribute_map = { 14176 'name': {'key': 'name', 'type': 'str'}, 14177 'display': {'key': 'display', 'type': 'OperationDisplay'}, 14178 'origin': {'key': 'origin', 'type': 'str'}, 14179 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, 14180 } 14181 14182 def __init__( 14183 self, 14184 *, 14185 name: Optional[str] = None, 14186 display: Optional["OperationDisplay"] = None, 14187 origin: Optional[str] = None, 14188 service_specification: Optional["OperationPropertiesFormatServiceSpecification"] = None, 14189 **kwargs 14190 ): 14191 super(Operation, self).__init__(**kwargs) 14192 self.name = name 14193 self.display = display 14194 self.origin = origin 14195 self.service_specification = service_specification 14196 14197 14198class OperationDisplay(msrest.serialization.Model): 14199 """Display metadata associated with the operation. 14200 14201 :param provider: Service provider: Microsoft Network. 14202 :type provider: str 14203 :param resource: Resource on which the operation is performed. 14204 :type resource: str 14205 :param operation: Type of the operation: get, read, delete, etc. 14206 :type operation: str 14207 :param description: Description of the operation. 14208 :type description: str 14209 """ 14210 14211 _attribute_map = { 14212 'provider': {'key': 'provider', 'type': 'str'}, 14213 'resource': {'key': 'resource', 'type': 'str'}, 14214 'operation': {'key': 'operation', 'type': 'str'}, 14215 'description': {'key': 'description', 'type': 'str'}, 14216 } 14217 14218 def __init__( 14219 self, 14220 *, 14221 provider: Optional[str] = None, 14222 resource: Optional[str] = None, 14223 operation: Optional[str] = None, 14224 description: Optional[str] = None, 14225 **kwargs 14226 ): 14227 super(OperationDisplay, self).__init__(**kwargs) 14228 self.provider = provider 14229 self.resource = resource 14230 self.operation = operation 14231 self.description = description 14232 14233 14234class OperationListResult(msrest.serialization.Model): 14235 """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. 14236 14237 :param value: List of Network operations supported by the Network resource provider. 14238 :type value: list[~azure.mgmt.network.v2020_04_01.models.Operation] 14239 :param next_link: URL to get the next set of operation list results if there are any. 14240 :type next_link: str 14241 """ 14242 14243 _attribute_map = { 14244 'value': {'key': 'value', 'type': '[Operation]'}, 14245 'next_link': {'key': 'nextLink', 'type': 'str'}, 14246 } 14247 14248 def __init__( 14249 self, 14250 *, 14251 value: Optional[List["Operation"]] = None, 14252 next_link: Optional[str] = None, 14253 **kwargs 14254 ): 14255 super(OperationListResult, self).__init__(**kwargs) 14256 self.value = value 14257 self.next_link = next_link 14258 14259 14260class OperationPropertiesFormatServiceSpecification(msrest.serialization.Model): 14261 """Specification of the service. 14262 14263 :param metric_specifications: Operation service specification. 14264 :type metric_specifications: list[~azure.mgmt.network.v2020_04_01.models.MetricSpecification] 14265 :param log_specifications: Operation log specification. 14266 :type log_specifications: list[~azure.mgmt.network.v2020_04_01.models.LogSpecification] 14267 """ 14268 14269 _attribute_map = { 14270 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 14271 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, 14272 } 14273 14274 def __init__( 14275 self, 14276 *, 14277 metric_specifications: Optional[List["MetricSpecification"]] = None, 14278 log_specifications: Optional[List["LogSpecification"]] = None, 14279 **kwargs 14280 ): 14281 super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) 14282 self.metric_specifications = metric_specifications 14283 self.log_specifications = log_specifications 14284 14285 14286class OutboundRule(SubResource): 14287 """Outbound rule of the load balancer. 14288 14289 Variables are only populated by the server, and will be ignored when sending a request. 14290 14291 :param id: Resource ID. 14292 :type id: str 14293 :param name: The name of the resource that is unique within the set of outbound rules used by 14294 the load balancer. This name can be used to access the resource. 14295 :type name: str 14296 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14297 :vartype etag: str 14298 :ivar type: Type of the resource. 14299 :vartype type: str 14300 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 14301 :type allocated_outbound_ports: int 14302 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 14303 :type frontend_ip_configurations: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 14304 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 14305 balanced across IPs in the backend IPs. 14306 :type backend_address_pool: ~azure.mgmt.network.v2020_04_01.models.SubResource 14307 :ivar provisioning_state: The provisioning state of the outbound rule resource. Possible values 14308 include: "Succeeded", "Updating", "Deleting", "Failed". 14309 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14310 :param protocol: The protocol for the outbound rule in load balancer. Possible values include: 14311 "Tcp", "Udp", "All". 14312 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.LoadBalancerOutboundRuleProtocol 14313 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 14314 connection termination. This element is only used when the protocol is set to TCP. 14315 :type enable_tcp_reset: bool 14316 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. 14317 :type idle_timeout_in_minutes: int 14318 """ 14319 14320 _validation = { 14321 'etag': {'readonly': True}, 14322 'type': {'readonly': True}, 14323 'provisioning_state': {'readonly': True}, 14324 } 14325 14326 _attribute_map = { 14327 'id': {'key': 'id', 'type': 'str'}, 14328 'name': {'key': 'name', 'type': 'str'}, 14329 'etag': {'key': 'etag', 'type': 'str'}, 14330 'type': {'key': 'type', 'type': 'str'}, 14331 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 14332 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 14333 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 14334 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14335 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 14336 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 14337 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 14338 } 14339 14340 def __init__( 14341 self, 14342 *, 14343 id: Optional[str] = None, 14344 name: Optional[str] = None, 14345 allocated_outbound_ports: Optional[int] = None, 14346 frontend_ip_configurations: Optional[List["SubResource"]] = None, 14347 backend_address_pool: Optional["SubResource"] = None, 14348 protocol: Optional[Union[str, "LoadBalancerOutboundRuleProtocol"]] = None, 14349 enable_tcp_reset: Optional[bool] = None, 14350 idle_timeout_in_minutes: Optional[int] = None, 14351 **kwargs 14352 ): 14353 super(OutboundRule, self).__init__(id=id, **kwargs) 14354 self.name = name 14355 self.etag = None 14356 self.type = None 14357 self.allocated_outbound_ports = allocated_outbound_ports 14358 self.frontend_ip_configurations = frontend_ip_configurations 14359 self.backend_address_pool = backend_address_pool 14360 self.provisioning_state = None 14361 self.protocol = protocol 14362 self.enable_tcp_reset = enable_tcp_reset 14363 self.idle_timeout_in_minutes = idle_timeout_in_minutes 14364 14365 14366class OwaspCrsExclusionEntry(msrest.serialization.Model): 14367 """Allow to exclude some variable satisfy the condition for the WAF check. 14368 14369 All required parameters must be populated in order to send to Azure. 14370 14371 :param match_variable: Required. The variable to be excluded. Possible values include: 14372 "RequestHeaderNames", "RequestCookieNames", "RequestArgNames". 14373 :type match_variable: str or 14374 ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntryMatchVariable 14375 :param selector_match_operator: Required. When matchVariable is a collection, operate on the 14376 selector to specify which elements in the collection this exclusion applies to. Possible values 14377 include: "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny". 14378 :type selector_match_operator: str or 14379 ~azure.mgmt.network.v2020_04_01.models.OwaspCrsExclusionEntrySelectorMatchOperator 14380 :param selector: Required. When matchVariable is a collection, operator used to specify which 14381 elements in the collection this exclusion applies to. 14382 :type selector: str 14383 """ 14384 14385 _validation = { 14386 'match_variable': {'required': True}, 14387 'selector_match_operator': {'required': True}, 14388 'selector': {'required': True}, 14389 } 14390 14391 _attribute_map = { 14392 'match_variable': {'key': 'matchVariable', 'type': 'str'}, 14393 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, 14394 'selector': {'key': 'selector', 'type': 'str'}, 14395 } 14396 14397 def __init__( 14398 self, 14399 *, 14400 match_variable: Union[str, "OwaspCrsExclusionEntryMatchVariable"], 14401 selector_match_operator: Union[str, "OwaspCrsExclusionEntrySelectorMatchOperator"], 14402 selector: str, 14403 **kwargs 14404 ): 14405 super(OwaspCrsExclusionEntry, self).__init__(**kwargs) 14406 self.match_variable = match_variable 14407 self.selector_match_operator = selector_match_operator 14408 self.selector = selector 14409 14410 14411class P2SConnectionConfiguration(SubResource): 14412 """P2SConnectionConfiguration Resource. 14413 14414 Variables are only populated by the server, and will be ignored when sending a request. 14415 14416 :param id: Resource ID. 14417 :type id: str 14418 :param name: The name of the resource that is unique within a resource group. This name can be 14419 used to access the resource. 14420 :type name: str 14421 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14422 :vartype etag: str 14423 :param vpn_client_address_pool: The reference to the address space resource which represents 14424 Address space for P2S VpnClient. 14425 :type vpn_client_address_pool: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 14426 :param routing_configuration: The Routing Configuration indicating the associated and 14427 propagated route tables on this connection. 14428 :type routing_configuration: ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration 14429 :ivar provisioning_state: The provisioning state of the P2SConnectionConfiguration resource. 14430 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 14431 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14432 """ 14433 14434 _validation = { 14435 'etag': {'readonly': True}, 14436 'provisioning_state': {'readonly': True}, 14437 } 14438 14439 _attribute_map = { 14440 'id': {'key': 'id', 'type': 'str'}, 14441 'name': {'key': 'name', 'type': 'str'}, 14442 'etag': {'key': 'etag', 'type': 'str'}, 14443 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, 14444 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, 14445 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14446 } 14447 14448 def __init__( 14449 self, 14450 *, 14451 id: Optional[str] = None, 14452 name: Optional[str] = None, 14453 vpn_client_address_pool: Optional["AddressSpace"] = None, 14454 routing_configuration: Optional["RoutingConfiguration"] = None, 14455 **kwargs 14456 ): 14457 super(P2SConnectionConfiguration, self).__init__(id=id, **kwargs) 14458 self.name = name 14459 self.etag = None 14460 self.vpn_client_address_pool = vpn_client_address_pool 14461 self.routing_configuration = routing_configuration 14462 self.provisioning_state = None 14463 14464 14465class P2SVpnConnectionHealth(msrest.serialization.Model): 14466 """P2S Vpn connection detailed health written to sas url. 14467 14468 :param sas_url: Returned sas url of the blob to which the p2s vpn connection detailed health 14469 will be written. 14470 :type sas_url: str 14471 """ 14472 14473 _attribute_map = { 14474 'sas_url': {'key': 'sasUrl', 'type': 'str'}, 14475 } 14476 14477 def __init__( 14478 self, 14479 *, 14480 sas_url: Optional[str] = None, 14481 **kwargs 14482 ): 14483 super(P2SVpnConnectionHealth, self).__init__(**kwargs) 14484 self.sas_url = sas_url 14485 14486 14487class P2SVpnConnectionHealthRequest(msrest.serialization.Model): 14488 """List of P2S Vpn connection health request. 14489 14490 :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn connection detailed 14491 health to retrieve for. 14492 :type vpn_user_names_filter: list[str] 14493 :param output_blob_sas_url: The sas-url to download the P2S Vpn connection health detail. 14494 :type output_blob_sas_url: str 14495 """ 14496 14497 _attribute_map = { 14498 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, 14499 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 14500 } 14501 14502 def __init__( 14503 self, 14504 *, 14505 vpn_user_names_filter: Optional[List[str]] = None, 14506 output_blob_sas_url: Optional[str] = None, 14507 **kwargs 14508 ): 14509 super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) 14510 self.vpn_user_names_filter = vpn_user_names_filter 14511 self.output_blob_sas_url = output_blob_sas_url 14512 14513 14514class P2SVpnConnectionRequest(msrest.serialization.Model): 14515 """List of p2s vpn connections to be disconnected. 14516 14517 :param vpn_connection_ids: List of p2s vpn connection Ids. 14518 :type vpn_connection_ids: list[str] 14519 """ 14520 14521 _attribute_map = { 14522 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, 14523 } 14524 14525 def __init__( 14526 self, 14527 *, 14528 vpn_connection_ids: Optional[List[str]] = None, 14529 **kwargs 14530 ): 14531 super(P2SVpnConnectionRequest, self).__init__(**kwargs) 14532 self.vpn_connection_ids = vpn_connection_ids 14533 14534 14535class P2SVpnGateway(Resource): 14536 """P2SVpnGateway Resource. 14537 14538 Variables are only populated by the server, and will be ignored when sending a request. 14539 14540 :param id: Resource ID. 14541 :type id: str 14542 :ivar name: Resource name. 14543 :vartype name: str 14544 :ivar type: Resource type. 14545 :vartype type: str 14546 :param location: Resource location. 14547 :type location: str 14548 :param tags: A set of tags. Resource tags. 14549 :type tags: dict[str, str] 14550 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14551 :vartype etag: str 14552 :param virtual_hub: The VirtualHub to which the gateway belongs. 14553 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource 14554 :param p2_s_connection_configurations: List of all p2s connection configurations of the 14555 gateway. 14556 :type p2_s_connection_configurations: 14557 list[~azure.mgmt.network.v2020_04_01.models.P2SConnectionConfiguration] 14558 :ivar provisioning_state: The provisioning state of the P2S VPN gateway resource. Possible 14559 values include: "Succeeded", "Updating", "Deleting", "Failed". 14560 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14561 :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. 14562 :type vpn_gateway_scale_unit: int 14563 :param vpn_server_configuration: The VpnServerConfiguration to which the p2sVpnGateway is 14564 attached to. 14565 :type vpn_server_configuration: ~azure.mgmt.network.v2020_04_01.models.SubResource 14566 :ivar vpn_client_connection_health: All P2S VPN clients' connection health status. 14567 :vartype vpn_client_connection_health: 14568 ~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealth 14569 """ 14570 14571 _validation = { 14572 'name': {'readonly': True}, 14573 'type': {'readonly': True}, 14574 'etag': {'readonly': True}, 14575 'provisioning_state': {'readonly': True}, 14576 'vpn_client_connection_health': {'readonly': True}, 14577 } 14578 14579 _attribute_map = { 14580 'id': {'key': 'id', 'type': 'str'}, 14581 'name': {'key': 'name', 'type': 'str'}, 14582 'type': {'key': 'type', 'type': 'str'}, 14583 'location': {'key': 'location', 'type': 'str'}, 14584 'tags': {'key': 'tags', 'type': '{str}'}, 14585 'etag': {'key': 'etag', 'type': 'str'}, 14586 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 14587 'p2_s_connection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, 14588 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14589 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, 14590 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, 14591 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, 14592 } 14593 14594 def __init__( 14595 self, 14596 *, 14597 id: Optional[str] = None, 14598 location: Optional[str] = None, 14599 tags: Optional[Dict[str, str]] = None, 14600 virtual_hub: Optional["SubResource"] = None, 14601 p2_s_connection_configurations: Optional[List["P2SConnectionConfiguration"]] = None, 14602 vpn_gateway_scale_unit: Optional[int] = None, 14603 vpn_server_configuration: Optional["SubResource"] = None, 14604 **kwargs 14605 ): 14606 super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 14607 self.etag = None 14608 self.virtual_hub = virtual_hub 14609 self.p2_s_connection_configurations = p2_s_connection_configurations 14610 self.provisioning_state = None 14611 self.vpn_gateway_scale_unit = vpn_gateway_scale_unit 14612 self.vpn_server_configuration = vpn_server_configuration 14613 self.vpn_client_connection_health = None 14614 14615 14616class P2SVpnProfileParameters(msrest.serialization.Model): 14617 """Vpn Client Parameters for package generation. 14618 14619 :param authentication_method: VPN client authentication method. Possible values include: 14620 "EAPTLS", "EAPMSCHAPv2". 14621 :type authentication_method: str or ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod 14622 """ 14623 14624 _attribute_map = { 14625 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 14626 } 14627 14628 def __init__( 14629 self, 14630 *, 14631 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 14632 **kwargs 14633 ): 14634 super(P2SVpnProfileParameters, self).__init__(**kwargs) 14635 self.authentication_method = authentication_method 14636 14637 14638class PacketCapture(msrest.serialization.Model): 14639 """Parameters that define the create packet capture operation. 14640 14641 All required parameters must be populated in order to send to Azure. 14642 14643 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14644 :type target: str 14645 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14646 are truncated. 14647 :type bytes_to_capture_per_packet: int 14648 :param total_bytes_per_session: Maximum size of the capture output. 14649 :type total_bytes_per_session: int 14650 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14651 :type time_limit_in_seconds: int 14652 :param storage_location: Required. The storage location for a packet capture session. 14653 :type storage_location: ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation 14654 :param filters: A list of packet capture filters. 14655 :type filters: list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] 14656 """ 14657 14658 _validation = { 14659 'target': {'required': True}, 14660 'storage_location': {'required': True}, 14661 } 14662 14663 _attribute_map = { 14664 'target': {'key': 'properties.target', 'type': 'str'}, 14665 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 14666 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 14667 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 14668 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14669 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 14670 } 14671 14672 def __init__( 14673 self, 14674 *, 14675 target: str, 14676 storage_location: "PacketCaptureStorageLocation", 14677 bytes_to_capture_per_packet: Optional[int] = 0, 14678 total_bytes_per_session: Optional[int] = 1073741824, 14679 time_limit_in_seconds: Optional[int] = 18000, 14680 filters: Optional[List["PacketCaptureFilter"]] = None, 14681 **kwargs 14682 ): 14683 super(PacketCapture, self).__init__(**kwargs) 14684 self.target = target 14685 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14686 self.total_bytes_per_session = total_bytes_per_session 14687 self.time_limit_in_seconds = time_limit_in_seconds 14688 self.storage_location = storage_location 14689 self.filters = filters 14690 14691 14692class PacketCaptureFilter(msrest.serialization.Model): 14693 """Filter that is applied to packet capture request. Multiple filters can be applied. 14694 14695 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 14696 Default value: "Any". 14697 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.PcProtocol 14698 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 14699 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 14700 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 14701 supported. Default = null. 14702 :type local_ip_address: str 14703 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 14704 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 14705 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 14706 supported. Default = null. 14707 :type remote_ip_address: str 14708 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 14709 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 14710 ranges with multiple entries not currently supported. Default = null. 14711 :type local_port: str 14712 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 14713 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 14714 ranges with multiple entries not currently supported. Default = null. 14715 :type remote_port: str 14716 """ 14717 14718 _attribute_map = { 14719 'protocol': {'key': 'protocol', 'type': 'str'}, 14720 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 14721 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 14722 'local_port': {'key': 'localPort', 'type': 'str'}, 14723 'remote_port': {'key': 'remotePort', 'type': 'str'}, 14724 } 14725 14726 def __init__( 14727 self, 14728 *, 14729 protocol: Optional[Union[str, "PcProtocol"]] = "Any", 14730 local_ip_address: Optional[str] = None, 14731 remote_ip_address: Optional[str] = None, 14732 local_port: Optional[str] = None, 14733 remote_port: Optional[str] = None, 14734 **kwargs 14735 ): 14736 super(PacketCaptureFilter, self).__init__(**kwargs) 14737 self.protocol = protocol 14738 self.local_ip_address = local_ip_address 14739 self.remote_ip_address = remote_ip_address 14740 self.local_port = local_port 14741 self.remote_port = remote_port 14742 14743 14744class PacketCaptureListResult(msrest.serialization.Model): 14745 """List of packet capture sessions. 14746 14747 :param value: Information about packet capture sessions. 14748 :type value: list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureResult] 14749 """ 14750 14751 _attribute_map = { 14752 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 14753 } 14754 14755 def __init__( 14756 self, 14757 *, 14758 value: Optional[List["PacketCaptureResult"]] = None, 14759 **kwargs 14760 ): 14761 super(PacketCaptureListResult, self).__init__(**kwargs) 14762 self.value = value 14763 14764 14765class PacketCaptureParameters(msrest.serialization.Model): 14766 """Parameters that define the create packet capture operation. 14767 14768 All required parameters must be populated in order to send to Azure. 14769 14770 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14771 :type target: str 14772 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14773 are truncated. 14774 :type bytes_to_capture_per_packet: int 14775 :param total_bytes_per_session: Maximum size of the capture output. 14776 :type total_bytes_per_session: int 14777 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14778 :type time_limit_in_seconds: int 14779 :param storage_location: Required. The storage location for a packet capture session. 14780 :type storage_location: ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation 14781 :param filters: A list of packet capture filters. 14782 :type filters: list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] 14783 """ 14784 14785 _validation = { 14786 'target': {'required': True}, 14787 'storage_location': {'required': True}, 14788 } 14789 14790 _attribute_map = { 14791 'target': {'key': 'target', 'type': 'str'}, 14792 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 14793 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 14794 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 14795 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14796 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 14797 } 14798 14799 def __init__( 14800 self, 14801 *, 14802 target: str, 14803 storage_location: "PacketCaptureStorageLocation", 14804 bytes_to_capture_per_packet: Optional[int] = 0, 14805 total_bytes_per_session: Optional[int] = 1073741824, 14806 time_limit_in_seconds: Optional[int] = 18000, 14807 filters: Optional[List["PacketCaptureFilter"]] = None, 14808 **kwargs 14809 ): 14810 super(PacketCaptureParameters, self).__init__(**kwargs) 14811 self.target = target 14812 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14813 self.total_bytes_per_session = total_bytes_per_session 14814 self.time_limit_in_seconds = time_limit_in_seconds 14815 self.storage_location = storage_location 14816 self.filters = filters 14817 14818 14819class PacketCaptureQueryStatusResult(msrest.serialization.Model): 14820 """Status of packet capture session. 14821 14822 :param name: The name of the packet capture resource. 14823 :type name: str 14824 :param id: The ID of the packet capture resource. 14825 :type id: str 14826 :param capture_start_time: The start time of the packet capture session. 14827 :type capture_start_time: ~datetime.datetime 14828 :param packet_capture_status: The status of the packet capture session. Possible values 14829 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 14830 :type packet_capture_status: str or ~azure.mgmt.network.v2020_04_01.models.PcStatus 14831 :param stop_reason: The reason the current packet capture session was stopped. 14832 :type stop_reason: str 14833 :param packet_capture_error: List of errors of packet capture session. 14834 :type packet_capture_error: list[str or ~azure.mgmt.network.v2020_04_01.models.PcError] 14835 """ 14836 14837 _attribute_map = { 14838 'name': {'key': 'name', 'type': 'str'}, 14839 'id': {'key': 'id', 'type': 'str'}, 14840 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 14841 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 14842 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 14843 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 14844 } 14845 14846 def __init__( 14847 self, 14848 *, 14849 name: Optional[str] = None, 14850 id: Optional[str] = None, 14851 capture_start_time: Optional[datetime.datetime] = None, 14852 packet_capture_status: Optional[Union[str, "PcStatus"]] = None, 14853 stop_reason: Optional[str] = None, 14854 packet_capture_error: Optional[List[Union[str, "PcError"]]] = None, 14855 **kwargs 14856 ): 14857 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 14858 self.name = name 14859 self.id = id 14860 self.capture_start_time = capture_start_time 14861 self.packet_capture_status = packet_capture_status 14862 self.stop_reason = stop_reason 14863 self.packet_capture_error = packet_capture_error 14864 14865 14866class PacketCaptureResult(msrest.serialization.Model): 14867 """Information about packet capture session. 14868 14869 Variables are only populated by the server, and will be ignored when sending a request. 14870 14871 :ivar name: Name of the packet capture session. 14872 :vartype name: str 14873 :ivar id: ID of the packet capture operation. 14874 :vartype id: str 14875 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14876 :vartype etag: str 14877 :param target: The ID of the targeted resource, only VM is currently supported. 14878 :type target: str 14879 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14880 are truncated. 14881 :type bytes_to_capture_per_packet: int 14882 :param total_bytes_per_session: Maximum size of the capture output. 14883 :type total_bytes_per_session: int 14884 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14885 :type time_limit_in_seconds: int 14886 :param storage_location: The storage location for a packet capture session. 14887 :type storage_location: ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation 14888 :param filters: A list of packet capture filters. 14889 :type filters: list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] 14890 :ivar provisioning_state: The provisioning state of the packet capture session. Possible values 14891 include: "Succeeded", "Updating", "Deleting", "Failed". 14892 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14893 """ 14894 14895 _validation = { 14896 'name': {'readonly': True}, 14897 'id': {'readonly': True}, 14898 'etag': {'readonly': True}, 14899 'provisioning_state': {'readonly': True}, 14900 } 14901 14902 _attribute_map = { 14903 'name': {'key': 'name', 'type': 'str'}, 14904 'id': {'key': 'id', 'type': 'str'}, 14905 'etag': {'key': 'etag', 'type': 'str'}, 14906 'target': {'key': 'properties.target', 'type': 'str'}, 14907 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 14908 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 14909 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 14910 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14911 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 14912 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14913 } 14914 14915 def __init__( 14916 self, 14917 *, 14918 target: Optional[str] = None, 14919 bytes_to_capture_per_packet: Optional[int] = 0, 14920 total_bytes_per_session: Optional[int] = 1073741824, 14921 time_limit_in_seconds: Optional[int] = 18000, 14922 storage_location: Optional["PacketCaptureStorageLocation"] = None, 14923 filters: Optional[List["PacketCaptureFilter"]] = None, 14924 **kwargs 14925 ): 14926 super(PacketCaptureResult, self).__init__(**kwargs) 14927 self.name = None 14928 self.id = None 14929 self.etag = None 14930 self.target = target 14931 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14932 self.total_bytes_per_session = total_bytes_per_session 14933 self.time_limit_in_seconds = time_limit_in_seconds 14934 self.storage_location = storage_location 14935 self.filters = filters 14936 self.provisioning_state = None 14937 14938 14939class PacketCaptureResultProperties(PacketCaptureParameters): 14940 """The properties of a packet capture session. 14941 14942 Variables are only populated by the server, and will be ignored when sending a request. 14943 14944 All required parameters must be populated in order to send to Azure. 14945 14946 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14947 :type target: str 14948 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14949 are truncated. 14950 :type bytes_to_capture_per_packet: int 14951 :param total_bytes_per_session: Maximum size of the capture output. 14952 :type total_bytes_per_session: int 14953 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14954 :type time_limit_in_seconds: int 14955 :param storage_location: Required. The storage location for a packet capture session. 14956 :type storage_location: ~azure.mgmt.network.v2020_04_01.models.PacketCaptureStorageLocation 14957 :param filters: A list of packet capture filters. 14958 :type filters: list[~azure.mgmt.network.v2020_04_01.models.PacketCaptureFilter] 14959 :ivar provisioning_state: The provisioning state of the packet capture session. Possible values 14960 include: "Succeeded", "Updating", "Deleting", "Failed". 14961 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 14962 """ 14963 14964 _validation = { 14965 'target': {'required': True}, 14966 'storage_location': {'required': True}, 14967 'provisioning_state': {'readonly': True}, 14968 } 14969 14970 _attribute_map = { 14971 'target': {'key': 'target', 'type': 'str'}, 14972 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 14973 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 14974 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 14975 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14976 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 14977 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 14978 } 14979 14980 def __init__( 14981 self, 14982 *, 14983 target: str, 14984 storage_location: "PacketCaptureStorageLocation", 14985 bytes_to_capture_per_packet: Optional[int] = 0, 14986 total_bytes_per_session: Optional[int] = 1073741824, 14987 time_limit_in_seconds: Optional[int] = 18000, 14988 filters: Optional[List["PacketCaptureFilter"]] = None, 14989 **kwargs 14990 ): 14991 super(PacketCaptureResultProperties, self).__init__(target=target, bytes_to_capture_per_packet=bytes_to_capture_per_packet, total_bytes_per_session=total_bytes_per_session, time_limit_in_seconds=time_limit_in_seconds, storage_location=storage_location, filters=filters, **kwargs) 14992 self.provisioning_state = None 14993 14994 14995class PacketCaptureStorageLocation(msrest.serialization.Model): 14996 """The storage location for a packet capture session. 14997 14998 :param storage_id: The ID of the storage account to save the packet capture session. Required 14999 if no local file path is provided. 15000 :type storage_id: str 15001 :param storage_path: The URI of the storage path to save the packet capture. Must be a 15002 well-formed URI describing the location to save the packet capture. 15003 :type storage_path: str 15004 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 15005 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 15006 storage ID is provided, otherwise optional. 15007 :type file_path: str 15008 """ 15009 15010 _attribute_map = { 15011 'storage_id': {'key': 'storageId', 'type': 'str'}, 15012 'storage_path': {'key': 'storagePath', 'type': 'str'}, 15013 'file_path': {'key': 'filePath', 'type': 'str'}, 15014 } 15015 15016 def __init__( 15017 self, 15018 *, 15019 storage_id: Optional[str] = None, 15020 storage_path: Optional[str] = None, 15021 file_path: Optional[str] = None, 15022 **kwargs 15023 ): 15024 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 15025 self.storage_id = storage_id 15026 self.storage_path = storage_path 15027 self.file_path = file_path 15028 15029 15030class PatchRouteFilter(SubResource): 15031 """Route Filter Resource. 15032 15033 Variables are only populated by the server, and will be ignored when sending a request. 15034 15035 :param id: Resource ID. 15036 :type id: str 15037 :ivar name: The name of the resource that is unique within a resource group. This name can be 15038 used to access the resource. 15039 :vartype name: str 15040 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15041 :vartype etag: str 15042 :ivar type: Resource type. 15043 :vartype type: str 15044 :param tags: A set of tags. Resource tags. 15045 :type tags: dict[str, str] 15046 :param rules: Collection of RouteFilterRules contained within a route filter. 15047 :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] 15048 :ivar peerings: A collection of references to express route circuit peerings. 15049 :vartype peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 15050 :ivar ipv6_peerings: A collection of references to express route circuit ipv6 peerings. 15051 :vartype ipv6_peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 15052 :ivar provisioning_state: The provisioning state of the route filter resource. Possible values 15053 include: "Succeeded", "Updating", "Deleting", "Failed". 15054 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15055 """ 15056 15057 _validation = { 15058 'name': {'readonly': True}, 15059 'etag': {'readonly': True}, 15060 'type': {'readonly': True}, 15061 'peerings': {'readonly': True}, 15062 'ipv6_peerings': {'readonly': True}, 15063 'provisioning_state': {'readonly': True}, 15064 } 15065 15066 _attribute_map = { 15067 'id': {'key': 'id', 'type': 'str'}, 15068 'name': {'key': 'name', 'type': 'str'}, 15069 'etag': {'key': 'etag', 'type': 'str'}, 15070 'type': {'key': 'type', 'type': 'str'}, 15071 'tags': {'key': 'tags', 'type': '{str}'}, 15072 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 15073 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 15074 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, 15075 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15076 } 15077 15078 def __init__( 15079 self, 15080 *, 15081 id: Optional[str] = None, 15082 tags: Optional[Dict[str, str]] = None, 15083 rules: Optional[List["RouteFilterRule"]] = None, 15084 **kwargs 15085 ): 15086 super(PatchRouteFilter, self).__init__(id=id, **kwargs) 15087 self.name = None 15088 self.etag = None 15089 self.type = None 15090 self.tags = tags 15091 self.rules = rules 15092 self.peerings = None 15093 self.ipv6_peerings = None 15094 self.provisioning_state = None 15095 15096 15097class PatchRouteFilterRule(SubResource): 15098 """Route Filter Rule Resource. 15099 15100 Variables are only populated by the server, and will be ignored when sending a request. 15101 15102 :param id: Resource ID. 15103 :type id: str 15104 :ivar name: The name of the resource that is unique within a resource group. This name can be 15105 used to access the resource. 15106 :vartype name: str 15107 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15108 :vartype etag: str 15109 :param access: The access type of the rule. Possible values include: "Allow", "Deny". 15110 :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access 15111 :param route_filter_rule_type: The rule type of the rule. Possible values include: "Community". 15112 :type route_filter_rule_type: str or ~azure.mgmt.network.v2020_04_01.models.RouteFilterRuleType 15113 :param communities: The collection for bgp community values to filter on. e.g. 15114 ['12076:5010','12076:5020']. 15115 :type communities: list[str] 15116 :ivar provisioning_state: The provisioning state of the route filter rule resource. Possible 15117 values include: "Succeeded", "Updating", "Deleting", "Failed". 15118 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15119 """ 15120 15121 _validation = { 15122 'name': {'readonly': True}, 15123 'etag': {'readonly': True}, 15124 'provisioning_state': {'readonly': True}, 15125 } 15126 15127 _attribute_map = { 15128 'id': {'key': 'id', 'type': 'str'}, 15129 'name': {'key': 'name', 'type': 'str'}, 15130 'etag': {'key': 'etag', 'type': 'str'}, 15131 'access': {'key': 'properties.access', 'type': 'str'}, 15132 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 15133 'communities': {'key': 'properties.communities', 'type': '[str]'}, 15134 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15135 } 15136 15137 def __init__( 15138 self, 15139 *, 15140 id: Optional[str] = None, 15141 access: Optional[Union[str, "Access"]] = None, 15142 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 15143 communities: Optional[List[str]] = None, 15144 **kwargs 15145 ): 15146 super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) 15147 self.name = None 15148 self.etag = None 15149 self.access = access 15150 self.route_filter_rule_type = route_filter_rule_type 15151 self.communities = communities 15152 self.provisioning_state = None 15153 15154 15155class PeerExpressRouteCircuitConnection(SubResource): 15156 """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 15157 15158 Variables are only populated by the server, and will be ignored when sending a request. 15159 15160 :param id: Resource ID. 15161 :type id: str 15162 :param name: The name of the resource that is unique within a resource group. This name can be 15163 used to access the resource. 15164 :type name: str 15165 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15166 :vartype etag: str 15167 :ivar type: Type of the resource. 15168 :vartype type: str 15169 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 15170 Resource of the circuit. 15171 :type express_route_circuit_peering: ~azure.mgmt.network.v2020_04_01.models.SubResource 15172 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 15173 Resource of the peered circuit. 15174 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2020_04_01.models.SubResource 15175 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 15176 :type address_prefix: str 15177 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 15178 include: "Connected", "Connecting", "Disconnected". 15179 :vartype circuit_connection_status: str or 15180 ~azure.mgmt.network.v2020_04_01.models.CircuitConnectionStatus 15181 :param connection_name: The name of the express route circuit connection resource. 15182 :type connection_name: str 15183 :param auth_resource_guid: The resource guid of the authorization used for the express route 15184 circuit connection. 15185 :type auth_resource_guid: str 15186 :ivar provisioning_state: The provisioning state of the peer express route circuit connection 15187 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15188 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15189 """ 15190 15191 _validation = { 15192 'etag': {'readonly': True}, 15193 'type': {'readonly': True}, 15194 'circuit_connection_status': {'readonly': True}, 15195 'provisioning_state': {'readonly': True}, 15196 } 15197 15198 _attribute_map = { 15199 'id': {'key': 'id', 'type': 'str'}, 15200 'name': {'key': 'name', 'type': 'str'}, 15201 'etag': {'key': 'etag', 'type': 'str'}, 15202 'type': {'key': 'type', 'type': 'str'}, 15203 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 15204 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 15205 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 15206 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 15207 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, 15208 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, 15209 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15210 } 15211 15212 def __init__( 15213 self, 15214 *, 15215 id: Optional[str] = None, 15216 name: Optional[str] = None, 15217 express_route_circuit_peering: Optional["SubResource"] = None, 15218 peer_express_route_circuit_peering: Optional["SubResource"] = None, 15219 address_prefix: Optional[str] = None, 15220 connection_name: Optional[str] = None, 15221 auth_resource_guid: Optional[str] = None, 15222 **kwargs 15223 ): 15224 super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) 15225 self.name = name 15226 self.etag = None 15227 self.type = None 15228 self.express_route_circuit_peering = express_route_circuit_peering 15229 self.peer_express_route_circuit_peering = peer_express_route_circuit_peering 15230 self.address_prefix = address_prefix 15231 self.circuit_connection_status = None 15232 self.connection_name = connection_name 15233 self.auth_resource_guid = auth_resource_guid 15234 self.provisioning_state = None 15235 15236 15237class PeerExpressRouteCircuitConnectionListResult(msrest.serialization.Model): 15238 """Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit. 15239 15240 :param value: The global reach peer circuit connection associated with Private Peering in an 15241 ExpressRoute Circuit. 15242 :type value: list[~azure.mgmt.network.v2020_04_01.models.PeerExpressRouteCircuitConnection] 15243 :param next_link: The URL to get the next set of results. 15244 :type next_link: str 15245 """ 15246 15247 _attribute_map = { 15248 'value': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'}, 15249 'next_link': {'key': 'nextLink', 'type': 'str'}, 15250 } 15251 15252 def __init__( 15253 self, 15254 *, 15255 value: Optional[List["PeerExpressRouteCircuitConnection"]] = None, 15256 next_link: Optional[str] = None, 15257 **kwargs 15258 ): 15259 super(PeerExpressRouteCircuitConnectionListResult, self).__init__(**kwargs) 15260 self.value = value 15261 self.next_link = next_link 15262 15263 15264class PolicySettings(msrest.serialization.Model): 15265 """Defines contents of a web application firewall global configuration. 15266 15267 :param state: The state of the policy. Possible values include: "Disabled", "Enabled". 15268 :type state: str or ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallEnabledState 15269 :param mode: The mode of the policy. Possible values include: "Prevention", "Detection". 15270 :type mode: str or ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallMode 15271 :param request_body_check: Whether to allow WAF to check request Body. 15272 :type request_body_check: bool 15273 :param max_request_body_size_in_kb: Maximum request body size in Kb for WAF. 15274 :type max_request_body_size_in_kb: int 15275 :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. 15276 :type file_upload_limit_in_mb: int 15277 """ 15278 15279 _validation = { 15280 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, 15281 'file_upload_limit_in_mb': {'minimum': 0}, 15282 } 15283 15284 _attribute_map = { 15285 'state': {'key': 'state', 'type': 'str'}, 15286 'mode': {'key': 'mode', 'type': 'str'}, 15287 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 15288 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, 15289 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, 15290 } 15291 15292 def __init__( 15293 self, 15294 *, 15295 state: Optional[Union[str, "WebApplicationFirewallEnabledState"]] = None, 15296 mode: Optional[Union[str, "WebApplicationFirewallMode"]] = None, 15297 request_body_check: Optional[bool] = None, 15298 max_request_body_size_in_kb: Optional[int] = None, 15299 file_upload_limit_in_mb: Optional[int] = None, 15300 **kwargs 15301 ): 15302 super(PolicySettings, self).__init__(**kwargs) 15303 self.state = state 15304 self.mode = mode 15305 self.request_body_check = request_body_check 15306 self.max_request_body_size_in_kb = max_request_body_size_in_kb 15307 self.file_upload_limit_in_mb = file_upload_limit_in_mb 15308 15309 15310class PrepareNetworkPoliciesRequest(msrest.serialization.Model): 15311 """Details of PrepareNetworkPolicies for Subnet. 15312 15313 :param service_name: The name of the service for which subnet is being prepared for. 15314 :type service_name: str 15315 :param network_intent_policy_configurations: A list of NetworkIntentPolicyConfiguration. 15316 :type network_intent_policy_configurations: 15317 list[~azure.mgmt.network.v2020_04_01.models.NetworkIntentPolicyConfiguration] 15318 """ 15319 15320 _attribute_map = { 15321 'service_name': {'key': 'serviceName', 'type': 'str'}, 15322 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, 15323 } 15324 15325 def __init__( 15326 self, 15327 *, 15328 service_name: Optional[str] = None, 15329 network_intent_policy_configurations: Optional[List["NetworkIntentPolicyConfiguration"]] = None, 15330 **kwargs 15331 ): 15332 super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) 15333 self.service_name = service_name 15334 self.network_intent_policy_configurations = network_intent_policy_configurations 15335 15336 15337class PrivateDnsZoneConfig(msrest.serialization.Model): 15338 """PrivateDnsZoneConfig resource. 15339 15340 Variables are only populated by the server, and will be ignored when sending a request. 15341 15342 :param name: Name of the resource that is unique within a resource group. This name can be used 15343 to access the resource. 15344 :type name: str 15345 :param private_dns_zone_id: The resource id of the private dns zone. 15346 :type private_dns_zone_id: str 15347 :ivar record_sets: A collection of information regarding a recordSet, holding information to 15348 identify private resources. 15349 :vartype record_sets: list[~azure.mgmt.network.v2020_04_01.models.RecordSet] 15350 """ 15351 15352 _validation = { 15353 'record_sets': {'readonly': True}, 15354 } 15355 15356 _attribute_map = { 15357 'name': {'key': 'name', 'type': 'str'}, 15358 'private_dns_zone_id': {'key': 'properties.privateDnsZoneId', 'type': 'str'}, 15359 'record_sets': {'key': 'properties.recordSets', 'type': '[RecordSet]'}, 15360 } 15361 15362 def __init__( 15363 self, 15364 *, 15365 name: Optional[str] = None, 15366 private_dns_zone_id: Optional[str] = None, 15367 **kwargs 15368 ): 15369 super(PrivateDnsZoneConfig, self).__init__(**kwargs) 15370 self.name = name 15371 self.private_dns_zone_id = private_dns_zone_id 15372 self.record_sets = None 15373 15374 15375class PrivateDnsZoneGroup(SubResource): 15376 """Private dns zone group resource. 15377 15378 Variables are only populated by the server, and will be ignored when sending a request. 15379 15380 :param id: Resource ID. 15381 :type id: str 15382 :param name: Name of the resource that is unique within a resource group. This name can be used 15383 to access the resource. 15384 :type name: str 15385 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15386 :vartype etag: str 15387 :ivar provisioning_state: The provisioning state of the private dns zone group resource. 15388 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15389 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15390 :param private_dns_zone_configs: A collection of private dns zone configurations of the private 15391 dns zone group. 15392 :type private_dns_zone_configs: 15393 list[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneConfig] 15394 """ 15395 15396 _validation = { 15397 'etag': {'readonly': True}, 15398 'provisioning_state': {'readonly': True}, 15399 } 15400 15401 _attribute_map = { 15402 'id': {'key': 'id', 'type': 'str'}, 15403 'name': {'key': 'name', 'type': 'str'}, 15404 'etag': {'key': 'etag', 'type': 'str'}, 15405 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15406 'private_dns_zone_configs': {'key': 'properties.privateDnsZoneConfigs', 'type': '[PrivateDnsZoneConfig]'}, 15407 } 15408 15409 def __init__( 15410 self, 15411 *, 15412 id: Optional[str] = None, 15413 name: Optional[str] = None, 15414 private_dns_zone_configs: Optional[List["PrivateDnsZoneConfig"]] = None, 15415 **kwargs 15416 ): 15417 super(PrivateDnsZoneGroup, self).__init__(id=id, **kwargs) 15418 self.name = name 15419 self.etag = None 15420 self.provisioning_state = None 15421 self.private_dns_zone_configs = private_dns_zone_configs 15422 15423 15424class PrivateDnsZoneGroupListResult(msrest.serialization.Model): 15425 """Response for the ListPrivateDnsZoneGroups API service call. 15426 15427 Variables are only populated by the server, and will be ignored when sending a request. 15428 15429 :param value: A list of private dns zone group resources in a private endpoint. 15430 :type value: list[~azure.mgmt.network.v2020_04_01.models.PrivateDnsZoneGroup] 15431 :ivar next_link: The URL to get the next set of results. 15432 :vartype next_link: str 15433 """ 15434 15435 _validation = { 15436 'next_link': {'readonly': True}, 15437 } 15438 15439 _attribute_map = { 15440 'value': {'key': 'value', 'type': '[PrivateDnsZoneGroup]'}, 15441 'next_link': {'key': 'nextLink', 'type': 'str'}, 15442 } 15443 15444 def __init__( 15445 self, 15446 *, 15447 value: Optional[List["PrivateDnsZoneGroup"]] = None, 15448 **kwargs 15449 ): 15450 super(PrivateDnsZoneGroupListResult, self).__init__(**kwargs) 15451 self.value = value 15452 self.next_link = None 15453 15454 15455class PrivateEndpoint(Resource): 15456 """Private endpoint resource. 15457 15458 Variables are only populated by the server, and will be ignored when sending a request. 15459 15460 :param id: Resource ID. 15461 :type id: str 15462 :ivar name: Resource name. 15463 :vartype name: str 15464 :ivar type: Resource type. 15465 :vartype type: str 15466 :param location: Resource location. 15467 :type location: str 15468 :param tags: A set of tags. Resource tags. 15469 :type tags: dict[str, str] 15470 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15471 :vartype etag: str 15472 :param subnet: The ID of the subnet from which the private IP will be allocated. 15473 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 15474 :ivar network_interfaces: An array of references to the network interfaces created for this 15475 private endpoint. 15476 :vartype network_interfaces: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] 15477 :ivar provisioning_state: The provisioning state of the private endpoint resource. Possible 15478 values include: "Succeeded", "Updating", "Deleting", "Failed". 15479 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15480 :param private_link_service_connections: A grouping of information about the connection to the 15481 remote resource. 15482 :type private_link_service_connections: 15483 list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] 15484 :param manual_private_link_service_connections: A grouping of information about the connection 15485 to the remote resource. Used when the network admin does not have access to approve connections 15486 to the remote resource. 15487 :type manual_private_link_service_connections: 15488 list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnection] 15489 :param custom_dns_configs: An array of custom dns configurations. 15490 :type custom_dns_configs: 15491 list[~azure.mgmt.network.v2020_04_01.models.CustomDnsConfigPropertiesFormat] 15492 """ 15493 15494 _validation = { 15495 'name': {'readonly': True}, 15496 'type': {'readonly': True}, 15497 'etag': {'readonly': True}, 15498 'network_interfaces': {'readonly': True}, 15499 'provisioning_state': {'readonly': True}, 15500 } 15501 15502 _attribute_map = { 15503 'id': {'key': 'id', 'type': 'str'}, 15504 'name': {'key': 'name', 'type': 'str'}, 15505 'type': {'key': 'type', 'type': 'str'}, 15506 'location': {'key': 'location', 'type': 'str'}, 15507 'tags': {'key': 'tags', 'type': '{str}'}, 15508 'etag': {'key': 'etag', 'type': 'str'}, 15509 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 15510 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 15511 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15512 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, 15513 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, 15514 'custom_dns_configs': {'key': 'properties.customDnsConfigs', 'type': '[CustomDnsConfigPropertiesFormat]'}, 15515 } 15516 15517 def __init__( 15518 self, 15519 *, 15520 id: Optional[str] = None, 15521 location: Optional[str] = None, 15522 tags: Optional[Dict[str, str]] = None, 15523 subnet: Optional["Subnet"] = None, 15524 private_link_service_connections: Optional[List["PrivateLinkServiceConnection"]] = None, 15525 manual_private_link_service_connections: Optional[List["PrivateLinkServiceConnection"]] = None, 15526 custom_dns_configs: Optional[List["CustomDnsConfigPropertiesFormat"]] = None, 15527 **kwargs 15528 ): 15529 super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) 15530 self.etag = None 15531 self.subnet = subnet 15532 self.network_interfaces = None 15533 self.provisioning_state = None 15534 self.private_link_service_connections = private_link_service_connections 15535 self.manual_private_link_service_connections = manual_private_link_service_connections 15536 self.custom_dns_configs = custom_dns_configs 15537 15538 15539class PrivateEndpointConnection(SubResource): 15540 """PrivateEndpointConnection resource. 15541 15542 Variables are only populated by the server, and will be ignored when sending a request. 15543 15544 :param id: Resource ID. 15545 :type id: str 15546 :param name: The name of the resource that is unique within a resource group. This name can be 15547 used to access the resource. 15548 :type name: str 15549 :ivar type: The resource type. 15550 :vartype type: str 15551 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15552 :vartype etag: str 15553 :ivar private_endpoint: The resource of private end point. 15554 :vartype private_endpoint: ~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint 15555 :param private_link_service_connection_state: A collection of information about the state of 15556 the connection between service consumer and provider. 15557 :type private_link_service_connection_state: 15558 ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState 15559 :ivar provisioning_state: The provisioning state of the private endpoint connection resource. 15560 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15561 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15562 :ivar link_identifier: The consumer link id. 15563 :vartype link_identifier: str 15564 """ 15565 15566 _validation = { 15567 'type': {'readonly': True}, 15568 'etag': {'readonly': True}, 15569 'private_endpoint': {'readonly': True}, 15570 'provisioning_state': {'readonly': True}, 15571 'link_identifier': {'readonly': True}, 15572 } 15573 15574 _attribute_map = { 15575 'id': {'key': 'id', 'type': 'str'}, 15576 'name': {'key': 'name', 'type': 'str'}, 15577 'type': {'key': 'type', 'type': 'str'}, 15578 'etag': {'key': 'etag', 'type': 'str'}, 15579 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 15580 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 15581 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15582 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, 15583 } 15584 15585 def __init__( 15586 self, 15587 *, 15588 id: Optional[str] = None, 15589 name: Optional[str] = None, 15590 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 15591 **kwargs 15592 ): 15593 super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) 15594 self.name = name 15595 self.type = None 15596 self.etag = None 15597 self.private_endpoint = None 15598 self.private_link_service_connection_state = private_link_service_connection_state 15599 self.provisioning_state = None 15600 self.link_identifier = None 15601 15602 15603class PrivateEndpointConnectionListResult(msrest.serialization.Model): 15604 """Response for the ListPrivateEndpointConnection API service call. 15605 15606 Variables are only populated by the server, and will be ignored when sending a request. 15607 15608 :param value: A list of PrivateEndpointConnection resources for a specific private link 15609 service. 15610 :type value: list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection] 15611 :ivar next_link: The URL to get the next set of results. 15612 :vartype next_link: str 15613 """ 15614 15615 _validation = { 15616 'next_link': {'readonly': True}, 15617 } 15618 15619 _attribute_map = { 15620 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 15621 'next_link': {'key': 'nextLink', 'type': 'str'}, 15622 } 15623 15624 def __init__( 15625 self, 15626 *, 15627 value: Optional[List["PrivateEndpointConnection"]] = None, 15628 **kwargs 15629 ): 15630 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 15631 self.value = value 15632 self.next_link = None 15633 15634 15635class PrivateEndpointListResult(msrest.serialization.Model): 15636 """Response for the ListPrivateEndpoints API service call. 15637 15638 Variables are only populated by the server, and will be ignored when sending a request. 15639 15640 :param value: A list of private endpoint resources in a resource group. 15641 :type value: list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] 15642 :ivar next_link: The URL to get the next set of results. 15643 :vartype next_link: str 15644 """ 15645 15646 _validation = { 15647 'next_link': {'readonly': True}, 15648 } 15649 15650 _attribute_map = { 15651 'value': {'key': 'value', 'type': '[PrivateEndpoint]'}, 15652 'next_link': {'key': 'nextLink', 'type': 'str'}, 15653 } 15654 15655 def __init__( 15656 self, 15657 *, 15658 value: Optional[List["PrivateEndpoint"]] = None, 15659 **kwargs 15660 ): 15661 super(PrivateEndpointListResult, self).__init__(**kwargs) 15662 self.value = value 15663 self.next_link = None 15664 15665 15666class PrivateLinkService(Resource): 15667 """Private link service resource. 15668 15669 Variables are only populated by the server, and will be ignored when sending a request. 15670 15671 :param id: Resource ID. 15672 :type id: str 15673 :ivar name: Resource name. 15674 :vartype name: str 15675 :ivar type: Resource type. 15676 :vartype type: str 15677 :param location: Resource location. 15678 :type location: str 15679 :param tags: A set of tags. Resource tags. 15680 :type tags: dict[str, str] 15681 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15682 :vartype etag: str 15683 :param load_balancer_frontend_ip_configurations: An array of references to the load balancer IP 15684 configurations. 15685 :type load_balancer_frontend_ip_configurations: 15686 list[~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration] 15687 :param ip_configurations: An array of private link service IP configurations. 15688 :type ip_configurations: 15689 list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceIpConfiguration] 15690 :ivar network_interfaces: An array of references to the network interfaces created for this 15691 private link service. 15692 :vartype network_interfaces: list[~azure.mgmt.network.v2020_04_01.models.NetworkInterface] 15693 :ivar provisioning_state: The provisioning state of the private link service resource. Possible 15694 values include: "Succeeded", "Updating", "Deleting", "Failed". 15695 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15696 :ivar private_endpoint_connections: An array of list about connections to the private endpoint. 15697 :vartype private_endpoint_connections: 15698 list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpointConnection] 15699 :param visibility: The visibility list of the private link service. 15700 :type visibility: ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesVisibility 15701 :param auto_approval: The auto-approval list of the private link service. 15702 :type auto_approval: 15703 ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServicePropertiesAutoApproval 15704 :param fqdns: The list of Fqdn. 15705 :type fqdns: list[str] 15706 :ivar alias: The alias of the private link service. 15707 :vartype alias: str 15708 :param enable_proxy_protocol: Whether the private link service is enabled for proxy protocol or 15709 not. 15710 :type enable_proxy_protocol: bool 15711 """ 15712 15713 _validation = { 15714 'name': {'readonly': True}, 15715 'type': {'readonly': True}, 15716 'etag': {'readonly': True}, 15717 'network_interfaces': {'readonly': True}, 15718 'provisioning_state': {'readonly': True}, 15719 'private_endpoint_connections': {'readonly': True}, 15720 'alias': {'readonly': True}, 15721 } 15722 15723 _attribute_map = { 15724 'id': {'key': 'id', 'type': 'str'}, 15725 'name': {'key': 'name', 'type': 'str'}, 15726 'type': {'key': 'type', 'type': 'str'}, 15727 'location': {'key': 'location', 'type': 'str'}, 15728 'tags': {'key': 'tags', 'type': '{str}'}, 15729 'etag': {'key': 'etag', 'type': 'str'}, 15730 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, 15731 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, 15732 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 15733 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15734 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 15735 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, 15736 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, 15737 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, 15738 'alias': {'key': 'properties.alias', 'type': 'str'}, 15739 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, 15740 } 15741 15742 def __init__( 15743 self, 15744 *, 15745 id: Optional[str] = None, 15746 location: Optional[str] = None, 15747 tags: Optional[Dict[str, str]] = None, 15748 load_balancer_frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 15749 ip_configurations: Optional[List["PrivateLinkServiceIpConfiguration"]] = None, 15750 visibility: Optional["PrivateLinkServicePropertiesVisibility"] = None, 15751 auto_approval: Optional["PrivateLinkServicePropertiesAutoApproval"] = None, 15752 fqdns: Optional[List[str]] = None, 15753 enable_proxy_protocol: Optional[bool] = None, 15754 **kwargs 15755 ): 15756 super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) 15757 self.etag = None 15758 self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations 15759 self.ip_configurations = ip_configurations 15760 self.network_interfaces = None 15761 self.provisioning_state = None 15762 self.private_endpoint_connections = None 15763 self.visibility = visibility 15764 self.auto_approval = auto_approval 15765 self.fqdns = fqdns 15766 self.alias = None 15767 self.enable_proxy_protocol = enable_proxy_protocol 15768 15769 15770class PrivateLinkServiceConnection(SubResource): 15771 """PrivateLinkServiceConnection resource. 15772 15773 Variables are only populated by the server, and will be ignored when sending a request. 15774 15775 :param id: Resource ID. 15776 :type id: str 15777 :param name: The name of the resource that is unique within a resource group. This name can be 15778 used to access the resource. 15779 :type name: str 15780 :ivar type: The resource type. 15781 :vartype type: str 15782 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15783 :vartype etag: str 15784 :ivar provisioning_state: The provisioning state of the private link service connection 15785 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15786 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15787 :param private_link_service_id: The resource id of private link service. 15788 :type private_link_service_id: str 15789 :param group_ids: The ID(s) of the group(s) obtained from the remote resource that this private 15790 endpoint should connect to. 15791 :type group_ids: list[str] 15792 :param request_message: A message passed to the owner of the remote resource with this 15793 connection request. Restricted to 140 chars. 15794 :type request_message: str 15795 :param private_link_service_connection_state: A collection of read-only information about the 15796 state of the connection to the remote resource. 15797 :type private_link_service_connection_state: 15798 ~azure.mgmt.network.v2020_04_01.models.PrivateLinkServiceConnectionState 15799 """ 15800 15801 _validation = { 15802 'type': {'readonly': True}, 15803 'etag': {'readonly': True}, 15804 'provisioning_state': {'readonly': True}, 15805 } 15806 15807 _attribute_map = { 15808 'id': {'key': 'id', 'type': 'str'}, 15809 'name': {'key': 'name', 'type': 'str'}, 15810 'type': {'key': 'type', 'type': 'str'}, 15811 'etag': {'key': 'etag', 'type': 'str'}, 15812 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15813 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, 15814 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, 15815 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, 15816 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 15817 } 15818 15819 def __init__( 15820 self, 15821 *, 15822 id: Optional[str] = None, 15823 name: Optional[str] = None, 15824 private_link_service_id: Optional[str] = None, 15825 group_ids: Optional[List[str]] = None, 15826 request_message: Optional[str] = None, 15827 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 15828 **kwargs 15829 ): 15830 super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) 15831 self.name = name 15832 self.type = None 15833 self.etag = None 15834 self.provisioning_state = None 15835 self.private_link_service_id = private_link_service_id 15836 self.group_ids = group_ids 15837 self.request_message = request_message 15838 self.private_link_service_connection_state = private_link_service_connection_state 15839 15840 15841class PrivateLinkServiceConnectionState(msrest.serialization.Model): 15842 """A collection of information about the state of the connection between service consumer and provider. 15843 15844 :param status: Indicates whether the connection has been Approved/Rejected/Removed by the owner 15845 of the service. 15846 :type status: str 15847 :param description: The reason for approval/rejection of the connection. 15848 :type description: str 15849 :param actions_required: A message indicating if changes on the service provider require any 15850 updates on the consumer. 15851 :type actions_required: str 15852 """ 15853 15854 _attribute_map = { 15855 'status': {'key': 'status', 'type': 'str'}, 15856 'description': {'key': 'description', 'type': 'str'}, 15857 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 15858 } 15859 15860 def __init__( 15861 self, 15862 *, 15863 status: Optional[str] = None, 15864 description: Optional[str] = None, 15865 actions_required: Optional[str] = None, 15866 **kwargs 15867 ): 15868 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 15869 self.status = status 15870 self.description = description 15871 self.actions_required = actions_required 15872 15873 15874class PrivateLinkServiceIpConfiguration(SubResource): 15875 """The private link service ip configuration. 15876 15877 Variables are only populated by the server, and will be ignored when sending a request. 15878 15879 :param id: Resource ID. 15880 :type id: str 15881 :param name: The name of private link service ip configuration. 15882 :type name: str 15883 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15884 :vartype etag: str 15885 :ivar type: The resource type. 15886 :vartype type: str 15887 :param private_ip_address: The private IP address of the IP configuration. 15888 :type private_ip_address: str 15889 :param private_ip_allocation_method: The private IP address allocation method. Possible values 15890 include: "Static", "Dynamic". 15891 :type private_ip_allocation_method: str or 15892 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 15893 :param subnet: The reference to the subnet resource. 15894 :type subnet: ~azure.mgmt.network.v2020_04_01.models.Subnet 15895 :param primary: Whether the ip configuration is primary or not. 15896 :type primary: bool 15897 :ivar provisioning_state: The provisioning state of the private link service IP configuration 15898 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15899 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 15900 :param private_ip_address_version: Whether the specific IP configuration is IPv4 or IPv6. 15901 Default is IPv4. Possible values include: "IPv4", "IPv6". 15902 :type private_ip_address_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 15903 """ 15904 15905 _validation = { 15906 'etag': {'readonly': True}, 15907 'type': {'readonly': True}, 15908 'provisioning_state': {'readonly': True}, 15909 } 15910 15911 _attribute_map = { 15912 'id': {'key': 'id', 'type': 'str'}, 15913 'name': {'key': 'name', 'type': 'str'}, 15914 'etag': {'key': 'etag', 'type': 'str'}, 15915 'type': {'key': 'type', 'type': 'str'}, 15916 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 15917 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 15918 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 15919 'primary': {'key': 'properties.primary', 'type': 'bool'}, 15920 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15921 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 15922 } 15923 15924 def __init__( 15925 self, 15926 *, 15927 id: Optional[str] = None, 15928 name: Optional[str] = None, 15929 private_ip_address: Optional[str] = None, 15930 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 15931 subnet: Optional["Subnet"] = None, 15932 primary: Optional[bool] = None, 15933 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 15934 **kwargs 15935 ): 15936 super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) 15937 self.name = name 15938 self.etag = None 15939 self.type = None 15940 self.private_ip_address = private_ip_address 15941 self.private_ip_allocation_method = private_ip_allocation_method 15942 self.subnet = subnet 15943 self.primary = primary 15944 self.provisioning_state = None 15945 self.private_ip_address_version = private_ip_address_version 15946 15947 15948class PrivateLinkServiceListResult(msrest.serialization.Model): 15949 """Response for the ListPrivateLinkService API service call. 15950 15951 Variables are only populated by the server, and will be ignored when sending a request. 15952 15953 :param value: A list of PrivateLinkService resources in a resource group. 15954 :type value: list[~azure.mgmt.network.v2020_04_01.models.PrivateLinkService] 15955 :ivar next_link: The URL to get the next set of results. 15956 :vartype next_link: str 15957 """ 15958 15959 _validation = { 15960 'next_link': {'readonly': True}, 15961 } 15962 15963 _attribute_map = { 15964 'value': {'key': 'value', 'type': '[PrivateLinkService]'}, 15965 'next_link': {'key': 'nextLink', 'type': 'str'}, 15966 } 15967 15968 def __init__( 15969 self, 15970 *, 15971 value: Optional[List["PrivateLinkService"]] = None, 15972 **kwargs 15973 ): 15974 super(PrivateLinkServiceListResult, self).__init__(**kwargs) 15975 self.value = value 15976 self.next_link = None 15977 15978 15979class ResourceSet(msrest.serialization.Model): 15980 """The base resource set for visibility and auto-approval. 15981 15982 :param subscriptions: The list of subscriptions. 15983 :type subscriptions: list[str] 15984 """ 15985 15986 _attribute_map = { 15987 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 15988 } 15989 15990 def __init__( 15991 self, 15992 *, 15993 subscriptions: Optional[List[str]] = None, 15994 **kwargs 15995 ): 15996 super(ResourceSet, self).__init__(**kwargs) 15997 self.subscriptions = subscriptions 15998 15999 16000class PrivateLinkServicePropertiesAutoApproval(ResourceSet): 16001 """The auto-approval list of the private link service. 16002 16003 :param subscriptions: The list of subscriptions. 16004 :type subscriptions: list[str] 16005 """ 16006 16007 _attribute_map = { 16008 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 16009 } 16010 16011 def __init__( 16012 self, 16013 *, 16014 subscriptions: Optional[List[str]] = None, 16015 **kwargs 16016 ): 16017 super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) 16018 16019 16020class PrivateLinkServicePropertiesVisibility(ResourceSet): 16021 """The visibility list of the private link service. 16022 16023 :param subscriptions: The list of subscriptions. 16024 :type subscriptions: list[str] 16025 """ 16026 16027 _attribute_map = { 16028 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 16029 } 16030 16031 def __init__( 16032 self, 16033 *, 16034 subscriptions: Optional[List[str]] = None, 16035 **kwargs 16036 ): 16037 super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) 16038 16039 16040class PrivateLinkServiceVisibility(msrest.serialization.Model): 16041 """Response for the CheckPrivateLinkServiceVisibility API service call. 16042 16043 :param visible: Private Link Service Visibility (True/False). 16044 :type visible: bool 16045 """ 16046 16047 _attribute_map = { 16048 'visible': {'key': 'visible', 'type': 'bool'}, 16049 } 16050 16051 def __init__( 16052 self, 16053 *, 16054 visible: Optional[bool] = None, 16055 **kwargs 16056 ): 16057 super(PrivateLinkServiceVisibility, self).__init__(**kwargs) 16058 self.visible = visible 16059 16060 16061class Probe(SubResource): 16062 """A load balancer probe. 16063 16064 Variables are only populated by the server, and will be ignored when sending a request. 16065 16066 :param id: Resource ID. 16067 :type id: str 16068 :param name: The name of the resource that is unique within the set of probes used by the load 16069 balancer. This name can be used to access the resource. 16070 :type name: str 16071 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16072 :vartype etag: str 16073 :ivar type: Type of the resource. 16074 :vartype type: str 16075 :ivar load_balancing_rules: The load balancer rules that use this probe. 16076 :vartype load_balancing_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 16077 :param protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is 16078 required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response 16079 from the specifies URI is required for the probe to be successful. Possible values include: 16080 "Http", "Tcp", "Https". 16081 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.ProbeProtocol 16082 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 16083 inclusive. 16084 :type port: int 16085 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 16086 for health status. Typically, the interval is slightly less than half the allocated timeout 16087 period (in seconds) which allows two full probes before taking the instance out of rotation. 16088 The default value is 15, the minimum value is 5. 16089 :type interval_in_seconds: int 16090 :param number_of_probes: The number of probes where if no response, will result in stopping 16091 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 16092 out of rotation faster or slower than the typical times used in Azure. 16093 :type number_of_probes: int 16094 :param request_path: The URI used for requesting health status from the VM. Path is required if 16095 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 16096 :type request_path: str 16097 :ivar provisioning_state: The provisioning state of the probe resource. Possible values 16098 include: "Succeeded", "Updating", "Deleting", "Failed". 16099 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16100 """ 16101 16102 _validation = { 16103 'etag': {'readonly': True}, 16104 'type': {'readonly': True}, 16105 'load_balancing_rules': {'readonly': True}, 16106 'provisioning_state': {'readonly': True}, 16107 } 16108 16109 _attribute_map = { 16110 'id': {'key': 'id', 'type': 'str'}, 16111 'name': {'key': 'name', 'type': 'str'}, 16112 'etag': {'key': 'etag', 'type': 'str'}, 16113 'type': {'key': 'type', 'type': 'str'}, 16114 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 16115 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 16116 'port': {'key': 'properties.port', 'type': 'int'}, 16117 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 16118 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 16119 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 16120 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16121 } 16122 16123 def __init__( 16124 self, 16125 *, 16126 id: Optional[str] = None, 16127 name: Optional[str] = None, 16128 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 16129 port: Optional[int] = None, 16130 interval_in_seconds: Optional[int] = None, 16131 number_of_probes: Optional[int] = None, 16132 request_path: Optional[str] = None, 16133 **kwargs 16134 ): 16135 super(Probe, self).__init__(id=id, **kwargs) 16136 self.name = name 16137 self.etag = None 16138 self.type = None 16139 self.load_balancing_rules = None 16140 self.protocol = protocol 16141 self.port = port 16142 self.interval_in_seconds = interval_in_seconds 16143 self.number_of_probes = number_of_probes 16144 self.request_path = request_path 16145 self.provisioning_state = None 16146 16147 16148class PropagatedRouteTable(msrest.serialization.Model): 16149 """The list of RouteTables to advertise the routes to. 16150 16151 :param labels: The list of labels. 16152 :type labels: list[str] 16153 :param ids: The list of resource ids of all the RouteTables. 16154 :type ids: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 16155 """ 16156 16157 _attribute_map = { 16158 'labels': {'key': 'labels', 'type': '[str]'}, 16159 'ids': {'key': 'ids', 'type': '[SubResource]'}, 16160 } 16161 16162 def __init__( 16163 self, 16164 *, 16165 labels: Optional[List[str]] = None, 16166 ids: Optional[List["SubResource"]] = None, 16167 **kwargs 16168 ): 16169 super(PropagatedRouteTable, self).__init__(**kwargs) 16170 self.labels = labels 16171 self.ids = ids 16172 16173 16174class ProtocolConfiguration(msrest.serialization.Model): 16175 """Configuration of the protocol. 16176 16177 :param http_configuration: HTTP configuration of the connectivity check. 16178 :type http_configuration: ~azure.mgmt.network.v2020_04_01.models.HTTPConfiguration 16179 """ 16180 16181 _attribute_map = { 16182 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, 16183 } 16184 16185 def __init__( 16186 self, 16187 *, 16188 http_configuration: Optional["HTTPConfiguration"] = None, 16189 **kwargs 16190 ): 16191 super(ProtocolConfiguration, self).__init__(**kwargs) 16192 self.http_configuration = http_configuration 16193 16194 16195class ProtocolCustomSettingsFormat(msrest.serialization.Model): 16196 """DDoS custom policy properties. 16197 16198 :param protocol: The protocol for which the DDoS protection policy is being customized. 16199 Possible values include: "Tcp", "Udp", "Syn". 16200 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyProtocol 16201 :param trigger_rate_override: The customized DDoS protection trigger rate. 16202 :type trigger_rate_override: str 16203 :param source_rate_override: The customized DDoS protection source rate. 16204 :type source_rate_override: str 16205 :param trigger_sensitivity_override: The customized DDoS protection trigger rate sensitivity 16206 degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger 16207 rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less 16208 sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. 16209 normal traffic. Possible values include: "Relaxed", "Low", "Default", "High". 16210 :type trigger_sensitivity_override: str or 16211 ~azure.mgmt.network.v2020_04_01.models.DdosCustomPolicyTriggerSensitivityOverride 16212 """ 16213 16214 _attribute_map = { 16215 'protocol': {'key': 'protocol', 'type': 'str'}, 16216 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, 16217 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, 16218 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, 16219 } 16220 16221 def __init__( 16222 self, 16223 *, 16224 protocol: Optional[Union[str, "DdosCustomPolicyProtocol"]] = None, 16225 trigger_rate_override: Optional[str] = None, 16226 source_rate_override: Optional[str] = None, 16227 trigger_sensitivity_override: Optional[Union[str, "DdosCustomPolicyTriggerSensitivityOverride"]] = None, 16228 **kwargs 16229 ): 16230 super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) 16231 self.protocol = protocol 16232 self.trigger_rate_override = trigger_rate_override 16233 self.source_rate_override = source_rate_override 16234 self.trigger_sensitivity_override = trigger_sensitivity_override 16235 16236 16237class PublicIPAddress(Resource): 16238 """Public IP address resource. 16239 16240 Variables are only populated by the server, and will be ignored when sending a request. 16241 16242 :param id: Resource ID. 16243 :type id: str 16244 :ivar name: Resource name. 16245 :vartype name: str 16246 :ivar type: Resource type. 16247 :vartype type: str 16248 :param location: Resource location. 16249 :type location: str 16250 :param tags: A set of tags. Resource tags. 16251 :type tags: dict[str, str] 16252 :param sku: The public IP address SKU. 16253 :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSku 16254 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16255 :vartype etag: str 16256 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 16257 come from. 16258 :type zones: list[str] 16259 :param public_ip_allocation_method: The public IP address allocation method. Possible values 16260 include: "Static", "Dynamic". 16261 :type public_ip_allocation_method: str or 16262 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 16263 :param public_ip_address_version: The public IP address version. Possible values include: 16264 "IPv4", "IPv6". 16265 :type public_ip_address_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 16266 :ivar ip_configuration: The IP configuration associated with the public IP address. 16267 :vartype ip_configuration: ~azure.mgmt.network.v2020_04_01.models.IPConfiguration 16268 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 16269 :type dns_settings: ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressDnsSettings 16270 :param ddos_settings: The DDoS protection custom policy associated with the public IP address. 16271 :type ddos_settings: ~azure.mgmt.network.v2020_04_01.models.DdosSettings 16272 :param ip_tags: The list of tags associated with the public IP address. 16273 :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] 16274 :param ip_address: The IP address associated with the public IP address resource. 16275 :type ip_address: str 16276 :param public_ip_prefix: The Public IP Prefix this Public IP Address should be allocated from. 16277 :type public_ip_prefix: ~azure.mgmt.network.v2020_04_01.models.SubResource 16278 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 16279 :type idle_timeout_in_minutes: int 16280 :ivar resource_guid: The resource GUID property of the public IP address resource. 16281 :vartype resource_guid: str 16282 :ivar provisioning_state: The provisioning state of the public IP address resource. Possible 16283 values include: "Succeeded", "Updating", "Deleting", "Failed". 16284 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16285 """ 16286 16287 _validation = { 16288 'name': {'readonly': True}, 16289 'type': {'readonly': True}, 16290 'etag': {'readonly': True}, 16291 'ip_configuration': {'readonly': True}, 16292 'resource_guid': {'readonly': True}, 16293 'provisioning_state': {'readonly': True}, 16294 } 16295 16296 _attribute_map = { 16297 'id': {'key': 'id', 'type': 'str'}, 16298 'name': {'key': 'name', 'type': 'str'}, 16299 'type': {'key': 'type', 'type': 'str'}, 16300 'location': {'key': 'location', 'type': 'str'}, 16301 'tags': {'key': 'tags', 'type': '{str}'}, 16302 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, 16303 'etag': {'key': 'etag', 'type': 'str'}, 16304 'zones': {'key': 'zones', 'type': '[str]'}, 16305 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 16306 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 16307 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 16308 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 16309 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, 16310 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 16311 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 16312 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 16313 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 16314 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 16315 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16316 } 16317 16318 def __init__( 16319 self, 16320 *, 16321 id: Optional[str] = None, 16322 location: Optional[str] = None, 16323 tags: Optional[Dict[str, str]] = None, 16324 sku: Optional["PublicIPAddressSku"] = None, 16325 zones: Optional[List[str]] = None, 16326 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 16327 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 16328 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 16329 ddos_settings: Optional["DdosSettings"] = None, 16330 ip_tags: Optional[List["IpTag"]] = None, 16331 ip_address: Optional[str] = None, 16332 public_ip_prefix: Optional["SubResource"] = None, 16333 idle_timeout_in_minutes: Optional[int] = None, 16334 **kwargs 16335 ): 16336 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 16337 self.sku = sku 16338 self.etag = None 16339 self.zones = zones 16340 self.public_ip_allocation_method = public_ip_allocation_method 16341 self.public_ip_address_version = public_ip_address_version 16342 self.ip_configuration = None 16343 self.dns_settings = dns_settings 16344 self.ddos_settings = ddos_settings 16345 self.ip_tags = ip_tags 16346 self.ip_address = ip_address 16347 self.public_ip_prefix = public_ip_prefix 16348 self.idle_timeout_in_minutes = idle_timeout_in_minutes 16349 self.resource_guid = None 16350 self.provisioning_state = None 16351 16352 16353class PublicIPAddressDnsSettings(msrest.serialization.Model): 16354 """Contains FQDN of the DNS record associated with the public IP address. 16355 16356 :param domain_name_label: The domain name label. The concatenation of the domain name label and 16357 the regionalized DNS zone make up the fully qualified domain name associated with the public IP 16358 address. If a domain name label is specified, an A DNS record is created for the public IP in 16359 the Microsoft Azure DNS system. 16360 :type domain_name_label: str 16361 :param fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. 16362 This is the concatenation of the domainNameLabel and the regionalized DNS zone. 16363 :type fqdn: str 16364 :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified domain name that 16365 resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is 16366 created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 16367 :type reverse_fqdn: str 16368 """ 16369 16370 _attribute_map = { 16371 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 16372 'fqdn': {'key': 'fqdn', 'type': 'str'}, 16373 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 16374 } 16375 16376 def __init__( 16377 self, 16378 *, 16379 domain_name_label: Optional[str] = None, 16380 fqdn: Optional[str] = None, 16381 reverse_fqdn: Optional[str] = None, 16382 **kwargs 16383 ): 16384 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 16385 self.domain_name_label = domain_name_label 16386 self.fqdn = fqdn 16387 self.reverse_fqdn = reverse_fqdn 16388 16389 16390class PublicIPAddressListResult(msrest.serialization.Model): 16391 """Response for ListPublicIpAddresses API service call. 16392 16393 :param value: A list of public IP addresses that exists in a resource group. 16394 :type value: list[~azure.mgmt.network.v2020_04_01.models.PublicIPAddress] 16395 :param next_link: The URL to get the next set of results. 16396 :type next_link: str 16397 """ 16398 16399 _attribute_map = { 16400 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 16401 'next_link': {'key': 'nextLink', 'type': 'str'}, 16402 } 16403 16404 def __init__( 16405 self, 16406 *, 16407 value: Optional[List["PublicIPAddress"]] = None, 16408 next_link: Optional[str] = None, 16409 **kwargs 16410 ): 16411 super(PublicIPAddressListResult, self).__init__(**kwargs) 16412 self.value = value 16413 self.next_link = next_link 16414 16415 16416class PublicIPAddressSku(msrest.serialization.Model): 16417 """SKU of a public IP address. 16418 16419 :param name: Name of a public IP address SKU. Possible values include: "Basic", "Standard". 16420 :type name: str or ~azure.mgmt.network.v2020_04_01.models.PublicIPAddressSkuName 16421 """ 16422 16423 _attribute_map = { 16424 'name': {'key': 'name', 'type': 'str'}, 16425 } 16426 16427 def __init__( 16428 self, 16429 *, 16430 name: Optional[Union[str, "PublicIPAddressSkuName"]] = None, 16431 **kwargs 16432 ): 16433 super(PublicIPAddressSku, self).__init__(**kwargs) 16434 self.name = name 16435 16436 16437class PublicIPPrefix(Resource): 16438 """Public IP prefix resource. 16439 16440 Variables are only populated by the server, and will be ignored when sending a request. 16441 16442 :param id: Resource ID. 16443 :type id: str 16444 :ivar name: Resource name. 16445 :vartype name: str 16446 :ivar type: Resource type. 16447 :vartype type: str 16448 :param location: Resource location. 16449 :type location: str 16450 :param tags: A set of tags. Resource tags. 16451 :type tags: dict[str, str] 16452 :param sku: The public IP prefix SKU. 16453 :type sku: ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSku 16454 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16455 :vartype etag: str 16456 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 16457 come from. 16458 :type zones: list[str] 16459 :param public_ip_address_version: The public IP address version. Possible values include: 16460 "IPv4", "IPv6". 16461 :type public_ip_address_version: str or ~azure.mgmt.network.v2020_04_01.models.IPVersion 16462 :param ip_tags: The list of tags associated with the public IP prefix. 16463 :type ip_tags: list[~azure.mgmt.network.v2020_04_01.models.IpTag] 16464 :param prefix_length: The Length of the Public IP Prefix. 16465 :type prefix_length: int 16466 :ivar ip_prefix: The allocated Prefix. 16467 :vartype ip_prefix: str 16468 :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. 16469 :vartype public_ip_addresses: 16470 list[~azure.mgmt.network.v2020_04_01.models.ReferencedPublicIpAddress] 16471 :ivar load_balancer_frontend_ip_configuration: The reference to load balancer frontend IP 16472 configuration associated with the public IP prefix. 16473 :vartype load_balancer_frontend_ip_configuration: 16474 ~azure.mgmt.network.v2020_04_01.models.SubResource 16475 :ivar resource_guid: The resource GUID property of the public IP prefix resource. 16476 :vartype resource_guid: str 16477 :ivar provisioning_state: The provisioning state of the public IP prefix resource. Possible 16478 values include: "Succeeded", "Updating", "Deleting", "Failed". 16479 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16480 """ 16481 16482 _validation = { 16483 'name': {'readonly': True}, 16484 'type': {'readonly': True}, 16485 'etag': {'readonly': True}, 16486 'ip_prefix': {'readonly': True}, 16487 'public_ip_addresses': {'readonly': True}, 16488 'load_balancer_frontend_ip_configuration': {'readonly': True}, 16489 'resource_guid': {'readonly': True}, 16490 'provisioning_state': {'readonly': True}, 16491 } 16492 16493 _attribute_map = { 16494 'id': {'key': 'id', 'type': 'str'}, 16495 'name': {'key': 'name', 'type': 'str'}, 16496 'type': {'key': 'type', 'type': 'str'}, 16497 'location': {'key': 'location', 'type': 'str'}, 16498 'tags': {'key': 'tags', 'type': '{str}'}, 16499 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, 16500 'etag': {'key': 'etag', 'type': 'str'}, 16501 'zones': {'key': 'zones', 'type': '[str]'}, 16502 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 16503 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 16504 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, 16505 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, 16506 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, 16507 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, 16508 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 16509 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16510 } 16511 16512 def __init__( 16513 self, 16514 *, 16515 id: Optional[str] = None, 16516 location: Optional[str] = None, 16517 tags: Optional[Dict[str, str]] = None, 16518 sku: Optional["PublicIPPrefixSku"] = None, 16519 zones: Optional[List[str]] = None, 16520 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 16521 ip_tags: Optional[List["IpTag"]] = None, 16522 prefix_length: Optional[int] = None, 16523 **kwargs 16524 ): 16525 super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) 16526 self.sku = sku 16527 self.etag = None 16528 self.zones = zones 16529 self.public_ip_address_version = public_ip_address_version 16530 self.ip_tags = ip_tags 16531 self.prefix_length = prefix_length 16532 self.ip_prefix = None 16533 self.public_ip_addresses = None 16534 self.load_balancer_frontend_ip_configuration = None 16535 self.resource_guid = None 16536 self.provisioning_state = None 16537 16538 16539class PublicIPPrefixListResult(msrest.serialization.Model): 16540 """Response for ListPublicIpPrefixes API service call. 16541 16542 :param value: A list of public IP prefixes that exists in a resource group. 16543 :type value: list[~azure.mgmt.network.v2020_04_01.models.PublicIPPrefix] 16544 :param next_link: The URL to get the next set of results. 16545 :type next_link: str 16546 """ 16547 16548 _attribute_map = { 16549 'value': {'key': 'value', 'type': '[PublicIPPrefix]'}, 16550 'next_link': {'key': 'nextLink', 'type': 'str'}, 16551 } 16552 16553 def __init__( 16554 self, 16555 *, 16556 value: Optional[List["PublicIPPrefix"]] = None, 16557 next_link: Optional[str] = None, 16558 **kwargs 16559 ): 16560 super(PublicIPPrefixListResult, self).__init__(**kwargs) 16561 self.value = value 16562 self.next_link = next_link 16563 16564 16565class PublicIPPrefixSku(msrest.serialization.Model): 16566 """SKU of a public IP prefix. 16567 16568 :param name: Name of a public IP prefix SKU. Possible values include: "Standard". 16569 :type name: str or ~azure.mgmt.network.v2020_04_01.models.PublicIPPrefixSkuName 16570 """ 16571 16572 _attribute_map = { 16573 'name': {'key': 'name', 'type': 'str'}, 16574 } 16575 16576 def __init__( 16577 self, 16578 *, 16579 name: Optional[Union[str, "PublicIPPrefixSkuName"]] = None, 16580 **kwargs 16581 ): 16582 super(PublicIPPrefixSku, self).__init__(**kwargs) 16583 self.name = name 16584 16585 16586class QueryTroubleshootingParameters(msrest.serialization.Model): 16587 """Parameters that define the resource to query the troubleshooting result. 16588 16589 All required parameters must be populated in order to send to Azure. 16590 16591 :param target_resource_id: Required. The target resource ID to query the troubleshooting 16592 result. 16593 :type target_resource_id: str 16594 """ 16595 16596 _validation = { 16597 'target_resource_id': {'required': True}, 16598 } 16599 16600 _attribute_map = { 16601 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 16602 } 16603 16604 def __init__( 16605 self, 16606 *, 16607 target_resource_id: str, 16608 **kwargs 16609 ): 16610 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 16611 self.target_resource_id = target_resource_id 16612 16613 16614class RadiusServer(msrest.serialization.Model): 16615 """Radius Server Settings. 16616 16617 All required parameters must be populated in order to send to Azure. 16618 16619 :param radius_server_address: Required. The address of this radius server. 16620 :type radius_server_address: str 16621 :param radius_server_score: The initial score assigned to this radius server. 16622 :type radius_server_score: long 16623 :param radius_server_secret: The secret used for this radius server. 16624 :type radius_server_secret: str 16625 """ 16626 16627 _validation = { 16628 'radius_server_address': {'required': True}, 16629 } 16630 16631 _attribute_map = { 16632 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 16633 'radius_server_score': {'key': 'radiusServerScore', 'type': 'long'}, 16634 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 16635 } 16636 16637 def __init__( 16638 self, 16639 *, 16640 radius_server_address: str, 16641 radius_server_score: Optional[int] = None, 16642 radius_server_secret: Optional[str] = None, 16643 **kwargs 16644 ): 16645 super(RadiusServer, self).__init__(**kwargs) 16646 self.radius_server_address = radius_server_address 16647 self.radius_server_score = radius_server_score 16648 self.radius_server_secret = radius_server_secret 16649 16650 16651class RecordSet(msrest.serialization.Model): 16652 """A collective group of information about the record set information. 16653 16654 Variables are only populated by the server, and will be ignored when sending a request. 16655 16656 :param record_type: Resource record type. 16657 :type record_type: str 16658 :param record_set_name: Recordset name. 16659 :type record_set_name: str 16660 :param fqdn: Fqdn that resolves to private endpoint ip address. 16661 :type fqdn: str 16662 :ivar provisioning_state: The provisioning state of the recordset. Possible values include: 16663 "Succeeded", "Updating", "Deleting", "Failed". 16664 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16665 :param ttl: Recordset time to live. 16666 :type ttl: int 16667 :param ip_addresses: The private ip address of the private endpoint. 16668 :type ip_addresses: list[str] 16669 """ 16670 16671 _validation = { 16672 'provisioning_state': {'readonly': True}, 16673 } 16674 16675 _attribute_map = { 16676 'record_type': {'key': 'recordType', 'type': 'str'}, 16677 'record_set_name': {'key': 'recordSetName', 'type': 'str'}, 16678 'fqdn': {'key': 'fqdn', 'type': 'str'}, 16679 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 16680 'ttl': {'key': 'ttl', 'type': 'int'}, 16681 'ip_addresses': {'key': 'ipAddresses', 'type': '[str]'}, 16682 } 16683 16684 def __init__( 16685 self, 16686 *, 16687 record_type: Optional[str] = None, 16688 record_set_name: Optional[str] = None, 16689 fqdn: Optional[str] = None, 16690 ttl: Optional[int] = None, 16691 ip_addresses: Optional[List[str]] = None, 16692 **kwargs 16693 ): 16694 super(RecordSet, self).__init__(**kwargs) 16695 self.record_type = record_type 16696 self.record_set_name = record_set_name 16697 self.fqdn = fqdn 16698 self.provisioning_state = None 16699 self.ttl = ttl 16700 self.ip_addresses = ip_addresses 16701 16702 16703class ReferencedPublicIpAddress(msrest.serialization.Model): 16704 """Reference to a public IP address. 16705 16706 :param id: The PublicIPAddress Reference. 16707 :type id: str 16708 """ 16709 16710 _attribute_map = { 16711 'id': {'key': 'id', 'type': 'str'}, 16712 } 16713 16714 def __init__( 16715 self, 16716 *, 16717 id: Optional[str] = None, 16718 **kwargs 16719 ): 16720 super(ReferencedPublicIpAddress, self).__init__(**kwargs) 16721 self.id = id 16722 16723 16724class ResourceNavigationLink(SubResource): 16725 """ResourceNavigationLink resource. 16726 16727 Variables are only populated by the server, and will be ignored when sending a request. 16728 16729 :param id: Resource ID. 16730 :type id: str 16731 :param name: Name of the resource that is unique within a resource group. This name can be used 16732 to access the resource. 16733 :type name: str 16734 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16735 :vartype etag: str 16736 :ivar type: Resource type. 16737 :vartype type: str 16738 :param linked_resource_type: Resource type of the linked resource. 16739 :type linked_resource_type: str 16740 :param link: Link to the external resource. 16741 :type link: str 16742 :ivar provisioning_state: The provisioning state of the resource navigation link resource. 16743 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 16744 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16745 """ 16746 16747 _validation = { 16748 'etag': {'readonly': True}, 16749 'type': {'readonly': True}, 16750 'provisioning_state': {'readonly': True}, 16751 } 16752 16753 _attribute_map = { 16754 'id': {'key': 'id', 'type': 'str'}, 16755 'name': {'key': 'name', 'type': 'str'}, 16756 'etag': {'key': 'etag', 'type': 'str'}, 16757 'type': {'key': 'type', 'type': 'str'}, 16758 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 16759 'link': {'key': 'properties.link', 'type': 'str'}, 16760 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16761 } 16762 16763 def __init__( 16764 self, 16765 *, 16766 id: Optional[str] = None, 16767 name: Optional[str] = None, 16768 linked_resource_type: Optional[str] = None, 16769 link: Optional[str] = None, 16770 **kwargs 16771 ): 16772 super(ResourceNavigationLink, self).__init__(id=id, **kwargs) 16773 self.name = name 16774 self.etag = None 16775 self.type = None 16776 self.linked_resource_type = linked_resource_type 16777 self.link = link 16778 self.provisioning_state = None 16779 16780 16781class ResourceNavigationLinksListResult(msrest.serialization.Model): 16782 """Response for ResourceNavigationLinks_List operation. 16783 16784 Variables are only populated by the server, and will be ignored when sending a request. 16785 16786 :param value: The resource navigation links in a subnet. 16787 :type value: list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] 16788 :ivar next_link: The URL to get the next set of results. 16789 :vartype next_link: str 16790 """ 16791 16792 _validation = { 16793 'next_link': {'readonly': True}, 16794 } 16795 16796 _attribute_map = { 16797 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, 16798 'next_link': {'key': 'nextLink', 'type': 'str'}, 16799 } 16800 16801 def __init__( 16802 self, 16803 *, 16804 value: Optional[List["ResourceNavigationLink"]] = None, 16805 **kwargs 16806 ): 16807 super(ResourceNavigationLinksListResult, self).__init__(**kwargs) 16808 self.value = value 16809 self.next_link = None 16810 16811 16812class RetentionPolicyParameters(msrest.serialization.Model): 16813 """Parameters that define the retention policy for flow log. 16814 16815 :param days: Number of days to retain flow log records. 16816 :type days: int 16817 :param enabled: Flag to enable/disable retention. 16818 :type enabled: bool 16819 """ 16820 16821 _attribute_map = { 16822 'days': {'key': 'days', 'type': 'int'}, 16823 'enabled': {'key': 'enabled', 'type': 'bool'}, 16824 } 16825 16826 def __init__( 16827 self, 16828 *, 16829 days: Optional[int] = 0, 16830 enabled: Optional[bool] = False, 16831 **kwargs 16832 ): 16833 super(RetentionPolicyParameters, self).__init__(**kwargs) 16834 self.days = days 16835 self.enabled = enabled 16836 16837 16838class Route(SubResource): 16839 """Route resource. 16840 16841 Variables are only populated by the server, and will be ignored when sending a request. 16842 16843 :param id: Resource ID. 16844 :type id: str 16845 :param name: The name of the resource that is unique within a resource group. This name can be 16846 used to access the resource. 16847 :type name: str 16848 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16849 :vartype etag: str 16850 :param address_prefix: The destination CIDR to which the route applies. 16851 :type address_prefix: str 16852 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values 16853 include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 16854 :type next_hop_type: str or ~azure.mgmt.network.v2020_04_01.models.RouteNextHopType 16855 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 16856 only allowed in routes where the next hop type is VirtualAppliance. 16857 :type next_hop_ip_address: str 16858 :ivar provisioning_state: The provisioning state of the route resource. Possible values 16859 include: "Succeeded", "Updating", "Deleting", "Failed". 16860 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16861 """ 16862 16863 _validation = { 16864 'etag': {'readonly': True}, 16865 'provisioning_state': {'readonly': True}, 16866 } 16867 16868 _attribute_map = { 16869 'id': {'key': 'id', 'type': 'str'}, 16870 'name': {'key': 'name', 'type': 'str'}, 16871 'etag': {'key': 'etag', 'type': 'str'}, 16872 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 16873 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 16874 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 16875 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16876 } 16877 16878 def __init__( 16879 self, 16880 *, 16881 id: Optional[str] = None, 16882 name: Optional[str] = None, 16883 address_prefix: Optional[str] = None, 16884 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 16885 next_hop_ip_address: Optional[str] = None, 16886 **kwargs 16887 ): 16888 super(Route, self).__init__(id=id, **kwargs) 16889 self.name = name 16890 self.etag = None 16891 self.address_prefix = address_prefix 16892 self.next_hop_type = next_hop_type 16893 self.next_hop_ip_address = next_hop_ip_address 16894 self.provisioning_state = None 16895 16896 16897class RouteFilter(Resource): 16898 """Route Filter Resource. 16899 16900 Variables are only populated by the server, and will be ignored when sending a request. 16901 16902 :param id: Resource ID. 16903 :type id: str 16904 :ivar name: Resource name. 16905 :vartype name: str 16906 :ivar type: Resource type. 16907 :vartype type: str 16908 :param location: Resource location. 16909 :type location: str 16910 :param tags: A set of tags. Resource tags. 16911 :type tags: dict[str, str] 16912 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16913 :vartype etag: str 16914 :param rules: Collection of RouteFilterRules contained within a route filter. 16915 :type rules: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] 16916 :ivar peerings: A collection of references to express route circuit peerings. 16917 :vartype peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 16918 :ivar ipv6_peerings: A collection of references to express route circuit ipv6 peerings. 16919 :vartype ipv6_peerings: list[~azure.mgmt.network.v2020_04_01.models.ExpressRouteCircuitPeering] 16920 :ivar provisioning_state: The provisioning state of the route filter resource. Possible values 16921 include: "Succeeded", "Updating", "Deleting", "Failed". 16922 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 16923 """ 16924 16925 _validation = { 16926 'name': {'readonly': True}, 16927 'type': {'readonly': True}, 16928 'etag': {'readonly': True}, 16929 'peerings': {'readonly': True}, 16930 'ipv6_peerings': {'readonly': True}, 16931 'provisioning_state': {'readonly': True}, 16932 } 16933 16934 _attribute_map = { 16935 'id': {'key': 'id', 'type': 'str'}, 16936 'name': {'key': 'name', 'type': 'str'}, 16937 'type': {'key': 'type', 'type': 'str'}, 16938 'location': {'key': 'location', 'type': 'str'}, 16939 'tags': {'key': 'tags', 'type': '{str}'}, 16940 'etag': {'key': 'etag', 'type': 'str'}, 16941 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 16942 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 16943 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, 16944 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16945 } 16946 16947 def __init__( 16948 self, 16949 *, 16950 id: Optional[str] = None, 16951 location: Optional[str] = None, 16952 tags: Optional[Dict[str, str]] = None, 16953 rules: Optional[List["RouteFilterRule"]] = None, 16954 **kwargs 16955 ): 16956 super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) 16957 self.etag = None 16958 self.rules = rules 16959 self.peerings = None 16960 self.ipv6_peerings = None 16961 self.provisioning_state = None 16962 16963 16964class RouteFilterListResult(msrest.serialization.Model): 16965 """Response for the ListRouteFilters API service call. 16966 16967 :param value: A list of route filters in a resource group. 16968 :type value: list[~azure.mgmt.network.v2020_04_01.models.RouteFilter] 16969 :param next_link: The URL to get the next set of results. 16970 :type next_link: str 16971 """ 16972 16973 _attribute_map = { 16974 'value': {'key': 'value', 'type': '[RouteFilter]'}, 16975 'next_link': {'key': 'nextLink', 'type': 'str'}, 16976 } 16977 16978 def __init__( 16979 self, 16980 *, 16981 value: Optional[List["RouteFilter"]] = None, 16982 next_link: Optional[str] = None, 16983 **kwargs 16984 ): 16985 super(RouteFilterListResult, self).__init__(**kwargs) 16986 self.value = value 16987 self.next_link = next_link 16988 16989 16990class RouteFilterRule(SubResource): 16991 """Route Filter Rule Resource. 16992 16993 Variables are only populated by the server, and will be ignored when sending a request. 16994 16995 :param id: Resource ID. 16996 :type id: str 16997 :param name: The name of the resource that is unique within a resource group. This name can be 16998 used to access the resource. 16999 :type name: str 17000 :param location: Resource location. 17001 :type location: str 17002 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17003 :vartype etag: str 17004 :param access: The access type of the rule. Possible values include: "Allow", "Deny". 17005 :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access 17006 :param route_filter_rule_type: The rule type of the rule. Possible values include: "Community". 17007 :type route_filter_rule_type: str or ~azure.mgmt.network.v2020_04_01.models.RouteFilterRuleType 17008 :param communities: The collection for bgp community values to filter on. e.g. 17009 ['12076:5010','12076:5020']. 17010 :type communities: list[str] 17011 :ivar provisioning_state: The provisioning state of the route filter rule resource. Possible 17012 values include: "Succeeded", "Updating", "Deleting", "Failed". 17013 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17014 """ 17015 17016 _validation = { 17017 'etag': {'readonly': True}, 17018 'provisioning_state': {'readonly': True}, 17019 } 17020 17021 _attribute_map = { 17022 'id': {'key': 'id', 'type': 'str'}, 17023 'name': {'key': 'name', 'type': 'str'}, 17024 'location': {'key': 'location', 'type': 'str'}, 17025 'etag': {'key': 'etag', 'type': 'str'}, 17026 'access': {'key': 'properties.access', 'type': 'str'}, 17027 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 17028 'communities': {'key': 'properties.communities', 'type': '[str]'}, 17029 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17030 } 17031 17032 def __init__( 17033 self, 17034 *, 17035 id: Optional[str] = None, 17036 name: Optional[str] = None, 17037 location: Optional[str] = None, 17038 access: Optional[Union[str, "Access"]] = None, 17039 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 17040 communities: Optional[List[str]] = None, 17041 **kwargs 17042 ): 17043 super(RouteFilterRule, self).__init__(id=id, **kwargs) 17044 self.name = name 17045 self.location = location 17046 self.etag = None 17047 self.access = access 17048 self.route_filter_rule_type = route_filter_rule_type 17049 self.communities = communities 17050 self.provisioning_state = None 17051 17052 17053class RouteFilterRuleListResult(msrest.serialization.Model): 17054 """Response for the ListRouteFilterRules API service call. 17055 17056 :param value: A list of RouteFilterRules in a resource group. 17057 :type value: list[~azure.mgmt.network.v2020_04_01.models.RouteFilterRule] 17058 :param next_link: The URL to get the next set of results. 17059 :type next_link: str 17060 """ 17061 17062 _attribute_map = { 17063 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 17064 'next_link': {'key': 'nextLink', 'type': 'str'}, 17065 } 17066 17067 def __init__( 17068 self, 17069 *, 17070 value: Optional[List["RouteFilterRule"]] = None, 17071 next_link: Optional[str] = None, 17072 **kwargs 17073 ): 17074 super(RouteFilterRuleListResult, self).__init__(**kwargs) 17075 self.value = value 17076 self.next_link = next_link 17077 17078 17079class RouteListResult(msrest.serialization.Model): 17080 """Response for the ListRoute API service call. 17081 17082 :param value: A list of routes in a resource group. 17083 :type value: list[~azure.mgmt.network.v2020_04_01.models.Route] 17084 :param next_link: The URL to get the next set of results. 17085 :type next_link: str 17086 """ 17087 17088 _attribute_map = { 17089 'value': {'key': 'value', 'type': '[Route]'}, 17090 'next_link': {'key': 'nextLink', 'type': 'str'}, 17091 } 17092 17093 def __init__( 17094 self, 17095 *, 17096 value: Optional[List["Route"]] = None, 17097 next_link: Optional[str] = None, 17098 **kwargs 17099 ): 17100 super(RouteListResult, self).__init__(**kwargs) 17101 self.value = value 17102 self.next_link = next_link 17103 17104 17105class RouteTable(Resource): 17106 """Route table resource. 17107 17108 Variables are only populated by the server, and will be ignored when sending a request. 17109 17110 :param id: Resource ID. 17111 :type id: str 17112 :ivar name: Resource name. 17113 :vartype name: str 17114 :ivar type: Resource type. 17115 :vartype type: str 17116 :param location: Resource location. 17117 :type location: str 17118 :param tags: A set of tags. Resource tags. 17119 :type tags: dict[str, str] 17120 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17121 :vartype etag: str 17122 :param routes: Collection of routes contained within a route table. 17123 :type routes: list[~azure.mgmt.network.v2020_04_01.models.Route] 17124 :ivar subnets: A collection of references to subnets. 17125 :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] 17126 :param disable_bgp_route_propagation: Whether to disable the routes learned by BGP on that 17127 route table. True means disable. 17128 :type disable_bgp_route_propagation: bool 17129 :ivar provisioning_state: The provisioning state of the route table resource. Possible values 17130 include: "Succeeded", "Updating", "Deleting", "Failed". 17131 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17132 """ 17133 17134 _validation = { 17135 'name': {'readonly': True}, 17136 'type': {'readonly': True}, 17137 'etag': {'readonly': True}, 17138 'subnets': {'readonly': True}, 17139 'provisioning_state': {'readonly': True}, 17140 } 17141 17142 _attribute_map = { 17143 'id': {'key': 'id', 'type': 'str'}, 17144 'name': {'key': 'name', 'type': 'str'}, 17145 'type': {'key': 'type', 'type': 'str'}, 17146 'location': {'key': 'location', 'type': 'str'}, 17147 'tags': {'key': 'tags', 'type': '{str}'}, 17148 'etag': {'key': 'etag', 'type': 'str'}, 17149 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 17150 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 17151 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, 17152 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17153 } 17154 17155 def __init__( 17156 self, 17157 *, 17158 id: Optional[str] = None, 17159 location: Optional[str] = None, 17160 tags: Optional[Dict[str, str]] = None, 17161 routes: Optional[List["Route"]] = None, 17162 disable_bgp_route_propagation: Optional[bool] = None, 17163 **kwargs 17164 ): 17165 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 17166 self.etag = None 17167 self.routes = routes 17168 self.subnets = None 17169 self.disable_bgp_route_propagation = disable_bgp_route_propagation 17170 self.provisioning_state = None 17171 17172 17173class RouteTableListResult(msrest.serialization.Model): 17174 """Response for the ListRouteTable API service call. 17175 17176 :param value: A list of route tables in a resource group. 17177 :type value: list[~azure.mgmt.network.v2020_04_01.models.RouteTable] 17178 :param next_link: The URL to get the next set of results. 17179 :type next_link: str 17180 """ 17181 17182 _attribute_map = { 17183 'value': {'key': 'value', 'type': '[RouteTable]'}, 17184 'next_link': {'key': 'nextLink', 'type': 'str'}, 17185 } 17186 17187 def __init__( 17188 self, 17189 *, 17190 value: Optional[List["RouteTable"]] = None, 17191 next_link: Optional[str] = None, 17192 **kwargs 17193 ): 17194 super(RouteTableListResult, self).__init__(**kwargs) 17195 self.value = value 17196 self.next_link = next_link 17197 17198 17199class RoutingConfiguration(msrest.serialization.Model): 17200 """Routing Configuration indicating the associated and propagated route tables for this connection. 17201 17202 :param associated_route_table: The resource id RouteTable associated with this 17203 RoutingConfiguration. 17204 :type associated_route_table: ~azure.mgmt.network.v2020_04_01.models.SubResource 17205 :param propagated_route_tables: The list of RouteTables to advertise the routes to. 17206 :type propagated_route_tables: ~azure.mgmt.network.v2020_04_01.models.PropagatedRouteTable 17207 :param vnet_routes: List of routes that control routing from VirtualHub into a virtual network 17208 connection. 17209 :type vnet_routes: ~azure.mgmt.network.v2020_04_01.models.VnetRoute 17210 """ 17211 17212 _attribute_map = { 17213 'associated_route_table': {'key': 'associatedRouteTable', 'type': 'SubResource'}, 17214 'propagated_route_tables': {'key': 'propagatedRouteTables', 'type': 'PropagatedRouteTable'}, 17215 'vnet_routes': {'key': 'vnetRoutes', 'type': 'VnetRoute'}, 17216 } 17217 17218 def __init__( 17219 self, 17220 *, 17221 associated_route_table: Optional["SubResource"] = None, 17222 propagated_route_tables: Optional["PropagatedRouteTable"] = None, 17223 vnet_routes: Optional["VnetRoute"] = None, 17224 **kwargs 17225 ): 17226 super(RoutingConfiguration, self).__init__(**kwargs) 17227 self.associated_route_table = associated_route_table 17228 self.propagated_route_tables = propagated_route_tables 17229 self.vnet_routes = vnet_routes 17230 17231 17232class SecurityGroupNetworkInterface(msrest.serialization.Model): 17233 """Network interface and all its associated security rules. 17234 17235 :param id: ID of the network interface. 17236 :type id: str 17237 :param security_rule_associations: All security rules associated with the network interface. 17238 :type security_rule_associations: 17239 ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAssociations 17240 """ 17241 17242 _attribute_map = { 17243 'id': {'key': 'id', 'type': 'str'}, 17244 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 17245 } 17246 17247 def __init__( 17248 self, 17249 *, 17250 id: Optional[str] = None, 17251 security_rule_associations: Optional["SecurityRuleAssociations"] = None, 17252 **kwargs 17253 ): 17254 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 17255 self.id = id 17256 self.security_rule_associations = security_rule_associations 17257 17258 17259class SecurityGroupViewParameters(msrest.serialization.Model): 17260 """Parameters that define the VM to check security groups for. 17261 17262 All required parameters must be populated in order to send to Azure. 17263 17264 :param target_resource_id: Required. ID of the target VM. 17265 :type target_resource_id: str 17266 """ 17267 17268 _validation = { 17269 'target_resource_id': {'required': True}, 17270 } 17271 17272 _attribute_map = { 17273 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 17274 } 17275 17276 def __init__( 17277 self, 17278 *, 17279 target_resource_id: str, 17280 **kwargs 17281 ): 17282 super(SecurityGroupViewParameters, self).__init__(**kwargs) 17283 self.target_resource_id = target_resource_id 17284 17285 17286class SecurityGroupViewResult(msrest.serialization.Model): 17287 """The information about security rules applied to the specified VM. 17288 17289 :param network_interfaces: List of network interfaces on the specified VM. 17290 :type network_interfaces: 17291 list[~azure.mgmt.network.v2020_04_01.models.SecurityGroupNetworkInterface] 17292 """ 17293 17294 _attribute_map = { 17295 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 17296 } 17297 17298 def __init__( 17299 self, 17300 *, 17301 network_interfaces: Optional[List["SecurityGroupNetworkInterface"]] = None, 17302 **kwargs 17303 ): 17304 super(SecurityGroupViewResult, self).__init__(**kwargs) 17305 self.network_interfaces = network_interfaces 17306 17307 17308class SecurityPartnerProvider(Resource): 17309 """Security Partner Provider resource. 17310 17311 Variables are only populated by the server, and will be ignored when sending a request. 17312 17313 :param id: Resource ID. 17314 :type id: str 17315 :ivar name: Resource name. 17316 :vartype name: str 17317 :ivar type: Resource type. 17318 :vartype type: str 17319 :param location: Resource location. 17320 :type location: str 17321 :param tags: A set of tags. Resource tags. 17322 :type tags: dict[str, str] 17323 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17324 :vartype etag: str 17325 :ivar provisioning_state: The provisioning state of the Security Partner Provider resource. 17326 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 17327 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17328 :param security_provider_name: The security provider name. Possible values include: "ZScaler", 17329 "IBoss", "Checkpoint". 17330 :type security_provider_name: str or 17331 ~azure.mgmt.network.v2020_04_01.models.SecurityProviderName 17332 :ivar connection_status: The connection status with the Security Partner Provider. Possible 17333 values include: "Unknown", "PartiallyConnected", "Connected", "NotConnected". 17334 :vartype connection_status: str or 17335 ~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProviderConnectionStatus 17336 :param virtual_hub: The virtualHub to which the Security Partner Provider belongs. 17337 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource 17338 """ 17339 17340 _validation = { 17341 'name': {'readonly': True}, 17342 'type': {'readonly': True}, 17343 'etag': {'readonly': True}, 17344 'provisioning_state': {'readonly': True}, 17345 'connection_status': {'readonly': True}, 17346 } 17347 17348 _attribute_map = { 17349 'id': {'key': 'id', 'type': 'str'}, 17350 'name': {'key': 'name', 'type': 'str'}, 17351 'type': {'key': 'type', 'type': 'str'}, 17352 'location': {'key': 'location', 'type': 'str'}, 17353 'tags': {'key': 'tags', 'type': '{str}'}, 17354 'etag': {'key': 'etag', 'type': 'str'}, 17355 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17356 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, 17357 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 17358 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 17359 } 17360 17361 def __init__( 17362 self, 17363 *, 17364 id: Optional[str] = None, 17365 location: Optional[str] = None, 17366 tags: Optional[Dict[str, str]] = None, 17367 security_provider_name: Optional[Union[str, "SecurityProviderName"]] = None, 17368 virtual_hub: Optional["SubResource"] = None, 17369 **kwargs 17370 ): 17371 super(SecurityPartnerProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 17372 self.etag = None 17373 self.provisioning_state = None 17374 self.security_provider_name = security_provider_name 17375 self.connection_status = None 17376 self.virtual_hub = virtual_hub 17377 17378 17379class SecurityPartnerProviderListResult(msrest.serialization.Model): 17380 """Response for ListSecurityPartnerProviders API service call. 17381 17382 :param value: List of Security Partner Providers in a resource group. 17383 :type value: list[~azure.mgmt.network.v2020_04_01.models.SecurityPartnerProvider] 17384 :param next_link: URL to get the next set of results. 17385 :type next_link: str 17386 """ 17387 17388 _attribute_map = { 17389 'value': {'key': 'value', 'type': '[SecurityPartnerProvider]'}, 17390 'next_link': {'key': 'nextLink', 'type': 'str'}, 17391 } 17392 17393 def __init__( 17394 self, 17395 *, 17396 value: Optional[List["SecurityPartnerProvider"]] = None, 17397 next_link: Optional[str] = None, 17398 **kwargs 17399 ): 17400 super(SecurityPartnerProviderListResult, self).__init__(**kwargs) 17401 self.value = value 17402 self.next_link = next_link 17403 17404 17405class SecurityRule(SubResource): 17406 """Network security rule. 17407 17408 Variables are only populated by the server, and will be ignored when sending a request. 17409 17410 :param id: Resource ID. 17411 :type id: str 17412 :param name: The name of the resource that is unique within a resource group. This name can be 17413 used to access the resource. 17414 :type name: str 17415 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17416 :vartype etag: str 17417 :param description: A description for this rule. Restricted to 140 chars. 17418 :type description: str 17419 :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", 17420 "Icmp", "Esp", "*", "Ah". 17421 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.SecurityRuleProtocol 17422 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 17423 Asterisk '*' can also be used to match all ports. 17424 :type source_port_range: str 17425 :param destination_port_range: The destination port or range. Integer or range between 0 and 17426 65535. Asterisk '*' can also be used to match all ports. 17427 :type destination_port_range: str 17428 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 17429 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 17430 can also be used. If this is an ingress rule, specifies where network traffic originates from. 17431 :type source_address_prefix: str 17432 :param source_address_prefixes: The CIDR or source IP ranges. 17433 :type source_address_prefixes: list[str] 17434 :param source_application_security_groups: The application security group specified as source. 17435 :type source_application_security_groups: 17436 list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] 17437 :param destination_address_prefix: The destination address prefix. CIDR or destination IP 17438 range. Asterisk '*' can also be used to match all source IPs. Default tags such as 17439 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. 17440 :type destination_address_prefix: str 17441 :param destination_address_prefixes: The destination address prefixes. CIDR or destination IP 17442 ranges. 17443 :type destination_address_prefixes: list[str] 17444 :param destination_application_security_groups: The application security group specified as 17445 destination. 17446 :type destination_application_security_groups: 17447 list[~azure.mgmt.network.v2020_04_01.models.ApplicationSecurityGroup] 17448 :param source_port_ranges: The source port ranges. 17449 :type source_port_ranges: list[str] 17450 :param destination_port_ranges: The destination port ranges. 17451 :type destination_port_ranges: list[str] 17452 :param access: The network traffic is allowed or denied. Possible values include: "Allow", 17453 "Deny". 17454 :type access: str or ~azure.mgmt.network.v2020_04_01.models.SecurityRuleAccess 17455 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 17456 number must be unique for each rule in the collection. The lower the priority number, the 17457 higher the priority of the rule. 17458 :type priority: int 17459 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 17460 on incoming or outgoing traffic. Possible values include: "Inbound", "Outbound". 17461 :type direction: str or ~azure.mgmt.network.v2020_04_01.models.SecurityRuleDirection 17462 :ivar provisioning_state: The provisioning state of the security rule resource. Possible values 17463 include: "Succeeded", "Updating", "Deleting", "Failed". 17464 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17465 """ 17466 17467 _validation = { 17468 'etag': {'readonly': True}, 17469 'provisioning_state': {'readonly': True}, 17470 } 17471 17472 _attribute_map = { 17473 'id': {'key': 'id', 'type': 'str'}, 17474 'name': {'key': 'name', 'type': 'str'}, 17475 'etag': {'key': 'etag', 'type': 'str'}, 17476 'description': {'key': 'properties.description', 'type': 'str'}, 17477 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 17478 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 17479 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 17480 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 17481 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, 17482 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 17483 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 17484 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, 17485 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 17486 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, 17487 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, 17488 'access': {'key': 'properties.access', 'type': 'str'}, 17489 'priority': {'key': 'properties.priority', 'type': 'int'}, 17490 'direction': {'key': 'properties.direction', 'type': 'str'}, 17491 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17492 } 17493 17494 def __init__( 17495 self, 17496 *, 17497 id: Optional[str] = None, 17498 name: Optional[str] = None, 17499 description: Optional[str] = None, 17500 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 17501 source_port_range: Optional[str] = None, 17502 destination_port_range: Optional[str] = None, 17503 source_address_prefix: Optional[str] = None, 17504 source_address_prefixes: Optional[List[str]] = None, 17505 source_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 17506 destination_address_prefix: Optional[str] = None, 17507 destination_address_prefixes: Optional[List[str]] = None, 17508 destination_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 17509 source_port_ranges: Optional[List[str]] = None, 17510 destination_port_ranges: Optional[List[str]] = None, 17511 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 17512 priority: Optional[int] = None, 17513 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 17514 **kwargs 17515 ): 17516 super(SecurityRule, self).__init__(id=id, **kwargs) 17517 self.name = name 17518 self.etag = None 17519 self.description = description 17520 self.protocol = protocol 17521 self.source_port_range = source_port_range 17522 self.destination_port_range = destination_port_range 17523 self.source_address_prefix = source_address_prefix 17524 self.source_address_prefixes = source_address_prefixes 17525 self.source_application_security_groups = source_application_security_groups 17526 self.destination_address_prefix = destination_address_prefix 17527 self.destination_address_prefixes = destination_address_prefixes 17528 self.destination_application_security_groups = destination_application_security_groups 17529 self.source_port_ranges = source_port_ranges 17530 self.destination_port_ranges = destination_port_ranges 17531 self.access = access 17532 self.priority = priority 17533 self.direction = direction 17534 self.provisioning_state = None 17535 17536 17537class SecurityRuleAssociations(msrest.serialization.Model): 17538 """All security rules associated with the network interface. 17539 17540 :param network_interface_association: Network interface and it's custom security rules. 17541 :type network_interface_association: 17542 ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceAssociation 17543 :param subnet_association: Subnet and it's custom security rules. 17544 :type subnet_association: ~azure.mgmt.network.v2020_04_01.models.SubnetAssociation 17545 :param default_security_rules: Collection of default security rules of the network security 17546 group. 17547 :type default_security_rules: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 17548 :param effective_security_rules: Collection of effective security rules. 17549 :type effective_security_rules: 17550 list[~azure.mgmt.network.v2020_04_01.models.EffectiveNetworkSecurityRule] 17551 """ 17552 17553 _attribute_map = { 17554 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 17555 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 17556 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 17557 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 17558 } 17559 17560 def __init__( 17561 self, 17562 *, 17563 network_interface_association: Optional["NetworkInterfaceAssociation"] = None, 17564 subnet_association: Optional["SubnetAssociation"] = None, 17565 default_security_rules: Optional[List["SecurityRule"]] = None, 17566 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 17567 **kwargs 17568 ): 17569 super(SecurityRuleAssociations, self).__init__(**kwargs) 17570 self.network_interface_association = network_interface_association 17571 self.subnet_association = subnet_association 17572 self.default_security_rules = default_security_rules 17573 self.effective_security_rules = effective_security_rules 17574 17575 17576class SecurityRuleListResult(msrest.serialization.Model): 17577 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 17578 17579 :param value: The security rules in a network security group. 17580 :type value: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 17581 :param next_link: The URL to get the next set of results. 17582 :type next_link: str 17583 """ 17584 17585 _attribute_map = { 17586 'value': {'key': 'value', 'type': '[SecurityRule]'}, 17587 'next_link': {'key': 'nextLink', 'type': 'str'}, 17588 } 17589 17590 def __init__( 17591 self, 17592 *, 17593 value: Optional[List["SecurityRule"]] = None, 17594 next_link: Optional[str] = None, 17595 **kwargs 17596 ): 17597 super(SecurityRuleListResult, self).__init__(**kwargs) 17598 self.value = value 17599 self.next_link = next_link 17600 17601 17602class ServiceAssociationLink(SubResource): 17603 """ServiceAssociationLink resource. 17604 17605 Variables are only populated by the server, and will be ignored when sending a request. 17606 17607 :param id: Resource ID. 17608 :type id: str 17609 :param name: Name of the resource that is unique within a resource group. This name can be used 17610 to access the resource. 17611 :type name: str 17612 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17613 :vartype etag: str 17614 :ivar type: Resource type. 17615 :vartype type: str 17616 :param linked_resource_type: Resource type of the linked resource. 17617 :type linked_resource_type: str 17618 :param link: Link to the external resource. 17619 :type link: str 17620 :ivar provisioning_state: The provisioning state of the service association link resource. 17621 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 17622 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17623 :param allow_delete: If true, the resource can be deleted. 17624 :type allow_delete: bool 17625 :param locations: A list of locations. 17626 :type locations: list[str] 17627 """ 17628 17629 _validation = { 17630 'etag': {'readonly': True}, 17631 'type': {'readonly': True}, 17632 'provisioning_state': {'readonly': True}, 17633 } 17634 17635 _attribute_map = { 17636 'id': {'key': 'id', 'type': 'str'}, 17637 'name': {'key': 'name', 'type': 'str'}, 17638 'etag': {'key': 'etag', 'type': 'str'}, 17639 'type': {'key': 'type', 'type': 'str'}, 17640 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 17641 'link': {'key': 'properties.link', 'type': 'str'}, 17642 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17643 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, 17644 'locations': {'key': 'properties.locations', 'type': '[str]'}, 17645 } 17646 17647 def __init__( 17648 self, 17649 *, 17650 id: Optional[str] = None, 17651 name: Optional[str] = None, 17652 linked_resource_type: Optional[str] = None, 17653 link: Optional[str] = None, 17654 allow_delete: Optional[bool] = None, 17655 locations: Optional[List[str]] = None, 17656 **kwargs 17657 ): 17658 super(ServiceAssociationLink, self).__init__(id=id, **kwargs) 17659 self.name = name 17660 self.etag = None 17661 self.type = None 17662 self.linked_resource_type = linked_resource_type 17663 self.link = link 17664 self.provisioning_state = None 17665 self.allow_delete = allow_delete 17666 self.locations = locations 17667 17668 17669class ServiceAssociationLinksListResult(msrest.serialization.Model): 17670 """Response for ServiceAssociationLinks_List operation. 17671 17672 Variables are only populated by the server, and will be ignored when sending a request. 17673 17674 :param value: The service association links in a subnet. 17675 :type value: list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] 17676 :ivar next_link: The URL to get the next set of results. 17677 :vartype next_link: str 17678 """ 17679 17680 _validation = { 17681 'next_link': {'readonly': True}, 17682 } 17683 17684 _attribute_map = { 17685 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, 17686 'next_link': {'key': 'nextLink', 'type': 'str'}, 17687 } 17688 17689 def __init__( 17690 self, 17691 *, 17692 value: Optional[List["ServiceAssociationLink"]] = None, 17693 **kwargs 17694 ): 17695 super(ServiceAssociationLinksListResult, self).__init__(**kwargs) 17696 self.value = value 17697 self.next_link = None 17698 17699 17700class ServiceEndpointPolicy(Resource): 17701 """Service End point policy resource. 17702 17703 Variables are only populated by the server, and will be ignored when sending a request. 17704 17705 :param id: Resource ID. 17706 :type id: str 17707 :ivar name: Resource name. 17708 :vartype name: str 17709 :ivar type: Resource type. 17710 :vartype type: str 17711 :param location: Resource location. 17712 :type location: str 17713 :param tags: A set of tags. Resource tags. 17714 :type tags: dict[str, str] 17715 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17716 :vartype etag: str 17717 :param service_endpoint_policy_definitions: A collection of service endpoint policy definitions 17718 of the service endpoint policy. 17719 :type service_endpoint_policy_definitions: 17720 list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] 17721 :ivar subnets: A collection of references to subnets. 17722 :vartype subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] 17723 :ivar resource_guid: The resource GUID property of the service endpoint policy resource. 17724 :vartype resource_guid: str 17725 :ivar provisioning_state: The provisioning state of the service endpoint policy resource. 17726 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 17727 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17728 """ 17729 17730 _validation = { 17731 'name': {'readonly': True}, 17732 'type': {'readonly': True}, 17733 'etag': {'readonly': True}, 17734 'subnets': {'readonly': True}, 17735 'resource_guid': {'readonly': True}, 17736 'provisioning_state': {'readonly': True}, 17737 } 17738 17739 _attribute_map = { 17740 'id': {'key': 'id', 'type': 'str'}, 17741 'name': {'key': 'name', 'type': 'str'}, 17742 'type': {'key': 'type', 'type': 'str'}, 17743 'location': {'key': 'location', 'type': 'str'}, 17744 'tags': {'key': 'tags', 'type': '{str}'}, 17745 'etag': {'key': 'etag', 'type': 'str'}, 17746 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, 17747 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 17748 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 17749 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17750 } 17751 17752 def __init__( 17753 self, 17754 *, 17755 id: Optional[str] = None, 17756 location: Optional[str] = None, 17757 tags: Optional[Dict[str, str]] = None, 17758 service_endpoint_policy_definitions: Optional[List["ServiceEndpointPolicyDefinition"]] = None, 17759 **kwargs 17760 ): 17761 super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 17762 self.etag = None 17763 self.service_endpoint_policy_definitions = service_endpoint_policy_definitions 17764 self.subnets = None 17765 self.resource_guid = None 17766 self.provisioning_state = None 17767 17768 17769class ServiceEndpointPolicyDefinition(SubResource): 17770 """Service Endpoint policy definitions. 17771 17772 Variables are only populated by the server, and will be ignored when sending a request. 17773 17774 :param id: Resource ID. 17775 :type id: str 17776 :param name: The name of the resource that is unique within a resource group. This name can be 17777 used to access the resource. 17778 :type name: str 17779 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17780 :vartype etag: str 17781 :param description: A description for this rule. Restricted to 140 chars. 17782 :type description: str 17783 :param service: Service endpoint name. 17784 :type service: str 17785 :param service_resources: A list of service resources. 17786 :type service_resources: list[str] 17787 :ivar provisioning_state: The provisioning state of the service endpoint policy definition 17788 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 17789 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17790 """ 17791 17792 _validation = { 17793 'etag': {'readonly': True}, 17794 'provisioning_state': {'readonly': True}, 17795 } 17796 17797 _attribute_map = { 17798 'id': {'key': 'id', 'type': 'str'}, 17799 'name': {'key': 'name', 'type': 'str'}, 17800 'etag': {'key': 'etag', 'type': 'str'}, 17801 'description': {'key': 'properties.description', 'type': 'str'}, 17802 'service': {'key': 'properties.service', 'type': 'str'}, 17803 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, 17804 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17805 } 17806 17807 def __init__( 17808 self, 17809 *, 17810 id: Optional[str] = None, 17811 name: Optional[str] = None, 17812 description: Optional[str] = None, 17813 service: Optional[str] = None, 17814 service_resources: Optional[List[str]] = None, 17815 **kwargs 17816 ): 17817 super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) 17818 self.name = name 17819 self.etag = None 17820 self.description = description 17821 self.service = service 17822 self.service_resources = service_resources 17823 self.provisioning_state = None 17824 17825 17826class ServiceEndpointPolicyDefinitionListResult(msrest.serialization.Model): 17827 """Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy. 17828 17829 :param value: The service endpoint policy definition in a service endpoint policy. 17830 :type value: list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicyDefinition] 17831 :param next_link: The URL to get the next set of results. 17832 :type next_link: str 17833 """ 17834 17835 _attribute_map = { 17836 'value': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'}, 17837 'next_link': {'key': 'nextLink', 'type': 'str'}, 17838 } 17839 17840 def __init__( 17841 self, 17842 *, 17843 value: Optional[List["ServiceEndpointPolicyDefinition"]] = None, 17844 next_link: Optional[str] = None, 17845 **kwargs 17846 ): 17847 super(ServiceEndpointPolicyDefinitionListResult, self).__init__(**kwargs) 17848 self.value = value 17849 self.next_link = next_link 17850 17851 17852class ServiceEndpointPolicyListResult(msrest.serialization.Model): 17853 """Response for ListServiceEndpointPolicies API service call. 17854 17855 Variables are only populated by the server, and will be ignored when sending a request. 17856 17857 :param value: A list of ServiceEndpointPolicy resources. 17858 :type value: list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] 17859 :ivar next_link: The URL to get the next set of results. 17860 :vartype next_link: str 17861 """ 17862 17863 _validation = { 17864 'next_link': {'readonly': True}, 17865 } 17866 17867 _attribute_map = { 17868 'value': {'key': 'value', 'type': '[ServiceEndpointPolicy]'}, 17869 'next_link': {'key': 'nextLink', 'type': 'str'}, 17870 } 17871 17872 def __init__( 17873 self, 17874 *, 17875 value: Optional[List["ServiceEndpointPolicy"]] = None, 17876 **kwargs 17877 ): 17878 super(ServiceEndpointPolicyListResult, self).__init__(**kwargs) 17879 self.value = value 17880 self.next_link = None 17881 17882 17883class ServiceEndpointPropertiesFormat(msrest.serialization.Model): 17884 """The service endpoint properties. 17885 17886 Variables are only populated by the server, and will be ignored when sending a request. 17887 17888 :param service: The type of the endpoint service. 17889 :type service: str 17890 :param locations: A list of locations. 17891 :type locations: list[str] 17892 :ivar provisioning_state: The provisioning state of the service endpoint resource. Possible 17893 values include: "Succeeded", "Updating", "Deleting", "Failed". 17894 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 17895 """ 17896 17897 _validation = { 17898 'provisioning_state': {'readonly': True}, 17899 } 17900 17901 _attribute_map = { 17902 'service': {'key': 'service', 'type': 'str'}, 17903 'locations': {'key': 'locations', 'type': '[str]'}, 17904 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 17905 } 17906 17907 def __init__( 17908 self, 17909 *, 17910 service: Optional[str] = None, 17911 locations: Optional[List[str]] = None, 17912 **kwargs 17913 ): 17914 super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) 17915 self.service = service 17916 self.locations = locations 17917 self.provisioning_state = None 17918 17919 17920class ServiceTagInformation(msrest.serialization.Model): 17921 """The service tag information. 17922 17923 Variables are only populated by the server, and will be ignored when sending a request. 17924 17925 :ivar properties: Properties of the service tag information. 17926 :vartype properties: 17927 ~azure.mgmt.network.v2020_04_01.models.ServiceTagInformationPropertiesFormat 17928 :ivar name: The name of service tag. 17929 :vartype name: str 17930 :ivar id: The ID of service tag. 17931 :vartype id: str 17932 """ 17933 17934 _validation = { 17935 'properties': {'readonly': True}, 17936 'name': {'readonly': True}, 17937 'id': {'readonly': True}, 17938 } 17939 17940 _attribute_map = { 17941 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, 17942 'name': {'key': 'name', 'type': 'str'}, 17943 'id': {'key': 'id', 'type': 'str'}, 17944 } 17945 17946 def __init__( 17947 self, 17948 **kwargs 17949 ): 17950 super(ServiceTagInformation, self).__init__(**kwargs) 17951 self.properties = None 17952 self.name = None 17953 self.id = None 17954 17955 17956class ServiceTagInformationPropertiesFormat(msrest.serialization.Model): 17957 """Properties of the service tag information. 17958 17959 Variables are only populated by the server, and will be ignored when sending a request. 17960 17961 :ivar change_number: The iteration number of service tag. 17962 :vartype change_number: str 17963 :ivar region: The region of service tag. 17964 :vartype region: str 17965 :ivar system_service: The name of system service. 17966 :vartype system_service: str 17967 :ivar address_prefixes: The list of IP address prefixes. 17968 :vartype address_prefixes: list[str] 17969 """ 17970 17971 _validation = { 17972 'change_number': {'readonly': True}, 17973 'region': {'readonly': True}, 17974 'system_service': {'readonly': True}, 17975 'address_prefixes': {'readonly': True}, 17976 } 17977 17978 _attribute_map = { 17979 'change_number': {'key': 'changeNumber', 'type': 'str'}, 17980 'region': {'key': 'region', 'type': 'str'}, 17981 'system_service': {'key': 'systemService', 'type': 'str'}, 17982 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 17983 } 17984 17985 def __init__( 17986 self, 17987 **kwargs 17988 ): 17989 super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) 17990 self.change_number = None 17991 self.region = None 17992 self.system_service = None 17993 self.address_prefixes = None 17994 17995 17996class ServiceTagsListResult(msrest.serialization.Model): 17997 """Response for the ListServiceTags API service call. 17998 17999 Variables are only populated by the server, and will be ignored when sending a request. 18000 18001 :ivar name: The name of the cloud. 18002 :vartype name: str 18003 :ivar id: The ID of the cloud. 18004 :vartype id: str 18005 :ivar type: The azure resource type. 18006 :vartype type: str 18007 :ivar change_number: The iteration number. 18008 :vartype change_number: str 18009 :ivar cloud: The name of the cloud. 18010 :vartype cloud: str 18011 :ivar values: The list of service tag information resources. 18012 :vartype values: list[~azure.mgmt.network.v2020_04_01.models.ServiceTagInformation] 18013 """ 18014 18015 _validation = { 18016 'name': {'readonly': True}, 18017 'id': {'readonly': True}, 18018 'type': {'readonly': True}, 18019 'change_number': {'readonly': True}, 18020 'cloud': {'readonly': True}, 18021 'values': {'readonly': True}, 18022 } 18023 18024 _attribute_map = { 18025 'name': {'key': 'name', 'type': 'str'}, 18026 'id': {'key': 'id', 'type': 'str'}, 18027 'type': {'key': 'type', 'type': 'str'}, 18028 'change_number': {'key': 'changeNumber', 'type': 'str'}, 18029 'cloud': {'key': 'cloud', 'type': 'str'}, 18030 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, 18031 } 18032 18033 def __init__( 18034 self, 18035 **kwargs 18036 ): 18037 super(ServiceTagsListResult, self).__init__(**kwargs) 18038 self.name = None 18039 self.id = None 18040 self.type = None 18041 self.change_number = None 18042 self.cloud = None 18043 self.values = None 18044 18045 18046class SessionIds(msrest.serialization.Model): 18047 """List of session IDs. 18048 18049 :param session_ids: List of session IDs. 18050 :type session_ids: list[str] 18051 """ 18052 18053 _attribute_map = { 18054 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, 18055 } 18056 18057 def __init__( 18058 self, 18059 *, 18060 session_ids: Optional[List[str]] = None, 18061 **kwargs 18062 ): 18063 super(SessionIds, self).__init__(**kwargs) 18064 self.session_ids = session_ids 18065 18066 18067class StaticRoute(msrest.serialization.Model): 18068 """List of all Static Routes. 18069 18070 :param name: The name of the StaticRoute that is unique within a VnetRoute. 18071 :type name: str 18072 :param address_prefixes: List of all address prefixes. 18073 :type address_prefixes: list[str] 18074 :param next_hop_ip_address: The ip address of the next hop. 18075 :type next_hop_ip_address: str 18076 """ 18077 18078 _attribute_map = { 18079 'name': {'key': 'name', 'type': 'str'}, 18080 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 18081 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 18082 } 18083 18084 def __init__( 18085 self, 18086 *, 18087 name: Optional[str] = None, 18088 address_prefixes: Optional[List[str]] = None, 18089 next_hop_ip_address: Optional[str] = None, 18090 **kwargs 18091 ): 18092 super(StaticRoute, self).__init__(**kwargs) 18093 self.name = name 18094 self.address_prefixes = address_prefixes 18095 self.next_hop_ip_address = next_hop_ip_address 18096 18097 18098class Subnet(SubResource): 18099 """Subnet in a virtual network resource. 18100 18101 Variables are only populated by the server, and will be ignored when sending a request. 18102 18103 :param id: Resource ID. 18104 :type id: str 18105 :param name: The name of the resource that is unique within a resource group. This name can be 18106 used to access the resource. 18107 :type name: str 18108 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18109 :vartype etag: str 18110 :param address_prefix: The address prefix for the subnet. 18111 :type address_prefix: str 18112 :param address_prefixes: List of address prefixes for the subnet. 18113 :type address_prefixes: list[str] 18114 :param network_security_group: The reference to the NetworkSecurityGroup resource. 18115 :type network_security_group: ~azure.mgmt.network.v2020_04_01.models.NetworkSecurityGroup 18116 :param route_table: The reference to the RouteTable resource. 18117 :type route_table: ~azure.mgmt.network.v2020_04_01.models.RouteTable 18118 :param nat_gateway: Nat gateway associated with this subnet. 18119 :type nat_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource 18120 :param service_endpoints: An array of service endpoints. 18121 :type service_endpoints: 18122 list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPropertiesFormat] 18123 :param service_endpoint_policies: An array of service endpoint policies. 18124 :type service_endpoint_policies: 18125 list[~azure.mgmt.network.v2020_04_01.models.ServiceEndpointPolicy] 18126 :ivar private_endpoints: An array of references to private endpoints. 18127 :vartype private_endpoints: list[~azure.mgmt.network.v2020_04_01.models.PrivateEndpoint] 18128 :ivar ip_configurations: An array of references to the network interface IP configurations 18129 using subnet. 18130 :vartype ip_configurations: list[~azure.mgmt.network.v2020_04_01.models.IPConfiguration] 18131 :ivar ip_configuration_profiles: Array of IP configuration profiles which reference this 18132 subnet. 18133 :vartype ip_configuration_profiles: 18134 list[~azure.mgmt.network.v2020_04_01.models.IPConfigurationProfile] 18135 :param ip_allocations: Array of IpAllocation which reference this subnet. 18136 :type ip_allocations: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 18137 :ivar resource_navigation_links: An array of references to the external resources using subnet. 18138 :vartype resource_navigation_links: 18139 list[~azure.mgmt.network.v2020_04_01.models.ResourceNavigationLink] 18140 :ivar service_association_links: An array of references to services injecting into this subnet. 18141 :vartype service_association_links: 18142 list[~azure.mgmt.network.v2020_04_01.models.ServiceAssociationLink] 18143 :param delegations: An array of references to the delegations on the subnet. 18144 :type delegations: list[~azure.mgmt.network.v2020_04_01.models.Delegation] 18145 :ivar purpose: A read-only string identifying the intention of use for this subnet based on 18146 delegations and other user-defined properties. 18147 :vartype purpose: str 18148 :ivar provisioning_state: The provisioning state of the subnet resource. Possible values 18149 include: "Succeeded", "Updating", "Deleting", "Failed". 18150 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 18151 :param private_endpoint_network_policies: Enable or Disable apply network policies on private 18152 end point in the subnet. 18153 :type private_endpoint_network_policies: str 18154 :param private_link_service_network_policies: Enable or Disable apply network policies on 18155 private link service in the subnet. 18156 :type private_link_service_network_policies: str 18157 """ 18158 18159 _validation = { 18160 'etag': {'readonly': True}, 18161 'private_endpoints': {'readonly': True}, 18162 'ip_configurations': {'readonly': True}, 18163 'ip_configuration_profiles': {'readonly': True}, 18164 'resource_navigation_links': {'readonly': True}, 18165 'service_association_links': {'readonly': True}, 18166 'purpose': {'readonly': True}, 18167 'provisioning_state': {'readonly': True}, 18168 } 18169 18170 _attribute_map = { 18171 'id': {'key': 'id', 'type': 'str'}, 18172 'name': {'key': 'name', 'type': 'str'}, 18173 'etag': {'key': 'etag', 'type': 'str'}, 18174 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 18175 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, 18176 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 18177 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 18178 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, 18179 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, 18180 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, 18181 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, 18182 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 18183 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, 18184 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, 18185 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 18186 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, 18187 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, 18188 'purpose': {'key': 'properties.purpose', 'type': 'str'}, 18189 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18190 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, 18191 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, 18192 } 18193 18194 def __init__( 18195 self, 18196 *, 18197 id: Optional[str] = None, 18198 name: Optional[str] = None, 18199 address_prefix: Optional[str] = None, 18200 address_prefixes: Optional[List[str]] = None, 18201 network_security_group: Optional["NetworkSecurityGroup"] = None, 18202 route_table: Optional["RouteTable"] = None, 18203 nat_gateway: Optional["SubResource"] = None, 18204 service_endpoints: Optional[List["ServiceEndpointPropertiesFormat"]] = None, 18205 service_endpoint_policies: Optional[List["ServiceEndpointPolicy"]] = None, 18206 ip_allocations: Optional[List["SubResource"]] = None, 18207 delegations: Optional[List["Delegation"]] = None, 18208 private_endpoint_network_policies: Optional[str] = None, 18209 private_link_service_network_policies: Optional[str] = None, 18210 **kwargs 18211 ): 18212 super(Subnet, self).__init__(id=id, **kwargs) 18213 self.name = name 18214 self.etag = None 18215 self.address_prefix = address_prefix 18216 self.address_prefixes = address_prefixes 18217 self.network_security_group = network_security_group 18218 self.route_table = route_table 18219 self.nat_gateway = nat_gateway 18220 self.service_endpoints = service_endpoints 18221 self.service_endpoint_policies = service_endpoint_policies 18222 self.private_endpoints = None 18223 self.ip_configurations = None 18224 self.ip_configuration_profiles = None 18225 self.ip_allocations = ip_allocations 18226 self.resource_navigation_links = None 18227 self.service_association_links = None 18228 self.delegations = delegations 18229 self.purpose = None 18230 self.provisioning_state = None 18231 self.private_endpoint_network_policies = private_endpoint_network_policies 18232 self.private_link_service_network_policies = private_link_service_network_policies 18233 18234 18235class SubnetAssociation(msrest.serialization.Model): 18236 """Subnet and it's custom security rules. 18237 18238 Variables are only populated by the server, and will be ignored when sending a request. 18239 18240 :ivar id: Subnet ID. 18241 :vartype id: str 18242 :param security_rules: Collection of custom security rules. 18243 :type security_rules: list[~azure.mgmt.network.v2020_04_01.models.SecurityRule] 18244 """ 18245 18246 _validation = { 18247 'id': {'readonly': True}, 18248 } 18249 18250 _attribute_map = { 18251 'id': {'key': 'id', 'type': 'str'}, 18252 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 18253 } 18254 18255 def __init__( 18256 self, 18257 *, 18258 security_rules: Optional[List["SecurityRule"]] = None, 18259 **kwargs 18260 ): 18261 super(SubnetAssociation, self).__init__(**kwargs) 18262 self.id = None 18263 self.security_rules = security_rules 18264 18265 18266class SubnetListResult(msrest.serialization.Model): 18267 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 18268 18269 :param value: The subnets in a virtual network. 18270 :type value: list[~azure.mgmt.network.v2020_04_01.models.Subnet] 18271 :param next_link: The URL to get the next set of results. 18272 :type next_link: str 18273 """ 18274 18275 _attribute_map = { 18276 'value': {'key': 'value', 'type': '[Subnet]'}, 18277 'next_link': {'key': 'nextLink', 'type': 'str'}, 18278 } 18279 18280 def __init__( 18281 self, 18282 *, 18283 value: Optional[List["Subnet"]] = None, 18284 next_link: Optional[str] = None, 18285 **kwargs 18286 ): 18287 super(SubnetListResult, self).__init__(**kwargs) 18288 self.value = value 18289 self.next_link = next_link 18290 18291 18292class TagsObject(msrest.serialization.Model): 18293 """Tags object for patch operations. 18294 18295 :param tags: A set of tags. Resource tags. 18296 :type tags: dict[str, str] 18297 """ 18298 18299 _attribute_map = { 18300 'tags': {'key': 'tags', 'type': '{str}'}, 18301 } 18302 18303 def __init__( 18304 self, 18305 *, 18306 tags: Optional[Dict[str, str]] = None, 18307 **kwargs 18308 ): 18309 super(TagsObject, self).__init__(**kwargs) 18310 self.tags = tags 18311 18312 18313class Topology(msrest.serialization.Model): 18314 """Topology of the specified resource group. 18315 18316 Variables are only populated by the server, and will be ignored when sending a request. 18317 18318 :ivar id: GUID representing the operation id. 18319 :vartype id: str 18320 :ivar created_date_time: The datetime when the topology was initially created for the resource 18321 group. 18322 :vartype created_date_time: ~datetime.datetime 18323 :ivar last_modified: The datetime when the topology was last modified. 18324 :vartype last_modified: ~datetime.datetime 18325 :param resources: A list of topology resources. 18326 :type resources: list[~azure.mgmt.network.v2020_04_01.models.TopologyResource] 18327 """ 18328 18329 _validation = { 18330 'id': {'readonly': True}, 18331 'created_date_time': {'readonly': True}, 18332 'last_modified': {'readonly': True}, 18333 } 18334 18335 _attribute_map = { 18336 'id': {'key': 'id', 'type': 'str'}, 18337 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 18338 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 18339 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 18340 } 18341 18342 def __init__( 18343 self, 18344 *, 18345 resources: Optional[List["TopologyResource"]] = None, 18346 **kwargs 18347 ): 18348 super(Topology, self).__init__(**kwargs) 18349 self.id = None 18350 self.created_date_time = None 18351 self.last_modified = None 18352 self.resources = resources 18353 18354 18355class TopologyAssociation(msrest.serialization.Model): 18356 """Resources that have an association with the parent resource. 18357 18358 :param name: The name of the resource that is associated with the parent resource. 18359 :type name: str 18360 :param resource_id: The ID of the resource that is associated with the parent resource. 18361 :type resource_id: str 18362 :param association_type: The association type of the child resource to the parent resource. 18363 Possible values include: "Associated", "Contains". 18364 :type association_type: str or ~azure.mgmt.network.v2020_04_01.models.AssociationType 18365 """ 18366 18367 _attribute_map = { 18368 'name': {'key': 'name', 'type': 'str'}, 18369 'resource_id': {'key': 'resourceId', 'type': 'str'}, 18370 'association_type': {'key': 'associationType', 'type': 'str'}, 18371 } 18372 18373 def __init__( 18374 self, 18375 *, 18376 name: Optional[str] = None, 18377 resource_id: Optional[str] = None, 18378 association_type: Optional[Union[str, "AssociationType"]] = None, 18379 **kwargs 18380 ): 18381 super(TopologyAssociation, self).__init__(**kwargs) 18382 self.name = name 18383 self.resource_id = resource_id 18384 self.association_type = association_type 18385 18386 18387class TopologyParameters(msrest.serialization.Model): 18388 """Parameters that define the representation of topology. 18389 18390 :param target_resource_group_name: The name of the target resource group to perform topology 18391 on. 18392 :type target_resource_group_name: str 18393 :param target_virtual_network: The reference to the Virtual Network resource. 18394 :type target_virtual_network: ~azure.mgmt.network.v2020_04_01.models.SubResource 18395 :param target_subnet: The reference to the Subnet resource. 18396 :type target_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 18397 """ 18398 18399 _attribute_map = { 18400 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 18401 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, 18402 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, 18403 } 18404 18405 def __init__( 18406 self, 18407 *, 18408 target_resource_group_name: Optional[str] = None, 18409 target_virtual_network: Optional["SubResource"] = None, 18410 target_subnet: Optional["SubResource"] = None, 18411 **kwargs 18412 ): 18413 super(TopologyParameters, self).__init__(**kwargs) 18414 self.target_resource_group_name = target_resource_group_name 18415 self.target_virtual_network = target_virtual_network 18416 self.target_subnet = target_subnet 18417 18418 18419class TopologyResource(msrest.serialization.Model): 18420 """The network resource topology information for the given resource group. 18421 18422 :param name: Name of the resource. 18423 :type name: str 18424 :param id: ID of the resource. 18425 :type id: str 18426 :param location: Resource location. 18427 :type location: str 18428 :param associations: Holds the associations the resource has with other resources in the 18429 resource group. 18430 :type associations: list[~azure.mgmt.network.v2020_04_01.models.TopologyAssociation] 18431 """ 18432 18433 _attribute_map = { 18434 'name': {'key': 'name', 'type': 'str'}, 18435 'id': {'key': 'id', 'type': 'str'}, 18436 'location': {'key': 'location', 'type': 'str'}, 18437 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 18438 } 18439 18440 def __init__( 18441 self, 18442 *, 18443 name: Optional[str] = None, 18444 id: Optional[str] = None, 18445 location: Optional[str] = None, 18446 associations: Optional[List["TopologyAssociation"]] = None, 18447 **kwargs 18448 ): 18449 super(TopologyResource, self).__init__(**kwargs) 18450 self.name = name 18451 self.id = id 18452 self.location = location 18453 self.associations = associations 18454 18455 18456class TrafficAnalyticsConfigurationProperties(msrest.serialization.Model): 18457 """Parameters that define the configuration of traffic analytics. 18458 18459 :param enabled: Flag to enable/disable traffic analytics. 18460 :type enabled: bool 18461 :param workspace_id: The resource guid of the attached workspace. 18462 :type workspace_id: str 18463 :param workspace_region: The location of the attached workspace. 18464 :type workspace_region: str 18465 :param workspace_resource_id: Resource Id of the attached workspace. 18466 :type workspace_resource_id: str 18467 :param traffic_analytics_interval: The interval in minutes which would decide how frequently TA 18468 service should do flow analytics. 18469 :type traffic_analytics_interval: int 18470 """ 18471 18472 _attribute_map = { 18473 'enabled': {'key': 'enabled', 'type': 'bool'}, 18474 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, 18475 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, 18476 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 18477 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, 18478 } 18479 18480 def __init__( 18481 self, 18482 *, 18483 enabled: Optional[bool] = None, 18484 workspace_id: Optional[str] = None, 18485 workspace_region: Optional[str] = None, 18486 workspace_resource_id: Optional[str] = None, 18487 traffic_analytics_interval: Optional[int] = None, 18488 **kwargs 18489 ): 18490 super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) 18491 self.enabled = enabled 18492 self.workspace_id = workspace_id 18493 self.workspace_region = workspace_region 18494 self.workspace_resource_id = workspace_resource_id 18495 self.traffic_analytics_interval = traffic_analytics_interval 18496 18497 18498class TrafficAnalyticsProperties(msrest.serialization.Model): 18499 """Parameters that define the configuration of traffic analytics. 18500 18501 :param network_watcher_flow_analytics_configuration: Parameters that define the configuration 18502 of traffic analytics. 18503 :type network_watcher_flow_analytics_configuration: 18504 ~azure.mgmt.network.v2020_04_01.models.TrafficAnalyticsConfigurationProperties 18505 """ 18506 18507 _attribute_map = { 18508 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, 18509 } 18510 18511 def __init__( 18512 self, 18513 *, 18514 network_watcher_flow_analytics_configuration: Optional["TrafficAnalyticsConfigurationProperties"] = None, 18515 **kwargs 18516 ): 18517 super(TrafficAnalyticsProperties, self).__init__(**kwargs) 18518 self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration 18519 18520 18521class TrafficSelectorPolicy(msrest.serialization.Model): 18522 """An traffic selector policy for a virtual network gateway connection. 18523 18524 All required parameters must be populated in order to send to Azure. 18525 18526 :param local_address_ranges: Required. A collection of local address spaces in CIDR format. 18527 :type local_address_ranges: list[str] 18528 :param remote_address_ranges: Required. A collection of remote address spaces in CIDR format. 18529 :type remote_address_ranges: list[str] 18530 """ 18531 18532 _validation = { 18533 'local_address_ranges': {'required': True}, 18534 'remote_address_ranges': {'required': True}, 18535 } 18536 18537 _attribute_map = { 18538 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, 18539 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, 18540 } 18541 18542 def __init__( 18543 self, 18544 *, 18545 local_address_ranges: List[str], 18546 remote_address_ranges: List[str], 18547 **kwargs 18548 ): 18549 super(TrafficSelectorPolicy, self).__init__(**kwargs) 18550 self.local_address_ranges = local_address_ranges 18551 self.remote_address_ranges = remote_address_ranges 18552 18553 18554class TroubleshootingDetails(msrest.serialization.Model): 18555 """Information gained from troubleshooting of specified resource. 18556 18557 :param id: The id of the get troubleshoot operation. 18558 :type id: str 18559 :param reason_type: Reason type of failure. 18560 :type reason_type: str 18561 :param summary: A summary of troubleshooting. 18562 :type summary: str 18563 :param detail: Details on troubleshooting results. 18564 :type detail: str 18565 :param recommended_actions: List of recommended actions. 18566 :type recommended_actions: 18567 list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingRecommendedActions] 18568 """ 18569 18570 _attribute_map = { 18571 'id': {'key': 'id', 'type': 'str'}, 18572 'reason_type': {'key': 'reasonType', 'type': 'str'}, 18573 'summary': {'key': 'summary', 'type': 'str'}, 18574 'detail': {'key': 'detail', 'type': 'str'}, 18575 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 18576 } 18577 18578 def __init__( 18579 self, 18580 *, 18581 id: Optional[str] = None, 18582 reason_type: Optional[str] = None, 18583 summary: Optional[str] = None, 18584 detail: Optional[str] = None, 18585 recommended_actions: Optional[List["TroubleshootingRecommendedActions"]] = None, 18586 **kwargs 18587 ): 18588 super(TroubleshootingDetails, self).__init__(**kwargs) 18589 self.id = id 18590 self.reason_type = reason_type 18591 self.summary = summary 18592 self.detail = detail 18593 self.recommended_actions = recommended_actions 18594 18595 18596class TroubleshootingParameters(msrest.serialization.Model): 18597 """Parameters that define the resource to troubleshoot. 18598 18599 All required parameters must be populated in order to send to Azure. 18600 18601 :param target_resource_id: Required. The target resource to troubleshoot. 18602 :type target_resource_id: str 18603 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 18604 :type storage_id: str 18605 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 18606 :type storage_path: str 18607 """ 18608 18609 _validation = { 18610 'target_resource_id': {'required': True}, 18611 'storage_id': {'required': True}, 18612 'storage_path': {'required': True}, 18613 } 18614 18615 _attribute_map = { 18616 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 18617 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 18618 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 18619 } 18620 18621 def __init__( 18622 self, 18623 *, 18624 target_resource_id: str, 18625 storage_id: str, 18626 storage_path: str, 18627 **kwargs 18628 ): 18629 super(TroubleshootingParameters, self).__init__(**kwargs) 18630 self.target_resource_id = target_resource_id 18631 self.storage_id = storage_id 18632 self.storage_path = storage_path 18633 18634 18635class TroubleshootingRecommendedActions(msrest.serialization.Model): 18636 """Recommended actions based on discovered issues. 18637 18638 :param action_id: ID of the recommended action. 18639 :type action_id: str 18640 :param action_text: Description of recommended actions. 18641 :type action_text: str 18642 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 18643 actions. 18644 :type action_uri: str 18645 :param action_uri_text: The information from the URI for the recommended troubleshooting 18646 actions. 18647 :type action_uri_text: str 18648 """ 18649 18650 _attribute_map = { 18651 'action_id': {'key': 'actionId', 'type': 'str'}, 18652 'action_text': {'key': 'actionText', 'type': 'str'}, 18653 'action_uri': {'key': 'actionUri', 'type': 'str'}, 18654 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 18655 } 18656 18657 def __init__( 18658 self, 18659 *, 18660 action_id: Optional[str] = None, 18661 action_text: Optional[str] = None, 18662 action_uri: Optional[str] = None, 18663 action_uri_text: Optional[str] = None, 18664 **kwargs 18665 ): 18666 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 18667 self.action_id = action_id 18668 self.action_text = action_text 18669 self.action_uri = action_uri 18670 self.action_uri_text = action_uri_text 18671 18672 18673class TroubleshootingResult(msrest.serialization.Model): 18674 """Troubleshooting information gained from specified resource. 18675 18676 :param start_time: The start time of the troubleshooting. 18677 :type start_time: ~datetime.datetime 18678 :param end_time: The end time of the troubleshooting. 18679 :type end_time: ~datetime.datetime 18680 :param code: The result code of the troubleshooting. 18681 :type code: str 18682 :param results: Information from troubleshooting. 18683 :type results: list[~azure.mgmt.network.v2020_04_01.models.TroubleshootingDetails] 18684 """ 18685 18686 _attribute_map = { 18687 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 18688 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 18689 'code': {'key': 'code', 'type': 'str'}, 18690 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 18691 } 18692 18693 def __init__( 18694 self, 18695 *, 18696 start_time: Optional[datetime.datetime] = None, 18697 end_time: Optional[datetime.datetime] = None, 18698 code: Optional[str] = None, 18699 results: Optional[List["TroubleshootingDetails"]] = None, 18700 **kwargs 18701 ): 18702 super(TroubleshootingResult, self).__init__(**kwargs) 18703 self.start_time = start_time 18704 self.end_time = end_time 18705 self.code = code 18706 self.results = results 18707 18708 18709class TunnelConnectionHealth(msrest.serialization.Model): 18710 """VirtualNetworkGatewayConnection properties. 18711 18712 Variables are only populated by the server, and will be ignored when sending a request. 18713 18714 :ivar tunnel: Tunnel name. 18715 :vartype tunnel: str 18716 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 18717 "Unknown", "Connecting", "Connected", "NotConnected". 18718 :vartype connection_status: str or 18719 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus 18720 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 18721 :vartype ingress_bytes_transferred: long 18722 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 18723 :vartype egress_bytes_transferred: long 18724 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 18725 format. 18726 :vartype last_connection_established_utc_time: str 18727 """ 18728 18729 _validation = { 18730 'tunnel': {'readonly': True}, 18731 'connection_status': {'readonly': True}, 18732 'ingress_bytes_transferred': {'readonly': True}, 18733 'egress_bytes_transferred': {'readonly': True}, 18734 'last_connection_established_utc_time': {'readonly': True}, 18735 } 18736 18737 _attribute_map = { 18738 'tunnel': {'key': 'tunnel', 'type': 'str'}, 18739 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 18740 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 18741 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 18742 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 18743 } 18744 18745 def __init__( 18746 self, 18747 **kwargs 18748 ): 18749 super(TunnelConnectionHealth, self).__init__(**kwargs) 18750 self.tunnel = None 18751 self.connection_status = None 18752 self.ingress_bytes_transferred = None 18753 self.egress_bytes_transferred = None 18754 self.last_connection_established_utc_time = None 18755 18756 18757class UnprepareNetworkPoliciesRequest(msrest.serialization.Model): 18758 """Details of UnprepareNetworkPolicies for Subnet. 18759 18760 :param service_name: The name of the service for which subnet is being unprepared for. 18761 :type service_name: str 18762 """ 18763 18764 _attribute_map = { 18765 'service_name': {'key': 'serviceName', 'type': 'str'}, 18766 } 18767 18768 def __init__( 18769 self, 18770 *, 18771 service_name: Optional[str] = None, 18772 **kwargs 18773 ): 18774 super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) 18775 self.service_name = service_name 18776 18777 18778class Usage(msrest.serialization.Model): 18779 """The network resource usage. 18780 18781 Variables are only populated by the server, and will be ignored when sending a request. 18782 18783 All required parameters must be populated in order to send to Azure. 18784 18785 :ivar id: Resource identifier. 18786 :vartype id: str 18787 :param unit: Required. An enum describing the unit of measurement. Possible values include: 18788 "Count". 18789 :type unit: str or ~azure.mgmt.network.v2020_04_01.models.UsageUnit 18790 :param current_value: Required. The current value of the usage. 18791 :type current_value: long 18792 :param limit: Required. The limit of usage. 18793 :type limit: long 18794 :param name: Required. The name of the type of usage. 18795 :type name: ~azure.mgmt.network.v2020_04_01.models.UsageName 18796 """ 18797 18798 _validation = { 18799 'id': {'readonly': True}, 18800 'unit': {'required': True}, 18801 'current_value': {'required': True}, 18802 'limit': {'required': True}, 18803 'name': {'required': True}, 18804 } 18805 18806 _attribute_map = { 18807 'id': {'key': 'id', 'type': 'str'}, 18808 'unit': {'key': 'unit', 'type': 'str'}, 18809 'current_value': {'key': 'currentValue', 'type': 'long'}, 18810 'limit': {'key': 'limit', 'type': 'long'}, 18811 'name': {'key': 'name', 'type': 'UsageName'}, 18812 } 18813 18814 def __init__( 18815 self, 18816 *, 18817 unit: Union[str, "UsageUnit"], 18818 current_value: int, 18819 limit: int, 18820 name: "UsageName", 18821 **kwargs 18822 ): 18823 super(Usage, self).__init__(**kwargs) 18824 self.id = None 18825 self.unit = unit 18826 self.current_value = current_value 18827 self.limit = limit 18828 self.name = name 18829 18830 18831class UsageName(msrest.serialization.Model): 18832 """The usage names. 18833 18834 :param value: A string describing the resource name. 18835 :type value: str 18836 :param localized_value: A localized string describing the resource name. 18837 :type localized_value: str 18838 """ 18839 18840 _attribute_map = { 18841 'value': {'key': 'value', 'type': 'str'}, 18842 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 18843 } 18844 18845 def __init__( 18846 self, 18847 *, 18848 value: Optional[str] = None, 18849 localized_value: Optional[str] = None, 18850 **kwargs 18851 ): 18852 super(UsageName, self).__init__(**kwargs) 18853 self.value = value 18854 self.localized_value = localized_value 18855 18856 18857class UsagesListResult(msrest.serialization.Model): 18858 """The list usages operation response. 18859 18860 :param value: The list network resource usages. 18861 :type value: list[~azure.mgmt.network.v2020_04_01.models.Usage] 18862 :param next_link: URL to get the next set of results. 18863 :type next_link: str 18864 """ 18865 18866 _attribute_map = { 18867 'value': {'key': 'value', 'type': '[Usage]'}, 18868 'next_link': {'key': 'nextLink', 'type': 'str'}, 18869 } 18870 18871 def __init__( 18872 self, 18873 *, 18874 value: Optional[List["Usage"]] = None, 18875 next_link: Optional[str] = None, 18876 **kwargs 18877 ): 18878 super(UsagesListResult, self).__init__(**kwargs) 18879 self.value = value 18880 self.next_link = next_link 18881 18882 18883class VerificationIPFlowParameters(msrest.serialization.Model): 18884 """Parameters that define the IP flow to be verified. 18885 18886 All required parameters must be populated in order to send to Azure. 18887 18888 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 18889 :type target_resource_id: str 18890 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 18891 values include: "Inbound", "Outbound". 18892 :type direction: str or ~azure.mgmt.network.v2020_04_01.models.Direction 18893 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 18894 :type protocol: str or ~azure.mgmt.network.v2020_04_01.models.IpFlowProtocol 18895 :param local_port: Required. The local port. Acceptable values are a single integer in the 18896 range (0-65535). Support for * for the source port, which depends on the direction. 18897 :type local_port: str 18898 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 18899 range (0-65535). Support for * for the source port, which depends on the direction. 18900 :type remote_port: str 18901 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 18902 addresses. 18903 :type local_ip_address: str 18904 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 18905 addresses. 18906 :type remote_ip_address: str 18907 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 18908 enabled on any of them, then this parameter must be specified. Otherwise optional). 18909 :type target_nic_resource_id: str 18910 """ 18911 18912 _validation = { 18913 'target_resource_id': {'required': True}, 18914 'direction': {'required': True}, 18915 'protocol': {'required': True}, 18916 'local_port': {'required': True}, 18917 'remote_port': {'required': True}, 18918 'local_ip_address': {'required': True}, 18919 'remote_ip_address': {'required': True}, 18920 } 18921 18922 _attribute_map = { 18923 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 18924 'direction': {'key': 'direction', 'type': 'str'}, 18925 'protocol': {'key': 'protocol', 'type': 'str'}, 18926 'local_port': {'key': 'localPort', 'type': 'str'}, 18927 'remote_port': {'key': 'remotePort', 'type': 'str'}, 18928 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 18929 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 18930 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 18931 } 18932 18933 def __init__( 18934 self, 18935 *, 18936 target_resource_id: str, 18937 direction: Union[str, "Direction"], 18938 protocol: Union[str, "IpFlowProtocol"], 18939 local_port: str, 18940 remote_port: str, 18941 local_ip_address: str, 18942 remote_ip_address: str, 18943 target_nic_resource_id: Optional[str] = None, 18944 **kwargs 18945 ): 18946 super(VerificationIPFlowParameters, self).__init__(**kwargs) 18947 self.target_resource_id = target_resource_id 18948 self.direction = direction 18949 self.protocol = protocol 18950 self.local_port = local_port 18951 self.remote_port = remote_port 18952 self.local_ip_address = local_ip_address 18953 self.remote_ip_address = remote_ip_address 18954 self.target_nic_resource_id = target_nic_resource_id 18955 18956 18957class VerificationIPFlowResult(msrest.serialization.Model): 18958 """Results of IP flow verification on the target resource. 18959 18960 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 18961 "Allow", "Deny". 18962 :type access: str or ~azure.mgmt.network.v2020_04_01.models.Access 18963 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 18964 not displayed. 18965 :type rule_name: str 18966 """ 18967 18968 _attribute_map = { 18969 'access': {'key': 'access', 'type': 'str'}, 18970 'rule_name': {'key': 'ruleName', 'type': 'str'}, 18971 } 18972 18973 def __init__( 18974 self, 18975 *, 18976 access: Optional[Union[str, "Access"]] = None, 18977 rule_name: Optional[str] = None, 18978 **kwargs 18979 ): 18980 super(VerificationIPFlowResult, self).__init__(**kwargs) 18981 self.access = access 18982 self.rule_name = rule_name 18983 18984 18985class VirtualApplianceNicProperties(msrest.serialization.Model): 18986 """Network Virtual Appliance NIC properties. 18987 18988 Variables are only populated by the server, and will be ignored when sending a request. 18989 18990 :ivar name: NIC name. 18991 :vartype name: str 18992 :ivar public_ip_address: Public IP address. 18993 :vartype public_ip_address: str 18994 :ivar private_ip_address: Private IP address. 18995 :vartype private_ip_address: str 18996 """ 18997 18998 _validation = { 18999 'name': {'readonly': True}, 19000 'public_ip_address': {'readonly': True}, 19001 'private_ip_address': {'readonly': True}, 19002 } 19003 19004 _attribute_map = { 19005 'name': {'key': 'name', 'type': 'str'}, 19006 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 19007 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 19008 } 19009 19010 def __init__( 19011 self, 19012 **kwargs 19013 ): 19014 super(VirtualApplianceNicProperties, self).__init__(**kwargs) 19015 self.name = None 19016 self.public_ip_address = None 19017 self.private_ip_address = None 19018 19019 19020class VirtualApplianceSkuProperties(msrest.serialization.Model): 19021 """Network Virtual Appliance Sku Properties. 19022 19023 :param vendor: Virtual Appliance Vendor. 19024 :type vendor: str 19025 :param bundled_scale_unit: Virtual Appliance Scale Unit. 19026 :type bundled_scale_unit: str 19027 :param market_place_version: Virtual Appliance Version. 19028 :type market_place_version: str 19029 """ 19030 19031 _attribute_map = { 19032 'vendor': {'key': 'vendor', 'type': 'str'}, 19033 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, 19034 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, 19035 } 19036 19037 def __init__( 19038 self, 19039 *, 19040 vendor: Optional[str] = None, 19041 bundled_scale_unit: Optional[str] = None, 19042 market_place_version: Optional[str] = None, 19043 **kwargs 19044 ): 19045 super(VirtualApplianceSkuProperties, self).__init__(**kwargs) 19046 self.vendor = vendor 19047 self.bundled_scale_unit = bundled_scale_unit 19048 self.market_place_version = market_place_version 19049 19050 19051class VirtualHub(Resource): 19052 """VirtualHub Resource. 19053 19054 Variables are only populated by the server, and will be ignored when sending a request. 19055 19056 :param id: Resource ID. 19057 :type id: str 19058 :ivar name: Resource name. 19059 :vartype name: str 19060 :ivar type: Resource type. 19061 :vartype type: str 19062 :param location: Resource location. 19063 :type location: str 19064 :param tags: A set of tags. Resource tags. 19065 :type tags: dict[str, str] 19066 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19067 :vartype etag: str 19068 :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. 19069 :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource 19070 :param vpn_gateway: The VpnGateway associated with this VirtualHub. 19071 :type vpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource 19072 :param p2_s_vpn_gateway: The P2SVpnGateway associated with this VirtualHub. 19073 :type p2_s_vpn_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource 19074 :param express_route_gateway: The expressRouteGateway associated with this VirtualHub. 19075 :type express_route_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource 19076 :param azure_firewall: The azureFirewall associated with this VirtualHub. 19077 :type azure_firewall: ~azure.mgmt.network.v2020_04_01.models.SubResource 19078 :param security_partner_provider: The securityPartnerProvider associated with this VirtualHub. 19079 :type security_partner_provider: ~azure.mgmt.network.v2020_04_01.models.SubResource 19080 :param virtual_network_connections: List of all vnet connections with this VirtualHub. 19081 :type virtual_network_connections: 19082 list[~azure.mgmt.network.v2020_04_01.models.HubVirtualNetworkConnection] 19083 :param address_prefix: Address-prefix for this VirtualHub. 19084 :type address_prefix: str 19085 :param route_table: The routeTable associated with this virtual hub. 19086 :type route_table: ~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTable 19087 :ivar provisioning_state: The provisioning state of the virtual hub resource. Possible values 19088 include: "Succeeded", "Updating", "Deleting", "Failed". 19089 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19090 :param security_provider_name: The Security Provider name. 19091 :type security_provider_name: str 19092 :param virtual_hub_route_table_v2_s: List of all virtual hub route table v2s associated with 19093 this VirtualHub. 19094 :type virtual_hub_route_table_v2_s: 19095 list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteTableV2] 19096 :param sku: The sku of this VirtualHub. 19097 :type sku: str 19098 """ 19099 19100 _validation = { 19101 'name': {'readonly': True}, 19102 'type': {'readonly': True}, 19103 'etag': {'readonly': True}, 19104 'provisioning_state': {'readonly': True}, 19105 } 19106 19107 _attribute_map = { 19108 'id': {'key': 'id', 'type': 'str'}, 19109 'name': {'key': 'name', 'type': 'str'}, 19110 'type': {'key': 'type', 'type': 'str'}, 19111 'location': {'key': 'location', 'type': 'str'}, 19112 'tags': {'key': 'tags', 'type': '{str}'}, 19113 'etag': {'key': 'etag', 'type': 'str'}, 19114 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 19115 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, 19116 'p2_s_vpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, 19117 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, 19118 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, 19119 'security_partner_provider': {'key': 'properties.securityPartnerProvider', 'type': 'SubResource'}, 19120 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, 19121 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 19122 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, 19123 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19124 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, 19125 'virtual_hub_route_table_v2_s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, 19126 'sku': {'key': 'properties.sku', 'type': 'str'}, 19127 } 19128 19129 def __init__( 19130 self, 19131 *, 19132 id: Optional[str] = None, 19133 location: Optional[str] = None, 19134 tags: Optional[Dict[str, str]] = None, 19135 virtual_wan: Optional["SubResource"] = None, 19136 vpn_gateway: Optional["SubResource"] = None, 19137 p2_s_vpn_gateway: Optional["SubResource"] = None, 19138 express_route_gateway: Optional["SubResource"] = None, 19139 azure_firewall: Optional["SubResource"] = None, 19140 security_partner_provider: Optional["SubResource"] = None, 19141 virtual_network_connections: Optional[List["HubVirtualNetworkConnection"]] = None, 19142 address_prefix: Optional[str] = None, 19143 route_table: Optional["VirtualHubRouteTable"] = None, 19144 security_provider_name: Optional[str] = None, 19145 virtual_hub_route_table_v2_s: Optional[List["VirtualHubRouteTableV2"]] = None, 19146 sku: Optional[str] = None, 19147 **kwargs 19148 ): 19149 super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) 19150 self.etag = None 19151 self.virtual_wan = virtual_wan 19152 self.vpn_gateway = vpn_gateway 19153 self.p2_s_vpn_gateway = p2_s_vpn_gateway 19154 self.express_route_gateway = express_route_gateway 19155 self.azure_firewall = azure_firewall 19156 self.security_partner_provider = security_partner_provider 19157 self.virtual_network_connections = virtual_network_connections 19158 self.address_prefix = address_prefix 19159 self.route_table = route_table 19160 self.provisioning_state = None 19161 self.security_provider_name = security_provider_name 19162 self.virtual_hub_route_table_v2_s = virtual_hub_route_table_v2_s 19163 self.sku = sku 19164 19165 19166class VirtualHubId(msrest.serialization.Model): 19167 """Virtual Hub identifier. 19168 19169 :param id: The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be 19170 deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same 19171 subscription. 19172 :type id: str 19173 """ 19174 19175 _attribute_map = { 19176 'id': {'key': 'id', 'type': 'str'}, 19177 } 19178 19179 def __init__( 19180 self, 19181 *, 19182 id: Optional[str] = None, 19183 **kwargs 19184 ): 19185 super(VirtualHubId, self).__init__(**kwargs) 19186 self.id = id 19187 19188 19189class VirtualHubRoute(msrest.serialization.Model): 19190 """VirtualHub route. 19191 19192 :param address_prefixes: List of all addressPrefixes. 19193 :type address_prefixes: list[str] 19194 :param next_hop_ip_address: NextHop ip address. 19195 :type next_hop_ip_address: str 19196 """ 19197 19198 _attribute_map = { 19199 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 19200 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 19201 } 19202 19203 def __init__( 19204 self, 19205 *, 19206 address_prefixes: Optional[List[str]] = None, 19207 next_hop_ip_address: Optional[str] = None, 19208 **kwargs 19209 ): 19210 super(VirtualHubRoute, self).__init__(**kwargs) 19211 self.address_prefixes = address_prefixes 19212 self.next_hop_ip_address = next_hop_ip_address 19213 19214 19215class VirtualHubRouteTable(msrest.serialization.Model): 19216 """VirtualHub route table. 19217 19218 :param routes: List of all routes. 19219 :type routes: list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRoute] 19220 """ 19221 19222 _attribute_map = { 19223 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, 19224 } 19225 19226 def __init__( 19227 self, 19228 *, 19229 routes: Optional[List["VirtualHubRoute"]] = None, 19230 **kwargs 19231 ): 19232 super(VirtualHubRouteTable, self).__init__(**kwargs) 19233 self.routes = routes 19234 19235 19236class VirtualHubRouteTableV2(SubResource): 19237 """VirtualHubRouteTableV2 Resource. 19238 19239 Variables are only populated by the server, and will be ignored when sending a request. 19240 19241 :param id: Resource ID. 19242 :type id: str 19243 :param name: The name of the resource that is unique within a resource group. This name can be 19244 used to access the resource. 19245 :type name: str 19246 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19247 :vartype etag: str 19248 :param routes: List of all routes. 19249 :type routes: list[~azure.mgmt.network.v2020_04_01.models.VirtualHubRouteV2] 19250 :param attached_connections: List of all connections attached to this route table v2. 19251 :type attached_connections: list[str] 19252 :ivar provisioning_state: The provisioning state of the virtual hub route table v2 resource. 19253 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19254 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19255 """ 19256 19257 _validation = { 19258 'etag': {'readonly': True}, 19259 'provisioning_state': {'readonly': True}, 19260 } 19261 19262 _attribute_map = { 19263 'id': {'key': 'id', 'type': 'str'}, 19264 'name': {'key': 'name', 'type': 'str'}, 19265 'etag': {'key': 'etag', 'type': 'str'}, 19266 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, 19267 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, 19268 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19269 } 19270 19271 def __init__( 19272 self, 19273 *, 19274 id: Optional[str] = None, 19275 name: Optional[str] = None, 19276 routes: Optional[List["VirtualHubRouteV2"]] = None, 19277 attached_connections: Optional[List[str]] = None, 19278 **kwargs 19279 ): 19280 super(VirtualHubRouteTableV2, self).__init__(id=id, **kwargs) 19281 self.name = name 19282 self.etag = None 19283 self.routes = routes 19284 self.attached_connections = attached_connections 19285 self.provisioning_state = None 19286 19287 19288class VirtualHubRouteV2(msrest.serialization.Model): 19289 """VirtualHubRouteTableV2 route. 19290 19291 :param destination_type: The type of destinations. 19292 :type destination_type: str 19293 :param destinations: List of all destinations. 19294 :type destinations: list[str] 19295 :param next_hop_type: The type of next hops. 19296 :type next_hop_type: str 19297 :param next_hops: NextHops ip address. 19298 :type next_hops: list[str] 19299 """ 19300 19301 _attribute_map = { 19302 'destination_type': {'key': 'destinationType', 'type': 'str'}, 19303 'destinations': {'key': 'destinations', 'type': '[str]'}, 19304 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 19305 'next_hops': {'key': 'nextHops', 'type': '[str]'}, 19306 } 19307 19308 def __init__( 19309 self, 19310 *, 19311 destination_type: Optional[str] = None, 19312 destinations: Optional[List[str]] = None, 19313 next_hop_type: Optional[str] = None, 19314 next_hops: Optional[List[str]] = None, 19315 **kwargs 19316 ): 19317 super(VirtualHubRouteV2, self).__init__(**kwargs) 19318 self.destination_type = destination_type 19319 self.destinations = destinations 19320 self.next_hop_type = next_hop_type 19321 self.next_hops = next_hops 19322 19323 19324class VirtualNetwork(Resource): 19325 """Virtual Network resource. 19326 19327 Variables are only populated by the server, and will be ignored when sending a request. 19328 19329 :param id: Resource ID. 19330 :type id: str 19331 :ivar name: Resource name. 19332 :vartype name: str 19333 :ivar type: Resource type. 19334 :vartype type: str 19335 :param location: Resource location. 19336 :type location: str 19337 :param tags: A set of tags. Resource tags. 19338 :type tags: dict[str, str] 19339 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19340 :vartype etag: str 19341 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 19342 used by subnets. 19343 :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 19344 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 19345 deployed in the virtual network. 19346 :type dhcp_options: ~azure.mgmt.network.v2020_04_01.models.DhcpOptions 19347 :param subnets: A list of subnets in a Virtual Network. 19348 :type subnets: list[~azure.mgmt.network.v2020_04_01.models.Subnet] 19349 :param virtual_network_peerings: A list of peerings in a Virtual Network. 19350 :type virtual_network_peerings: 19351 list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] 19352 :ivar resource_guid: The resourceGuid property of the Virtual Network resource. 19353 :vartype resource_guid: str 19354 :ivar provisioning_state: The provisioning state of the virtual network resource. Possible 19355 values include: "Succeeded", "Updating", "Deleting", "Failed". 19356 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19357 :param enable_ddos_protection: Indicates if DDoS protection is enabled for all the protected 19358 resources in the virtual network. It requires a DDoS protection plan associated with the 19359 resource. 19360 :type enable_ddos_protection: bool 19361 :param enable_vm_protection: Indicates if VM protection is enabled for all the subnets in the 19362 virtual network. 19363 :type enable_vm_protection: bool 19364 :param ddos_protection_plan: The DDoS protection plan associated with the virtual network. 19365 :type ddos_protection_plan: ~azure.mgmt.network.v2020_04_01.models.SubResource 19366 :param bgp_communities: Bgp Communities sent over ExpressRoute with each route corresponding to 19367 a prefix in this VNET. 19368 :type bgp_communities: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkBgpCommunities 19369 :param ip_allocations: Array of IpAllocation which reference this VNET. 19370 :type ip_allocations: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 19371 """ 19372 19373 _validation = { 19374 'name': {'readonly': True}, 19375 'type': {'readonly': True}, 19376 'etag': {'readonly': True}, 19377 'resource_guid': {'readonly': True}, 19378 'provisioning_state': {'readonly': True}, 19379 } 19380 19381 _attribute_map = { 19382 'id': {'key': 'id', 'type': 'str'}, 19383 'name': {'key': 'name', 'type': 'str'}, 19384 'type': {'key': 'type', 'type': 'str'}, 19385 'location': {'key': 'location', 'type': 'str'}, 19386 'tags': {'key': 'tags', 'type': '{str}'}, 19387 'etag': {'key': 'etag', 'type': 'str'}, 19388 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 19389 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 19390 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 19391 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 19392 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19393 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19394 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, 19395 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, 19396 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, 19397 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, 19398 'ip_allocations': {'key': 'properties.ipAllocations', 'type': '[SubResource]'}, 19399 } 19400 19401 def __init__( 19402 self, 19403 *, 19404 id: Optional[str] = None, 19405 location: Optional[str] = None, 19406 tags: Optional[Dict[str, str]] = None, 19407 address_space: Optional["AddressSpace"] = None, 19408 dhcp_options: Optional["DhcpOptions"] = None, 19409 subnets: Optional[List["Subnet"]] = None, 19410 virtual_network_peerings: Optional[List["VirtualNetworkPeering"]] = None, 19411 enable_ddos_protection: Optional[bool] = False, 19412 enable_vm_protection: Optional[bool] = False, 19413 ddos_protection_plan: Optional["SubResource"] = None, 19414 bgp_communities: Optional["VirtualNetworkBgpCommunities"] = None, 19415 ip_allocations: Optional[List["SubResource"]] = None, 19416 **kwargs 19417 ): 19418 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 19419 self.etag = None 19420 self.address_space = address_space 19421 self.dhcp_options = dhcp_options 19422 self.subnets = subnets 19423 self.virtual_network_peerings = virtual_network_peerings 19424 self.resource_guid = None 19425 self.provisioning_state = None 19426 self.enable_ddos_protection = enable_ddos_protection 19427 self.enable_vm_protection = enable_vm_protection 19428 self.ddos_protection_plan = ddos_protection_plan 19429 self.bgp_communities = bgp_communities 19430 self.ip_allocations = ip_allocations 19431 19432 19433class VirtualNetworkBgpCommunities(msrest.serialization.Model): 19434 """Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 19435 19436 Variables are only populated by the server, and will be ignored when sending a request. 19437 19438 All required parameters must be populated in order to send to Azure. 19439 19440 :param virtual_network_community: Required. The BGP community associated with the virtual 19441 network. 19442 :type virtual_network_community: str 19443 :ivar regional_community: The BGP community associated with the region of the virtual network. 19444 :vartype regional_community: str 19445 """ 19446 19447 _validation = { 19448 'virtual_network_community': {'required': True}, 19449 'regional_community': {'readonly': True}, 19450 } 19451 19452 _attribute_map = { 19453 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, 19454 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, 19455 } 19456 19457 def __init__( 19458 self, 19459 *, 19460 virtual_network_community: str, 19461 **kwargs 19462 ): 19463 super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) 19464 self.virtual_network_community = virtual_network_community 19465 self.regional_community = None 19466 19467 19468class VirtualNetworkConnectionGatewayReference(msrest.serialization.Model): 19469 """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 19470 19471 All required parameters must be populated in order to send to Azure. 19472 19473 :param id: Required. The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 19474 :type id: str 19475 """ 19476 19477 _validation = { 19478 'id': {'required': True}, 19479 } 19480 19481 _attribute_map = { 19482 'id': {'key': 'id', 'type': 'str'}, 19483 } 19484 19485 def __init__( 19486 self, 19487 *, 19488 id: str, 19489 **kwargs 19490 ): 19491 super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) 19492 self.id = id 19493 19494 19495class VirtualNetworkGateway(Resource): 19496 """A common class for general resource information. 19497 19498 Variables are only populated by the server, and will be ignored when sending a request. 19499 19500 :param id: Resource ID. 19501 :type id: str 19502 :ivar name: Resource name. 19503 :vartype name: str 19504 :ivar type: Resource type. 19505 :vartype type: str 19506 :param location: Resource location. 19507 :type location: str 19508 :param tags: A set of tags. Resource tags. 19509 :type tags: dict[str, str] 19510 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19511 :vartype etag: str 19512 :param ip_configurations: IP configurations for virtual network gateway. 19513 :type ip_configurations: 19514 list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayIPConfiguration] 19515 :param gateway_type: The type of this virtual network gateway. Possible values include: "Vpn", 19516 "ExpressRoute". 19517 :type gateway_type: str or ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayType 19518 :param vpn_type: The type of this virtual network gateway. Possible values include: 19519 "PolicyBased", "RouteBased". 19520 :type vpn_type: str or ~azure.mgmt.network.v2020_04_01.models.VpnType 19521 :param vpn_gateway_generation: The generation for this VirtualNetworkGateway. Must be None if 19522 gatewayType is not VPN. Possible values include: "None", "Generation1", "Generation2". 19523 :type vpn_gateway_generation: str or 19524 ~azure.mgmt.network.v2020_04_01.models.VpnGatewayGeneration 19525 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 19526 :type enable_bgp: bool 19527 :param enable_private_ip_address: Whether private IP needs to be enabled on this gateway for 19528 connections or not. 19529 :type enable_private_ip_address: bool 19530 :param active: ActiveActive flag. 19531 :type active: bool 19532 :param gateway_default_site: The reference to the LocalNetworkGateway resource which represents 19533 local network site having default routes. Assign Null value in case of removing existing 19534 default site setting. 19535 :type gateway_default_site: ~azure.mgmt.network.v2020_04_01.models.SubResource 19536 :param sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU 19537 selected for Virtual network gateway. 19538 :type sku: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySku 19539 :param vpn_client_configuration: The reference to the VpnClientConfiguration resource which 19540 represents the P2S VpnClient configurations. 19541 :type vpn_client_configuration: ~azure.mgmt.network.v2020_04_01.models.VpnClientConfiguration 19542 :param bgp_settings: Virtual network gateway's BGP speaker settings. 19543 :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings 19544 :param custom_routes: The reference to the address space resource which represents the custom 19545 routes address space specified by the customer for virtual network gateway and VpnClient. 19546 :type custom_routes: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 19547 :ivar resource_guid: The resource GUID property of the virtual network gateway resource. 19548 :vartype resource_guid: str 19549 :ivar provisioning_state: The provisioning state of the virtual network gateway resource. 19550 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19551 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19552 :param enable_dns_forwarding: Whether dns forwarding is enabled or not. 19553 :type enable_dns_forwarding: bool 19554 :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the gateway to which dns 19555 requests can be sent. 19556 :vartype inbound_dns_forwarding_endpoint: str 19557 """ 19558 19559 _validation = { 19560 'name': {'readonly': True}, 19561 'type': {'readonly': True}, 19562 'etag': {'readonly': True}, 19563 'resource_guid': {'readonly': True}, 19564 'provisioning_state': {'readonly': True}, 19565 'inbound_dns_forwarding_endpoint': {'readonly': True}, 19566 } 19567 19568 _attribute_map = { 19569 'id': {'key': 'id', 'type': 'str'}, 19570 'name': {'key': 'name', 'type': 'str'}, 19571 'type': {'key': 'type', 'type': 'str'}, 19572 'location': {'key': 'location', 'type': 'str'}, 19573 'tags': {'key': 'tags', 'type': '{str}'}, 19574 'etag': {'key': 'etag', 'type': 'str'}, 19575 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 19576 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 19577 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 19578 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, 19579 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 19580 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, 19581 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 19582 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 19583 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 19584 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 19585 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 19586 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, 19587 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19588 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19589 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, 19590 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, 19591 } 19592 19593 def __init__( 19594 self, 19595 *, 19596 id: Optional[str] = None, 19597 location: Optional[str] = None, 19598 tags: Optional[Dict[str, str]] = None, 19599 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 19600 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 19601 vpn_type: Optional[Union[str, "VpnType"]] = None, 19602 vpn_gateway_generation: Optional[Union[str, "VpnGatewayGeneration"]] = None, 19603 enable_bgp: Optional[bool] = None, 19604 enable_private_ip_address: Optional[bool] = None, 19605 active: Optional[bool] = None, 19606 gateway_default_site: Optional["SubResource"] = None, 19607 sku: Optional["VirtualNetworkGatewaySku"] = None, 19608 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 19609 bgp_settings: Optional["BgpSettings"] = None, 19610 custom_routes: Optional["AddressSpace"] = None, 19611 enable_dns_forwarding: Optional[bool] = None, 19612 **kwargs 19613 ): 19614 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 19615 self.etag = None 19616 self.ip_configurations = ip_configurations 19617 self.gateway_type = gateway_type 19618 self.vpn_type = vpn_type 19619 self.vpn_gateway_generation = vpn_gateway_generation 19620 self.enable_bgp = enable_bgp 19621 self.enable_private_ip_address = enable_private_ip_address 19622 self.active = active 19623 self.gateway_default_site = gateway_default_site 19624 self.sku = sku 19625 self.vpn_client_configuration = vpn_client_configuration 19626 self.bgp_settings = bgp_settings 19627 self.custom_routes = custom_routes 19628 self.resource_guid = None 19629 self.provisioning_state = None 19630 self.enable_dns_forwarding = enable_dns_forwarding 19631 self.inbound_dns_forwarding_endpoint = None 19632 19633 19634class VirtualNetworkGatewayConnection(Resource): 19635 """A common class for general resource information. 19636 19637 Variables are only populated by the server, and will be ignored when sending a request. 19638 19639 All required parameters must be populated in order to send to Azure. 19640 19641 :param id: Resource ID. 19642 :type id: str 19643 :ivar name: Resource name. 19644 :vartype name: str 19645 :ivar type: Resource type. 19646 :vartype type: str 19647 :param location: Resource location. 19648 :type location: str 19649 :param tags: A set of tags. Resource tags. 19650 :type tags: dict[str, str] 19651 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19652 :vartype etag: str 19653 :param authorization_key: The authorizationKey. 19654 :type authorization_key: str 19655 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 19656 :type virtual_network_gateway1: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway 19657 :param virtual_network_gateway2: The reference to virtual network gateway resource. 19658 :type virtual_network_gateway2: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway 19659 :param local_network_gateway2: The reference to local network gateway resource. 19660 :type local_network_gateway2: ~azure.mgmt.network.v2020_04_01.models.LocalNetworkGateway 19661 :param connection_type: Required. Gateway connection type. Possible values include: "IPsec", 19662 "Vnet2Vnet", "ExpressRoute", "VPNClient". 19663 :type connection_type: str or 19664 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType 19665 :param connection_protocol: Connection protocol used for this connection. Possible values 19666 include: "IKEv2", "IKEv1". 19667 :type connection_protocol: str or 19668 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol 19669 :param routing_weight: The routing weight. 19670 :type routing_weight: int 19671 :param dpd_timeout_seconds: The dead peer detection timeout of this connection in seconds. 19672 :type dpd_timeout_seconds: int 19673 :param shared_key: The IPSec shared key. 19674 :type shared_key: str 19675 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 19676 "Unknown", "Connecting", "Connected", "NotConnected". 19677 :vartype connection_status: str or 19678 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus 19679 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 19680 :vartype tunnel_connection_status: 19681 list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] 19682 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 19683 :vartype egress_bytes_transferred: long 19684 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 19685 :vartype ingress_bytes_transferred: long 19686 :param peer: The reference to peerings resource. 19687 :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource 19688 :param enable_bgp: EnableBgp flag. 19689 :type enable_bgp: bool 19690 :param use_local_azure_ip_address: Use private local Azure IP for the connection. 19691 :type use_local_azure_ip_address: bool 19692 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 19693 :type use_policy_based_traffic_selectors: bool 19694 :param ipsec_policies: The IPSec Policies to be considered by this connection. 19695 :type ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 19696 :param traffic_selector_policies: The Traffic Selector Policies to be considered by this 19697 connection. 19698 :type traffic_selector_policies: 19699 list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] 19700 :ivar resource_guid: The resource GUID property of the virtual network gateway connection 19701 resource. 19702 :vartype resource_guid: str 19703 :ivar provisioning_state: The provisioning state of the virtual network gateway connection 19704 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19705 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19706 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 19707 :type express_route_gateway_bypass: bool 19708 """ 19709 19710 _validation = { 19711 'name': {'readonly': True}, 19712 'type': {'readonly': True}, 19713 'etag': {'readonly': True}, 19714 'virtual_network_gateway1': {'required': True}, 19715 'connection_type': {'required': True}, 19716 'connection_status': {'readonly': True}, 19717 'tunnel_connection_status': {'readonly': True}, 19718 'egress_bytes_transferred': {'readonly': True}, 19719 'ingress_bytes_transferred': {'readonly': True}, 19720 'resource_guid': {'readonly': True}, 19721 'provisioning_state': {'readonly': True}, 19722 } 19723 19724 _attribute_map = { 19725 'id': {'key': 'id', 'type': 'str'}, 19726 'name': {'key': 'name', 'type': 'str'}, 19727 'type': {'key': 'type', 'type': 'str'}, 19728 'location': {'key': 'location', 'type': 'str'}, 19729 'tags': {'key': 'tags', 'type': '{str}'}, 19730 'etag': {'key': 'etag', 'type': 'str'}, 19731 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 19732 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 19733 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 19734 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 19735 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 19736 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, 19737 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 19738 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, 19739 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 19740 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 19741 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 19742 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 19743 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 19744 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 19745 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 19746 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 19747 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 19748 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 19749 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, 19750 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19751 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19752 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 19753 } 19754 19755 def __init__( 19756 self, 19757 *, 19758 virtual_network_gateway1: "VirtualNetworkGateway", 19759 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 19760 id: Optional[str] = None, 19761 location: Optional[str] = None, 19762 tags: Optional[Dict[str, str]] = None, 19763 authorization_key: Optional[str] = None, 19764 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 19765 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 19766 connection_protocol: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 19767 routing_weight: Optional[int] = None, 19768 dpd_timeout_seconds: Optional[int] = None, 19769 shared_key: Optional[str] = None, 19770 peer: Optional["SubResource"] = None, 19771 enable_bgp: Optional[bool] = None, 19772 use_local_azure_ip_address: Optional[bool] = None, 19773 use_policy_based_traffic_selectors: Optional[bool] = None, 19774 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 19775 traffic_selector_policies: Optional[List["TrafficSelectorPolicy"]] = None, 19776 express_route_gateway_bypass: Optional[bool] = None, 19777 **kwargs 19778 ): 19779 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 19780 self.etag = None 19781 self.authorization_key = authorization_key 19782 self.virtual_network_gateway1 = virtual_network_gateway1 19783 self.virtual_network_gateway2 = virtual_network_gateway2 19784 self.local_network_gateway2 = local_network_gateway2 19785 self.connection_type = connection_type 19786 self.connection_protocol = connection_protocol 19787 self.routing_weight = routing_weight 19788 self.dpd_timeout_seconds = dpd_timeout_seconds 19789 self.shared_key = shared_key 19790 self.connection_status = None 19791 self.tunnel_connection_status = None 19792 self.egress_bytes_transferred = None 19793 self.ingress_bytes_transferred = None 19794 self.peer = peer 19795 self.enable_bgp = enable_bgp 19796 self.use_local_azure_ip_address = use_local_azure_ip_address 19797 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 19798 self.ipsec_policies = ipsec_policies 19799 self.traffic_selector_policies = traffic_selector_policies 19800 self.resource_guid = None 19801 self.provisioning_state = None 19802 self.express_route_gateway_bypass = express_route_gateway_bypass 19803 19804 19805class VirtualNetworkGatewayConnectionListEntity(Resource): 19806 """A common class for general resource information. 19807 19808 Variables are only populated by the server, and will be ignored when sending a request. 19809 19810 All required parameters must be populated in order to send to Azure. 19811 19812 :param id: Resource ID. 19813 :type id: str 19814 :ivar name: Resource name. 19815 :vartype name: str 19816 :ivar type: Resource type. 19817 :vartype type: str 19818 :param location: Resource location. 19819 :type location: str 19820 :param tags: A set of tags. Resource tags. 19821 :type tags: dict[str, str] 19822 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19823 :vartype etag: str 19824 :param authorization_key: The authorizationKey. 19825 :type authorization_key: str 19826 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 19827 :type virtual_network_gateway1: 19828 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference 19829 :param virtual_network_gateway2: The reference to virtual network gateway resource. 19830 :type virtual_network_gateway2: 19831 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference 19832 :param local_network_gateway2: The reference to local network gateway resource. 19833 :type local_network_gateway2: 19834 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkConnectionGatewayReference 19835 :param connection_type: Required. Gateway connection type. Possible values include: "IPsec", 19836 "Vnet2Vnet", "ExpressRoute", "VPNClient". 19837 :type connection_type: str or 19838 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionType 19839 :param connection_protocol: Connection protocol used for this connection. Possible values 19840 include: "IKEv2", "IKEv1". 19841 :type connection_protocol: str or 19842 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol 19843 :param routing_weight: The routing weight. 19844 :type routing_weight: int 19845 :param shared_key: The IPSec shared key. 19846 :type shared_key: str 19847 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 19848 "Unknown", "Connecting", "Connected", "NotConnected". 19849 :vartype connection_status: str or 19850 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionStatus 19851 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 19852 :vartype tunnel_connection_status: 19853 list[~azure.mgmt.network.v2020_04_01.models.TunnelConnectionHealth] 19854 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 19855 :vartype egress_bytes_transferred: long 19856 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 19857 :vartype ingress_bytes_transferred: long 19858 :param peer: The reference to peerings resource. 19859 :type peer: ~azure.mgmt.network.v2020_04_01.models.SubResource 19860 :param enable_bgp: EnableBgp flag. 19861 :type enable_bgp: bool 19862 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 19863 :type use_policy_based_traffic_selectors: bool 19864 :param ipsec_policies: The IPSec Policies to be considered by this connection. 19865 :type ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 19866 :param traffic_selector_policies: The Traffic Selector Policies to be considered by this 19867 connection. 19868 :type traffic_selector_policies: 19869 list[~azure.mgmt.network.v2020_04_01.models.TrafficSelectorPolicy] 19870 :ivar resource_guid: The resource GUID property of the virtual network gateway connection 19871 resource. 19872 :vartype resource_guid: str 19873 :ivar provisioning_state: The provisioning state of the virtual network gateway connection 19874 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19875 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 19876 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 19877 :type express_route_gateway_bypass: bool 19878 """ 19879 19880 _validation = { 19881 'name': {'readonly': True}, 19882 'type': {'readonly': True}, 19883 'etag': {'readonly': True}, 19884 'virtual_network_gateway1': {'required': True}, 19885 'connection_type': {'required': True}, 19886 'connection_status': {'readonly': True}, 19887 'tunnel_connection_status': {'readonly': True}, 19888 'egress_bytes_transferred': {'readonly': True}, 19889 'ingress_bytes_transferred': {'readonly': True}, 19890 'resource_guid': {'readonly': True}, 19891 'provisioning_state': {'readonly': True}, 19892 } 19893 19894 _attribute_map = { 19895 'id': {'key': 'id', 'type': 'str'}, 19896 'name': {'key': 'name', 'type': 'str'}, 19897 'type': {'key': 'type', 'type': 'str'}, 19898 'location': {'key': 'location', 'type': 'str'}, 19899 'tags': {'key': 'tags', 'type': '{str}'}, 19900 'etag': {'key': 'etag', 'type': 'str'}, 19901 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 19902 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19903 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19904 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19905 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 19906 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, 19907 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 19908 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 19909 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 19910 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 19911 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 19912 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 19913 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 19914 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 19915 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 19916 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 19917 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, 19918 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19919 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19920 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 19921 } 19922 19923 def __init__( 19924 self, 19925 *, 19926 virtual_network_gateway1: "VirtualNetworkConnectionGatewayReference", 19927 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 19928 id: Optional[str] = None, 19929 location: Optional[str] = None, 19930 tags: Optional[Dict[str, str]] = None, 19931 authorization_key: Optional[str] = None, 19932 virtual_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 19933 local_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 19934 connection_protocol: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 19935 routing_weight: Optional[int] = None, 19936 shared_key: Optional[str] = None, 19937 peer: Optional["SubResource"] = None, 19938 enable_bgp: Optional[bool] = None, 19939 use_policy_based_traffic_selectors: Optional[bool] = None, 19940 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 19941 traffic_selector_policies: Optional[List["TrafficSelectorPolicy"]] = None, 19942 express_route_gateway_bypass: Optional[bool] = None, 19943 **kwargs 19944 ): 19945 super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) 19946 self.etag = None 19947 self.authorization_key = authorization_key 19948 self.virtual_network_gateway1 = virtual_network_gateway1 19949 self.virtual_network_gateway2 = virtual_network_gateway2 19950 self.local_network_gateway2 = local_network_gateway2 19951 self.connection_type = connection_type 19952 self.connection_protocol = connection_protocol 19953 self.routing_weight = routing_weight 19954 self.shared_key = shared_key 19955 self.connection_status = None 19956 self.tunnel_connection_status = None 19957 self.egress_bytes_transferred = None 19958 self.ingress_bytes_transferred = None 19959 self.peer = peer 19960 self.enable_bgp = enable_bgp 19961 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 19962 self.ipsec_policies = ipsec_policies 19963 self.traffic_selector_policies = traffic_selector_policies 19964 self.resource_guid = None 19965 self.provisioning_state = None 19966 self.express_route_gateway_bypass = express_route_gateway_bypass 19967 19968 19969class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 19970 """Response for the ListVirtualNetworkGatewayConnections API service call. 19971 19972 Variables are only populated by the server, and will be ignored when sending a request. 19973 19974 :param value: A list of VirtualNetworkGatewayConnection resources that exists in a resource 19975 group. 19976 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnection] 19977 :ivar next_link: The URL to get the next set of results. 19978 :vartype next_link: str 19979 """ 19980 19981 _validation = { 19982 'next_link': {'readonly': True}, 19983 } 19984 19985 _attribute_map = { 19986 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 19987 'next_link': {'key': 'nextLink', 'type': 'str'}, 19988 } 19989 19990 def __init__( 19991 self, 19992 *, 19993 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 19994 **kwargs 19995 ): 19996 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 19997 self.value = value 19998 self.next_link = None 19999 20000 20001class VirtualNetworkGatewayIPConfiguration(SubResource): 20002 """IP configuration for virtual network gateway. 20003 20004 Variables are only populated by the server, and will be ignored when sending a request. 20005 20006 :param id: Resource ID. 20007 :type id: str 20008 :param name: The name of the resource that is unique within a resource group. This name can be 20009 used to access the resource. 20010 :type name: str 20011 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20012 :vartype etag: str 20013 :param private_ip_allocation_method: The private IP address allocation method. Possible values 20014 include: "Static", "Dynamic". 20015 :type private_ip_allocation_method: str or 20016 ~azure.mgmt.network.v2020_04_01.models.IPAllocationMethod 20017 :param subnet: The reference to the subnet resource. 20018 :type subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 20019 :param public_ip_address: The reference to the public IP resource. 20020 :type public_ip_address: ~azure.mgmt.network.v2020_04_01.models.SubResource 20021 :ivar private_ip_address: Private IP Address for this gateway. 20022 :vartype private_ip_address: str 20023 :ivar provisioning_state: The provisioning state of the virtual network gateway IP 20024 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 20025 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20026 """ 20027 20028 _validation = { 20029 'etag': {'readonly': True}, 20030 'private_ip_address': {'readonly': True}, 20031 'provisioning_state': {'readonly': True}, 20032 } 20033 20034 _attribute_map = { 20035 'id': {'key': 'id', 'type': 'str'}, 20036 'name': {'key': 'name', 'type': 'str'}, 20037 'etag': {'key': 'etag', 'type': 'str'}, 20038 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 20039 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 20040 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 20041 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 20042 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20043 } 20044 20045 def __init__( 20046 self, 20047 *, 20048 id: Optional[str] = None, 20049 name: Optional[str] = None, 20050 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 20051 subnet: Optional["SubResource"] = None, 20052 public_ip_address: Optional["SubResource"] = None, 20053 **kwargs 20054 ): 20055 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 20056 self.name = name 20057 self.etag = None 20058 self.private_ip_allocation_method = private_ip_allocation_method 20059 self.subnet = subnet 20060 self.public_ip_address = public_ip_address 20061 self.private_ip_address = None 20062 self.provisioning_state = None 20063 20064 20065class VirtualNetworkGatewayListConnectionsResult(msrest.serialization.Model): 20066 """Response for the VirtualNetworkGatewayListConnections API service call. 20067 20068 Variables are only populated by the server, and will be ignored when sending a request. 20069 20070 :param value: A list of VirtualNetworkGatewayConnection resources that exists in a resource 20071 group. 20072 :type value: 20073 list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionListEntity] 20074 :ivar next_link: The URL to get the next set of results. 20075 :vartype next_link: str 20076 """ 20077 20078 _validation = { 20079 'next_link': {'readonly': True}, 20080 } 20081 20082 _attribute_map = { 20083 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'}, 20084 'next_link': {'key': 'nextLink', 'type': 'str'}, 20085 } 20086 20087 def __init__( 20088 self, 20089 *, 20090 value: Optional[List["VirtualNetworkGatewayConnectionListEntity"]] = None, 20091 **kwargs 20092 ): 20093 super(VirtualNetworkGatewayListConnectionsResult, self).__init__(**kwargs) 20094 self.value = value 20095 self.next_link = None 20096 20097 20098class VirtualNetworkGatewayListResult(msrest.serialization.Model): 20099 """Response for the ListVirtualNetworkGateways API service call. 20100 20101 Variables are only populated by the server, and will be ignored when sending a request. 20102 20103 :param value: A list of VirtualNetworkGateway resources that exists in a resource group. 20104 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGateway] 20105 :ivar next_link: The URL to get the next set of results. 20106 :vartype next_link: str 20107 """ 20108 20109 _validation = { 20110 'next_link': {'readonly': True}, 20111 } 20112 20113 _attribute_map = { 20114 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 20115 'next_link': {'key': 'nextLink', 'type': 'str'}, 20116 } 20117 20118 def __init__( 20119 self, 20120 *, 20121 value: Optional[List["VirtualNetworkGateway"]] = None, 20122 **kwargs 20123 ): 20124 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 20125 self.value = value 20126 self.next_link = None 20127 20128 20129class VirtualNetworkGatewaySku(msrest.serialization.Model): 20130 """VirtualNetworkGatewaySku details. 20131 20132 Variables are only populated by the server, and will be ignored when sending a request. 20133 20134 :param name: Gateway SKU name. Possible values include: "Basic", "HighPerformance", "Standard", 20135 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", 20136 "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 20137 :type name: str or ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuName 20138 :param tier: Gateway SKU tier. Possible values include: "Basic", "HighPerformance", "Standard", 20139 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", 20140 "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 20141 :type tier: str or ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewaySkuTier 20142 :ivar capacity: The capacity. 20143 :vartype capacity: int 20144 """ 20145 20146 _validation = { 20147 'capacity': {'readonly': True}, 20148 } 20149 20150 _attribute_map = { 20151 'name': {'key': 'name', 'type': 'str'}, 20152 'tier': {'key': 'tier', 'type': 'str'}, 20153 'capacity': {'key': 'capacity', 'type': 'int'}, 20154 } 20155 20156 def __init__( 20157 self, 20158 *, 20159 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 20160 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 20161 **kwargs 20162 ): 20163 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 20164 self.name = name 20165 self.tier = tier 20166 self.capacity = None 20167 20168 20169class VirtualNetworkListResult(msrest.serialization.Model): 20170 """Response for the ListVirtualNetworks API service call. 20171 20172 :param value: A list of VirtualNetwork resources in a resource group. 20173 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetwork] 20174 :param next_link: The URL to get the next set of results. 20175 :type next_link: str 20176 """ 20177 20178 _attribute_map = { 20179 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 20180 'next_link': {'key': 'nextLink', 'type': 'str'}, 20181 } 20182 20183 def __init__( 20184 self, 20185 *, 20186 value: Optional[List["VirtualNetwork"]] = None, 20187 next_link: Optional[str] = None, 20188 **kwargs 20189 ): 20190 super(VirtualNetworkListResult, self).__init__(**kwargs) 20191 self.value = value 20192 self.next_link = next_link 20193 20194 20195class VirtualNetworkListUsageResult(msrest.serialization.Model): 20196 """Response for the virtual networks GetUsage API service call. 20197 20198 Variables are only populated by the server, and will be ignored when sending a request. 20199 20200 :ivar value: VirtualNetwork usage stats. 20201 :vartype value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsage] 20202 :param next_link: The URL to get the next set of results. 20203 :type next_link: str 20204 """ 20205 20206 _validation = { 20207 'value': {'readonly': True}, 20208 } 20209 20210 _attribute_map = { 20211 'value': {'key': 'value', 'type': '[VirtualNetworkUsage]'}, 20212 'next_link': {'key': 'nextLink', 'type': 'str'}, 20213 } 20214 20215 def __init__( 20216 self, 20217 *, 20218 next_link: Optional[str] = None, 20219 **kwargs 20220 ): 20221 super(VirtualNetworkListUsageResult, self).__init__(**kwargs) 20222 self.value = None 20223 self.next_link = next_link 20224 20225 20226class VirtualNetworkPeering(SubResource): 20227 """Peerings in a virtual network resource. 20228 20229 Variables are only populated by the server, and will be ignored when sending a request. 20230 20231 :param id: Resource ID. 20232 :type id: str 20233 :param name: The name of the resource that is unique within a resource group. This name can be 20234 used to access the resource. 20235 :type name: str 20236 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20237 :vartype etag: str 20238 :param allow_virtual_network_access: Whether the VMs in the local virtual network space would 20239 be able to access the VMs in remote virtual network space. 20240 :type allow_virtual_network_access: bool 20241 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the local virtual 20242 network will be allowed/disallowed in remote virtual network. 20243 :type allow_forwarded_traffic: bool 20244 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 20245 to this virtual network. 20246 :type allow_gateway_transit: bool 20247 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 20248 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 20249 use gateways of remote virtual network for transit. Only one peering can have this flag set to 20250 true. This flag cannot be set if virtual network already has a gateway. 20251 :type use_remote_gateways: bool 20252 :param remote_virtual_network: The reference to the remote virtual network. The remote virtual 20253 network can be in the same or different region (preview). See here to register for the preview 20254 and learn more 20255 (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 20256 :type remote_virtual_network: ~azure.mgmt.network.v2020_04_01.models.SubResource 20257 :param remote_address_space: The reference to the remote virtual network address space. 20258 :type remote_address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 20259 :param peering_state: The status of the virtual network peering. Possible values include: 20260 "Initiated", "Connected", "Disconnected". 20261 :type peering_state: str or ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeeringState 20262 :ivar provisioning_state: The provisioning state of the virtual network peering resource. 20263 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 20264 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20265 """ 20266 20267 _validation = { 20268 'etag': {'readonly': True}, 20269 'provisioning_state': {'readonly': True}, 20270 } 20271 20272 _attribute_map = { 20273 'id': {'key': 'id', 'type': 'str'}, 20274 'name': {'key': 'name', 'type': 'str'}, 20275 'etag': {'key': 'etag', 'type': 'str'}, 20276 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 20277 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 20278 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 20279 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 20280 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 20281 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, 20282 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 20283 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20284 } 20285 20286 def __init__( 20287 self, 20288 *, 20289 id: Optional[str] = None, 20290 name: Optional[str] = None, 20291 allow_virtual_network_access: Optional[bool] = None, 20292 allow_forwarded_traffic: Optional[bool] = None, 20293 allow_gateway_transit: Optional[bool] = None, 20294 use_remote_gateways: Optional[bool] = None, 20295 remote_virtual_network: Optional["SubResource"] = None, 20296 remote_address_space: Optional["AddressSpace"] = None, 20297 peering_state: Optional[Union[str, "VirtualNetworkPeeringState"]] = None, 20298 **kwargs 20299 ): 20300 super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) 20301 self.name = name 20302 self.etag = None 20303 self.allow_virtual_network_access = allow_virtual_network_access 20304 self.allow_forwarded_traffic = allow_forwarded_traffic 20305 self.allow_gateway_transit = allow_gateway_transit 20306 self.use_remote_gateways = use_remote_gateways 20307 self.remote_virtual_network = remote_virtual_network 20308 self.remote_address_space = remote_address_space 20309 self.peering_state = peering_state 20310 self.provisioning_state = None 20311 20312 20313class VirtualNetworkPeeringListResult(msrest.serialization.Model): 20314 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 20315 20316 :param value: The peerings in a virtual network. 20317 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkPeering] 20318 :param next_link: The URL to get the next set of results. 20319 :type next_link: str 20320 """ 20321 20322 _attribute_map = { 20323 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 20324 'next_link': {'key': 'nextLink', 'type': 'str'}, 20325 } 20326 20327 def __init__( 20328 self, 20329 *, 20330 value: Optional[List["VirtualNetworkPeering"]] = None, 20331 next_link: Optional[str] = None, 20332 **kwargs 20333 ): 20334 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 20335 self.value = value 20336 self.next_link = next_link 20337 20338 20339class VirtualNetworkTap(Resource): 20340 """Virtual Network Tap resource. 20341 20342 Variables are only populated by the server, and will be ignored when sending a request. 20343 20344 :param id: Resource ID. 20345 :type id: str 20346 :ivar name: Resource name. 20347 :vartype name: str 20348 :ivar type: Resource type. 20349 :vartype type: str 20350 :param location: Resource location. 20351 :type location: str 20352 :param tags: A set of tags. Resource tags. 20353 :type tags: dict[str, str] 20354 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20355 :vartype etag: str 20356 :ivar network_interface_tap_configurations: Specifies the list of resource IDs for the network 20357 interface IP configuration that needs to be tapped. 20358 :vartype network_interface_tap_configurations: 20359 list[~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceTapConfiguration] 20360 :ivar resource_guid: The resource GUID property of the virtual network tap resource. 20361 :vartype resource_guid: str 20362 :ivar provisioning_state: The provisioning state of the virtual network tap resource. Possible 20363 values include: "Succeeded", "Updating", "Deleting", "Failed". 20364 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20365 :param destination_network_interface_ip_configuration: The reference to the private IP Address 20366 of the collector nic that will receive the tap. 20367 :type destination_network_interface_ip_configuration: 20368 ~azure.mgmt.network.v2020_04_01.models.NetworkInterfaceIPConfiguration 20369 :param destination_load_balancer_front_end_ip_configuration: The reference to the private IP 20370 address on the internal Load Balancer that will receive the tap. 20371 :type destination_load_balancer_front_end_ip_configuration: 20372 ~azure.mgmt.network.v2020_04_01.models.FrontendIPConfiguration 20373 :param destination_port: The VXLAN destination port that will receive the tapped traffic. 20374 :type destination_port: int 20375 """ 20376 20377 _validation = { 20378 'name': {'readonly': True}, 20379 'type': {'readonly': True}, 20380 'etag': {'readonly': True}, 20381 'network_interface_tap_configurations': {'readonly': True}, 20382 'resource_guid': {'readonly': True}, 20383 'provisioning_state': {'readonly': True}, 20384 } 20385 20386 _attribute_map = { 20387 'id': {'key': 'id', 'type': 'str'}, 20388 'name': {'key': 'name', 'type': 'str'}, 20389 'type': {'key': 'type', 'type': 'str'}, 20390 'location': {'key': 'location', 'type': 'str'}, 20391 'tags': {'key': 'tags', 'type': '{str}'}, 20392 'etag': {'key': 'etag', 'type': 'str'}, 20393 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, 20394 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 20395 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20396 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 20397 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, 20398 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, 20399 } 20400 20401 def __init__( 20402 self, 20403 *, 20404 id: Optional[str] = None, 20405 location: Optional[str] = None, 20406 tags: Optional[Dict[str, str]] = None, 20407 destination_network_interface_ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 20408 destination_load_balancer_front_end_ip_configuration: Optional["FrontendIPConfiguration"] = None, 20409 destination_port: Optional[int] = None, 20410 **kwargs 20411 ): 20412 super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) 20413 self.etag = None 20414 self.network_interface_tap_configurations = None 20415 self.resource_guid = None 20416 self.provisioning_state = None 20417 self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration 20418 self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration 20419 self.destination_port = destination_port 20420 20421 20422class VirtualNetworkTapListResult(msrest.serialization.Model): 20423 """Response for ListVirtualNetworkTap API service call. 20424 20425 :param value: A list of VirtualNetworkTaps in a resource group. 20426 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualNetworkTap] 20427 :param next_link: The URL to get the next set of results. 20428 :type next_link: str 20429 """ 20430 20431 _attribute_map = { 20432 'value': {'key': 'value', 'type': '[VirtualNetworkTap]'}, 20433 'next_link': {'key': 'nextLink', 'type': 'str'}, 20434 } 20435 20436 def __init__( 20437 self, 20438 *, 20439 value: Optional[List["VirtualNetworkTap"]] = None, 20440 next_link: Optional[str] = None, 20441 **kwargs 20442 ): 20443 super(VirtualNetworkTapListResult, self).__init__(**kwargs) 20444 self.value = value 20445 self.next_link = next_link 20446 20447 20448class VirtualNetworkUsage(msrest.serialization.Model): 20449 """Usage details for subnet. 20450 20451 Variables are only populated by the server, and will be ignored when sending a request. 20452 20453 :ivar current_value: Indicates number of IPs used from the Subnet. 20454 :vartype current_value: float 20455 :ivar id: Subnet identifier. 20456 :vartype id: str 20457 :ivar limit: Indicates the size of the subnet. 20458 :vartype limit: float 20459 :ivar name: The name containing common and localized value for usage. 20460 :vartype name: ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkUsageName 20461 :ivar unit: Usage units. Returns 'Count'. 20462 :vartype unit: str 20463 """ 20464 20465 _validation = { 20466 'current_value': {'readonly': True}, 20467 'id': {'readonly': True}, 20468 'limit': {'readonly': True}, 20469 'name': {'readonly': True}, 20470 'unit': {'readonly': True}, 20471 } 20472 20473 _attribute_map = { 20474 'current_value': {'key': 'currentValue', 'type': 'float'}, 20475 'id': {'key': 'id', 'type': 'str'}, 20476 'limit': {'key': 'limit', 'type': 'float'}, 20477 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, 20478 'unit': {'key': 'unit', 'type': 'str'}, 20479 } 20480 20481 def __init__( 20482 self, 20483 **kwargs 20484 ): 20485 super(VirtualNetworkUsage, self).__init__(**kwargs) 20486 self.current_value = None 20487 self.id = None 20488 self.limit = None 20489 self.name = None 20490 self.unit = None 20491 20492 20493class VirtualNetworkUsageName(msrest.serialization.Model): 20494 """Usage strings container. 20495 20496 Variables are only populated by the server, and will be ignored when sending a request. 20497 20498 :ivar localized_value: Localized subnet size and usage string. 20499 :vartype localized_value: str 20500 :ivar value: Subnet size and usage string. 20501 :vartype value: str 20502 """ 20503 20504 _validation = { 20505 'localized_value': {'readonly': True}, 20506 'value': {'readonly': True}, 20507 } 20508 20509 _attribute_map = { 20510 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 20511 'value': {'key': 'value', 'type': 'str'}, 20512 } 20513 20514 def __init__( 20515 self, 20516 **kwargs 20517 ): 20518 super(VirtualNetworkUsageName, self).__init__(**kwargs) 20519 self.localized_value = None 20520 self.value = None 20521 20522 20523class VirtualRouter(Resource): 20524 """VirtualRouter Resource. 20525 20526 Variables are only populated by the server, and will be ignored when sending a request. 20527 20528 :param id: Resource ID. 20529 :type id: str 20530 :ivar name: Resource name. 20531 :vartype name: str 20532 :ivar type: Resource type. 20533 :vartype type: str 20534 :param location: Resource location. 20535 :type location: str 20536 :param tags: A set of tags. Resource tags. 20537 :type tags: dict[str, str] 20538 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20539 :vartype etag: str 20540 :param virtual_router_asn: VirtualRouter ASN. 20541 :type virtual_router_asn: long 20542 :param virtual_router_ips: VirtualRouter IPs. 20543 :type virtual_router_ips: list[str] 20544 :param hosted_subnet: The Subnet on which VirtualRouter is hosted. 20545 :type hosted_subnet: ~azure.mgmt.network.v2020_04_01.models.SubResource 20546 :param hosted_gateway: The Gateway on which VirtualRouter is hosted. 20547 :type hosted_gateway: ~azure.mgmt.network.v2020_04_01.models.SubResource 20548 :ivar peerings: List of references to VirtualRouterPeerings. 20549 :vartype peerings: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 20550 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 20551 "Succeeded", "Updating", "Deleting", "Failed". 20552 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20553 """ 20554 20555 _validation = { 20556 'name': {'readonly': True}, 20557 'type': {'readonly': True}, 20558 'etag': {'readonly': True}, 20559 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, 20560 'peerings': {'readonly': True}, 20561 'provisioning_state': {'readonly': True}, 20562 } 20563 20564 _attribute_map = { 20565 'id': {'key': 'id', 'type': 'str'}, 20566 'name': {'key': 'name', 'type': 'str'}, 20567 'type': {'key': 'type', 'type': 'str'}, 20568 'location': {'key': 'location', 'type': 'str'}, 20569 'tags': {'key': 'tags', 'type': '{str}'}, 20570 'etag': {'key': 'etag', 'type': 'str'}, 20571 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, 20572 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, 20573 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, 20574 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, 20575 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, 20576 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20577 } 20578 20579 def __init__( 20580 self, 20581 *, 20582 id: Optional[str] = None, 20583 location: Optional[str] = None, 20584 tags: Optional[Dict[str, str]] = None, 20585 virtual_router_asn: Optional[int] = None, 20586 virtual_router_ips: Optional[List[str]] = None, 20587 hosted_subnet: Optional["SubResource"] = None, 20588 hosted_gateway: Optional["SubResource"] = None, 20589 **kwargs 20590 ): 20591 super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) 20592 self.etag = None 20593 self.virtual_router_asn = virtual_router_asn 20594 self.virtual_router_ips = virtual_router_ips 20595 self.hosted_subnet = hosted_subnet 20596 self.hosted_gateway = hosted_gateway 20597 self.peerings = None 20598 self.provisioning_state = None 20599 20600 20601class VirtualRouterListResult(msrest.serialization.Model): 20602 """Response for ListVirtualRouters API service call. 20603 20604 :param value: List of Virtual Routers. 20605 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualRouter] 20606 :param next_link: URL to get the next set of results. 20607 :type next_link: str 20608 """ 20609 20610 _attribute_map = { 20611 'value': {'key': 'value', 'type': '[VirtualRouter]'}, 20612 'next_link': {'key': 'nextLink', 'type': 'str'}, 20613 } 20614 20615 def __init__( 20616 self, 20617 *, 20618 value: Optional[List["VirtualRouter"]] = None, 20619 next_link: Optional[str] = None, 20620 **kwargs 20621 ): 20622 super(VirtualRouterListResult, self).__init__(**kwargs) 20623 self.value = value 20624 self.next_link = next_link 20625 20626 20627class VirtualRouterPeering(SubResource): 20628 """Virtual Router Peering resource. 20629 20630 Variables are only populated by the server, and will be ignored when sending a request. 20631 20632 :param id: Resource ID. 20633 :type id: str 20634 :param name: Name of the virtual router peering that is unique within a virtual router. 20635 :type name: str 20636 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20637 :vartype etag: str 20638 :ivar type: Peering type. 20639 :vartype type: str 20640 :param peer_asn: Peer ASN. 20641 :type peer_asn: long 20642 :param peer_ip: Peer IP. 20643 :type peer_ip: str 20644 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 20645 "Succeeded", "Updating", "Deleting", "Failed". 20646 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20647 """ 20648 20649 _validation = { 20650 'etag': {'readonly': True}, 20651 'type': {'readonly': True}, 20652 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, 20653 'provisioning_state': {'readonly': True}, 20654 } 20655 20656 _attribute_map = { 20657 'id': {'key': 'id', 'type': 'str'}, 20658 'name': {'key': 'name', 'type': 'str'}, 20659 'etag': {'key': 'etag', 'type': 'str'}, 20660 'type': {'key': 'type', 'type': 'str'}, 20661 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, 20662 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, 20663 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20664 } 20665 20666 def __init__( 20667 self, 20668 *, 20669 id: Optional[str] = None, 20670 name: Optional[str] = None, 20671 peer_asn: Optional[int] = None, 20672 peer_ip: Optional[str] = None, 20673 **kwargs 20674 ): 20675 super(VirtualRouterPeering, self).__init__(id=id, **kwargs) 20676 self.name = name 20677 self.etag = None 20678 self.type = None 20679 self.peer_asn = peer_asn 20680 self.peer_ip = peer_ip 20681 self.provisioning_state = None 20682 20683 20684class VirtualRouterPeeringListResult(msrest.serialization.Model): 20685 """Response for ListVirtualRouterPeerings API service call. 20686 20687 :param value: List of VirtualRouterPeerings in a VirtualRouter. 20688 :type value: list[~azure.mgmt.network.v2020_04_01.models.VirtualRouterPeering] 20689 :param next_link: URL to get the next set of results. 20690 :type next_link: str 20691 """ 20692 20693 _attribute_map = { 20694 'value': {'key': 'value', 'type': '[VirtualRouterPeering]'}, 20695 'next_link': {'key': 'nextLink', 'type': 'str'}, 20696 } 20697 20698 def __init__( 20699 self, 20700 *, 20701 value: Optional[List["VirtualRouterPeering"]] = None, 20702 next_link: Optional[str] = None, 20703 **kwargs 20704 ): 20705 super(VirtualRouterPeeringListResult, self).__init__(**kwargs) 20706 self.value = value 20707 self.next_link = next_link 20708 20709 20710class VirtualWAN(Resource): 20711 """VirtualWAN Resource. 20712 20713 Variables are only populated by the server, and will be ignored when sending a request. 20714 20715 :param id: Resource ID. 20716 :type id: str 20717 :ivar name: Resource name. 20718 :vartype name: str 20719 :ivar type: Resource type. 20720 :vartype type: str 20721 :param location: Resource location. 20722 :type location: str 20723 :param tags: A set of tags. Resource tags. 20724 :type tags: dict[str, str] 20725 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20726 :vartype etag: str 20727 :param disable_vpn_encryption: Vpn encryption to be disabled or not. 20728 :type disable_vpn_encryption: bool 20729 :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. 20730 :vartype virtual_hubs: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 20731 :ivar vpn_sites: List of VpnSites in the VirtualWAN. 20732 :vartype vpn_sites: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 20733 :param allow_branch_to_branch_traffic: True if branch to branch traffic is allowed. 20734 :type allow_branch_to_branch_traffic: bool 20735 :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is allowed. 20736 :type allow_vnet_to_vnet_traffic: bool 20737 :ivar office365_local_breakout_category: The office local breakout category. Possible values 20738 include: "Optimize", "OptimizeAndAllow", "All", "None". 20739 :vartype office365_local_breakout_category: str or 20740 ~azure.mgmt.network.v2020_04_01.models.OfficeTrafficCategory 20741 :ivar provisioning_state: The provisioning state of the virtual WAN resource. Possible values 20742 include: "Succeeded", "Updating", "Deleting", "Failed". 20743 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 20744 :param type_properties_type: The type of the VirtualWAN. 20745 :type type_properties_type: str 20746 """ 20747 20748 _validation = { 20749 'name': {'readonly': True}, 20750 'type': {'readonly': True}, 20751 'etag': {'readonly': True}, 20752 'virtual_hubs': {'readonly': True}, 20753 'vpn_sites': {'readonly': True}, 20754 'office365_local_breakout_category': {'readonly': True}, 20755 'provisioning_state': {'readonly': True}, 20756 } 20757 20758 _attribute_map = { 20759 'id': {'key': 'id', 'type': 'str'}, 20760 'name': {'key': 'name', 'type': 'str'}, 20761 'type': {'key': 'type', 'type': 'str'}, 20762 'location': {'key': 'location', 'type': 'str'}, 20763 'tags': {'key': 'tags', 'type': '{str}'}, 20764 'etag': {'key': 'etag', 'type': 'str'}, 20765 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, 20766 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, 20767 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, 20768 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, 20769 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, 20770 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, 20771 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20772 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 20773 } 20774 20775 def __init__( 20776 self, 20777 *, 20778 id: Optional[str] = None, 20779 location: Optional[str] = None, 20780 tags: Optional[Dict[str, str]] = None, 20781 disable_vpn_encryption: Optional[bool] = None, 20782 allow_branch_to_branch_traffic: Optional[bool] = None, 20783 allow_vnet_to_vnet_traffic: Optional[bool] = None, 20784 type_properties_type: Optional[str] = None, 20785 **kwargs 20786 ): 20787 super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) 20788 self.etag = None 20789 self.disable_vpn_encryption = disable_vpn_encryption 20790 self.virtual_hubs = None 20791 self.vpn_sites = None 20792 self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic 20793 self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic 20794 self.office365_local_breakout_category = None 20795 self.provisioning_state = None 20796 self.type_properties_type = type_properties_type 20797 20798 20799class VirtualWanSecurityProvider(msrest.serialization.Model): 20800 """Collection of SecurityProviders. 20801 20802 Variables are only populated by the server, and will be ignored when sending a request. 20803 20804 :param name: Name of the security provider. 20805 :type name: str 20806 :param url: Url of the security provider. 20807 :type url: str 20808 :ivar type: Name of the security provider. Possible values include: "External", "Native". 20809 :vartype type: str or ~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProviderType 20810 """ 20811 20812 _validation = { 20813 'type': {'readonly': True}, 20814 } 20815 20816 _attribute_map = { 20817 'name': {'key': 'name', 'type': 'str'}, 20818 'url': {'key': 'url', 'type': 'str'}, 20819 'type': {'key': 'type', 'type': 'str'}, 20820 } 20821 20822 def __init__( 20823 self, 20824 *, 20825 name: Optional[str] = None, 20826 url: Optional[str] = None, 20827 **kwargs 20828 ): 20829 super(VirtualWanSecurityProvider, self).__init__(**kwargs) 20830 self.name = name 20831 self.url = url 20832 self.type = None 20833 20834 20835class VirtualWanSecurityProviders(msrest.serialization.Model): 20836 """Collection of SecurityProviders. 20837 20838 :param supported_providers: List of VirtualWAN security providers. 20839 :type supported_providers: 20840 list[~azure.mgmt.network.v2020_04_01.models.VirtualWanSecurityProvider] 20841 """ 20842 20843 _attribute_map = { 20844 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, 20845 } 20846 20847 def __init__( 20848 self, 20849 *, 20850 supported_providers: Optional[List["VirtualWanSecurityProvider"]] = None, 20851 **kwargs 20852 ): 20853 super(VirtualWanSecurityProviders, self).__init__(**kwargs) 20854 self.supported_providers = supported_providers 20855 20856 20857class VirtualWanVpnProfileParameters(msrest.serialization.Model): 20858 """Virtual Wan Vpn profile parameters Vpn profile generation. 20859 20860 :param vpn_server_configuration_resource_id: VpnServerConfiguration partial resource uri with 20861 which VirtualWan is associated to. 20862 :type vpn_server_configuration_resource_id: str 20863 :param authentication_method: VPN client authentication method. Possible values include: 20864 "EAPTLS", "EAPMSCHAPv2". 20865 :type authentication_method: str or ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod 20866 """ 20867 20868 _attribute_map = { 20869 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, 20870 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 20871 } 20872 20873 def __init__( 20874 self, 20875 *, 20876 vpn_server_configuration_resource_id: Optional[str] = None, 20877 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 20878 **kwargs 20879 ): 20880 super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) 20881 self.vpn_server_configuration_resource_id = vpn_server_configuration_resource_id 20882 self.authentication_method = authentication_method 20883 20884 20885class VM(Resource): 20886 """Describes a Virtual Machine. 20887 20888 Variables are only populated by the server, and will be ignored when sending a request. 20889 20890 :param id: Resource ID. 20891 :type id: str 20892 :ivar name: Resource name. 20893 :vartype name: str 20894 :ivar type: Resource type. 20895 :vartype type: str 20896 :param location: Resource location. 20897 :type location: str 20898 :param tags: A set of tags. Resource tags. 20899 :type tags: dict[str, str] 20900 """ 20901 20902 _validation = { 20903 'name': {'readonly': True}, 20904 'type': {'readonly': True}, 20905 } 20906 20907 _attribute_map = { 20908 'id': {'key': 'id', 'type': 'str'}, 20909 'name': {'key': 'name', 'type': 'str'}, 20910 'type': {'key': 'type', 'type': 'str'}, 20911 'location': {'key': 'location', 'type': 'str'}, 20912 'tags': {'key': 'tags', 'type': '{str}'}, 20913 } 20914 20915 def __init__( 20916 self, 20917 *, 20918 id: Optional[str] = None, 20919 location: Optional[str] = None, 20920 tags: Optional[Dict[str, str]] = None, 20921 **kwargs 20922 ): 20923 super(VM, self).__init__(id=id, location=location, tags=tags, **kwargs) 20924 20925 20926class VnetRoute(msrest.serialization.Model): 20927 """List of routes that control routing from VirtualHub into a virtual network connection. 20928 20929 :param static_routes: List of all Static Routes. 20930 :type static_routes: list[~azure.mgmt.network.v2020_04_01.models.StaticRoute] 20931 """ 20932 20933 _attribute_map = { 20934 'static_routes': {'key': 'staticRoutes', 'type': '[StaticRoute]'}, 20935 } 20936 20937 def __init__( 20938 self, 20939 *, 20940 static_routes: Optional[List["StaticRoute"]] = None, 20941 **kwargs 20942 ): 20943 super(VnetRoute, self).__init__(**kwargs) 20944 self.static_routes = static_routes 20945 20946 20947class VpnClientConfiguration(msrest.serialization.Model): 20948 """VpnClientConfiguration for P2S client. 20949 20950 :param vpn_client_address_pool: The reference to the address space resource which represents 20951 Address space for P2S VpnClient. 20952 :type vpn_client_address_pool: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 20953 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 20954 :type vpn_client_root_certificates: 20955 list[~azure.mgmt.network.v2020_04_01.models.VpnClientRootCertificate] 20956 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 20957 gateway. 20958 :type vpn_client_revoked_certificates: 20959 list[~azure.mgmt.network.v2020_04_01.models.VpnClientRevokedCertificate] 20960 :param vpn_client_protocols: VpnClientProtocols for Virtual network gateway. 20961 :type vpn_client_protocols: list[str or 20962 ~azure.mgmt.network.v2020_04_01.models.VpnClientProtocol] 20963 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual network gateway P2S 20964 client. 20965 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 20966 :param radius_server_address: The radius server address property of the VirtualNetworkGateway 20967 resource for vpn client connection. 20968 :type radius_server_address: str 20969 :param radius_server_secret: The radius secret property of the VirtualNetworkGateway resource 20970 for vpn client connection. 20971 :type radius_server_secret: str 20972 :param radius_servers: The radiusServers property for multiple radius server configuration. 20973 :type radius_servers: list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] 20974 :param aad_tenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client 20975 connection used for AAD authentication. 20976 :type aad_tenant: str 20977 :param aad_audience: The AADAudience property of the VirtualNetworkGateway resource for vpn 20978 client connection used for AAD authentication. 20979 :type aad_audience: str 20980 :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client 20981 connection used for AAD authentication. 20982 :type aad_issuer: str 20983 """ 20984 20985 _attribute_map = { 20986 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 20987 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 20988 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 20989 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, 20990 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 20991 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 20992 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 20993 'radius_servers': {'key': 'radiusServers', 'type': '[RadiusServer]'}, 20994 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, 20995 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 20996 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, 20997 } 20998 20999 def __init__( 21000 self, 21001 *, 21002 vpn_client_address_pool: Optional["AddressSpace"] = None, 21003 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 21004 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 21005 vpn_client_protocols: Optional[List[Union[str, "VpnClientProtocol"]]] = None, 21006 vpn_client_ipsec_policies: Optional[List["IpsecPolicy"]] = None, 21007 radius_server_address: Optional[str] = None, 21008 radius_server_secret: Optional[str] = None, 21009 radius_servers: Optional[List["RadiusServer"]] = None, 21010 aad_tenant: Optional[str] = None, 21011 aad_audience: Optional[str] = None, 21012 aad_issuer: Optional[str] = None, 21013 **kwargs 21014 ): 21015 super(VpnClientConfiguration, self).__init__(**kwargs) 21016 self.vpn_client_address_pool = vpn_client_address_pool 21017 self.vpn_client_root_certificates = vpn_client_root_certificates 21018 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 21019 self.vpn_client_protocols = vpn_client_protocols 21020 self.vpn_client_ipsec_policies = vpn_client_ipsec_policies 21021 self.radius_server_address = radius_server_address 21022 self.radius_server_secret = radius_server_secret 21023 self.radius_servers = radius_servers 21024 self.aad_tenant = aad_tenant 21025 self.aad_audience = aad_audience 21026 self.aad_issuer = aad_issuer 21027 21028 21029class VpnClientConnectionHealth(msrest.serialization.Model): 21030 """VpnClientConnectionHealth properties. 21031 21032 Variables are only populated by the server, and will be ignored when sending a request. 21033 21034 :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes Transferred in this P2S Vpn 21035 connection. 21036 :vartype total_ingress_bytes_transferred: long 21037 :ivar total_egress_bytes_transferred: Total of the Egress Bytes Transferred in this connection. 21038 :vartype total_egress_bytes_transferred: long 21039 :param vpn_client_connections_count: The total of p2s vpn clients connected at this time to 21040 this P2SVpnGateway. 21041 :type vpn_client_connections_count: int 21042 :param allocated_ip_addresses: List of allocated ip addresses to the connected p2s vpn clients. 21043 :type allocated_ip_addresses: list[str] 21044 """ 21045 21046 _validation = { 21047 'total_ingress_bytes_transferred': {'readonly': True}, 21048 'total_egress_bytes_transferred': {'readonly': True}, 21049 } 21050 21051 _attribute_map = { 21052 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, 21053 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, 21054 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, 21055 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, 21056 } 21057 21058 def __init__( 21059 self, 21060 *, 21061 vpn_client_connections_count: Optional[int] = None, 21062 allocated_ip_addresses: Optional[List[str]] = None, 21063 **kwargs 21064 ): 21065 super(VpnClientConnectionHealth, self).__init__(**kwargs) 21066 self.total_ingress_bytes_transferred = None 21067 self.total_egress_bytes_transferred = None 21068 self.vpn_client_connections_count = vpn_client_connections_count 21069 self.allocated_ip_addresses = allocated_ip_addresses 21070 21071 21072class VpnClientConnectionHealthDetail(msrest.serialization.Model): 21073 """VPN client connection health detail. 21074 21075 Variables are only populated by the server, and will be ignored when sending a request. 21076 21077 :ivar vpn_connection_id: The vpn client Id. 21078 :vartype vpn_connection_id: str 21079 :ivar vpn_connection_duration: The duration time of a connected vpn client. 21080 :vartype vpn_connection_duration: long 21081 :ivar vpn_connection_time: The start time of a connected vpn client. 21082 :vartype vpn_connection_time: str 21083 :ivar public_ip_address: The public Ip of a connected vpn client. 21084 :vartype public_ip_address: str 21085 :ivar private_ip_address: The assigned private Ip of a connected vpn client. 21086 :vartype private_ip_address: str 21087 :ivar vpn_user_name: The user name of a connected vpn client. 21088 :vartype vpn_user_name: str 21089 :ivar max_bandwidth: The max band width. 21090 :vartype max_bandwidth: long 21091 :ivar egress_packets_transferred: The egress packets per second. 21092 :vartype egress_packets_transferred: long 21093 :ivar egress_bytes_transferred: The egress bytes per second. 21094 :vartype egress_bytes_transferred: long 21095 :ivar ingress_packets_transferred: The ingress packets per second. 21096 :vartype ingress_packets_transferred: long 21097 :ivar ingress_bytes_transferred: The ingress bytes per second. 21098 :vartype ingress_bytes_transferred: long 21099 :ivar max_packets_per_second: The max packets transferred per second. 21100 :vartype max_packets_per_second: long 21101 """ 21102 21103 _validation = { 21104 'vpn_connection_id': {'readonly': True}, 21105 'vpn_connection_duration': {'readonly': True}, 21106 'vpn_connection_time': {'readonly': True}, 21107 'public_ip_address': {'readonly': True}, 21108 'private_ip_address': {'readonly': True}, 21109 'vpn_user_name': {'readonly': True}, 21110 'max_bandwidth': {'readonly': True}, 21111 'egress_packets_transferred': {'readonly': True}, 21112 'egress_bytes_transferred': {'readonly': True}, 21113 'ingress_packets_transferred': {'readonly': True}, 21114 'ingress_bytes_transferred': {'readonly': True}, 21115 'max_packets_per_second': {'readonly': True}, 21116 } 21117 21118 _attribute_map = { 21119 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, 21120 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, 21121 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, 21122 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 21123 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 21124 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, 21125 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, 21126 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, 21127 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 21128 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, 21129 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 21130 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, 21131 } 21132 21133 def __init__( 21134 self, 21135 **kwargs 21136 ): 21137 super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) 21138 self.vpn_connection_id = None 21139 self.vpn_connection_duration = None 21140 self.vpn_connection_time = None 21141 self.public_ip_address = None 21142 self.private_ip_address = None 21143 self.vpn_user_name = None 21144 self.max_bandwidth = None 21145 self.egress_packets_transferred = None 21146 self.egress_bytes_transferred = None 21147 self.ingress_packets_transferred = None 21148 self.ingress_bytes_transferred = None 21149 self.max_packets_per_second = None 21150 21151 21152class VpnClientConnectionHealthDetailListResult(msrest.serialization.Model): 21153 """List of virtual network gateway vpn client connection health. 21154 21155 :param value: List of vpn client connection health. 21156 :type value: list[~azure.mgmt.network.v2020_04_01.models.VpnClientConnectionHealthDetail] 21157 """ 21158 21159 _attribute_map = { 21160 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, 21161 } 21162 21163 def __init__( 21164 self, 21165 *, 21166 value: Optional[List["VpnClientConnectionHealthDetail"]] = None, 21167 **kwargs 21168 ): 21169 super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) 21170 self.value = value 21171 21172 21173class VpnClientIPsecParameters(msrest.serialization.Model): 21174 """An IPSec parameters for a virtual network gateway P2S connection. 21175 21176 All required parameters must be populated in order to send to Azure. 21177 21178 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 21179 or Phase 2 SA) lifetime in seconds for P2S client. 21180 :type sa_life_time_seconds: int 21181 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 21182 or Phase 2 SA) payload size in KB for P2S client.. 21183 :type sa_data_size_kilobytes: int 21184 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 21185 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 21186 "GCMAES256". 21187 :type ipsec_encryption: str or ~azure.mgmt.network.v2020_04_01.models.IpsecEncryption 21188 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 21189 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 21190 :type ipsec_integrity: str or ~azure.mgmt.network.v2020_04_01.models.IpsecIntegrity 21191 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 21192 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 21193 :type ike_encryption: str or ~azure.mgmt.network.v2020_04_01.models.IkeEncryption 21194 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 21195 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 21196 :type ike_integrity: str or ~azure.mgmt.network.v2020_04_01.models.IkeIntegrity 21197 :param dh_group: Required. The DH Group used in IKE Phase 1 for initial SA. Possible values 21198 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 21199 "DHGroup24". 21200 :type dh_group: str or ~azure.mgmt.network.v2020_04_01.models.DhGroup 21201 :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new child SA. Possible values 21202 include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM". 21203 :type pfs_group: str or ~azure.mgmt.network.v2020_04_01.models.PfsGroup 21204 """ 21205 21206 _validation = { 21207 'sa_life_time_seconds': {'required': True}, 21208 'sa_data_size_kilobytes': {'required': True}, 21209 'ipsec_encryption': {'required': True}, 21210 'ipsec_integrity': {'required': True}, 21211 'ike_encryption': {'required': True}, 21212 'ike_integrity': {'required': True}, 21213 'dh_group': {'required': True}, 21214 'pfs_group': {'required': True}, 21215 } 21216 21217 _attribute_map = { 21218 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 21219 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 21220 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 21221 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 21222 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 21223 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 21224 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 21225 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 21226 } 21227 21228 def __init__( 21229 self, 21230 *, 21231 sa_life_time_seconds: int, 21232 sa_data_size_kilobytes: int, 21233 ipsec_encryption: Union[str, "IpsecEncryption"], 21234 ipsec_integrity: Union[str, "IpsecIntegrity"], 21235 ike_encryption: Union[str, "IkeEncryption"], 21236 ike_integrity: Union[str, "IkeIntegrity"], 21237 dh_group: Union[str, "DhGroup"], 21238 pfs_group: Union[str, "PfsGroup"], 21239 **kwargs 21240 ): 21241 super(VpnClientIPsecParameters, self).__init__(**kwargs) 21242 self.sa_life_time_seconds = sa_life_time_seconds 21243 self.sa_data_size_kilobytes = sa_data_size_kilobytes 21244 self.ipsec_encryption = ipsec_encryption 21245 self.ipsec_integrity = ipsec_integrity 21246 self.ike_encryption = ike_encryption 21247 self.ike_integrity = ike_integrity 21248 self.dh_group = dh_group 21249 self.pfs_group = pfs_group 21250 21251 21252class VpnClientParameters(msrest.serialization.Model): 21253 """Vpn Client Parameters for package generation. 21254 21255 :param processor_architecture: VPN client Processor Architecture. Possible values include: 21256 "Amd64", "X86". 21257 :type processor_architecture: str or 21258 ~azure.mgmt.network.v2020_04_01.models.ProcessorArchitecture 21259 :param authentication_method: VPN client authentication method. Possible values include: 21260 "EAPTLS", "EAPMSCHAPv2". 21261 :type authentication_method: str or ~azure.mgmt.network.v2020_04_01.models.AuthenticationMethod 21262 :param radius_server_auth_certificate: The public certificate data for the radius server 21263 authentication certificate as a Base-64 encoded string. Required only if external radius 21264 authentication has been configured with EAPTLS authentication. 21265 :type radius_server_auth_certificate: str 21266 :param client_root_certificates: A list of client root certificates public certificate data 21267 encoded as Base-64 strings. Optional parameter for external radius based authentication with 21268 EAPTLS. 21269 :type client_root_certificates: list[str] 21270 """ 21271 21272 _attribute_map = { 21273 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, 21274 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 21275 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, 21276 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, 21277 } 21278 21279 def __init__( 21280 self, 21281 *, 21282 processor_architecture: Optional[Union[str, "ProcessorArchitecture"]] = None, 21283 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 21284 radius_server_auth_certificate: Optional[str] = None, 21285 client_root_certificates: Optional[List[str]] = None, 21286 **kwargs 21287 ): 21288 super(VpnClientParameters, self).__init__(**kwargs) 21289 self.processor_architecture = processor_architecture 21290 self.authentication_method = authentication_method 21291 self.radius_server_auth_certificate = radius_server_auth_certificate 21292 self.client_root_certificates = client_root_certificates 21293 21294 21295class VpnClientRevokedCertificate(SubResource): 21296 """VPN client revoked certificate of virtual network gateway. 21297 21298 Variables are only populated by the server, and will be ignored when sending a request. 21299 21300 :param id: Resource ID. 21301 :type id: str 21302 :param name: The name of the resource that is unique within a resource group. This name can be 21303 used to access the resource. 21304 :type name: str 21305 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21306 :vartype etag: str 21307 :param thumbprint: The revoked VPN client certificate thumbprint. 21308 :type thumbprint: str 21309 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 21310 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 21311 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 21312 """ 21313 21314 _validation = { 21315 'etag': {'readonly': True}, 21316 'provisioning_state': {'readonly': True}, 21317 } 21318 21319 _attribute_map = { 21320 'id': {'key': 'id', 'type': 'str'}, 21321 'name': {'key': 'name', 'type': 'str'}, 21322 'etag': {'key': 'etag', 'type': 'str'}, 21323 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 21324 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21325 } 21326 21327 def __init__( 21328 self, 21329 *, 21330 id: Optional[str] = None, 21331 name: Optional[str] = None, 21332 thumbprint: Optional[str] = None, 21333 **kwargs 21334 ): 21335 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 21336 self.name = name 21337 self.etag = None 21338 self.thumbprint = thumbprint 21339 self.provisioning_state = None 21340 21341 21342class VpnClientRootCertificate(SubResource): 21343 """VPN client root certificate of virtual network gateway. 21344 21345 Variables are only populated by the server, and will be ignored when sending a request. 21346 21347 All required parameters must be populated in order to send to Azure. 21348 21349 :param id: Resource ID. 21350 :type id: str 21351 :param name: The name of the resource that is unique within a resource group. This name can be 21352 used to access the resource. 21353 :type name: str 21354 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21355 :vartype etag: str 21356 :param public_cert_data: Required. The certificate public data. 21357 :type public_cert_data: str 21358 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 21359 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 21360 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 21361 """ 21362 21363 _validation = { 21364 'etag': {'readonly': True}, 21365 'public_cert_data': {'required': True}, 21366 'provisioning_state': {'readonly': True}, 21367 } 21368 21369 _attribute_map = { 21370 'id': {'key': 'id', 'type': 'str'}, 21371 'name': {'key': 'name', 'type': 'str'}, 21372 'etag': {'key': 'etag', 'type': 'str'}, 21373 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 21374 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21375 } 21376 21377 def __init__( 21378 self, 21379 *, 21380 public_cert_data: str, 21381 id: Optional[str] = None, 21382 name: Optional[str] = None, 21383 **kwargs 21384 ): 21385 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 21386 self.name = name 21387 self.etag = None 21388 self.public_cert_data = public_cert_data 21389 self.provisioning_state = None 21390 21391 21392class VpnConnection(SubResource): 21393 """VpnConnection Resource. 21394 21395 Variables are only populated by the server, and will be ignored when sending a request. 21396 21397 :param id: Resource ID. 21398 :type id: str 21399 :param name: The name of the resource that is unique within a resource group. This name can be 21400 used to access the resource. 21401 :type name: str 21402 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21403 :vartype etag: str 21404 :param remote_vpn_site: Id of the connected vpn site. 21405 :type remote_vpn_site: ~azure.mgmt.network.v2020_04_01.models.SubResource 21406 :param routing_weight: Routing weight for vpn connection. 21407 :type routing_weight: int 21408 :param dpd_timeout_seconds: The dead peer detection timeout for a vpn connection in seconds. 21409 :type dpd_timeout_seconds: int 21410 :ivar connection_status: The connection status. Possible values include: "Unknown", 21411 "Connecting", "Connected", "NotConnected". 21412 :vartype connection_status: str or ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus 21413 :param vpn_connection_protocol_type: Connection protocol used for this connection. Possible 21414 values include: "IKEv2", "IKEv1". 21415 :type vpn_connection_protocol_type: str or 21416 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol 21417 :ivar ingress_bytes_transferred: Ingress bytes transferred. 21418 :vartype ingress_bytes_transferred: long 21419 :ivar egress_bytes_transferred: Egress bytes transferred. 21420 :vartype egress_bytes_transferred: long 21421 :param connection_bandwidth: Expected bandwidth in MBPS. 21422 :type connection_bandwidth: int 21423 :param shared_key: SharedKey for the vpn connection. 21424 :type shared_key: str 21425 :param enable_bgp: EnableBgp flag. 21426 :type enable_bgp: bool 21427 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 21428 :type use_policy_based_traffic_selectors: bool 21429 :param ipsec_policies: The IPSec Policies to be considered by this connection. 21430 :type ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 21431 :param enable_rate_limiting: EnableBgp flag. 21432 :type enable_rate_limiting: bool 21433 :param enable_internet_security: Enable internet security. 21434 :type enable_internet_security: bool 21435 :param use_local_azure_ip_address: Use local azure ip to initiate connection. 21436 :type use_local_azure_ip_address: bool 21437 :ivar provisioning_state: The provisioning state of the VPN connection resource. Possible 21438 values include: "Succeeded", "Updating", "Deleting", "Failed". 21439 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 21440 :param vpn_link_connections: List of all vpn site link connections to the gateway. 21441 :type vpn_link_connections: list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLinkConnection] 21442 :param routing_configuration: The Routing Configuration indicating the associated and 21443 propagated route tables on this connection. 21444 :type routing_configuration: ~azure.mgmt.network.v2020_04_01.models.RoutingConfiguration 21445 """ 21446 21447 _validation = { 21448 'etag': {'readonly': True}, 21449 'connection_status': {'readonly': True}, 21450 'ingress_bytes_transferred': {'readonly': True}, 21451 'egress_bytes_transferred': {'readonly': True}, 21452 'provisioning_state': {'readonly': True}, 21453 } 21454 21455 _attribute_map = { 21456 'id': {'key': 'id', 'type': 'str'}, 21457 'name': {'key': 'name', 'type': 'str'}, 21458 'etag': {'key': 'etag', 'type': 'str'}, 21459 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, 21460 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 21461 'dpd_timeout_seconds': {'key': 'properties.dpdTimeoutSeconds', 'type': 'int'}, 21462 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 21463 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, 21464 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 21465 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 21466 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, 21467 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 21468 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 21469 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 21470 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 21471 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, 21472 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 21473 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 21474 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21475 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, 21476 'routing_configuration': {'key': 'properties.routingConfiguration', 'type': 'RoutingConfiguration'}, 21477 } 21478 21479 def __init__( 21480 self, 21481 *, 21482 id: Optional[str] = None, 21483 name: Optional[str] = None, 21484 remote_vpn_site: Optional["SubResource"] = None, 21485 routing_weight: Optional[int] = None, 21486 dpd_timeout_seconds: Optional[int] = None, 21487 vpn_connection_protocol_type: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 21488 connection_bandwidth: Optional[int] = None, 21489 shared_key: Optional[str] = None, 21490 enable_bgp: Optional[bool] = None, 21491 use_policy_based_traffic_selectors: Optional[bool] = None, 21492 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 21493 enable_rate_limiting: Optional[bool] = None, 21494 enable_internet_security: Optional[bool] = None, 21495 use_local_azure_ip_address: Optional[bool] = None, 21496 vpn_link_connections: Optional[List["VpnSiteLinkConnection"]] = None, 21497 routing_configuration: Optional["RoutingConfiguration"] = None, 21498 **kwargs 21499 ): 21500 super(VpnConnection, self).__init__(id=id, **kwargs) 21501 self.name = name 21502 self.etag = None 21503 self.remote_vpn_site = remote_vpn_site 21504 self.routing_weight = routing_weight 21505 self.dpd_timeout_seconds = dpd_timeout_seconds 21506 self.connection_status = None 21507 self.vpn_connection_protocol_type = vpn_connection_protocol_type 21508 self.ingress_bytes_transferred = None 21509 self.egress_bytes_transferred = None 21510 self.connection_bandwidth = connection_bandwidth 21511 self.shared_key = shared_key 21512 self.enable_bgp = enable_bgp 21513 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 21514 self.ipsec_policies = ipsec_policies 21515 self.enable_rate_limiting = enable_rate_limiting 21516 self.enable_internet_security = enable_internet_security 21517 self.use_local_azure_ip_address = use_local_azure_ip_address 21518 self.provisioning_state = None 21519 self.vpn_link_connections = vpn_link_connections 21520 self.routing_configuration = routing_configuration 21521 21522 21523class VpnDeviceScriptParameters(msrest.serialization.Model): 21524 """Vpn device configuration script generation parameters. 21525 21526 :param vendor: The vendor for the vpn device. 21527 :type vendor: str 21528 :param device_family: The device family for the vpn device. 21529 :type device_family: str 21530 :param firmware_version: The firmware version for the vpn device. 21531 :type firmware_version: str 21532 """ 21533 21534 _attribute_map = { 21535 'vendor': {'key': 'vendor', 'type': 'str'}, 21536 'device_family': {'key': 'deviceFamily', 'type': 'str'}, 21537 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, 21538 } 21539 21540 def __init__( 21541 self, 21542 *, 21543 vendor: Optional[str] = None, 21544 device_family: Optional[str] = None, 21545 firmware_version: Optional[str] = None, 21546 **kwargs 21547 ): 21548 super(VpnDeviceScriptParameters, self).__init__(**kwargs) 21549 self.vendor = vendor 21550 self.device_family = device_family 21551 self.firmware_version = firmware_version 21552 21553 21554class VpnGateway(Resource): 21555 """VpnGateway Resource. 21556 21557 Variables are only populated by the server, and will be ignored when sending a request. 21558 21559 :param id: Resource ID. 21560 :type id: str 21561 :ivar name: Resource name. 21562 :vartype name: str 21563 :ivar type: Resource type. 21564 :vartype type: str 21565 :param location: Resource location. 21566 :type location: str 21567 :param tags: A set of tags. Resource tags. 21568 :type tags: dict[str, str] 21569 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21570 :vartype etag: str 21571 :param virtual_hub: The VirtualHub to which the gateway belongs. 21572 :type virtual_hub: ~azure.mgmt.network.v2020_04_01.models.SubResource 21573 :param connections: List of all vpn connections to the gateway. 21574 :type connections: list[~azure.mgmt.network.v2020_04_01.models.VpnConnection] 21575 :param bgp_settings: Local network gateway's BGP speaker settings. 21576 :type bgp_settings: ~azure.mgmt.network.v2020_04_01.models.BgpSettings 21577 :ivar provisioning_state: The provisioning state of the VPN gateway resource. Possible values 21578 include: "Succeeded", "Updating", "Deleting", "Failed". 21579 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 21580 :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. 21581 :type vpn_gateway_scale_unit: int 21582 """ 21583 21584 _validation = { 21585 'name': {'readonly': True}, 21586 'type': {'readonly': True}, 21587 'etag': {'readonly': True}, 21588 'provisioning_state': {'readonly': True}, 21589 } 21590 21591 _attribute_map = { 21592 'id': {'key': 'id', 'type': 'str'}, 21593 'name': {'key': 'name', 'type': 'str'}, 21594 'type': {'key': 'type', 'type': 'str'}, 21595 'location': {'key': 'location', 'type': 'str'}, 21596 'tags': {'key': 'tags', 'type': '{str}'}, 21597 'etag': {'key': 'etag', 'type': 'str'}, 21598 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 21599 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, 21600 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 21601 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21602 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, 21603 } 21604 21605 def __init__( 21606 self, 21607 *, 21608 id: Optional[str] = None, 21609 location: Optional[str] = None, 21610 tags: Optional[Dict[str, str]] = None, 21611 virtual_hub: Optional["SubResource"] = None, 21612 connections: Optional[List["VpnConnection"]] = None, 21613 bgp_settings: Optional["BgpSettings"] = None, 21614 vpn_gateway_scale_unit: Optional[int] = None, 21615 **kwargs 21616 ): 21617 super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 21618 self.etag = None 21619 self.virtual_hub = virtual_hub 21620 self.connections = connections 21621 self.bgp_settings = bgp_settings 21622 self.provisioning_state = None 21623 self.vpn_gateway_scale_unit = vpn_gateway_scale_unit 21624 21625 21626class VpnLinkBgpSettings(msrest.serialization.Model): 21627 """BGP settings details for a link. 21628 21629 :param asn: The BGP speaker's ASN. 21630 :type asn: long 21631 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 21632 :type bgp_peering_address: str 21633 """ 21634 21635 _attribute_map = { 21636 'asn': {'key': 'asn', 'type': 'long'}, 21637 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 21638 } 21639 21640 def __init__( 21641 self, 21642 *, 21643 asn: Optional[int] = None, 21644 bgp_peering_address: Optional[str] = None, 21645 **kwargs 21646 ): 21647 super(VpnLinkBgpSettings, self).__init__(**kwargs) 21648 self.asn = asn 21649 self.bgp_peering_address = bgp_peering_address 21650 21651 21652class VpnLinkProviderProperties(msrest.serialization.Model): 21653 """List of properties of a link provider. 21654 21655 :param link_provider_name: Name of the link provider. 21656 :type link_provider_name: str 21657 :param link_speed_in_mbps: Link speed. 21658 :type link_speed_in_mbps: int 21659 """ 21660 21661 _attribute_map = { 21662 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, 21663 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 21664 } 21665 21666 def __init__( 21667 self, 21668 *, 21669 link_provider_name: Optional[str] = None, 21670 link_speed_in_mbps: Optional[int] = None, 21671 **kwargs 21672 ): 21673 super(VpnLinkProviderProperties, self).__init__(**kwargs) 21674 self.link_provider_name = link_provider_name 21675 self.link_speed_in_mbps = link_speed_in_mbps 21676 21677 21678class VpnPacketCaptureStartParameters(msrest.serialization.Model): 21679 """Start packet capture parameters on virtual network gateway. 21680 21681 :param filter_data: Start Packet capture parameters. 21682 :type filter_data: str 21683 """ 21684 21685 _attribute_map = { 21686 'filter_data': {'key': 'filterData', 'type': 'str'}, 21687 } 21688 21689 def __init__( 21690 self, 21691 *, 21692 filter_data: Optional[str] = None, 21693 **kwargs 21694 ): 21695 super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) 21696 self.filter_data = filter_data 21697 21698 21699class VpnPacketCaptureStopParameters(msrest.serialization.Model): 21700 """Stop packet capture parameters. 21701 21702 :param sas_url: SAS url for packet capture on virtual network gateway. 21703 :type sas_url: str 21704 """ 21705 21706 _attribute_map = { 21707 'sas_url': {'key': 'sasUrl', 'type': 'str'}, 21708 } 21709 21710 def __init__( 21711 self, 21712 *, 21713 sas_url: Optional[str] = None, 21714 **kwargs 21715 ): 21716 super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) 21717 self.sas_url = sas_url 21718 21719 21720class VpnProfileResponse(msrest.serialization.Model): 21721 """Vpn Profile Response for package generation. 21722 21723 :param profile_url: URL to the VPN profile. 21724 :type profile_url: str 21725 """ 21726 21727 _attribute_map = { 21728 'profile_url': {'key': 'profileUrl', 'type': 'str'}, 21729 } 21730 21731 def __init__( 21732 self, 21733 *, 21734 profile_url: Optional[str] = None, 21735 **kwargs 21736 ): 21737 super(VpnProfileResponse, self).__init__(**kwargs) 21738 self.profile_url = profile_url 21739 21740 21741class VpnServerConfigRadiusClientRootCertificate(msrest.serialization.Model): 21742 """Properties of the Radius client root certificate of VpnServerConfiguration. 21743 21744 :param name: The certificate name. 21745 :type name: str 21746 :param thumbprint: The Radius client root certificate thumbprint. 21747 :type thumbprint: str 21748 """ 21749 21750 _attribute_map = { 21751 'name': {'key': 'name', 'type': 'str'}, 21752 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 21753 } 21754 21755 def __init__( 21756 self, 21757 *, 21758 name: Optional[str] = None, 21759 thumbprint: Optional[str] = None, 21760 **kwargs 21761 ): 21762 super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) 21763 self.name = name 21764 self.thumbprint = thumbprint 21765 21766 21767class VpnServerConfigRadiusServerRootCertificate(msrest.serialization.Model): 21768 """Properties of Radius Server root certificate of VpnServerConfiguration. 21769 21770 :param name: The certificate name. 21771 :type name: str 21772 :param public_cert_data: The certificate public data. 21773 :type public_cert_data: str 21774 """ 21775 21776 _attribute_map = { 21777 'name': {'key': 'name', 'type': 'str'}, 21778 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, 21779 } 21780 21781 def __init__( 21782 self, 21783 *, 21784 name: Optional[str] = None, 21785 public_cert_data: Optional[str] = None, 21786 **kwargs 21787 ): 21788 super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) 21789 self.name = name 21790 self.public_cert_data = public_cert_data 21791 21792 21793class VpnServerConfiguration(Resource): 21794 """VpnServerConfiguration Resource. 21795 21796 Variables are only populated by the server, and will be ignored when sending a request. 21797 21798 :param id: Resource ID. 21799 :type id: str 21800 :ivar name: Resource name. 21801 :vartype name: str 21802 :ivar type: Resource type. 21803 :vartype type: str 21804 :param location: Resource location. 21805 :type location: str 21806 :param tags: A set of tags. Resource tags. 21807 :type tags: dict[str, str] 21808 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21809 :vartype etag: str 21810 :param name_properties_name: The name of the VpnServerConfiguration that is unique within a 21811 resource group. 21812 :type name_properties_name: str 21813 :param vpn_protocols: VPN protocols for the VpnServerConfiguration. 21814 :type vpn_protocols: list[str or 21815 ~azure.mgmt.network.v2020_04_01.models.VpnGatewayTunnelingProtocol] 21816 :param vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. 21817 :type vpn_authentication_types: list[str or 21818 ~azure.mgmt.network.v2020_04_01.models.VpnAuthenticationType] 21819 :param vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. 21820 :type vpn_client_root_certificates: 21821 list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRootCertificate] 21822 :param vpn_client_revoked_certificates: VPN client revoked certificate of 21823 VpnServerConfiguration. 21824 :type vpn_client_revoked_certificates: 21825 list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigVpnClientRevokedCertificate] 21826 :param radius_server_root_certificates: Radius Server root certificate of 21827 VpnServerConfiguration. 21828 :type radius_server_root_certificates: 21829 list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusServerRootCertificate] 21830 :param radius_client_root_certificates: Radius client root certificate of 21831 VpnServerConfiguration. 21832 :type radius_client_root_certificates: 21833 list[~azure.mgmt.network.v2020_04_01.models.VpnServerConfigRadiusClientRootCertificate] 21834 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. 21835 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 21836 :param radius_server_address: The radius server address property of the VpnServerConfiguration 21837 resource for point to site client connection. 21838 :type radius_server_address: str 21839 :param radius_server_secret: The radius secret property of the VpnServerConfiguration resource 21840 for point to site client connection. 21841 :type radius_server_secret: str 21842 :param radius_servers: Multiple Radius Server configuration for VpnServerConfiguration. 21843 :type radius_servers: list[~azure.mgmt.network.v2020_04_01.models.RadiusServer] 21844 :param aad_authentication_parameters: The set of aad vpn authentication parameters. 21845 :type aad_authentication_parameters: 21846 ~azure.mgmt.network.v2020_04_01.models.AadAuthenticationParameters 21847 :ivar provisioning_state: The provisioning state of the VpnServerConfiguration resource. 21848 Possible values are: 'Updating', 'Deleting', and 'Failed'. 21849 :vartype provisioning_state: str 21850 :ivar p2_s_vpn_gateways: List of references to P2SVpnGateways. 21851 :vartype p2_s_vpn_gateways: list[~azure.mgmt.network.v2020_04_01.models.P2SVpnGateway] 21852 :ivar etag_properties_etag: A unique read-only string that changes whenever the resource is 21853 updated. 21854 :vartype etag_properties_etag: str 21855 """ 21856 21857 _validation = { 21858 'name': {'readonly': True}, 21859 'type': {'readonly': True}, 21860 'etag': {'readonly': True}, 21861 'provisioning_state': {'readonly': True}, 21862 'p2_s_vpn_gateways': {'readonly': True}, 21863 'etag_properties_etag': {'readonly': True}, 21864 } 21865 21866 _attribute_map = { 21867 'id': {'key': 'id', 'type': 'str'}, 21868 'name': {'key': 'name', 'type': 'str'}, 21869 'type': {'key': 'type', 'type': 'str'}, 21870 'location': {'key': 'location', 'type': 'str'}, 21871 'tags': {'key': 'tags', 'type': '{str}'}, 21872 'etag': {'key': 'etag', 'type': 'str'}, 21873 'name_properties_name': {'key': 'properties.name', 'type': 'str'}, 21874 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, 21875 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, 21876 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, 21877 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, 21878 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, 21879 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, 21880 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 21881 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, 21882 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, 21883 'radius_servers': {'key': 'properties.radiusServers', 'type': '[RadiusServer]'}, 21884 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, 21885 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21886 'p2_s_vpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, 21887 'etag_properties_etag': {'key': 'properties.etag', 'type': 'str'}, 21888 } 21889 21890 def __init__( 21891 self, 21892 *, 21893 id: Optional[str] = None, 21894 location: Optional[str] = None, 21895 tags: Optional[Dict[str, str]] = None, 21896 name_properties_name: Optional[str] = None, 21897 vpn_protocols: Optional[List[Union[str, "VpnGatewayTunnelingProtocol"]]] = None, 21898 vpn_authentication_types: Optional[List[Union[str, "VpnAuthenticationType"]]] = None, 21899 vpn_client_root_certificates: Optional[List["VpnServerConfigVpnClientRootCertificate"]] = None, 21900 vpn_client_revoked_certificates: Optional[List["VpnServerConfigVpnClientRevokedCertificate"]] = None, 21901 radius_server_root_certificates: Optional[List["VpnServerConfigRadiusServerRootCertificate"]] = None, 21902 radius_client_root_certificates: Optional[List["VpnServerConfigRadiusClientRootCertificate"]] = None, 21903 vpn_client_ipsec_policies: Optional[List["IpsecPolicy"]] = None, 21904 radius_server_address: Optional[str] = None, 21905 radius_server_secret: Optional[str] = None, 21906 radius_servers: Optional[List["RadiusServer"]] = None, 21907 aad_authentication_parameters: Optional["AadAuthenticationParameters"] = None, 21908 **kwargs 21909 ): 21910 super(VpnServerConfiguration, self).__init__(id=id, location=location, tags=tags, **kwargs) 21911 self.etag = None 21912 self.name_properties_name = name_properties_name 21913 self.vpn_protocols = vpn_protocols 21914 self.vpn_authentication_types = vpn_authentication_types 21915 self.vpn_client_root_certificates = vpn_client_root_certificates 21916 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 21917 self.radius_server_root_certificates = radius_server_root_certificates 21918 self.radius_client_root_certificates = radius_client_root_certificates 21919 self.vpn_client_ipsec_policies = vpn_client_ipsec_policies 21920 self.radius_server_address = radius_server_address 21921 self.radius_server_secret = radius_server_secret 21922 self.radius_servers = radius_servers 21923 self.aad_authentication_parameters = aad_authentication_parameters 21924 self.provisioning_state = None 21925 self.p2_s_vpn_gateways = None 21926 self.etag_properties_etag = None 21927 21928 21929class VpnServerConfigurationsResponse(msrest.serialization.Model): 21930 """VpnServerConfigurations list associated with VirtualWan Response. 21931 21932 :param vpn_server_configuration_resource_ids: List of VpnServerConfigurations associated with 21933 VirtualWan. 21934 :type vpn_server_configuration_resource_ids: list[str] 21935 """ 21936 21937 _attribute_map = { 21938 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, 21939 } 21940 21941 def __init__( 21942 self, 21943 *, 21944 vpn_server_configuration_resource_ids: Optional[List[str]] = None, 21945 **kwargs 21946 ): 21947 super(VpnServerConfigurationsResponse, self).__init__(**kwargs) 21948 self.vpn_server_configuration_resource_ids = vpn_server_configuration_resource_ids 21949 21950 21951class VpnServerConfigVpnClientRevokedCertificate(msrest.serialization.Model): 21952 """Properties of the revoked VPN client certificate of VpnServerConfiguration. 21953 21954 :param name: The certificate name. 21955 :type name: str 21956 :param thumbprint: The revoked VPN client certificate thumbprint. 21957 :type thumbprint: str 21958 """ 21959 21960 _attribute_map = { 21961 'name': {'key': 'name', 'type': 'str'}, 21962 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 21963 } 21964 21965 def __init__( 21966 self, 21967 *, 21968 name: Optional[str] = None, 21969 thumbprint: Optional[str] = None, 21970 **kwargs 21971 ): 21972 super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) 21973 self.name = name 21974 self.thumbprint = thumbprint 21975 21976 21977class VpnServerConfigVpnClientRootCertificate(msrest.serialization.Model): 21978 """Properties of VPN client root certificate of VpnServerConfiguration. 21979 21980 :param name: The certificate name. 21981 :type name: str 21982 :param public_cert_data: The certificate public data. 21983 :type public_cert_data: str 21984 """ 21985 21986 _attribute_map = { 21987 'name': {'key': 'name', 'type': 'str'}, 21988 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, 21989 } 21990 21991 def __init__( 21992 self, 21993 *, 21994 name: Optional[str] = None, 21995 public_cert_data: Optional[str] = None, 21996 **kwargs 21997 ): 21998 super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) 21999 self.name = name 22000 self.public_cert_data = public_cert_data 22001 22002 22003class VpnSite(Resource): 22004 """VpnSite Resource. 22005 22006 Variables are only populated by the server, and will be ignored when sending a request. 22007 22008 :param id: Resource ID. 22009 :type id: str 22010 :ivar name: Resource name. 22011 :vartype name: str 22012 :ivar type: Resource type. 22013 :vartype type: str 22014 :param location: Resource location. 22015 :type location: str 22016 :param tags: A set of tags. Resource tags. 22017 :type tags: dict[str, str] 22018 :ivar etag: A unique read-only string that changes whenever the resource is updated. 22019 :vartype etag: str 22020 :param virtual_wan: The VirtualWAN to which the vpnSite belongs. 22021 :type virtual_wan: ~azure.mgmt.network.v2020_04_01.models.SubResource 22022 :param device_properties: The device properties. 22023 :type device_properties: ~azure.mgmt.network.v2020_04_01.models.DeviceProperties 22024 :param ip_address: The ip-address for the vpn-site. 22025 :type ip_address: str 22026 :param site_key: The key for vpn-site that can be used for connections. 22027 :type site_key: str 22028 :param address_space: The AddressSpace that contains an array of IP address ranges. 22029 :type address_space: ~azure.mgmt.network.v2020_04_01.models.AddressSpace 22030 :param bgp_properties: The set of bgp properties. 22031 :type bgp_properties: ~azure.mgmt.network.v2020_04_01.models.BgpSettings 22032 :ivar provisioning_state: The provisioning state of the VPN site resource. Possible values 22033 include: "Succeeded", "Updating", "Deleting", "Failed". 22034 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 22035 :param is_security_site: IsSecuritySite flag. 22036 :type is_security_site: bool 22037 :param vpn_site_links: List of all vpn site links. 22038 :type vpn_site_links: list[~azure.mgmt.network.v2020_04_01.models.VpnSiteLink] 22039 """ 22040 22041 _validation = { 22042 'name': {'readonly': True}, 22043 'type': {'readonly': True}, 22044 'etag': {'readonly': True}, 22045 'provisioning_state': {'readonly': True}, 22046 } 22047 22048 _attribute_map = { 22049 'id': {'key': 'id', 'type': 'str'}, 22050 'name': {'key': 'name', 'type': 'str'}, 22051 'type': {'key': 'type', 'type': 'str'}, 22052 'location': {'key': 'location', 'type': 'str'}, 22053 'tags': {'key': 'tags', 'type': '{str}'}, 22054 'etag': {'key': 'etag', 'type': 'str'}, 22055 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 22056 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, 22057 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 22058 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, 22059 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 22060 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, 22061 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 22062 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, 22063 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, 22064 } 22065 22066 def __init__( 22067 self, 22068 *, 22069 id: Optional[str] = None, 22070 location: Optional[str] = None, 22071 tags: Optional[Dict[str, str]] = None, 22072 virtual_wan: Optional["SubResource"] = None, 22073 device_properties: Optional["DeviceProperties"] = None, 22074 ip_address: Optional[str] = None, 22075 site_key: Optional[str] = None, 22076 address_space: Optional["AddressSpace"] = None, 22077 bgp_properties: Optional["BgpSettings"] = None, 22078 is_security_site: Optional[bool] = None, 22079 vpn_site_links: Optional[List["VpnSiteLink"]] = None, 22080 **kwargs 22081 ): 22082 super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) 22083 self.etag = None 22084 self.virtual_wan = virtual_wan 22085 self.device_properties = device_properties 22086 self.ip_address = ip_address 22087 self.site_key = site_key 22088 self.address_space = address_space 22089 self.bgp_properties = bgp_properties 22090 self.provisioning_state = None 22091 self.is_security_site = is_security_site 22092 self.vpn_site_links = vpn_site_links 22093 22094 22095class VpnSiteId(msrest.serialization.Model): 22096 """VpnSite Resource. 22097 22098 Variables are only populated by the server, and will be ignored when sending a request. 22099 22100 :ivar vpn_site: The resource-uri of the vpn-site for which config is to be fetched. 22101 :vartype vpn_site: str 22102 """ 22103 22104 _validation = { 22105 'vpn_site': {'readonly': True}, 22106 } 22107 22108 _attribute_map = { 22109 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, 22110 } 22111 22112 def __init__( 22113 self, 22114 **kwargs 22115 ): 22116 super(VpnSiteId, self).__init__(**kwargs) 22117 self.vpn_site = None 22118 22119 22120class VpnSiteLink(SubResource): 22121 """VpnSiteLink Resource. 22122 22123 Variables are only populated by the server, and will be ignored when sending a request. 22124 22125 :param id: Resource ID. 22126 :type id: str 22127 :ivar etag: A unique read-only string that changes whenever the resource is updated. 22128 :vartype etag: str 22129 :param name: The name of the resource that is unique within a resource group. This name can be 22130 used to access the resource. 22131 :type name: str 22132 :ivar type: Resource type. 22133 :vartype type: str 22134 :param link_properties: The link provider properties. 22135 :type link_properties: ~azure.mgmt.network.v2020_04_01.models.VpnLinkProviderProperties 22136 :param ip_address: The ip-address for the vpn-site-link. 22137 :type ip_address: str 22138 :param fqdn: FQDN of vpn-site-link. 22139 :type fqdn: str 22140 :param bgp_properties: The set of bgp properties. 22141 :type bgp_properties: ~azure.mgmt.network.v2020_04_01.models.VpnLinkBgpSettings 22142 :ivar provisioning_state: The provisioning state of the VPN site link resource. Possible values 22143 include: "Succeeded", "Updating", "Deleting", "Failed". 22144 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 22145 """ 22146 22147 _validation = { 22148 'etag': {'readonly': True}, 22149 'type': {'readonly': True}, 22150 'provisioning_state': {'readonly': True}, 22151 } 22152 22153 _attribute_map = { 22154 'id': {'key': 'id', 'type': 'str'}, 22155 'etag': {'key': 'etag', 'type': 'str'}, 22156 'name': {'key': 'name', 'type': 'str'}, 22157 'type': {'key': 'type', 'type': 'str'}, 22158 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, 22159 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 22160 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 22161 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, 22162 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 22163 } 22164 22165 def __init__( 22166 self, 22167 *, 22168 id: Optional[str] = None, 22169 name: Optional[str] = None, 22170 link_properties: Optional["VpnLinkProviderProperties"] = None, 22171 ip_address: Optional[str] = None, 22172 fqdn: Optional[str] = None, 22173 bgp_properties: Optional["VpnLinkBgpSettings"] = None, 22174 **kwargs 22175 ): 22176 super(VpnSiteLink, self).__init__(id=id, **kwargs) 22177 self.etag = None 22178 self.name = name 22179 self.type = None 22180 self.link_properties = link_properties 22181 self.ip_address = ip_address 22182 self.fqdn = fqdn 22183 self.bgp_properties = bgp_properties 22184 self.provisioning_state = None 22185 22186 22187class VpnSiteLinkConnection(SubResource): 22188 """VpnSiteLinkConnection Resource. 22189 22190 Variables are only populated by the server, and will be ignored when sending a request. 22191 22192 :param id: Resource ID. 22193 :type id: str 22194 :param name: The name of the resource that is unique within a resource group. This name can be 22195 used to access the resource. 22196 :type name: str 22197 :ivar etag: A unique read-only string that changes whenever the resource is updated. 22198 :vartype etag: str 22199 :ivar type: Resource type. 22200 :vartype type: str 22201 :param vpn_site_link: Id of the connected vpn site link. 22202 :type vpn_site_link: ~azure.mgmt.network.v2020_04_01.models.SubResource 22203 :param routing_weight: Routing weight for vpn connection. 22204 :type routing_weight: int 22205 :ivar connection_status: The connection status. Possible values include: "Unknown", 22206 "Connecting", "Connected", "NotConnected". 22207 :vartype connection_status: str or ~azure.mgmt.network.v2020_04_01.models.VpnConnectionStatus 22208 :param vpn_connection_protocol_type: Connection protocol used for this connection. Possible 22209 values include: "IKEv2", "IKEv1". 22210 :type vpn_connection_protocol_type: str or 22211 ~azure.mgmt.network.v2020_04_01.models.VirtualNetworkGatewayConnectionProtocol 22212 :ivar ingress_bytes_transferred: Ingress bytes transferred. 22213 :vartype ingress_bytes_transferred: long 22214 :ivar egress_bytes_transferred: Egress bytes transferred. 22215 :vartype egress_bytes_transferred: long 22216 :param connection_bandwidth: Expected bandwidth in MBPS. 22217 :type connection_bandwidth: int 22218 :param shared_key: SharedKey for the vpn connection. 22219 :type shared_key: str 22220 :param enable_bgp: EnableBgp flag. 22221 :type enable_bgp: bool 22222 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 22223 :type use_policy_based_traffic_selectors: bool 22224 :param ipsec_policies: The IPSec Policies to be considered by this connection. 22225 :type ipsec_policies: list[~azure.mgmt.network.v2020_04_01.models.IpsecPolicy] 22226 :param enable_rate_limiting: EnableBgp flag. 22227 :type enable_rate_limiting: bool 22228 :param use_local_azure_ip_address: Use local azure ip to initiate connection. 22229 :type use_local_azure_ip_address: bool 22230 :ivar provisioning_state: The provisioning state of the VPN site link connection resource. 22231 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 22232 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 22233 """ 22234 22235 _validation = { 22236 'etag': {'readonly': True}, 22237 'type': {'readonly': True}, 22238 'connection_status': {'readonly': True}, 22239 'ingress_bytes_transferred': {'readonly': True}, 22240 'egress_bytes_transferred': {'readonly': True}, 22241 'provisioning_state': {'readonly': True}, 22242 } 22243 22244 _attribute_map = { 22245 'id': {'key': 'id', 'type': 'str'}, 22246 'name': {'key': 'name', 'type': 'str'}, 22247 'etag': {'key': 'etag', 'type': 'str'}, 22248 'type': {'key': 'type', 'type': 'str'}, 22249 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, 22250 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 22251 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 22252 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, 22253 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 22254 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 22255 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, 22256 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 22257 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 22258 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 22259 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 22260 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, 22261 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 22262 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 22263 } 22264 22265 def __init__( 22266 self, 22267 *, 22268 id: Optional[str] = None, 22269 name: Optional[str] = None, 22270 vpn_site_link: Optional["SubResource"] = None, 22271 routing_weight: Optional[int] = None, 22272 vpn_connection_protocol_type: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 22273 connection_bandwidth: Optional[int] = None, 22274 shared_key: Optional[str] = None, 22275 enable_bgp: Optional[bool] = None, 22276 use_policy_based_traffic_selectors: Optional[bool] = None, 22277 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 22278 enable_rate_limiting: Optional[bool] = None, 22279 use_local_azure_ip_address: Optional[bool] = None, 22280 **kwargs 22281 ): 22282 super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) 22283 self.name = name 22284 self.etag = None 22285 self.type = None 22286 self.vpn_site_link = vpn_site_link 22287 self.routing_weight = routing_weight 22288 self.connection_status = None 22289 self.vpn_connection_protocol_type = vpn_connection_protocol_type 22290 self.ingress_bytes_transferred = None 22291 self.egress_bytes_transferred = None 22292 self.connection_bandwidth = connection_bandwidth 22293 self.shared_key = shared_key 22294 self.enable_bgp = enable_bgp 22295 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 22296 self.ipsec_policies = ipsec_policies 22297 self.enable_rate_limiting = enable_rate_limiting 22298 self.use_local_azure_ip_address = use_local_azure_ip_address 22299 self.provisioning_state = None 22300 22301 22302class WebApplicationFirewallCustomRule(msrest.serialization.Model): 22303 """Defines contents of a web application rule. 22304 22305 Variables are only populated by the server, and will be ignored when sending a request. 22306 22307 All required parameters must be populated in order to send to Azure. 22308 22309 :param name: The name of the resource that is unique within a policy. This name can be used to 22310 access the resource. 22311 :type name: str 22312 :ivar etag: A unique read-only string that changes whenever the resource is updated. 22313 :vartype etag: str 22314 :param priority: Required. Priority of the rule. Rules with a lower value will be evaluated 22315 before rules with a higher value. 22316 :type priority: int 22317 :param rule_type: Required. The rule type. Possible values include: "MatchRule", "Invalid". 22318 :type rule_type: str or ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallRuleType 22319 :param match_conditions: Required. List of match conditions. 22320 :type match_conditions: list[~azure.mgmt.network.v2020_04_01.models.MatchCondition] 22321 :param action: Required. Type of Actions. Possible values include: "Allow", "Block", "Log". 22322 :type action: str or ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallAction 22323 """ 22324 22325 _validation = { 22326 'name': {'max_length': 128, 'min_length': 0}, 22327 'etag': {'readonly': True}, 22328 'priority': {'required': True}, 22329 'rule_type': {'required': True}, 22330 'match_conditions': {'required': True}, 22331 'action': {'required': True}, 22332 } 22333 22334 _attribute_map = { 22335 'name': {'key': 'name', 'type': 'str'}, 22336 'etag': {'key': 'etag', 'type': 'str'}, 22337 'priority': {'key': 'priority', 'type': 'int'}, 22338 'rule_type': {'key': 'ruleType', 'type': 'str'}, 22339 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, 22340 'action': {'key': 'action', 'type': 'str'}, 22341 } 22342 22343 def __init__( 22344 self, 22345 *, 22346 priority: int, 22347 rule_type: Union[str, "WebApplicationFirewallRuleType"], 22348 match_conditions: List["MatchCondition"], 22349 action: Union[str, "WebApplicationFirewallAction"], 22350 name: Optional[str] = None, 22351 **kwargs 22352 ): 22353 super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) 22354 self.name = name 22355 self.etag = None 22356 self.priority = priority 22357 self.rule_type = rule_type 22358 self.match_conditions = match_conditions 22359 self.action = action 22360 22361 22362class WebApplicationFirewallPolicy(Resource): 22363 """Defines web application firewall policy. 22364 22365 Variables are only populated by the server, and will be ignored when sending a request. 22366 22367 :param id: Resource ID. 22368 :type id: str 22369 :ivar name: Resource name. 22370 :vartype name: str 22371 :ivar type: Resource type. 22372 :vartype type: str 22373 :param location: Resource location. 22374 :type location: str 22375 :param tags: A set of tags. Resource tags. 22376 :type tags: dict[str, str] 22377 :ivar etag: A unique read-only string that changes whenever the resource is updated. 22378 :vartype etag: str 22379 :param policy_settings: The PolicySettings for policy. 22380 :type policy_settings: ~azure.mgmt.network.v2020_04_01.models.PolicySettings 22381 :param custom_rules: The custom rules inside the policy. 22382 :type custom_rules: 22383 list[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallCustomRule] 22384 :ivar application_gateways: A collection of references to application gateways. 22385 :vartype application_gateways: list[~azure.mgmt.network.v2020_04_01.models.ApplicationGateway] 22386 :ivar provisioning_state: The provisioning state of the web application firewall policy 22387 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 22388 :vartype provisioning_state: str or ~azure.mgmt.network.v2020_04_01.models.ProvisioningState 22389 :ivar resource_state: Resource status of the policy. Possible values include: "Creating", 22390 "Enabling", "Enabled", "Disabling", "Disabled", "Deleting". 22391 :vartype resource_state: str or 22392 ~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicyResourceState 22393 :param managed_rules: Describes the managedRules structure. 22394 :type managed_rules: ~azure.mgmt.network.v2020_04_01.models.ManagedRulesDefinition 22395 :ivar http_listeners: A collection of references to application gateway http listeners. 22396 :vartype http_listeners: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 22397 :ivar path_based_rules: A collection of references to application gateway path rules. 22398 :vartype path_based_rules: list[~azure.mgmt.network.v2020_04_01.models.SubResource] 22399 """ 22400 22401 _validation = { 22402 'name': {'readonly': True}, 22403 'type': {'readonly': True}, 22404 'etag': {'readonly': True}, 22405 'application_gateways': {'readonly': True}, 22406 'provisioning_state': {'readonly': True}, 22407 'resource_state': {'readonly': True}, 22408 'http_listeners': {'readonly': True}, 22409 'path_based_rules': {'readonly': True}, 22410 } 22411 22412 _attribute_map = { 22413 'id': {'key': 'id', 'type': 'str'}, 22414 'name': {'key': 'name', 'type': 'str'}, 22415 'type': {'key': 'type', 'type': 'str'}, 22416 'location': {'key': 'location', 'type': 'str'}, 22417 'tags': {'key': 'tags', 'type': '{str}'}, 22418 'etag': {'key': 'etag', 'type': 'str'}, 22419 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, 22420 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, 22421 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, 22422 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 22423 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, 22424 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, 22425 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, 22426 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, 22427 } 22428 22429 def __init__( 22430 self, 22431 *, 22432 id: Optional[str] = None, 22433 location: Optional[str] = None, 22434 tags: Optional[Dict[str, str]] = None, 22435 policy_settings: Optional["PolicySettings"] = None, 22436 custom_rules: Optional[List["WebApplicationFirewallCustomRule"]] = None, 22437 managed_rules: Optional["ManagedRulesDefinition"] = None, 22438 **kwargs 22439 ): 22440 super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 22441 self.etag = None 22442 self.policy_settings = policy_settings 22443 self.custom_rules = custom_rules 22444 self.application_gateways = None 22445 self.provisioning_state = None 22446 self.resource_state = None 22447 self.managed_rules = managed_rules 22448 self.http_listeners = None 22449 self.path_based_rules = None 22450 22451 22452class WebApplicationFirewallPolicyListResult(msrest.serialization.Model): 22453 """Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. 22454 22455 Variables are only populated by the server, and will be ignored when sending a request. 22456 22457 :ivar value: List of WebApplicationFirewallPolicies within a resource group. 22458 :vartype value: list[~azure.mgmt.network.v2020_04_01.models.WebApplicationFirewallPolicy] 22459 :ivar next_link: URL to get the next set of WebApplicationFirewallPolicy objects if there are 22460 any. 22461 :vartype next_link: str 22462 """ 22463 22464 _validation = { 22465 'value': {'readonly': True}, 22466 'next_link': {'readonly': True}, 22467 } 22468 22469 _attribute_map = { 22470 'value': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'}, 22471 'next_link': {'key': 'nextLink', 'type': 'str'}, 22472 } 22473 22474 def __init__( 22475 self, 22476 **kwargs 22477 ): 22478 super(WebApplicationFirewallPolicyListResult, self).__init__(**kwargs) 22479 self.value = None 22480 self.next_link = None 22481