云形成到地形转换

Cloud formation to terraform conversion

我有以下代码要从 cloudformation 转换为 terraform:

云形成:

lbdServicesBInfoDurationAlarm:
    Type: 'AWS::CloudWatch::Alarm'
    Properties:
      AlarmName: lbdServicesBInfoDurationAlarm
      AlarmDescription: Alarm if elapsed wall clock time is too high
      AlarmActions:
        - !ImportValue 
          'Fn::Sub': '${EnvName}CWNotificationTopicARN'
      Dimensions:
        - Name: FunctionName
          Value: !Sub '${lbdServicesBInfoFunctionName}-${EnvName}'**
      Namespace: AWS/Lambda
      MetricName: Duration
      ComparisonOperator: GreaterThanThreshold
      EvaluationPeriods: '1'
      Period: '300'
      Statistic: Sum
      Threshold: '30000'
      TreatMissingData: missing

地形:

resource "aws_cloudwatch_metric_alarm" "lbdServicesBInfoDurationAlarm" {
  alarm_name                = "lbdServicesBInfoDurationAlarm"
  comparison_operator       = "GreaterThanThreshold"
  evaluation_periods        = "1"
  metric_name               = "Duration"
  namespace                 = "AWS/Lambda"
  period                    = "300"
  statistic                 = "Sum"
  threshold                 = "30000"
  alarm_description         = "Alarm if elapsed wall clock time is too high"
  treat_missing_data        = "missing"
  insufficient_data_actions = []
}

我不确定如何将 AlarmActions 和 Dimensions 从 CF 转换为 TF。任何帮助将不胜感激。

将这些属性转换为 Terraform 非常简单。这是一个例子:

resource "aws_cloudwatch_metric_alarm" "lbdServicesBInfoDurationAlarm" {
  alarm_name                = "lbdServicesBInfoDurationAlarm"
  comparison_operator       = "GreaterThanThreshold"
  evaluation_periods        = "1"
  metric_name               = "Duration"
  namespace                 = "AWS/Lambda"
  period                    = "300"
  statistic                 = "Sum"
  threshold                 = "30000"
  alarm_description         = "Alarm if elapsed wall clock time is too high"
  treat_missing_data        = "missing"
  alarm_actions             = ["${EnvName}CWNotificationTopicARN"]

  dimensions = {
      FunctionName = "${lbdServicesBInfoFunctionName}-${EnvName}"
  }
}