@pagopa/dx-cli
Version:
A CLI useful to manage DX tools.
41 lines (40 loc) • 1.66 kB
TypeScript
import { z } from "zod/v4";
import { CloudAccount, CloudAccountService } from "./cloud-account.js";
import { TerraformBackend } from "./remote-backend.js";
export declare const environmentShort: Record<Environment["name"], string>;
export declare const environmentSchema: z.ZodObject<{
cloudAccounts: z.ZodArray<z.ZodObject<{
csp: z.ZodDefault<z.ZodEnum<{
azure: "azure";
}>>;
defaultLocation: z.ZodString;
displayName: z.ZodString;
id: z.ZodString;
}, z.core.$strip>>;
name: z.ZodEnum<{
dev: "dev";
prod: "prod";
uat: "uat";
}>;
prefix: z.ZodString;
}, z.core.$strip>;
export type Environment = z.infer<typeof environmentSchema>;
export type EnvironmentId = Pick<Environment, "name" | "prefix">;
export type EnvironmentInitStatus = {
initialized: false;
issues: EnvironmentInitIssue[];
} | {
initialized: true;
};
type CloudAccountNotInitializedIssue = {
cloudAccount: CloudAccount;
type: "CLOUD_ACCOUNT_NOT_INITIALIZED";
};
type EnvironmentInitIssue = CloudAccountNotInitializedIssue | MissingRemoteBackendIssue;
type MissingRemoteBackendIssue = {
type: "MISSING_REMOTE_BACKEND";
};
export declare function getInitializationStatus(cloudAccountService: CloudAccountService, environment: Environment): Promise<EnvironmentInitStatus>;
export declare function getTerraformBackend(cloudAccountService: CloudAccountService, environment: Environment): Promise<TerraformBackend | undefined>;
export declare function hasUserPermissionToInitialize(cloudAccountService: CloudAccountService, environment: Environment): Promise<boolean>;
export {};