Class: Ufo::Cfn::Stack::Builder::Resources::Scaling::Policy
- Inherits:
-
Base
- Object
- Ufo::CLI::Base
- Base
- Base
- Base
- Ufo::Cfn::Stack::Builder::Resources::Scaling::Policy
- Defined in:
- lib/ufo/cfn/stack/builder/resources/scaling/policy.rb
Instance Attribute Summary
Attributes inherited from Base
Attributes inherited from Ufo::CLI::Base
Instance Method Summary collapse
Methods included from Ufo::Concerns::Autoscaling
#autoscaling, #autoscaling_enabled?
Methods inherited from Base
build, #initialize, #manage_ecs_security_group?, #managed_security_group, #security_groups
Methods included from Ufo::Concerns
Methods included from Ufo::Concerns::Names
Methods included from AwsServices
#acm, #applicationautoscaling, #aws_options, #cfn, #cloudwatchlogs, #ec2, #ecr, #ecs, #elb, #s3, #ssm_client, #waf_client
Methods included from AwsServices::Concerns
#find_stack, #find_stack_resources, #stack_resources, #status, #task_definition_arns
Methods inherited from Ufo::CLI::Base
Methods included from Utils::Sure
Methods included from Utils::Pretty
#pretty_home, #pretty_path, #pretty_time
Methods included from Utils::Logging
Constructor Details
This class inherits a constructor from Ufo::Cfn::Stack::Builder::Base
Instance Method Details
#build ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/ufo/cfn/stack/builder/resources/scaling/policy.rb', line 3 def build return unless autoscaling_enabled? text =" Type: AWS::ApplicationAutoScaling::ScalingPolicy\n Properties:\n PolicyName: !Sub \"${AWS::StackName}-auto-scaling-policy\"\n PolicyType: TargetTrackingScaling\n ScalingTargetId: !Ref ScalingTarget\n TargetTrackingScalingPolicyConfiguration:\n PredefinedMetricSpecification:\n PredefinedMetricType: \#{autoscaling.predefined_metric_type}\n TargetValue: \#{autoscaling.target_value}\n EOL\n\n attrs = Ufo::Yaml.load(text).deep_symbolize_keys\n props = attrs[:Properties]\n conf = props[:TargetTrackingScalingPolicyConfiguration]\n conf[:ScaleInCooldown] = autoscaling.scale_in_cooldown if autoscaling.scale_in_cooldown\n conf[:ScaleOutCooldown] = autoscaling.scale_out_cooldown if autoscaling.scale_out_cooldown\n\n attrs\nend\n" |