Skip to content

Commit df87652

Browse files
committed
Release v1.23.0
1 parent ef1b476 commit df87652

File tree

118 files changed

+2886
-1816
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

118 files changed

+2886
-1816
lines changed

README.md

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -457,13 +457,14 @@ Modules are not allowed to refer to themselves directly or in cycles. Module A
457457
can’t import Module A, and it can’t import Module B if that module imports
458458
Module A.
459459
460-
Modules support a basic form of looping/foreach by adding a `Map` attribute to
461-
the module configuration. Special variables `$MapIndex` and `$MapValue` can be
462-
used to refer to the index and list value. Logical Ids are auto-incremented by
460+
Modules support a basic form of looping/foreach by either using the familiar
461+
`Fn::ForEach` syntax, or with a shorthand by adding a `ForEach` attribute to
462+
the module configuration. Special variables `$Identifier` and `$Index` can be
463+
used to refer to the value and list index. With the shorthand, or if you don't
464+
put the Identifier in the logical id, logical ids are auto-incremented by
463465
adding an integer starting at zero. Since this is a client-side-only feature,
464466
list values must be fully resolved scalars, not values that must be resolved at
465-
deploy time. When deploy-time values are needed, `Fn::ForEach` is a better
466-
design option. Local modules do not process `Fn::ForEach`.
467+
deploy time.
467468
468469
```
469470
Parameters:
@@ -474,7 +475,7 @@ Parameters:
474475
Modules:
475476
Content:
476477
Source: ./map-module.yaml
477-
Map: !Ref List
478+
ForEach: !Ref List
478479
Properties:
479480
Name: !Sub my-bucket-$MapValue
480481
```
@@ -506,15 +507,12 @@ It’s also possible to refer to elements within a `Map` using something like
506507
which resolves to a list of all of the `Arn` outputs from that module.
507508
508509
When a module is processed, the first thing that happens is parsing of the
509-
`Conditions` within the module. These conditions must be fully resolvable
510-
client-side, since the package command does not have access to Parameters or
511-
deploy-time values. These conditions are converted to a dictionary of boolean
512-
values and the `Conditions` section is not emitted into the parent template. It
513-
is not merged into the parent. Any resources marked with a false condition are
514-
removed, and any property nodes with conditions are processed. Any values of
515-
`!Ref AWS::NoValue` are removed. No evidence of conditions will remain in the
516-
markup that is merged into the parent template, unless the condition is not
517-
found in the module.
510+
Conditions within the module. Any Resources, Modules, or Outputs marked with a
511+
false condition are removed, and any property nodes with conditions are
512+
processed. Any values of !Ref AWS::NoValue are removed. Any unresolved
513+
conditions (for example, a condition that references a paramter in the parent
514+
template, or something like AWS::Region) are emitted into the parent template,
515+
prefixed with the module name.
518516
519517
Much of the value of module output is in the smart handling of `Ref`,
520518
`Fn::GetAtt`, and `Fn::Sub`. For the most part, we want these to “just work” in
@@ -612,11 +610,6 @@ Modules:
612610
Source: $def/a/b/bar.yaml
613611
```
614612
615-
616-
617-
618-
619-
620613
### Publish modules to CodeArtifact
621614
622615
Rain integrates with AWS CodeArtifact to enable an experience similar to npm

docs/README.tmpl

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -479,15 +479,12 @@ It’s also possible to refer to elements within a `Map` using something like
479479
which resolves to a list of all of the `Arn` outputs from that module.
480480

481481
When a module is processed, the first thing that happens is parsing of the
482-
`Conditions` within the module. These conditions must be fully resolvable
483-
client-side, since the package command does not have access to Parameters or
484-
deploy-time values. These conditions are converted to a dictionary of boolean
485-
values and the `Conditions` section is not emitted into the parent template. It
486-
is not merged into the parent. Any resources marked with a false condition are
487-
removed, and any property nodes with conditions are processed. Any values of
488-
`!Ref AWS::NoValue` are removed. No evidence of conditions will remain in the
489-
markup that is merged into the parent template, unless the condition is not
490-
found in the module.
482+
Conditions within the module. Any Resources, Modules, or Outputs marked with a
483+
false condition are removed, and any property nodes with conditions are
484+
processed. Any values of !Ref AWS::NoValue are removed. Any unresolved
485+
conditions (for example, a condition that references a paramter in the parent
486+
template, or something like AWS::Region) are emitted into the parent template,
487+
prefixed with the module name.
491488

492489
Much of the value of module output is in the smart handling of `Ref`,
493490
`Fn::GetAtt`, and `Fn::Sub`. For the most part, we want these to “just work” in
@@ -585,11 +582,6 @@ Modules:
585582
Source: $def/a/b/bar.yaml
586583
```
587584

588-
589-
590-
591-
592-
593585
### Publish modules to CodeArtifact
594586

595587
Rain integrates with AWS CodeArtifact to enable an experience similar to npm

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,4 +36,4 @@ Rain is a command line tool for working with AWS CloudFormation templates and st
3636
* [rain tree](rain_tree.md) - Find dependencies of Resources and Outputs in a local template
3737
* [rain watch](rain_watch.md) - Display an updating view of a CloudFormation stack
3838

39-
###### Auto generated by spf13/cobra on 7-Apr-2025
39+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_bootstrap.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ rain bootstrap
3333

3434
* [rain](index.md) -
3535

36-
###### Auto generated by spf13/cobra on 7-Apr-2025
36+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_build.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ rain build [<resource type>] or <prompt>
4242

4343
* [rain](index.md) -
4444

45-
###### Auto generated by spf13/cobra on 7-Apr-2025
45+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_cat.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ rain cat <stack>
3535

3636
* [rain](index.md) -
3737

38-
###### Auto generated by spf13/cobra on 7-Apr-2025
38+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_cc.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ You must pass the --experimental (-x) flag to use this command, to acknowledge t
3333
* [rain cc rm](rain_cc_rm.md) - Delete a deployment created by cc deploy (Experimental!)
3434
* [rain cc state](rain_cc_state.md) - Download the state file for a template deployed with cc deploy
3535

36-
###### Auto generated by spf13/cobra on 7-Apr-2025
36+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_cc_deploy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,4 @@ rain cc deploy <template> <name>
4040

4141
* [rain cc](rain_cc.md) - Interact with templates using Cloud Control API instead of CloudFormation
4242

43-
###### Auto generated by spf13/cobra on 7-Apr-2025
43+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_cc_drift.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ rain cc drift <name>
3333

3434
* [rain cc](rain_cc.md) - Interact with templates using Cloud Control API instead of CloudFormation
3535

36-
###### Auto generated by spf13/cobra on 7-Apr-2025
36+
###### Auto generated by spf13/cobra on 17-Apr-2025

docs/rain_cc_rm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ rain cc rm <name>
3333

3434
* [rain cc](rain_cc.md) - Interact with templates using Cloud Control API instead of CloudFormation
3535

36-
###### Auto generated by spf13/cobra on 7-Apr-2025
36+
###### Auto generated by spf13/cobra on 17-Apr-2025

0 commit comments

Comments
 (0)