왜 나를 보고'했는지 예상되는 노드의 콘텐츠'를 구현할 때는 이 조건에 Cloudformation?

0

질문

나를 검색하려는 다른 resourceRecords 는지 여부에 따라 제 조건이 사실,다른 사람을 변경하는 경우 문자열 이름이 다른 것입니다. 여기에 내가 예제:

myDNSresource:
    Type: AWS::Route53::RecordSet
    Condition: devEnv
    Properties:
      HostedZoneName: {"Fn::ImportValue": !Sub "${stackName}-${AWS::Region}-dnsZone"}
      Name: !Join [".", [!Ref hostname, {"Fn::ImportValue": !Sub "${stackname}-${AWS::Region}-dnsZone"}]]
      Type: CNAME
      TTL: 130
      ResourceRecords:
        - !If [conditionIsTrue, !Join [".", [{"Fn::ImportValue": !Sub "${accountStackName}-${AWS::Region}-dnsZone"}]],
            - !Join
            - ""
            - - !GetAtt
              - domainName
              - regionalValue
              - "." 
        ]

내가 실행 cfn 린 및 나보고 오류에 대한 did not find expected node content!Join 명령,후 직접 나 !If 문입니다. 나는 다음과 같은 조건의 공식->

!If [condition_name, value_if_true, value_if_false]

감사

1

최고의 응답

1

YAML,흐름 스타일의 노드(즉 […], {…})포함할 수 없습니다 차단 스타일의 노드(즉,모든 구조적으로 들여쓰기). 또한,여러 개 있는 구조를 만들지 않는,예를 들어,

- !Join
- ""

여기에 첫 번째 항목은 태그가 !Join 그러나 빈 그래서 아무 것도 가입했습니다. 한

- !GetAtt
- domainName

다시 작성하는 것을 의미 것

- !If
  - conditionIsTrue
  - !Join [".", ["Fn::ImportValue": !Sub "${accountStackName}-${AWS::Region}-dnsZone"]]
  - !Join
    - ""
    - !GetAtt
      - domainName
      - regionalValue
      - "." 

당신이 볼 수 있듯이,저는 삭제 내부 {…} 기 때문에 YAML 지원 [a: b] 로 속기 기법 [{a: b}].

를 사용하려면 흐름 스타일의 노드 만들기 위해 필요한 모든 포함된 노드의 흐름 스타일의:

- !If [
    conditionIsTrue, 
    !Join [
      ".",
      ["Fn::ImportValue": !Sub "${accountStackName}-${AWS::Region}-dnsZone"]
    ],
    !Join ["", !GetAtt [domainName, regionalValue, "."]]
  ]
2021-11-22 18:44:14

감사합니다,그러나 그 후 다음의 예에서 나는 아직 보고 동일한 문제입니다. 또한,당신은 당신이 언급는-GetAtt-domainName 아무것도하지 않습니다 그러나 그것은 obtaitning 의 가치 도메인 이름과 사용으로 자원의 이름을 기록합니다. 를 지정해야 합으로 구분 조인 문 그래서 그 이유는""은 후 바로 그것.
i'i'i'i'i'i'i'i'i'i

@i'i'i'i'i'i'i'i'i'i 당신이 오해한 내 포인트입니다. 대 !GetAttr 뭔가를 그 적용해야 합니다 노드의 값이 포함된 이름입니다. 코드 !GetAttr 에 적용되는 빈 노드의 시퀀스,그리고 다음 항목을 순서 domainName –는 볼 수 없 !GetAttr. 을 비교하는 것을 내가 !GetAttr 적용을 포함하는 전체 시퀀스 domainName etc. btw, 문서 제안해야 할 수 있습니다 !GetAttr domainName.regionalValue
flyx

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................