Terraform 云形成到地形转换

Terraform 云形成到地形转换,terraform,terraform-provider-aws,Terraform,Terraform Provider Aws,我有以下代码要从cloudformation转换为terraform: 云形成: lbdServicesBInfoDurationAlarm: Type: 'AWS::CloudWatch::Alarm' Properties: AlarmName: lbdServicesBInfoDurationAlarm AlarmDescription: Alarm if elapsed wall clock time is too high Alarm

我有以下代码要从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 = []
}
地形:

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和维度从CF转换为TF。任何帮助都将不胜感激。

将这些属性转换为地形非常简单。以下是一个例子:

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}"
  }
}

当前TF代码有什么问题?我没有在TFT中添加AlarmActions和维度谢谢您的帮助!