如果资源使用count参数来指定terraform中的多个资源,则有一种简单的语法,用于为资源实例提供专用字段的列表/数组.
例如
aws_subnet.foo.*.id
Run Code Online (Sandbox Code Playgroud)
由于许多版本可以声明具有复杂结构的变量,例如地图列表.
variable "data" {
type = "list"
default = [
{
id = "1"
...
},
{
id = "10"
...
}
]
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种可能性来为我可以为多种资源做的变量做同样的事情:将数组投影到数组元素的字段值数组.
不幸
var.data.*.id
Run Code Online (Sandbox Code Playgroud)
不适用于资源.有没有可能这样做?
我有两个分支A和B.我想要做的是在A上创建一个新的(合并)提交,当前状态为A作为父级,引用B描述的文件树丢弃任何东西.基本上是历史B应该被压缩成一个提交.
具体的存储库状态由两个独立的分支组成,这些分支没有共同的祖先(来自两个独立的独立存储库),但描述相同的内容.现在我想找到一个"git" - 将它们组合在一起.一个基本的解决方案(没有git)将是结帐A并只是将B的内容复制到工作树中并执行git commit.这基本上是我之前所做的将第二个存储库的内容传播到第一个存储库中的内容.
用git做的我试过了
git checkout A
git merge --squash B
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它为A和B之间不同的所有文件生成了合并冲突,这肯定不是我的预期.
基本上就像是
git merge --squash -s theirs
Run Code Online (Sandbox Code Playgroud)
应该做的工作,但合并策略theirs不存在.阅读文件显示使用类似的东西的可能性
git merge -X theirs
Run Code Online (Sandbox Code Playgroud)
这是合并策略的一个选项recursive.但是这仍然会合并非冲突的块.只有冲突的块直接从中获取theirs.
我有以下问题:
有一个通用的Factory接口
interface Factory<T> {
T create();
}
Run Code Online (Sandbox Code Playgroud)
现在我有两个类T1和T2,其中T2是T1的细化
class T1 {
}
class T2 extends T1 {
}
Run Code Online (Sandbox Code Playgroud)
和这两种类型的工厂:
interface T1Factory extends Factory<T1> {
public T1 create();
}
interface T2Factory extends Factory<T2> {
public T2 create();
}
Run Code Online (Sandbox Code Playgroud)
对于这些工厂,将通过泛型提供默认实现:
class DefaultFactory<T, F extends Factory<T>> implements Factory<T> {
private F factory;
...
public T create()
{
return factory.create();
}
}
Run Code Online (Sandbox Code Playgroud)
应该用于实现T1和T2的工厂.
class DefaultT1Factory extends DefaultFactory<T1,T1Factory> {
}
class DefaultT2Factory extends DefaultFactory<T2,T2Factory> {
}
Run Code Online (Sandbox Code Playgroud)
到这里它工作正常.现在问题.因为T2是T1的细化,所以T2的工厂也可以用作T1的工厂.
这需要T2Factory从T1Factory派生.如果我这样做,我不能使用DefaultFactory类来实现DefaultT2Factory,因为T2Factory不是Factory <T2>.如果我将此关系添加到T2Factory的extends子句,我得到的错误是接口Factory不止一次被使用.但我需要Factory接口才能在默认实现中使用create方法.
从方法签名来看,一切都很好.因此,我要将默认实现的实现复制到工厂实现中.在我的情况下,这个编码非常大,我想避免代码重复.
知道如何规避这个问题.
我有一个Java程序控制一组哈德森服务器自动生成的作业.使用hudson远程API创建,删除或更新作业(配置)没有问题.我还设法创建了哈德逊视图并为哈德逊视图创建了一个新工作.但我仍然需要知道如何将现有作业添加到视图以及如何再次删除它.
是否存在带有参数的URL(如创建作业)?