class RakeCloudspin::Tasks::DeploymentStatebucketTask
Public Instance Methods
config(args)
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 71 def config(args) configuration.for_overrides(args) end
define()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 8 def define define_terraform_tasks define_vars_task end
define_terraform_tasks()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 13 def define_terraform_tasks RakeTerraform.define_command_tasks do |t| t.configuration_name = "deployment-statebucket" t.source_directory = source_directory t.work_directory = 'work' t.vars = terraform_vars_builder t.state_file = local_state_path_builder end end
define_vars_task()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 27 def define_vars_task desc "Show terraform variables for deployment statebucket'" task :vars do |t, args| puts "Terraform variables for statebucket" puts "---------------------------------------" puts "#{terraform_vars_builder.call(args).to_yaml}" puts "---------------------------------------" puts "Local statefile path:" puts "---------------------------------------" puts "#{local_state_path_builder.call(args)}" puts "---------------------------------------" end end
local_state_path_builder()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 59 def local_state_path_builder lambda do |args| Paths.from_project_root_directory( 'state', config(args).deployment_identifier || 'delivery', config(args).component, 'deployment', "statebucket.tfstate" ) end end
source_directory()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 23 def source_directory File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'statebucket', 'infra')) end
terraform_vars_builder()
click to toggle source
# File lib/rake_cloudspin/tasks/deployment_statebucket_task.rb, line 41 def terraform_vars_builder lambda do |args| { 'region' => configuration.region, 'state_bucket_name' => Statebucket.build_bucket_name( estate: config(args).estate, deployment_identifier: config(args).deployment_identifier, component: config(args).component ), 'component' => config(args).component, 'estate' => config(args).estate, 'deployment_identifier' => config(args).deployment_identifier, 'aws_profile' => config(args).aws_profile, 'assume_role_arn' => config(args).statebucket_role_arn } end end