Class: SOULs::Compute

Inherits:
Thor
  • Object
show all
Defined in:
lib/souls/cli/gcloud/compute/index.rb

Instance Method Summary collapse

Instance Method Details

#setup_vpc_natObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/souls/cli/gcloud/compute/index.rb', line 5

def setup_vpc_nat
  puts(Paint["Initializing NAT Setup This process might take about 10 min...", :yellow])
  SOULs::Gcloud.new.config_set
  create_network
  create_firewall_tcp(range: options[:range])
  create_firewall_ssh
  create_subnet(range: options[:range])
  create_connector
  create_router
  create_external_ip
  create_nat
  SOULs::Sql.new.invoke(:setup_private_ip)
  update_workflows
  update_env
  SOULs::Painter.success("Cloud NAT is All Set!")
  puts(
    Paint % [
      "Your Worker's External IP:  %{white_text}",
      :green,
      { white_text: [get_external_ip.to_s, :white] }
    ]
  )
  puts(Paint["\nYou can add this IP to third party white list", :white])
  puts(Paint["\nPlease git push to update your github workflow now!", :yellow])
  true
end