sparse-intern-71089
10/27/2020, 3:51 PMdazzling-sundown-39670
10/27/2020, 4:41 PMconst baseImageProvider: pulumi.dynamic.ResourceProvider = {
create(inputs) {
console.log('create', inputs.buildOptions)
const image = repository.buildAndPushImage(inputs.buildOptions)
return Promise.resolve({
id: inputs.hash,
outs: {
image,
hash: inputs.hash,
},
});
},
update(id, olds, news) {
if (olds.hash === news.hash) {
return Promise.resolve({
outs: olds
})
}
console.log('update', news.buildOptions)
const image = repository.buildAndPushImage(news.buildOptions)
return Promise.resolve({
outs: {
image,
hash: news.hash,
},
});
},
};
interface BaseImageProps {
buildOptions: docker.DockerBuild;
hash: string;
}
export class BaseImage extends pulumi.dynamic.Resource {
public readonly image!: pulumi.Output<string>;
constructor(
name: string,
props: BaseImageProps,
opts?: pulumi.CustomResourceOptions,
) {
super(baseImageProvider, name, { image: undefined, ...props }, opts);
}
}