Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions azure-mgmt-network/azure/mgmt/network/network_management_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -914,6 +914,19 @@ def inbound_nat_rules(self):
raise NotImplementedError("APIVersion {} is not available".format(api_version))
return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)))

@property
def interface_endpoints(self):
"""Instance depends on the API version:

* 2018-08-01: :class:`InterfaceEndpointsOperations<azure.mgmt.network.v2018_08_01.operations.InterfaceEndpointsOperations>`
"""
api_version = self._get_api_version('interface_endpoints')
if api_version == '2018-08-01':
from .v2018_08_01.operations import InterfaceEndpointsOperations as OperationClass
else:
raise NotImplementedError("APIVersion {} is not available".format(api_version))
return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version)))

@property
def load_balancer_backend_address_pools(self):
"""Instance depends on the API version:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
from .sub_resource_py3 import SubResource
from .application_security_group_py3 import ApplicationSecurityGroup
from .security_rule_py3 import SecurityRule
from .endpoint_service_py3 import EndpointService
from .interface_endpoint_py3 import InterfaceEndpoint
from .network_interface_dns_settings_py3 import NetworkInterfaceDnsSettings
from .network_interface_py3 import NetworkInterface
from .network_security_group_py3 import NetworkSecurityGroup
Expand Down Expand Up @@ -249,6 +251,8 @@
from .sub_resource import SubResource
from .application_security_group import ApplicationSecurityGroup
from .security_rule import SecurityRule
from .endpoint_service import EndpointService
from .interface_endpoint import InterfaceEndpoint
from .network_interface_dns_settings import NetworkInterfaceDnsSettings
from .network_interface import NetworkInterface
from .network_security_group import NetworkSecurityGroup
Expand Down Expand Up @@ -492,6 +496,7 @@
from .express_route_service_provider_paged import ExpressRouteServiceProviderPaged
from .express_route_cross_connection_paged import ExpressRouteCrossConnectionPaged
from .express_route_cross_connection_peering_paged import ExpressRouteCrossConnectionPeeringPaged
from .interface_endpoint_paged import InterfaceEndpointPaged
from .load_balancer_paged import LoadBalancerPaged
from .backend_address_pool_paged import BackendAddressPoolPaged
from .frontend_ip_configuration_paged import FrontendIPConfigurationPaged
Expand Down Expand Up @@ -620,6 +625,8 @@
'SubResource',
'ApplicationSecurityGroup',
'SecurityRule',
'EndpointService',
'InterfaceEndpoint',
'NetworkInterfaceDnsSettings',
'NetworkInterface',
'NetworkSecurityGroup',
Expand Down Expand Up @@ -863,6 +870,7 @@
'ExpressRouteServiceProviderPaged',
'ExpressRouteCrossConnectionPaged',
'ExpressRouteCrossConnectionPeeringPaged',
'InterfaceEndpointPaged',
'LoadBalancerPaged',
'BackendAddressPoolPaged',
'FrontendIPConfigurationPaged',
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class EndpointService(Model):
"""Identifies the service being brought into the virtual network.

:param id: A unique identifier of the service being referenced by the
interface endpoint.
:type id: str
"""

_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}

def __init__(self, **kwargs):
super(EndpointService, self).__init__(**kwargs)
self.id = kwargs.get('id', None)
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class EndpointService(Model):
"""Identifies the service being brought into the virtual network.

:param id: A unique identifier of the service being referenced by the
interface endpoint.
:type id: str
"""

_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
}

def __init__(self, *, id: str=None, **kwargs) -> None:
super(EndpointService, self).__init__(**kwargs)
self.id = id
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from .resource import Resource


class InterfaceEndpoint(Resource):
"""Interface endpoint resource.

Variables are only populated by the server, and will be ignored when
sending a request.

:param id: Resource ID.
:type id: str
:ivar name: Resource name.
:vartype name: str
:ivar type: Resource type.
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param fqdn: A first-party service's FQDN that is mapped to the private IP
allocated via this interface endpoint.
:type fqdn: str
:param endpoint_service: A reference to the service being brought into the
virtual network.
:type endpoint_service:
~azure.mgmt.network.v2018_08_01.models.EndpointService
:param subnet: The ID of the subnet from which the private IP will be
allocated.
:type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource
:param network_interfaces: Gets an array of references to the network
interfaces created for this interface endpoint.
:type network_interfaces:
list[~azure.mgmt.network.v2018_08_01.models.SubResource]
:ivar owner: A read-only property that identifies who created this
interface endpoint.
:vartype owner: str
:param etag: Gets a unique read-only string that changes whenever the
resource is updated.
:type etag: str
"""

_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'owner': {'readonly': True},
}

_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'fqdn': {'key': 'properties.fqdn', 'type': 'str'},
'endpoint_service': {'key': 'properties.endpointService', 'type': 'EndpointService'},
'subnet': {'key': 'properties.subnet', 'type': 'SubResource'},
'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[SubResource]'},
'owner': {'key': 'properties.owner', 'type': 'str'},
'etag': {'key': 'etag', 'type': 'str'},
}

def __init__(self, **kwargs):
super(InterfaceEndpoint, self).__init__(**kwargs)
self.fqdn = kwargs.get('fqdn', None)
self.endpoint_service = kwargs.get('endpoint_service', None)
self.subnet = kwargs.get('subnet', None)
self.network_interfaces = kwargs.get('network_interfaces', None)
self.owner = None
self.etag = kwargs.get('etag', None)
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.paging import Paged


class InterfaceEndpointPaged(Paged):
"""
A paging container for iterating over a list of :class:`InterfaceEndpoint <azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint>` object
"""

_attribute_map = {
'next_link': {'key': 'nextLink', 'type': 'str'},
'current_page': {'key': 'value', 'type': '[InterfaceEndpoint]'}
}

def __init__(self, *args, **kwargs):

super(InterfaceEndpointPaged, self).__init__(*args, **kwargs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from .resource_py3 import Resource


class InterfaceEndpoint(Resource):
"""Interface endpoint resource.

