123456789101112131415161718192021222324252627282930313233 |
- # EC2 sample
- class ec2utils {
- # This must include the path to the Amazon EC2 tools
- $ec2path = ["/usr/bin", "/bin", "/usr/sbin", "/sbin",
- "/opt/ec2/ec2-api-tools/bin",
- "/opt/ec2/aws-elb-tools/bin"]
- define elasticip ($instanceid, $ip)
- {
- exec { "ec2-associate-address-$name":
- logoutput => on_failure,
- environment => $ec2utils::ec2env,
- path => $ec2utils::ec2path,
- command => "ec2assocaddr $ip \
- -i $instanceid",
- # Only do this when necessary
- unless => "test `ec2daddr $ip | awk '{print \$3}'` == $instanceid",
- }
- }
- mount { "$mountpoint":
- device => $devicetomount,
- ensure => mounted,
- fstype => $fstype,
- options => $mountoptions,
- require => [ Exec["ec2-attach-volume-$name"],
- File["$mountpoint"]
- ],
- }
- }
|