def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, id: Optional[pulumi.Input[str]]=None, location: Optional[pulumi.Input[str]]=None, manual_private_link_service_connections: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionArgs']]]]]=None, private_endpoint_name: Optional[pulumi.Input[str]]=None, private_link_service_connections: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionArgs']]]]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, subnet: Optional[pulumi.Input[pulumi.InputType['SubnetArgs']]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, __props__=None):
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = PrivateEndpointArgs.__new__(PrivateEndpointArgs)
        __props__.__dict__['id'] = id
        __props__.__dict__['location'] = location
        __props__.__dict__['manual_private_link_service_connections'] = manual_private_link_service_connections
        __props__.__dict__['private_endpoint_name'] = private_endpoint_name
        __props__.__dict__['private_link_service_connections'] = private_link_service_connections
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__.__dict__['resource_group_name'] = resource_group_name
        __props__.__dict__['subnet'] = subnet
        __props__.__dict__['tags'] = tags
        __props__.__dict__['etag'] = None
        __props__.__dict__['name'] = None
        __props__.__dict__['network_interfaces'] = None
        __props__.__dict__['provisioning_state'] = None
        __props__.__dict__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:network/v20190901:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20180801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20180801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181001:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181001:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190401:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190401:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190601:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190601:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190701:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190701:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20191101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20191101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20191201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20191201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200301:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200301:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200401:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200401:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200501:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200501:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200601:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200601:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200701:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200701:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20201101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20201101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20210201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20210201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20210301:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20210301:PrivateEndpoint')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(PrivateEndpoint, __self__).__init__('azure-native:network/v20190901:PrivateEndpoint', resource_name, __props__, opts)
def _internal_init(__self__, resource_name: str, opts: Optional[pulumi.ResourceOptions]=None, id: Optional[pulumi.Input[str]]=None, location: Optional[pulumi.Input[str]]=None, manual_private_link_service_connections: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionArgs']]]]]=None, private_endpoint_name: Optional[pulumi.Input[str]]=None, private_link_service_connections: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['PrivateLinkServiceConnectionArgs']]]]]=None, resource_group_name: Optional[pulumi.Input[str]]=None, subnet: Optional[pulumi.Input[pulumi.InputType['SubnetArgs']]]=None, tags: Optional[pulumi.Input[Mapping[(str, pulumi.Input[str])]]]=None, __props__=None):
    if (opts is None):
        opts = pulumi.ResourceOptions()
    if (not isinstance(opts, pulumi.ResourceOptions)):
        raise TypeError('Expected resource options to be a ResourceOptions instance')
    if (opts.version is None):
        opts.version = _utilities.get_version()
    if (opts.id is None):
        if (__props__ is not None):
            raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
        __props__ = PrivateEndpointArgs.__new__(PrivateEndpointArgs)
        __props__.__dict__['id'] = id
        __props__.__dict__['location'] = location
        __props__.__dict__['manual_private_link_service_connections'] = manual_private_link_service_connections
        __props__.__dict__['private_endpoint_name'] = private_endpoint_name
        __props__.__dict__['private_link_service_connections'] = private_link_service_connections
        if ((resource_group_name is None) and (not opts.urn)):
            raise TypeError("Missing required property 'resource_group_name'")
        __props__.__dict__['resource_group_name'] = resource_group_name
        __props__.__dict__['subnet'] = subnet
        __props__.__dict__['tags'] = tags
        __props__.__dict__['etag'] = None
        __props__.__dict__['name'] = None
        __props__.__dict__['network_interfaces'] = None
        __props__.__dict__['provisioning_state'] = None
        __props__.__dict__['type'] = None
    alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_='azure-nextgen:network/v20190901:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20180801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20180801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181001:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181001:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20181201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20181201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190401:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190401:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190601:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190601:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190701:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190701:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20190801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20190801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20191101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20191101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20191201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20191201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200301:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200301:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200401:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200401:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200501:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200501:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200601:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200601:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200701:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200701:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20200801:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20200801:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20201101:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20201101:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20210201:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20210201:PrivateEndpoint'), pulumi.Alias(type_='azure-native:network/v20210301:PrivateEndpoint'), pulumi.Alias(type_='azure-nextgen:network/v20210301:PrivateEndpoint')])
    opts = pulumi.ResourceOptions.merge(opts, alias_opts)
    super(PrivateEndpoint, __self__).__init__('azure-native:network/v20190901:PrivateEndpoint', resource_name, __props__, opts)