Giter VIP home page Giter VIP logo

ami-resource's Introduction

AMI Update Resource

A Concourse CI resource to check for new Amazon Machine Images (AMI).

Source Configuration

  • aws_access_key_id: Your AWS access key ID.

  • aws_secret_access_key: Your AWS secret access key.

  • region: Required. The AWS region to search for AMIs.

  • owners: A list of owners to filter for. See the --owners flag in the AWS CLI describe-images documentation.

  • filters: Required. A map of named filters to their values. Check the AWS CLI describe-images documentation for a complete list of acceptable filters and values.

If aws_access_key_id and aws_secret_access_key are both absent, AWS CLI will fall back to other authentication mechanisms. See Configuration setting and precedence

Behaviour

check: Check for new AMIs

Searches for AMIs that match the provided source filters, ordered by their creation date. The AMI ID serves as the resulting version.

Parameters

None.

in: Fetch the description of an AMI

Places the following files in the destination:

  • output.json: The complete AMI description object in JSON format. Check the AWS CLI describe-images documentation for examples.

  • id: A plain text file containing the AMI ID, e.g. ami-5731123e

  • packer.json: The AMI ID in Packer var-file input format, typically for use with packer-resource, e.g.

    {"source_ami": "ami-5731123e"}

out: Check that an AMI exists

For bookkeeping in Concourse—generates a new version immediately so it can be passed to the next job in a pipeline without needing a check to run. Expects a JSON file at input/json with an object containing an ImageId property e.g.

{
  "ImageId": "ami-...",
  ...
}

input can be overridden with the put params input e.g.

put: my-image
params:
  input: other-input

in which case the JSON file is expected at other-input/json.

Parameters

None.

Example

This pipeline will check for a new Ubuntu 14.04 LTS AMI in the Sydney region every hour, triggering the next step of the build plan if it finds one.

resource_types:
- name: ami
  type: docker-image
  source:
    repository: jdub/ami-resource

resources:
- name: ubuntu-ami
  type: ami
  check_every: 1h
  source:
    aws_access_key_id: "..."
    aws_secret_access_key: "..."
    region: ap-southeast-2
    filters:
      owner-id: "099720109477"
      is-public: true
      state: available
      name: ubuntu/images/hvm-ssd/ubuntu-trusty-*server*

jobs:
- name: my-ami
  plan:
  - get: ubuntu-ami
    trigger: true
  - task: build-fresh-image
    ...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.