/dhall-aws-cloudformation/gh-pages/Fn.dhall.html
Copy path to clipboardSource
<!DOCTYPE HTML><html><head><title>/Fn.dhall</title><link rel="stylesheet" type="text/css" href="index.css"><link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css2?family=Fira+Code:wght@400;500;600;700&family=Lato:ital,wght@0,400;0,700;1,400&display=swap"><script type="text/javascript" src="index.js"></script><meta charset="UTF-8"></head><body><div class="nav-bar"><img class="dhall-icon" src="dhall-icon.svg"><p class="package-title">dhall-aws-cloudformation</p><div class="nav-bar-content-divider"></div><a id="switch-light-dark-mode" class="nav-option">Switch Light/Dark Mode</a></div><div class="main-container"><h2 class="doc-title"><span class="crumb-divider">/</span><a href="index.html">dhall-aws-cloudformation</a><span class="crumb-divider">/</span><span class="title-crumb" href="index.html">Fn.dhall</span></h2><a class="copy-to-clipboard" data-path="https://raw.githubusercontent.com/jcouyang/dhall-aws-cloudformation/0.9.81/Fn.dhall"><i><small>Copy path to clipboard</small></i></a><br><div class="doc-contents"></div><h3>Examples</h3><div class="source-code code-examples"><pre> toJSON (ImportValue (Sub "\${NetworkStackNameParameter}-SubnetID"))<br>≡ JSON.object<br> ( toMap<br> { `Fn::ImportValue` =<br> JSON.object<br> ( toMap<br> { `Fn::Sub` =<br> JSON.string "\${NetworkStackNameParameter}-SubnetID"<br> }<br> )<br> }<br> )<br></pre><pre> JSON.render (toJSON (Base64 (Ref "hehe")))<br>≡ ''<br> { "Fn::Base64": { "Ref": "hehe" } }<br> ''<br></pre><pre> JSON.render (toJSON (Cidr (Ref "ipBlock") 1 8))<br>≡ ''<br> {<br> "Fn::Cidr": [<br> { "Ref": "ipBlock" },<br> "1",<br> "8"<br> ]<br> }<br> ''<br></pre><pre> JSON.render (toJSON (FindInMap "RegionMap" (Ref "ipBlock") (String "key")))<br>≡ ''<br> {<br> "Fn::FindInMap": [<br> "RegionMap",<br> { "Ref": "ipBlock" },<br> "key"<br> ]<br> }<br> ''<br></pre><pre> JSON.render (toJSON (GetAtt "myELB.DNSName"))<br>≡ ''<br> { "Fn::GetAtt": "myELB.DNSName" }<br> ''<br></pre><pre> JSON.render (toJSON (GetAZs (Ref "AWS::Region")))<br>≡ ''<br> { "Fn::GetAZs": { "Ref": "AWS::Region" } }<br> ''<br></pre><pre> JSON.render<br> ( toJSON<br> ( Sub/Vars<br> "\${var1}\${var2}hello"<br> (toMap { var1 = String "abc", var2 = String "hi" })<br> )<br> )<br>≡ ''<br> {<br> "Fn::Sub": [<br> "''${var1}''${var2}hello",<br> {<br> "var1": "abc",<br> "var2": "hi"<br> }<br> ]<br> }<br> ''<br></pre><pre> JSON.render<br> ( toJSON<br> ( Join<br> ","<br> [ String "arn:"<br> , Ref "AWS::Partition"<br> , String ":s3:::elasticbeanstalk-*-"<br> , Ref "AWS::AccountId"<br> ]<br> )<br> )<br>≡ ''<br> {<br> "Fn::Join": [<br> ",",<br> [<br> "arn:",<br> { "Ref": "AWS::Partition" },<br> ":s3:::elasticbeanstalk-*-",<br> { "Ref": "AWS::AccountId" }<br> ]<br> ]<br> }<br> ''<br></pre><pre> JSON.render (toJSON (Select 0 (Ref "DbSubnetIpBlocks")))<br>≡ ''<br> {<br> "Fn::Select": [<br> "0",<br> { "Ref": "DbSubnetIpBlocks" }<br> ]<br> }<br> ''<br></pre><pre> JSON.render<br> (toJSON (Select 2 (Split "," (ImportValue (String "AccountSubnetIDs")))))<br>≡ ''<br> {<br> "Fn::Select": [<br> "2",<br> {<br> "Fn::Split": [<br> ",",<br> { "Fn::ImportValue": "AccountSubnetIDs" }<br> ]<br> }<br> ]<br> }<br> ''<br></pre><pre> JSON.render<br> ( toJSON<br> ( Transform<br> "AWS::Include"<br> ( toMap<br> { Location = String "s3://MyAmazonS3BucketName/MyFileName.json"<br> }<br> )<br> )<br> )<br>≡ ''<br> {<br> "Fn::Transform": {<br> "Name": "AWS::Include",<br> "Parameters": { "Location": "s3://MyAmazonS3BucketName/MyFileName.json" }<br> }<br> }<br> ''<br></pre><pre> JSON.render<br> ( toJSON<br> ( Or<br> (Equals (Ref "EnvironmentType") (String "prod"))<br> (Condition "CreateProdResource")<br> )<br> )<br>≡ ''<br> {<br> "Fn::Or": [<br> {<br> "Fn::Equals": [<br> { "Ref": "EnvironmentType" },<br> "prod"<br> ]<br> },<br> { "Condition": "CreateProdResource" }<br> ]<br> }<br> ''<br></pre></div><h3>Source</h3><div class="source-code"><pre>let <span id="var1-5" class="name-decl" data-name="var1-5">JSON</span> = (<a href="./Prelude.dhall.html">./Prelude.dhall</a>).JSON<br><br>let <span id="var3-5" class="name-decl" data-name="var3-5">map</span> = (<a href="./Prelude.dhall.html">./Prelude.dhall</a>).List.map<br><br>let <span id="var5-5" class="name-decl" data-name="var5-5">Map</span> = (<a href="./Prelude.dhall.html">./Prelude.dhall</a>).Map<br><br>let <span id="var7-5" class="name-decl" data-name="var7-5">_Pi</span> =<br> λ(<span id="var8-9" class="name-decl" data-name="var8-9">Fn</span> : Type) →<br> { ImportValue : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , String : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Ref : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , GetAtt : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , GetAZs : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Join : Text → List <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Split : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Sub : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Sub/Vars : Text → <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Base64 : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Cidr : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → Natural → Natural → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Select : Natural → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , FindInMap : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Transform : Text → <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Condition : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Equals : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , And : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , If : Text → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Not : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> , Or : <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a> → <a href="#var8-9" class="name-use" data-name="var8-9">Fn</a><br> }<br><br>let <span id="var31-5" class="name-decl" data-name="var31-5">Fn/Type</span><br> : Type<br> = ∀(Fn : Type) → ∀(fn : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> Fn) → Fn<br><br>let <span id="var35-5" class="name-decl" data-name="var35-5">String</span><br> : ∀(x : Text) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var37-9" class="name-decl" data-name="var37-9">x</span> : Text) → λ(<span id="var37-23" class="name-decl" data-name="var37-23">Fn</span> : Type) → λ(<span id="var37-38" class="name-decl" data-name="var37-38">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var37-23" class="name-use" data-name="var37-23">Fn</a>) → <a href="#var37-38" class="name-use" data-name="var37-38">fn</a>.String <a href="#var37-9" class="name-use" data-name="var37-9">x</a><br><br>let <span id="var39-5" class="name-decl" data-name="var39-5">Sub</span><br> : ∀(x : Text) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var41-9" class="name-decl" data-name="var41-9">x</span> : Text) → λ(<span id="var41-23" class="name-decl" data-name="var41-23">Fn</span> : Type) → λ(<span id="var41-38" class="name-decl" data-name="var41-38">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var41-23" class="name-use" data-name="var41-23">Fn</a>) → <a href="#var41-38" class="name-use" data-name="var41-38">fn</a>.Sub <a href="#var41-9" class="name-use" data-name="var41-9">x</a><br><br>let <span id="var43-5" class="name-decl" data-name="var43-5">Sub/Vars</span> =<br> λ(<span id="var44-9" class="name-decl" data-name="var44-9">x</span> : Text) →<br> λ(<span id="var45-9" class="name-decl" data-name="var45-9">vars</span> : <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var46-9" class="name-decl" data-name="var46-9">Fn</span> : Type) →<br> λ(<span id="var47-9" class="name-decl" data-name="var47-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var46-9" class="name-use" data-name="var46-9">Fn</a>) →<br> <a href="#var47-9" class="name-use" data-name="var47-9">fn</a>.Sub/Vars <a href="#var44-9" class="name-use" data-name="var44-9">x</a> (<a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.map Text <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a> <a href="#var46-9" class="name-use" data-name="var46-9">Fn</a> (λ(<span id="var48-51" class="name-decl" data-name="var48-51">v</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var48-51" class="name-use" data-name="var48-51">v</a> <a href="#var46-9" class="name-use" data-name="var46-9">Fn</a> <a href="#var47-9" class="name-use" data-name="var47-9">fn</a>) <a href="#var45-9" class="name-use" data-name="var45-9">vars</a>)<br><br>let <span id="var50-5" class="name-decl" data-name="var50-5">GetAtt/Type</span> = ∀(x : Text) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br><br>let <span id="var52-5" class="name-decl" data-name="var52-5">GetAtt</span><br> : <a href="#var50-5" class="name-use" data-name="var50-5">GetAtt/Type</a><br> = λ(<span id="var54-9" class="name-decl" data-name="var54-9">x</span> : Text) → λ(<span id="var54-23" class="name-decl" data-name="var54-23">Fn</span> : Type) → λ(<span id="var54-38" class="name-decl" data-name="var54-38">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var54-23" class="name-use" data-name="var54-23">Fn</a>) → <a href="#var54-38" class="name-use" data-name="var54-38">fn</a>.GetAtt <a href="#var54-9" class="name-use" data-name="var54-9">x</a><br><br>let GetAttOf =<br> λ(<span id="var57-9" class="name-decl" data-name="var57-9">attrName</span> : Text) →<br> λ(<span id="var58-9" class="name-decl" data-name="var58-9">resource</span> : Text) →<br> λ(<span id="var59-9" class="name-decl" data-name="var59-9">Fn</span> : Type) →<br> λ(<span id="var60-9" class="name-decl" data-name="var60-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var59-9" class="name-use" data-name="var59-9">Fn</a>) →<br> <a href="#var60-9" class="name-use" data-name="var60-9">fn</a>.GetAtt "${<a href="#var58-9" class="name-use" data-name="var58-9">resource</a>}.${<a href="#var57-9" class="name-use" data-name="var57-9">attrName</a>}"<br><br>let <span id="var63-5" class="name-decl" data-name="var63-5">Base64</span><br> : ∀(x : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var65-9" class="name-decl" data-name="var65-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → λ(<span id="var65-26" class="name-decl" data-name="var65-26">Fn</span> : Type) → λ(<span id="var65-41" class="name-decl" data-name="var65-41">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var65-26" class="name-use" data-name="var65-26">Fn</a>) → <a href="#var65-41" class="name-use" data-name="var65-41">fn</a>.Base64 (<a href="#var65-9" class="name-use" data-name="var65-9">x</a> <a href="#var65-26" class="name-use" data-name="var65-26">Fn</a> <a href="#var65-41" class="name-use" data-name="var65-41">fn</a>)<br><br>let <span id="var67-5" class="name-decl" data-name="var67-5">GetAZs</span><br> : ∀(x : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var69-9" class="name-decl" data-name="var69-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → λ(<span id="var69-26" class="name-decl" data-name="var69-26">Fn</span> : Type) → λ(<span id="var69-41" class="name-decl" data-name="var69-41">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var69-26" class="name-use" data-name="var69-26">Fn</a>) → <a href="#var69-41" class="name-use" data-name="var69-41">fn</a>.GetAZs (<a href="#var69-9" class="name-use" data-name="var69-9">x</a> <a href="#var69-26" class="name-use" data-name="var69-26">Fn</a> <a href="#var69-41" class="name-use" data-name="var69-41">fn</a>)<br><br>let <span id="var71-5" class="name-decl" data-name="var71-5">Cidr</span><br> : ∀(x : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → ∀(count : Natural) → ∀(bits : Natural) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var73-9" class="name-decl" data-name="var73-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var74-9" class="name-decl" data-name="var74-9">count</span> : Natural) →<br> λ(<span id="var75-9" class="name-decl" data-name="var75-9">bits</span> : Natural) →<br> λ(<span id="var76-9" class="name-decl" data-name="var76-9">Fn</span> : Type) →<br> λ(<span id="var77-9" class="name-decl" data-name="var77-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var76-9" class="name-use" data-name="var76-9">Fn</a>) →<br> <a href="#var77-9" class="name-use" data-name="var77-9">fn</a>.Cidr (<a href="#var73-9" class="name-use" data-name="var73-9">x</a> <a href="#var76-9" class="name-use" data-name="var76-9">Fn</a> <a href="#var77-9" class="name-use" data-name="var77-9">fn</a>) <a href="#var74-9" class="name-use" data-name="var74-9">count</a> <a href="#var75-9" class="name-use" data-name="var75-9">bits</a><br><br>let <span id="var80-5" class="name-decl" data-name="var80-5">Select</span><br> : ∀(index : Natural) → ∀(x : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var82-9" class="name-decl" data-name="var82-9">index</span> : Natural) →<br> λ(<span id="var83-9" class="name-decl" data-name="var83-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var84-9" class="name-decl" data-name="var84-9">Fn</span> : Type) →<br> λ(<span id="var85-9" class="name-decl" data-name="var85-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var84-9" class="name-use" data-name="var84-9">Fn</a>) →<br> <a href="#var85-9" class="name-use" data-name="var85-9">fn</a>.Select <a href="#var82-9" class="name-use" data-name="var82-9">index</a> (<a href="#var83-9" class="name-use" data-name="var83-9">x</a> <a href="#var84-9" class="name-use" data-name="var84-9">Fn</a> <a href="#var85-9" class="name-use" data-name="var85-9">fn</a>)<br><br>let <span id="var88-5" class="name-decl" data-name="var88-5">Join</span><br> : ∀(deli : Text) → ∀(list : List <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var90-9" class="name-decl" data-name="var90-9">x</span> : Text) →<br> λ(<span id="var91-9" class="name-decl" data-name="var91-9">y</span> : List <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var92-9" class="name-decl" data-name="var92-9">Fn</span> : Type) →<br> λ(<span id="var93-9" class="name-decl" data-name="var93-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var92-9" class="name-use" data-name="var92-9">Fn</a>) →<br> <a href="#var93-9" class="name-use" data-name="var93-9">fn</a>.Join <a href="#var90-9" class="name-use" data-name="var90-9">x</a> (<a href="#var3-5" class="name-use" data-name="var3-5">map</a> <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a> <a href="#var92-9" class="name-use" data-name="var92-9">Fn</a> (λ(<span id="var94-38" class="name-decl" data-name="var94-38">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var94-38" class="name-use" data-name="var94-38">a</a> <a href="#var92-9" class="name-use" data-name="var92-9">Fn</a> <a href="#var93-9" class="name-use" data-name="var93-9">fn</a>) <a href="#var91-9" class="name-use" data-name="var91-9">y</a>)<br><br>let <span id="var96-5" class="name-decl" data-name="var96-5">Split</span><br> : ∀(deli : Text) → ∀(text : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var98-9" class="name-decl" data-name="var98-9">x</span> : Text) →<br> λ(<span id="var99-9" class="name-decl" data-name="var99-9">y</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var100-9" class="name-decl" data-name="var100-9">Fn</span> : Type) →<br> λ(<span id="var101-9" class="name-decl" data-name="var101-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var100-9" class="name-use" data-name="var100-9">Fn</a>) →<br> <a href="#var101-9" class="name-use" data-name="var101-9">fn</a>.Split <a href="#var98-9" class="name-use" data-name="var98-9">x</a> (<a href="#var99-9" class="name-use" data-name="var99-9">y</a> <a href="#var100-9" class="name-use" data-name="var100-9">Fn</a> <a href="#var101-9" class="name-use" data-name="var101-9">fn</a>)<br><br>let <span id="var104-5" class="name-decl" data-name="var104-5">ImportValue</span><br> : ∀(x : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var106-9" class="name-decl" data-name="var106-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → λ(<span id="var106-26" class="name-decl" data-name="var106-26">Fn</span> : Type) → λ(<span id="var106-41" class="name-decl" data-name="var106-41">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var106-26" class="name-use" data-name="var106-26">Fn</a>) → <a href="#var106-41" class="name-use" data-name="var106-41">fn</a>.ImportValue (<a href="#var106-9" class="name-use" data-name="var106-9">x</a> <a href="#var106-26" class="name-use" data-name="var106-26">Fn</a> <a href="#var106-41" class="name-use" data-name="var106-41">fn</a>)<br><br>let <span id="var108-5" class="name-decl" data-name="var108-5">FindInMap</span><br> : ∀(map : Text) → ∀(key1 : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → ∀(key2 : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var110-9" class="name-decl" data-name="var110-9">map</span> : Text) →<br> λ(<span id="var111-9" class="name-decl" data-name="var111-9">key1</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var112-9" class="name-decl" data-name="var112-9">key2</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var113-9" class="name-decl" data-name="var113-9">Fn</span> : Type) →<br> λ(<span id="var114-9" class="name-decl" data-name="var114-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var113-9" class="name-use" data-name="var113-9">Fn</a>) →<br> <a href="#var114-9" class="name-use" data-name="var114-9">fn</a>.FindInMap <a href="#var110-9" class="name-use" data-name="var110-9">map</a> (<a href="#var111-9" class="name-use" data-name="var111-9">key1</a> <a href="#var113-9" class="name-use" data-name="var113-9">Fn</a> <a href="#var114-9" class="name-use" data-name="var114-9">fn</a>) (<a href="#var112-9" class="name-use" data-name="var112-9">key2</a> <a href="#var113-9" class="name-use" data-name="var113-9">Fn</a> <a href="#var114-9" class="name-use" data-name="var114-9">fn</a>)<br><br>let <span id="var117-5" class="name-decl" data-name="var117-5">Ref</span><br> : ∀(x : Text) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var119-9" class="name-decl" data-name="var119-9">x</span> : Text) → λ(<span id="var119-23" class="name-decl" data-name="var119-23">Fn</span> : Type) → λ(<span id="var119-38" class="name-decl" data-name="var119-38">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var119-23" class="name-use" data-name="var119-23">Fn</a>) → <a href="#var119-38" class="name-use" data-name="var119-38">fn</a>.Ref <a href="#var119-9" class="name-use" data-name="var119-9">x</a><br><br>let <span id="var121-5" class="name-decl" data-name="var121-5">Transform</span> =<br> λ(<span id="var122-9" class="name-decl" data-name="var122-9">name</span> : Text) →<br> λ(<span id="var123-9" class="name-decl" data-name="var123-9">param</span> : <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var124-9" class="name-decl" data-name="var124-9">Fn</span> : Type) →<br> λ(<span id="var125-9" class="name-decl" data-name="var125-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var124-9" class="name-use" data-name="var124-9">Fn</a>) →<br> <a href="#var125-9" class="name-use" data-name="var125-9">fn</a>.Transform<br> <a href="#var122-9" class="name-use" data-name="var122-9">name</a><br> (<a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.map Text <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a> <a href="#var124-9" class="name-use" data-name="var124-9">Fn</a> (λ(<span id="var128-39" class="name-decl" data-name="var128-39">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → <a href="#var128-39" class="name-use" data-name="var128-39">x</a> <a href="#var124-9" class="name-use" data-name="var124-9">Fn</a> <a href="#var125-9" class="name-use" data-name="var125-9">fn</a>) <a href="#var123-9" class="name-use" data-name="var123-9">param</a>)<br><br>let <span id="var130-5" class="name-decl" data-name="var130-5">Condition</span><br> : ∀(name : Text) → <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> = λ(<span id="var132-9" class="name-decl" data-name="var132-9">x</span> : Text) → λ(<span id="var132-23" class="name-decl" data-name="var132-23">Fn</span> : Type) → λ(<span id="var132-38" class="name-decl" data-name="var132-38">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var132-23" class="name-use" data-name="var132-23">Fn</a>) → <a href="#var132-38" class="name-use" data-name="var132-38">fn</a>.Condition <a href="#var132-9" class="name-use" data-name="var132-9">x</a><br><br>let <span id="var134-5" class="name-decl" data-name="var134-5">Equals</span> =<br> λ(<span id="var135-9" class="name-decl" data-name="var135-9">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var136-9" class="name-decl" data-name="var136-9">b</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var137-9" class="name-decl" data-name="var137-9">Fn</span> : Type) →<br> λ(<span id="var138-9" class="name-decl" data-name="var138-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var137-9" class="name-use" data-name="var137-9">Fn</a>) →<br> <a href="#var138-9" class="name-use" data-name="var138-9">fn</a>.Equals (<a href="#var135-9" class="name-use" data-name="var135-9">a</a> <a href="#var137-9" class="name-use" data-name="var137-9">Fn</a> <a href="#var138-9" class="name-use" data-name="var138-9">fn</a>) (<a href="#var136-9" class="name-use" data-name="var136-9">b</a> <a href="#var137-9" class="name-use" data-name="var137-9">Fn</a> <a href="#var138-9" class="name-use" data-name="var138-9">fn</a>)<br><br>let And =<br> λ(<span id="var142-9" class="name-decl" data-name="var142-9">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var143-9" class="name-decl" data-name="var143-9">b</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var144-9" class="name-decl" data-name="var144-9">Fn</span> : Type) →<br> λ(<span id="var145-9" class="name-decl" data-name="var145-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var144-9" class="name-use" data-name="var144-9">Fn</a>) →<br> <a href="#var145-9" class="name-use" data-name="var145-9">fn</a>.And (<a href="#var142-9" class="name-use" data-name="var142-9">a</a> <a href="#var144-9" class="name-use" data-name="var144-9">Fn</a> <a href="#var145-9" class="name-use" data-name="var145-9">fn</a>) (<a href="#var143-9" class="name-use" data-name="var143-9">b</a> <a href="#var144-9" class="name-use" data-name="var144-9">Fn</a> <a href="#var145-9" class="name-use" data-name="var145-9">fn</a>)<br><br>let If =<br> λ(<span id="var149-9" class="name-decl" data-name="var149-9">cond</span> : Text) →<br> λ(<span id="var150-9" class="name-decl" data-name="var150-9">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var151-9" class="name-decl" data-name="var151-9">b</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var152-9" class="name-decl" data-name="var152-9">Fn</span> : Type) →<br> λ(<span id="var153-9" class="name-decl" data-name="var153-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var152-9" class="name-use" data-name="var152-9">Fn</a>) →<br> <a href="#var153-9" class="name-use" data-name="var153-9">fn</a>.If <a href="#var149-9" class="name-use" data-name="var149-9">cond</a> (<a href="#var150-9" class="name-use" data-name="var150-9">a</a> <a href="#var152-9" class="name-use" data-name="var152-9">Fn</a> <a href="#var153-9" class="name-use" data-name="var153-9">fn</a>) (<a href="#var151-9" class="name-use" data-name="var151-9">b</a> <a href="#var152-9" class="name-use" data-name="var152-9">Fn</a> <a href="#var153-9" class="name-use" data-name="var153-9">fn</a>)<br><br>let Not = λ(<span id="var156-13" class="name-decl" data-name="var156-13">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) → λ(<span id="var156-30" class="name-decl" data-name="var156-30">Fn</span> : Type) → λ(<span id="var156-45" class="name-decl" data-name="var156-45">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var156-30" class="name-use" data-name="var156-30">Fn</a>) → <a href="#var156-45" class="name-use" data-name="var156-45">fn</a>.Not (<a href="#var156-13" class="name-use" data-name="var156-13">a</a> <a href="#var156-30" class="name-use" data-name="var156-30">Fn</a> <a href="#var156-45" class="name-use" data-name="var156-45">fn</a>)<br><br>let <span id="var158-5" class="name-decl" data-name="var158-5">Or</span> =<br> λ(<span id="var159-9" class="name-decl" data-name="var159-9">a</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var160-9" class="name-decl" data-name="var160-9">b</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> λ(<span id="var161-9" class="name-decl" data-name="var161-9">Fn</span> : Type) →<br> λ(<span id="var162-9" class="name-decl" data-name="var162-9">fn</span> : <a href="#var7-5" class="name-use" data-name="var7-5">_Pi</a> <a href="#var161-9" class="name-use" data-name="var161-9">Fn</a>) →<br> <a href="#var162-9" class="name-use" data-name="var162-9">fn</a>.Or (<a href="#var159-9" class="name-use" data-name="var159-9">a</a> <a href="#var161-9" class="name-use" data-name="var161-9">Fn</a> <a href="#var162-9" class="name-use" data-name="var162-9">fn</a>) (<a href="#var160-9" class="name-use" data-name="var160-9">b</a> <a href="#var161-9" class="name-use" data-name="var161-9">Fn</a> <a href="#var162-9" class="name-use" data-name="var162-9">fn</a>)<br><br>let <span id="var165-5" class="name-decl" data-name="var165-5">toJSON</span> =<br> λ(<span id="var166-9" class="name-decl" data-name="var166-9">x</span> : <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a>) →<br> <a href="#var166-9" class="name-use" data-name="var166-9">x</a><br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type<br> { ImportValue =<br> λ(<span id="var170-17" class="name-decl" data-name="var170-17">x</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::ImportValue` = <a href="#var170-17" class="name-use" data-name="var170-17">x</a> })<br> , Ref = λ(<span id="var171-21" class="name-decl" data-name="var171-21">x</span> : Text) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { Ref = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var171-21" class="name-use" data-name="var171-21">x</a> })<br> , Sub =<br> λ(<span id="var173-17" class="name-decl" data-name="var173-17">s</span> : Text) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::Sub` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var173-17" class="name-use" data-name="var173-17">s</a> })<br> , Sub/Vars =<br> λ(<span id="var175-17" class="name-decl" data-name="var175-17">s</span> : Text) →<br> λ(<span id="var176-17" class="name-decl" data-name="var176-17">vars</span> : <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Sub` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var175-17" class="name-use" data-name="var175-17">s</a>, <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object <a href="#var176-17" class="name-use" data-name="var176-17">vars</a> ]<br> }<br> )<br> , Join =<br> λ(<span id="var184-17" class="name-decl" data-name="var184-17">deli</span> : Text) →<br> λ(<span id="var185-17" class="name-decl" data-name="var185-17">list</span> : List <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Join` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var184-17" class="name-use" data-name="var184-17">deli</a>, <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array <a href="#var185-17" class="name-use" data-name="var185-17">list</a> ]<br> }<br> )<br> , GetAtt =<br> λ(<span id="var193-17" class="name-decl" data-name="var193-17">x</span> : Text) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::GetAtt` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var193-17" class="name-use" data-name="var193-17">x</a> })<br> , GetAZs = λ(<span id="var194-24" class="name-decl" data-name="var194-24">x</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::GetAZs` = <a href="#var194-24" class="name-use" data-name="var194-24">x</a> })<br> , Split =<br> λ(<span id="var196-17" class="name-decl" data-name="var196-17">x</span> : Text) →<br> λ(<span id="var197-17" class="name-decl" data-name="var197-17">y</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> (toMap { `Fn::Split` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var196-17" class="name-use" data-name="var196-17">x</a>, <a href="#var197-17" class="name-use" data-name="var197-17">y</a> ] })<br> , Base64 = λ(<span id="var200-24" class="name-decl" data-name="var200-24">x</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::Base64` = <a href="#var200-24" class="name-use" data-name="var200-24">x</a> })<br> , Cidr =<br> λ(<span id="var202-17" class="name-decl" data-name="var202-17">ipBlock</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var203-17" class="name-decl" data-name="var203-17">count</span> : Natural) →<br> λ(<span id="var204-17" class="name-decl" data-name="var204-17">bits</span> : Natural) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Cidr` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array<br> [ <a href="#var202-17" class="name-use" data-name="var202-17">ipBlock</a><br> , <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string (Natural/show <a href="#var203-17" class="name-use" data-name="var203-17">count</a>)<br> , <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string (Natural/show <a href="#var204-17" class="name-use" data-name="var204-17">bits</a>)<br> ]<br> }<br> )<br> , Select =<br> λ(<span id="var216-17" class="name-decl" data-name="var216-17">index</span> : Natural) →<br> λ(<span id="var217-17" class="name-decl" data-name="var217-17">x</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Select` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string (Natural/show <a href="#var216-17" class="name-use" data-name="var216-17">index</a>), <a href="#var217-17" class="name-use" data-name="var217-17">x</a> ]<br> }<br> )<br> , FindInMap =<br> λ(<span id="var225-17" class="name-decl" data-name="var225-17">map</span> : Text) →<br> λ(<span id="var226-17" class="name-decl" data-name="var226-17">key1</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var227-17" class="name-decl" data-name="var227-17">key2</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::FindInMap` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var225-17" class="name-use" data-name="var225-17">map</a>, <a href="#var226-17" class="name-use" data-name="var226-17">key1</a>, <a href="#var227-17" class="name-use" data-name="var227-17">key2</a> ]<br> }<br> )<br> , String = λ(<span id="var234-24" class="name-decl" data-name="var234-24">x</span> : Text) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var234-24" class="name-use" data-name="var234-24">x</a><br> , Transform =<br> λ(<span id="var236-17" class="name-decl" data-name="var236-17">name</span> : Text) →<br> λ(<span id="var237-17" class="name-decl" data-name="var237-17">param</span> : <a href="#var5-5" class="name-use" data-name="var5-5">Map</a>.Type Text <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Transform` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { Name = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var236-17" class="name-use" data-name="var236-17">name</a><br> , Parameters = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object <a href="#var237-17" class="name-use" data-name="var237-17">param</a><br> }<br> )<br> }<br> )<br> , Condition =<br> λ(<span id="var250-17" class="name-decl" data-name="var250-17">x</span> : Text) → <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { Condition = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var250-17" class="name-use" data-name="var250-17">x</a> })<br> , Equals =<br> λ(<span id="var252-17" class="name-decl" data-name="var252-17">a</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var253-17" class="name-decl" data-name="var253-17">b</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::Equals` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var252-17" class="name-use" data-name="var252-17">a</a>, <a href="#var253-17" class="name-use" data-name="var253-17">b</a> ] })<br> , And =<br> λ(<span id="var256-17" class="name-decl" data-name="var256-17">a</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var257-17" class="name-decl" data-name="var257-17">b</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::And` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var256-17" class="name-use" data-name="var256-17">a</a>, <a href="#var257-17" class="name-use" data-name="var257-17">b</a> ] })<br> , If =<br> λ(<span id="var260-17" class="name-decl" data-name="var260-17">cname</span> : Text) →<br> λ(<span id="var261-17" class="name-decl" data-name="var261-17">a</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var262-17" class="name-decl" data-name="var262-17">b</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> (toMap { `Fn::If` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string <a href="#var260-17" class="name-use" data-name="var260-17">cname</a>, <a href="#var261-17" class="name-use" data-name="var261-17">a</a>, <a href="#var262-17" class="name-use" data-name="var262-17">b</a> ] })<br> , Not =<br> λ(<span id="var266-17" class="name-decl" data-name="var266-17">a</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::Not` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var266-17" class="name-use" data-name="var266-17">a</a> ] })<br> , Or =<br> λ(<span id="var269-17" class="name-decl" data-name="var269-17">a</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> λ(<span id="var270-17" class="name-decl" data-name="var270-17">b</span> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type) →<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object (toMap { `Fn::Or` = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.array [ <a href="#var269-17" class="name-use" data-name="var269-17">a</a>, <a href="#var270-17" class="name-use" data-name="var270-17">b</a> ] })<br> }<br><br>let exampleImportValue =<br> assert<br> : <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var104-5" class="name-use" data-name="var104-5">ImportValue</a> (<a href="#var39-5" class="name-use" data-name="var39-5">Sub</a> "\${NetworkStackNameParameter}-SubnetID"))<br> ≡ <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::ImportValue` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.object<br> ( toMap<br> { `Fn::Sub` =<br> <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.string<br> "\${NetworkStackNameParameter}-SubnetID"<br> }<br> )<br> }<br> )<br><br>let exampleBase64 =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var63-5" class="name-use" data-name="var63-5">Base64</a> (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "hehe")))<br> ≡ ''<br> { "Fn::Base64": { "Ref": "hehe" } }<br> ''<br><br>let exampleCidr =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var71-5" class="name-use" data-name="var71-5">Cidr</a> (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "ipBlock") 1 8))<br> ≡ ''<br> {<br> "Fn::Cidr": [<br> { "Ref": "ipBlock" },<br> "1",<br> "8"<br> ]<br> }<br> ''<br><br>let exampleFindInMap =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var108-5" class="name-use" data-name="var108-5">FindInMap</a> "RegionMap" (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "ipBlock") (<a href="#var35-5" class="name-use" data-name="var35-5">String</a> "key")))<br> ≡ ''<br> {<br> "Fn::FindInMap": [<br> "RegionMap",<br> { "Ref": "ipBlock" },<br> "key"<br> ]<br> }<br> ''<br><br>let exampleGetAtt =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var52-5" class="name-use" data-name="var52-5">GetAtt</a> "myELB.DNSName"))<br> ≡ ''<br> { "Fn::GetAtt": "myELB.DNSName" }<br> ''<br><br>let exampleGetAZs =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var67-5" class="name-use" data-name="var67-5">GetAZs</a> (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "AWS::Region")))<br> ≡ ''<br> { "Fn::GetAZs": { "Ref": "AWS::Region" } }<br> ''<br><br>let exampleSub/Vars =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var43-5" class="name-use" data-name="var43-5">Sub/Vars</a> "\${var1}\${var2}hello" (toMap {<br> var1 = <a href="#var35-5" class="name-use" data-name="var35-5">String</a> "abc",<br> var2 = <a href="#var35-5" class="name-use" data-name="var35-5">String</a> "hi"<br> })))<br> ≡ ''<br> {<br> "Fn::Sub": [<br> "''${var1}''${var2}hello",<br> {<br> "var1": "abc",<br> "var2": "hi"<br> }<br> ]<br> }<br> ''<br><br>let exampleJoin =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> ( <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a><br> ( <a href="#var88-5" class="name-use" data-name="var88-5">Join</a><br> ","<br> [ <a href="#var35-5" class="name-use" data-name="var35-5">String</a> "arn:"<br> , <a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "AWS::Partition"<br> , <a href="#var35-5" class="name-use" data-name="var35-5">String</a> ":s3:::elasticbeanstalk-*-"<br> , <a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "AWS::AccountId"<br> ]<br> )<br> )<br> ≡ ''<br> {<br> "Fn::Join": [<br> ",",<br> [<br> "arn:",<br> { "Ref": "AWS::Partition" },<br> ":s3:::elasticbeanstalk-*-",<br> { "Ref": "AWS::AccountId" }<br> ]<br> ]<br> }<br> ''<br><br>let exampleSelect =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render (<a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var80-5" class="name-use" data-name="var80-5">Select</a> 0 (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "DbSubnetIpBlocks")))<br> ≡ ''<br> {<br> "Fn::Select": [<br> "0",<br> { "Ref": "DbSubnetIpBlocks" }<br> ]<br> }<br> ''<br><br>let exampleSplit =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> ( <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a><br> (<a href="#var80-5" class="name-use" data-name="var80-5">Select</a> 2 (<a href="#var96-5" class="name-use" data-name="var96-5">Split</a> "," (<a href="#var104-5" class="name-use" data-name="var104-5">ImportValue</a> (<a href="#var35-5" class="name-use" data-name="var35-5">String</a> "AccountSubnetIDs"))))<br> )<br> ≡ ''<br> {<br> "Fn::Select": [<br> "2",<br> {<br> "Fn::Split": [<br> ",",<br> { "Fn::ImportValue": "AccountSubnetIDs" }<br> ]<br> }<br> ]<br> }<br> ''<br><br>let exampleTransform =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> ( <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a><br> ( <a href="#var121-5" class="name-use" data-name="var121-5">Transform</a><br> "AWS::Include"<br> ( toMap<br> { Location =<br> <a href="#var35-5" class="name-use" data-name="var35-5">String</a> "s3://MyAmazonS3BucketName/MyFileName.json"<br> }<br> )<br> )<br> )<br> ≡ ''<br> {<br> "Fn::Transform": {<br> "Name": "AWS::Include",<br> "Parameters": { "Location": "s3://MyAmazonS3BucketName/MyFileName.json" }<br> }<br> }<br> ''<br><br>let exampleCondition =<br> assert<br> : <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.render<br> ( <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a><br> ( <a href="#var158-5" class="name-use" data-name="var158-5">Or</a><br> (<a href="#var134-5" class="name-use" data-name="var134-5">Equals</a> (<a href="#var117-5" class="name-use" data-name="var117-5">Ref</a> "EnvironmentType") (<a href="#var35-5" class="name-use" data-name="var35-5">String</a> "prod"))<br> (<a href="#var130-5" class="name-use" data-name="var130-5">Condition</a> "CreateProdResource")<br> )<br> )<br> ≡ ''<br> {<br> "Fn::Or": [<br> {<br> "Fn::Equals": [<br> { "Ref": "EnvironmentType" },<br> "prod"<br> ]<br> },<br> { "Condition": "CreateProdResource" }<br> ]<br> }<br> ''<br><br>in { Ref<br> , Base64<br> , Cidr<br> , FindInMap<br> , ImportValue<br> , String<br> , Sub<br> , Sub/Vars<br> , Split<br> , GetAtt<br> , GetAttOf<br> , GetAtt/Type<br> , GetAZs<br> , Join<br> , Select<br> , Transform<br> , Condition<br> , Equals<br> , If<br> , Not<br> , And<br> , Or<br> , Type = <a href="#var31-5" class="name-use" data-name="var31-5">Fn/Type</a><br> , CfnText = <a href="#var1-5" class="name-use" data-name="var1-5">JSON</a>.Type<br> , render = <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a><br> , renderText = λ(<span id="var486-22" class="name-decl" data-name="var486-22">s</span> : Text) → <a href="#var165-5" class="name-use" data-name="var165-5">toJSON</a> (<a href="#var35-5" class="name-use" data-name="var35-5">String</a> <a href="#var486-22" class="name-use" data-name="var486-22">s</a>)<br> }<br></pre></div></div></body></html>