Sha256: 58f6e4fd1bd151e21d916ffb9c3bbde7b921479ae22a9d2268cf113320db3777

Contents?: true

Size: 661 Bytes

Versions: 9

Compression:

Stored size: 661 Bytes

Contents

module AwsEc2::TemplateHelper::AmiHelper
  include AwsEc2::AwsServices

  # Example:
  #
  #   latest_ami("ruby-2.5.0_*") => ami-122
  #
  # Equivalent aws cli test command:
  #
  #   $ aws ec2 describe-images --owners self --filters="Name=name,Values=ruby-2.5.0_*" | jq '.Images | length'
  #
  # Returns latest ami ami
  def latest_ami(query, owners=["self"])
    images = search_ami(query, owners)
    image = images.sort_by(&:name).reverse.first
    image.image_id
  end

  def search_ami(query, owners=["self"])
    images = ec2.describe_images(
      owners: owners,
      filters: [
        {name: "name", values: [query]}
      ]
    ).images
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
aws-ec2-0.9.0 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.8.4 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.8.3 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.8.2 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.8.1 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.8.0 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.7.0 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.6.0 lib/aws_ec2/template_helper/ami_helper.rb
aws-ec2-0.5.2 lib/aws_ec2/template_helper/ami_helper.rb