我正在尝试使用具有创建多个资源(包括S3存储桶和Cognito用户池)的根堆栈的嵌套堆栈。问题是:
-
。我想使用相同/相似的名称${AWS::StackName}-then-some-string
来命名我的资源,以便将它们识别为一个应用程序的一部分。
是否有办法从cloudformation内部的参数中删除破折号?我知道我可以使用Fn::Split
用-
分割字符串,然后使用Fn::Select
选择特定元素,然后选择Fn::Join
,但这仅适用于具有一定数量的堆栈名称破折号-
。
关于如何使用某种函数或正则表达式将-
更改为空字符串或其他内容,我找不到任何资源。
答案 0 :(得分:2)
您快到了-使用Class Tournament{
private int id;
Date date;
String name;
String place
Shoot shoot;
}
Class Shoot {
private int id;
@OneToMany
List<Arrow> arrowList;
}
Class Arrow {
private int id;
@ManyToOne
private Shoot shoot;
private Integer orderNumber; (1-60)
private Integer result (1-10) instead of Integer can be modified to ENUM ArrowResult from 1-10
}
和Fn::Split
,无需选择。
Fn::Join
SomeKey:
Fn::Join:
- ''
- Fn::Split:
- '-'
- !Ref YourParam
返回一个数组。 Split
接受一个连接字符串和一组要连接的项目。因此,只需将连字符/破折号分开,然后用空字符串将各部分重新连接在一起,从而消除连字符。