如何使用aws-sdk为扩展组中的扩展策略分配警报

时间:2014-02-26 09:52:47

标签: ruby amazon-ec2 aws-cli

我正在使用ruby脚本来帮助管理AWS EC2上的AutoScaling。我已设法创建AMI,创建LaunchConfigurations,创建ScalingGroups,并相互关联。

我正在尝试克隆扩展组,复制其启动配置,负载平衡器等及其扩展策略。

要复制其扩展策略,我有以下代码:

orig_scaling_group.scaling_policies.each do |policy|
  props = Hash[%i(adjustment_type scaling_adjustment cooldown min_adjustment_step alarms).map { |s| [s, policy.send(s)] }.reject { |k, v| v.nil? }]
  clone_scaling_group.scaling_policies[policy.name].put(props)
end

(scaling_groups是AWS::AutoScaling::Group)的实例

这将覆盖原始的扩展策略,并从中提取数据,并将其设置为克隆扩展组中的新策略。

这样可以正常工作,但它不会将警报复制到新策略。无论如何,我无法找到可以通过编程方式为扩展策略分配警报的方法。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

  

无论如何,我无法找到我可以通过编程方式为扩展策略分配警报。

我将限制我对上述陈述的回应。

AWS Core Ruby SDK put_metric_alarm-instance_method API下,您可以使用alarm_actions方法。从上面提到的文件:

enter image description here

请注意,以上信息与 AWS CORE SDK Ruby 相关,而不是旧的 AWS ruby​​ SDK

对于AWS-CLI,可以使用put-metric-alarm --alarm-actions选项找到类似的设置。

不确定这是否是您正在寻找的,但在这里我当然可以看到为Autoscaling策略分配警报的编程方式。

希望这有帮助。