मैं क्यों देख 'नहीं मिल रहा था की उम्मीद नोड सामग्री' जब लागू इस हालत के भीतर 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
              - "." 
        ]

मैं चलाने के लिए है सीएफएन-एक प्रकार का वृक्ष और मैं देख रहा हूँ एक त्रुटि के बारे में 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 के मूल्य domainName और इसे का उपयोग कर के रूप में संसाधन के नाम रिकॉर्ड है । आप की जरूरत है निर्दिष्ट करने के लिए एक सीमांकक के साथ शामिल होने के बयान से तो यही कारण है कि "" सीधे है के बाद यह.
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 आदि. btw, डॉक्स सुझाव है कि आप की आवश्यकता हो सकती करने के लिए !GetAttr domainName.regionalValue
flyx

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में