#!/bin/sh

for i in $(seq 1 10); do
    VPC_PEERING_ENABLED=$(curl -fs --connect-timeout 5 169.254.169.254/metadata/v1/features/vpc_peering_enabled)
    if [ $? -ne 0 ]; then
        sleep 5
        continue
    fi

    if [ "${VPC_PEERING_ENABLED}" != "true" ]; then
        exit 0
    fi

    VPC_GATEWAY_IP=$(curl -fs --connect-timeout 5 169.254.169.254/metadata/v1/interfaces/private/0/ipv4/gateway)
    if [ $? -ne 0 ]; then
        sleep 5
        continue
    fi

    ip route replace 192.168.0.0/16 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101 && \
        ip route replace 10.0.0.0/8 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101 && \
        ip route replace 172.16.0.0/12 via "${VPC_GATEWAY_IP}" dev eth1 mtu 1500 metric 101;
    if [ $? -eq 0 ]; then
        exit 0
    fi

    sleep 5
done

exit 1