Variables are only populated by the server, and will be ignored when
sending a request.

:param id: Resource ID.
:type id: str
:ivar name: Resource name.
:vartype name: str
:ivar type: Resource type.
:vartype type: str
:param location: Resource location.
:type location: str
:param tags: Resource tags.
:type tags: dict[str, str]
:param fqdn: A first-party service's FQDN that is mapped to the private IP
allocated via this interface endpoint.
:type fqdn: str
:param endpoint_service: A reference to the service being brought into the
virtual network.
:type endpoint_service:
~azure.mgmt.network.v2018_08_01.models.EndpointService
:param subnet: The ID of the subnet from which the private IP will be
allocated.
:type subnet: ~azure.mgmt.network.v2018_08_01.models.SubResource
:param network_interfaces: Gets an array of references to the network
interfaces created for this interface endpoint.
:type network_interfaces:
list[~azure.mgmt.network.v2018_08_01.models.SubResource]
:ivar owner: A read-only property that identifies who created this
interface endpoint.
:vartype owner: str
:param etag: Gets a unique read-only string that changes whenever the
resource is updated.
:type etag: str
"""

_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'owner': {'readonly': True},
}

_attribute_map = {
'id': {'key': 'id', 'type': 'str'},
'name': {'key': 'name', 'type': 'str'},
'type': {'key': 'type', 'type': 'str'},
'location': {'key': 'location', 'type': 'str'},
'tags': {'key': 'tags', 'type': '{str}'},
'fqdn': {'key': 'properties.fqdn', 'type': 'str'},
'endpoint_service': {'key': 'properties.endpointService', 'type': 'EndpointService'},
'subnet': {'key': 'properties.subnet', 'type': 'SubResource'},
'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[SubResource]'},
'owner': {'key': 'properties.owner', 'type': 'str'},
'etag': {'key': 'etag', 'type': 'str'},
}

def __init__(self, *, id: str=None, location: str=None, tags=None, fqdn: str=None, endpoint_service=None, subnet=None, network_interfaces=None, etag: str=None, **kwargs) -> None:
super(InterfaceEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs)
self.fqdn = fqdn
self.endpoint_service = endpoint_service
self.subnet = subnet
self.network_interfaces = network_interfaces
self.owner = None
self.etag = etag
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ class NetworkInterface(Resource):
resource.
:type network_security_group:
~azure.mgmt.network.v2018_08_01.models.NetworkSecurityGroup
:param interface_endpoint: A reference to the interface endpoint to which
the network interface is linked.
:type interface_endpoint:
~azure.mgmt.network.v2018_08_01.models.InterfaceEndpoint
:param ip_configurations: A list of IPConfigurations of the network
interface.
:type ip_configurations:
Expand All @@ -52,6 +56,11 @@ class NetworkInterface(Resource):
:param enable_ip_forwarding: Indicates whether IP forwarding is enabled on
this network interface.
:type enable_ip_forwarding: bool
:ivar hosted_workloads: A list of references to linked BareMetal resources
:vartype hosted_workloads: list[str]
:param linked_resource_type: The type of resource to be linked to this
network interface
:type linked_resource_type: str
:param resource_guid: The resource GUID property of the network interface
resource.
:type resource_guid: str
Expand All @@ -66,6 +75,7 @@ class NetworkInterface(Resource):
_validation = {
'name': {'readonly': True},
'type': {'readonly': True},
'hosted_workloads': {'readonly': True},
}

_attribute_map = {
Expand All @@ -76,12 +86,15 @@ class NetworkInterface(Resource):
'tags': {'key': 'tags', 'type': '{str}'},
'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'},
'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'},
'interface_endpoint': {'key': 'properties.interfaceEndpoint', 'type': 'InterfaceEndpoint'},
'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'},
'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'},
'mac_address': {'key': 'properties.macAddress', 'type': 'str'},
'primary': {'key': 'properties.primary', 'type': 'bool'},
'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'},
'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'},
'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'},
'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'},
'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'},
'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'},
'etag': {'key': 'etag', 'type': 'str'},
Expand All @@ -91,12 +104,15 @@ def __init__(self, **kwargs):
super(NetworkInterface, self).__init__(**kwargs)
self.virtual_machine = kwargs.get('virtual_machine', None)
self.network_security_group = kwargs.get('network_security_group', None)
self.interface_endpoint = kwargs.get('interface_endpoint', None)
self.ip_configurations = kwargs.get('ip_configurations', None)
self.dns_settings = kwargs.get('dns_settings', None)
self.mac_address = kwargs.get('mac_address', None)
self.primary = kwargs.get('primary', None)
self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None)
self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None)
self.hosted_workloads = None
self.linked_resource_type = kwargs.get('linked_resource_type', None)
self.resource_guid = kwargs.get('resource_guid', None)
self.provisioning_state = kwargs.get('provisioning_state', None)
self.etag = kwargs.get('etag', None)
Loading