Checks/Aws/Test-Ec2LaunchTemplateImdsv2Required.ps1

function Test-Ec2LaunchTemplateImdsv2Required {
    <#
    .SYNOPSIS
        EC2 launch template has IMDSv2 enabled and required or instance metadata service disabled

    .DESCRIPTION
        EC2 launch templates are inspected for **Instance Metadata Service** configuration. It identifies versions where `http_endpoint` is `enabled` and `http_tokens` is `required` (IMDSv2 enforced), versions with the metadata service `disabled`, and versions that allow metadata without requiring tokens.

    .PARAMETER Check
        CIEMCheck object containing check metadata.
    #>

    [CmdletBinding()]
    [OutputType([PSCustomObject[]])]
    param(
        [Parameter(Mandatory)]
        [CIEMCheck]$Check
    )

    $ErrorActionPreference = 'Stop'

    # TODO: Implement check logic based on Prowler check: ec2_launch_template_imdsv2_required

    [CIEMScanResult]::Create($Check, 'MANUAL', 'This check requires manual implementation. See Prowler check ec2_launch_template_imdsv2_required for reference.', 'N/A', 'ec2 Resources')
}