Class: Aws::RailsProvisioner::Views::FargateStack
- Inherits:
-
Aws::RailsProvisioner::View
- Object
- Mustache
- Aws::RailsProvisioner::View
- Aws::RailsProvisioner::Views::FargateStack
- Defined in:
- lib/aws-rails-provisioner/views/fargate_stack.rb
Instance Attribute Summary collapse
- #source_path ⇒ String readonly
- #stack_prefix ⇒ String readonly
Instance Method Summary collapse
- #db_cluster ⇒ Object
- #fargate ⇒ Object
-
#initialize(options = {}) ⇒ FargateStack
constructor
Fargate Stack Generation.
- #packages ⇒ Object
- #scaling ⇒ Object
- #services ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ FargateStack
Fargate Stack Generation
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 24 def initialize( = {}) # code gen only @service_name = [:service_name] @path_prefix = [:path_prefix] @stack_prefix = [:stack_prefix] @profile = [:profile] dir = File.dirname(File.([:file_path])) @source_path = File.join(dir, [:source_path]) @rds_config = [:db_cluster] || {} @fargate_config = [:fargate] || {} @scaling_config = [:scaling] || {} end |
Instance Attribute Details
#source_path ⇒ String (readonly)
42 43 44 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 42 def source_path @source_path end |
#stack_prefix ⇒ String (readonly)
39 40 41 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 39 def stack_prefix @stack_prefix end |
Instance Method Details
#db_cluster ⇒ Object
73 74 75 76 77 78 79 80 81 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 73 def db_cluster if @rds_config && !@rds_config.empty? unless @rds_config[:username] @rds_config[:username] = "#{stack_prefix}DBAdminUser" end @rds_config[:profile] = @profile if @profile Aws::RailsProvisioner::DBCluster.new(@rds_config) end end |
#fargate ⇒ Object
83 84 85 86 87 88 89 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 83 def fargate if @rds_config && !@rds_config.empty? @fargate_config[:has_db] = true end @fargate_config[:service_name] = @stack_prefix Aws::RailsProvisioner::Fargate.new(@fargate_config) end |
#packages ⇒ Object
68 69 70 71 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 68 def packages keys = services.map {|svc| svc[:value] } Aws::RailsProvisioner::Utils.to_pkgs(keys) end |
#scaling ⇒ Object
91 92 93 94 95 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 91 def scaling if @scaling_config && !@scaling_config.empty? Aws::RailsProvisioner::Scaling.new(@scaling_config) end end |
#services ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/aws-rails-provisioner/views/fargate_stack.rb', line 44 def services base = [ { abbr: 'ec2', value: 'ec2' }, { abbr: 'ecs', value: 'ecs' }, { abbr: 'ecs_patterns', value: 'ecs-patterns' }, { abbr: 'ecr_assets', value: 'ecr-assets' }, { abbr: 'rds', value: 'rds' } ] if @fargate_config && @fargate_config[:certificate] base << { abbr: 'certificatemanager', value: 'certificatemanager' } end if @scaling_config && (@scaling_config[:on_metric] || @scaling_config[:on_custom_metric]) base << { abbr: 'cloudwatch', value: 'cloudwatch' } end if @rds_config && !@rds_config.empty? base << { abbr: 'secretsmanager', value: 'secretsmanager' } if @rds_config[:kms_key_arn] base << { abbr: 'kms', value: 'kms'} end end base end |