def METHOD_NAME(region: Optional[str] = None,
                    resource_group_name: Optional[str] = None,
                    web_service_name: Optional[str] = None,
                    opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetWebServiceResult:
    """
    Gets the Web Service Definition as specified by a subscription, resource group, and name. Note that the storage credentials and web service keys are not returned by this call. To get the web service access keys, call List Keys.
    Azure REST API version: 2017-01-01.
    :param str region: The region for which encrypted credential parameters are valid.
    :param str resource_group_name: Name of the resource group in which the web service is located.
    :param str web_service_name: The name of the web service.
    """
    __args__ = dict()
    __args__['region'] = region
    __args__['resourceGroupName'] = resource_group_name
    __args__['webServiceName'] = web_service_name
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:machinelearning:getWebService', __args__, opts=opts, typ=GetWebServiceResult).value
    return AwaitableGetWebServiceResult(
        id=pulumi.get(__ret__, 'id'),
        location=pulumi.get(__ret__, 'location'),
        name=pulumi.get(__ret__, 'name'),
        properties=pulumi.get(__ret__, 'properties'),
        tags=pulumi.get(__ret__, 'tags'),
        type=pulumi.get(__ret__, 'type'))