aws.ec2metadata is a package for retrieving Amazon EC2 instance metadata from within the running instance. The package simply contains a single R list, metadata
, that contains a number of functions for retrieving metadata from within an instance. Most of these functions return character strings, but some will return lists; they default to NULL
if no value is returned.
library("aws.ec2metadata")
# get instance id
metadata$instance_id()
# get ami id
metadata$ami_id()
# check for IAM role (NULL if none specified)
(role <- metadata$iam_info())
# get role credentials
if (!is.null(role)) {
metadata$iam_role("myrole")
}
# get an arbitrary metadata item
metadata$item("meta-data/placement/availability-zone")
This package is on CRAN, but to install the latest development version you can install from the cloudyr drat repository:
# latest stable version
install.packages("aws.ec2metadata", repos = c(cloudyr = "http://cloudyr.github.io/drat", getOption("repos")))
Or, to pull a potentially unstable version directly from GitHub:
if (!require("remotes")) {
install.packages("remotes")
}
remotes::install_github("cloudyr/aws.ec2metadata")