@pagopa/dx-cli
Version:
A CLI useful to manage DX tools.
17 lines (16 loc) • 940 B
JavaScript
import * as assert from "node:assert/strict";
import { payloadSchema, } from "../generators/environment/prompts.js";
export const provisionTerraformBackend = async (payload, cloudAccountService) => {
assert.ok(payload.init, "This action requires initialization data in the payload");
assert.ok(payload.init.terraformBackend, "This action requires terraformBackend data in the payload");
const terraformBackend = await cloudAccountService.provisionTerraformBackend(payload.init.terraformBackend.cloudAccount, payload.env, payload.tags);
return terraformBackend;
};
export default function (plop, cloudAccountService) {
plop.setActionType("provisionTerraformBackend", async (data) => {
const payload = payloadSchema.parse(data);
data.terraform ??= {};
data.terraform.backend = await provisionTerraformBackend(payload, cloudAccountService);
return "Terraform Backend Provisioned";
});
}