В Pulumi существует эквивалент pulumi.Output.apply, но для преобразования значений pulumi.Input? - PullRequest
0 голосов
/ 21 июня 2019

Я разрабатываю Pulumi ComponentResource с именем CopyPostgresql в Typescript.

CopyPostgreSql - это задание Kubernetes, которое копирует при потоковой передаче содержимого исходной базы данных Postgresql в целевую базу данных Postgresql. Параметры CopyPostgreSql включают свойства источника и цели. Оба типа DatabaseInput.

export interface DatabaseInput {
    readonly port: Input<number>;
    readonly user: Input<string>;
    readonly password: Input<string>;
    readonly host: Input<string>;
    readonly dbname: Input<string>;
}

Итак, я хочу использовать порт в качестве значения другого свойства другого компонента, но это другое свойство имеет тип Input .

Как я могу применить (или преобразовать) значение типа Input к Input ? и вообще: в Pulumi существует эквивалент pulumi.Output.apply, но для преобразования значений pulumi.Input?

1 Ответ

2 голосов
/ 21 июня 2019

Вы можете сделать pulumi.output(inputValue).apply(f).

Итак, вы можете передавать их туда и обратно:

const input1: pulumi.Input<string> = "hi";
const output1 = pulumi.output(input1);
const output2 = output1.apply(s => s.toUpperCase());
const input2: pulumi.Input<string> = output2;
...