10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/stalkedbybean/provision.rb', line 10
def self.create_environment
puts "provisioning app #{@options[:app_name]} in AWS region #{@options[:aws_region]} for environment #{@options[:environment]}"
system(
<<~HEREDOC
eb create #{@options[:app_name]}-#{@options[:environment]} \
--profile #{@options[:aws_profile]} \
--region #{@options[:aws_region]} \
-p #{@options[:platform_arn]} \
-i #{@options[:instance_size]} \
-ip #{@options[:app_name]}-#{@options[:environment]}-#{@options[:aws_region]}-beanstalk-EC2 \
-sr aws-elasticbeanstalk-service-role \
--tags project=#{@options[:app_name]},environment=#{@options[:environment]} \
--scale #{@options[:instance_count]} \
--elb-type #{@options[:elb_type]} \
--vpc.id #{@options[:vpc_id]} \
--vpc.elbpublic \
--vpc.ec2subnets #{@options[:vpc_ec2_subnets].join(',')} \
--vpc.elbsubnets #{@options[:vpc_elb_subnets].join(',')} \
--vpc.securitygroups #{@options[:vpc_security_groups].join(',')} \
--version #{@options[:version]} \
--envvars #{@options[:env_vars]} \
--keyname #{@options[:key_name]}
HEREDOC
)
end
|