def METHOD_NAME(artifact_name: Optional[str] = None,
                          blueprint_name: Optional[str] = None,
                          resource_scope: Optional[str] = None,
                          opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetTemplateArtifactResult:
    """
    Get a blueprint artifact.
    Azure REST API version: 2018-11-01-preview.
    :param str artifact_name: Name of the blueprint artifact.
    :param str blueprint_name: Name of the blueprint definition.
    :param str resource_scope: The scope of the resource. Valid scopes are: management group (format: '/providers/Microsoft.Management/managementGroups/{managementGroup}'), subscription (format: '/subscriptions/{subscriptionId}').
    """
    __args__ = dict()
    __args__['artifactName'] = artifact_name
    __args__['blueprintName'] = blueprint_name
    __args__['resourceScope'] = resource_scope
    opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
    __ret__ = pulumi.runtime.invoke('azure-native:blueprint:getTemplateArtifact', __args__, opts=opts, typ=GetTemplateArtifactResult).value
    return AwaitableGetTemplateArtifactResult(
        depends_on=pulumi.get(__ret__, 'depends_on'),
        description=pulumi.get(__ret__, 'description'),
        display_name=pulumi.get(__ret__, 'display_name'),
        id=pulumi.get(__ret__, 'id'),
        kind=pulumi.get(__ret__, 'kind'),
        name=pulumi.get(__ret__, 'name'),
        parameters=pulumi.get(__ret__, 'parameters'),
        resource_group=pulumi.get(__ret__, 'resource_group'),
        template=pulumi.get(__ret__, 'template'),
        type=pulumi.get(__ret__, 'type'))