Sha256: eaa8c594eca774ef7416a27d0d9fc2f144edd1de2be90d252aa704ee9ae2655a
Contents?: true
Size: 1.39 KB
Versions: 2
Compression:
Stored size: 1.39 KB
Contents
require 'thor' require 'awspec/setup' module Awspec class Generate < Thor types = %w( vpc ec2 rds security_group elb ) types.each do |type| desc type + ' [vpc_id]', "Generate #{type} spec from VPC ID (or VPC \"Name\" tag)" define_method type do |*args| load_secrets vpc_id = args.first eval "puts Awspec::Generator::Spec::#{type.to_camel_case}.new.generate_by_vpc_id(vpc_id)" end end desc 'route53_hosted_zone [example.com.]', 'Generate route53_hosted_zone spec from Domain name' def route53_hosted_zone(hosted_zone) load_secrets puts Awspec::Generator::Spec::Route53HostedZone.new.generate_by_domain_name(hosted_zone) end desc 'iam_policy', 'Generate attached iam_policy spec' def iam_policy load_secrets puts Awspec::Generator::Spec::IamPolicy.new.generate_all end no_commands do def load_secrets creds = YAML.load_file('spec/secrets.yml') if File.exist?('spec/secrets.yml') creds = YAML.load_file('secrets.yml') if File.exist?('secrets.yml') Aws.config.update({ region: creds['region'], credentials: Aws::Credentials.new( creds['aws_access_key_id'], creds['aws_secret_access_key']) }) if creds end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
awspec-0.10.1 | lib/awspec/command/generate.rb |
awspec-0.10.0 | lib/awspec/command/generate.rb |