seidl - display current SUSE publiccloud images in your terminal

seidl is a small pint query utility designed to easily list the current publiccloud images in the terminal. Pint (Public Cloud Information Tracker) is the SUSE service to provide data about the current state of publiccloud images across all supported public cloud service providers. The public-cloud-info-client is an already existing versitale client, however I find its usage a bit bulky if it comes to the task of displaying the current images. This is where seidl complements the existing client. See for yourself:

seidl in action

seidl is named after a small beer quantity in Austria because it’s slightly smaller than a pint. See Wikipedia.

TL;DR

Project page: https://github.com/grisu48/seidl | Binaries: Releases

Usage:

seidl [OPTIONS] CSP...

Simple query

seidl gce                         # List all current GCE images
seidl azure                       # List all current Azure images
seidl -r eu-west-1 ec2            # List all current AWS images in eu-west-1

Filtering

seidl -f 'sap' -r eu-west-1 ec2   # List all SAP images in the eu-west-1 region on AWS
seidl -f 'sles,15-sp2' gce        # Filter for "sles" and for "15-sp2" on GCE

Valid options for the CSP are:

Google Cloud Platform:             g, gce, gcp, google
Azure:                             m, az, azure, microsoft
Amazon Web Services:               a, aws, ec2, amazon

seidl is written in pure go with no dependencies, and is therefore easy to build yourself via the provided Makefile (lazy way: make seidl install).

For Tumbleweed there is a package available in the main package repository:

zypper in seidl                    # Tumbleweed only at the moment

Pre-build binaries for other Linux platforms are available on the releases page or via

wget https://github.com/grisu48/seidl/releases/download/v0.1/seidl
chmod +x seidl
./seidl -h

Usage

Usage: seidl [OPTIONS] CSP...

The basic usage is to query all current images of a specific cloud service provider (CSP):

seidl gce
seidl azure
seidl -r eu-west-1 ec2            # Amazon requires a region

seidl tries to match various widely used names for its CSP. This is why az,azure and microsoft are all matching for Azure, ec2,aws or amazon for AWS and gce, gcp, google or simply g for the Google Cloud Platform. The aim is to make it intuitive for the users to use, without having to remember a specific wording for this utility.

For Amazon/EC2, the tool requires a region to be defined (-r or --region), because the image AMIs are region dependent. You can use seidl --list-aws-regions to display all AWS regions.

seidl --list-aws-regions

In addition, seidl supports filtering images by providing a comma-separated list of substrings, e.g.

seidl -f 'sap' -r eu-west-1 ec2       # Filter for images containing "sap"
seidl -f 'sles,15-sp2' gce            # "sles" and "15-sp2" must be present

Important: OPTIONS must be present BEFORE the CSP name. This is required, as the tool supports multiple request at the same time, and each CSP can have it’s own set of options:

$ seidl -f 15-sp2 gce -f sap -r eu-west-1 ec2
| Name                                                       | Project                                  | State                |
sles-15-sp2-byos-v20220126                                   | suse-byos-cloud                          | inactive            
sles-15-sp2-chost-byos-v20220126                             | suse-byos-cloud                          | inactive            
sles-15-sp2-sap-byos-v20220126                               | suse-byos-cloud                          | inactive            
sles-15-sp2-sap-v20220126                                    | suse-sap-cloud                           | inactive            
| ID                      | Name                                                         | State                |
ami-06c5ae96e17d6d72f     | suse-sles-15-sp1-sapcal-v20220128-hvm-ssd-x86_64             | inactive            
ami-0ae79a786c6c3d7b5     | suse-sles-15-sp3-sapcal-v20220419-hvm-ssd-x86_64             | active              
ami-06417e78e96ee8667     | suse-sles-sap-12-sp4-byos-v20220201-hvm-ssd-x86_64           | inactive            
ami-0962592be7449be49     | suse-sles-sap-12-sp4-v20220304-hvm-ssd-x86_64                | inactive            
ami-053ca34a3b90a782b     | suse-sles-sap-12-sp5-byos-v20220429-hvm-ssd-x86_64           | active              
ami-0089c048670ed2fd4     | suse-sles-sap-12-sp5-v20220305-hvm-ssd-x86_64                | active              
ami-0afeaa2872bc05302     | suse-sles-sap-15-byos-v20220131-hvm-ssd-x86_64               | inactive            
ami-05fb8fa3ed3d80cd8     | suse-sles-sap-15-sp1-byos-v20220131-hvm-ssd-x86_64           | inactive            
ami-00cc2a3d10de33ac4     | suse-sles-sap-15-sp1-v20220304-hvm-ssd-x86_64                | inactive            
ami-0cda4818e94b2acf3     | suse-sles-sap-15-sp2-byos-v20220131-hvm-ssd-x86_64           | inactive            
ami-071cfba4768821b39     | suse-sles-sap-15-sp2-v20220304-hvm-ssd-x86_64                | inactive            
ami-0460361da8c4dcaba     | suse-sles-sap-15-sp3-byos-v20220418-hvm-ssd-x86_64           | active              
ami-00c637ad70554f53d     | suse-sles-sap-15-sp3-v20220419-hvm-ssd-x86_64                | active              
ami-0f3c4af510e3f551a     | suse-sles-sap-15-v20220304-hvm-ssd-x86_64                    | inactive

Installation

seidl is available in the Tumbleweed package repository:

zypper in seidl                  # Tumbleweed

For other platforms I provide a binary in its github repository releases:

# Note: don't trust binaries from a random dude from the internet :-)
wget https://github.com/grisu48/seidl/releases/download/v0.1/seidl
chmod +x seidl
./seidl -h

Alternatively, building yourself is trivially easy, as seidl requires no external dependencies. It’s pure go. Build instructions are present in the Github repository but it’s as simple as

git clone https://github.com/grisu48/seidl.git
cd seidl
make
make install                         # installs it to ~/bin