title: Fn::ImportValue does not like Fn::Sub in its short notation
body: <p>Why is following format not working giving error &quot;the attribute in Fn::ImportValue must be a string or a function that returns a string&quot;?</p>
  <pre class="lang-yaml prettyprint-override"><code>    Source: !Join [&quot;:&quot;, [!ImportValue [!Sub &quot;${ProductEnvironment}-${ProductName}-IngressGreengrassProxyFunctionArn&quot;], !ImportValue [!Sub &quot;${ProductEnvironment}-${ProductName}-IngressGreengrassProxyFunctionAlias&quot;]]]
  </code></pre>
  <p>but it works if I rewrite it as:</p>
  <pre class="lang-yaml prettyprint-override"><code>    Source: !Join
        - &quot;:&quot;
        - - Fn::ImportValue: !Sub &quot;${ProductEnvironment}-${ProductName}-IngressGreengrassProxyFunctionArn&quot;
          - Fn::ImportValue: !Sub &quot;${ProductEnvironment}-${ProductName}-IngressGreengrassProxyFunctionAlias&quot;
  </code></pre>