Ansible剧本最后一行的语法错误

时间:2018-08-08 02:27:06

标签: syntax ansible

全部, 我的剧本快要准备好了。只有带有别名的最后一行才给我问题。我试图查看我在yaml语法检查器中做错了什么,但仍然找不到它。任何线索我在做什么错?我尝试转义正斜线,但还是没有运气:(

我很难找到一般的语法错误。因此,感谢您发现问题的任何线索。

  tasks:
    - name: Create a KMS key for using the aws cli
      command: 'aws kms create-key --profile="{{ aws_profile }}" --region="{{ aws_region }}"'
      register: newkeydetails

    - name: Display the values for the variable output
      set_fact: newkeydetails="{{ newkeydetails.stdout | from_json }}"

    - name: Display the value of keyid
      debug:
        msg: "{{ newkeydetails.KeyMetadata.KeyId }}"

    - name: Create a alias name for KMS key  using the aws cli
      command: 'aws kms create-alias --alias-name 'alias/anothernewkeydetailskey' --target-key-id '"{{ newkeydetails.KeyMetadata.KeyId }}"' --profile="{{ aws_profile }}" --region="{{ aws_region }}"'

1 个答案:

答案 0 :(得分:1)

出现此问题的原因是由于最后一行使用了单引号,因为它们没有转义,从而导致解析错误。

有效的解决方案涉及删除不必要的引号,从而导致以下结果:

'aws kms create-alias --alias-name "alias/anothernewkeydetailskey" --target-key-id "{{ newkeydetails.KeyMetadata.KeyId }}" --profile="{{ aws_profile }}" --region="{{ aws_region }}"