Syntax ansible剧本最后一行的语法错误

Syntax ansible剧本最后一行的语法错误,syntax,ansible,Syntax,Ansible,全部,, 我的剧本差不多准备好了。只有带alias的最后一行给了我问题。我试图在yaml语法检查器中查看我做错了什么,但仍然无法找到它。知道我做错了什么吗?我试着逃离正斜杠,但还是没有成功:( 一般来说,我不善于发现语法错误。因此,请欣赏你们在发现问题时提供的任何线索 tasks: - name: Create a KMS key for using the aws cli command: 'aws kms create-key --profile="{{ aws_pr

全部,, 我的剧本差不多准备好了。只有带alias的最后一行给了我问题。我试图在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 }}"'

这里出现问题的原因是由于在最后一行中使用了单引号,因为它们没有被转义,导致解析错误

工作解决方案包括删除不必要的引用,导致以下情况:


'aws kms创建别名--别名“alias/anothernewkeydetailskey”--目标密钥id“{{newkeydetails.KeyMetadata.KeyId}}”--profile=“{{aws_profile}}”--region=“{{aws_region}”

这个问题可能是由于没有转义最后一行中的单引号造成的吗?也许下面的方法可以奏效?
'aws kms创建别名--别名“alias/anothernewkeydetailskey”--目标密钥id“{{newkeydetails.KeyMetadata.KeyId}”--profile=“{aws_profile}”--region=“{aws_region}”
另外,如果您想知道我正在尝试做什么。我正在尝试使用命令模块创建一个新的AWS KMS密钥,然后为该密钥创建别名。感谢您的帮助Andrew。是的,您是正确的。这就是让我工作的原因:命令:“AWS KMS创建别名--别名”别名/anothernewkeydetailskey”--目标密钥id{{newkeydetails.KeyMetadata.KeyId}--profile=“{{aws_profile}}”--region=“{{aws_region}}”