oem/ami: make snapshots public

This is needed so that users can copy the public AMIs into their own
accounts.
This commit is contained in:
Alex Crawford 2016-11-02 13:50:36 -07:00
parent bc82a8185b
commit f649a32d48

View File

@ -86,21 +86,18 @@ publish_ami() {
source $DIR/marineam-auth.sh source $DIR/marineam-auth.sh
fi fi
# Only required for publishing to the marketplace local r_snapshotid=$(ec2-describe-images --region="$r" "$r_amiid" \
if [[ "$r" == "us-east-1" ]]; then | grep -E '^BLOCKDEVICEMAPPING.*/dev/(xv|s)da' | cut -f5) || true
local r_snapshotid=$(ec2-describe-images --region="$r" "$r_amiid" \
| grep -E '^BLOCKDEVICEMAPPING.*/dev/(xv|s)da' | cut -f5) || true
if [[ -z "${r_snapshotid}" ]]; then if [[ -z "${r_snapshotid}" ]]; then
echo "$0: Cannot find snapshot id for $r_amiid in $r" >&2 echo "$0: Cannot find snapshot id for $r_amiid in $r" >&2
return 1 return 1
fi
echo "Sharing snapshot $r_snapshotid in $r with Amazon"
ec2-modify-snapshot-attribute --region "$r" \
"$r_snapshotid" -c --add 679593333241
fi fi
echo "Making $r_snapshotid in $r public"
ec2-modify-snapshot-attribute --region "$r" \
"$r_snapshotid" --create-volume-permission --add all
echo "Making $r_amiid in $r public" echo "Making $r_amiid in $r public"
ec2-modify-image-attribute --region "$r" \ ec2-modify-image-attribute --region "$r" \
"$r_amiid" --launch-permission -a all "$r_amiid" --launch-permission -a all