Ec2Meta
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file lib/ec2_meta
. To experiment with that code, run bin/console
for an interactive prompt.
Installation
Add this line to your application's Gemfile:
gem 'ec2_meta'
And then execute:
$ bundle
Or install it yourself as:
$ gem install ec2_meta
Usage
Get Client
# without options
client = Ec2Meta.client
# with all options
client = Ec2Meta.client(
logger: Logger.new($stdout),
fail_on_not_found: true
)
options
name | default | description |
---|---|---|
logger | Ec2Meta::NullLogger.new | Pass your logger if you want |
fail_on_not_found | false | If set true, raise error on metadata not found. |
Get Meta
Currently supports all of Instance metadata
on Instance Metadata and User Data - Instance Metadata Categories at this time.
Sample Code
You can fetch meta data like below.
# fetch ami-id
client.ami_id
# fetch hostname
client.hostname
# fetch vpc_id for first network interface
client.network.interfaces.macs(0).vpc_id
When meta data not found, return nil
if fail_on_not_found
is not true.
License
MIT License
Contributing
- Fork it ( https://github.com/[my-github-username]/ec2_meta/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request