Class: Stalkedbybean::Provision

Inherits:
Object
  • Object
show all
Defined in:
lib/stalkedbybean/provision.rb

Class Method Summary collapse

Class Method Details

.create_environmentObject



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

.parse_options(file_path, options) ⇒ Object



6
7
8
# File 'lib/stalkedbybean/provision.rb', line 6

def self.parse_options(file_path, options)
  @options = Stalkedbybean::Parser.parse_options(file_path, options)
end