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