PB.Docker-Images.psm1

function Docker-Images {
    <#
    .SYNOPSIS
       Lists Docker Images based on keyword on specific Host
    .EXAMPLE
        % docker-images (host) (image_name)
    #>


[PoshBot.BotCommand(
    CommandName = 'docker-images',
    Aliases = ('di', 'docker-images')
)]

[cmdletbinding()]
param(
    [parameter(ValueFromRemainingArguments = $true)]
    [string[]]$Arguments
)

$q = $Arguments -split ' '

$env:docker_host = "tcp://$($q[0]):2375"
$search =  "$($q[1])"

    if (!$search) {

    $images = docker images  | ConvertFrom-Docker

    }
    else {
    $images = docker images | ConvertFrom-Docker | where-object tag -like "*$search*"
    }
    New-PoshBotCardResponse -Type Normal -Title "Example Usage" -Text "% docker-images (host) {optional tag filter}"

    foreach ($image in $images) {
        $fields = @{
            Host = $q[0]
            Search = $q[1]
            Image = $image.ImageId
            Created = $image.Created
            Tag = $image.Tag
            Size = $image.Size
            Repository = $image.Repository
        }
        New-PoshBotCardResponse -Type Normal -Fields $fields
    }

}

Export-ModuleMember -Function 'Docker-Images'