Class: RakeCloudspin::Tasks::DeploymentStatebucketTask
Instance Method Summary
collapse
#check_required, check_required_for, #initialize, parameter, parameter_definitions, #process_arguments, #process_block, #setup_defaults, setup_defaults_for
Instance Method Details
#config(args) ⇒ Object
71
72
73
|
# File 'lib/rake_cloudspin/tasks/deployment_statebucket_task.rb', line 71
def config(args)
configuration.for_overrides(args)
end
|
#define ⇒ Object
8
9
10
11
|
# File 'lib/rake_cloudspin/tasks/deployment_statebucket_task.rb', line 8
def define
define_terraform_tasks
define_vars_task
end
|
13
14
15
16
17
18
19
20
21
|
# 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 ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# 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 ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
|
# 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 ⇒ Object
23
24
25
|
# 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
|
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# 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
|