terraform-generator
Version:
Generate Terraform configurations with Node.js.
53 lines (52 loc) • 1.43 kB
TypeScript
import { Argument, Attribute, Map } from '../arguments';
import { Block } from '.';
interface ProvisionerArgs {
when?: Argument<'create' | 'destroy'>;
on_failure?: Argument<'continue' | 'fail'>;
}
/**
* @category Block
*/
export interface FileProvisionerArgs extends ProvisionerArgs {
source?: string;
content?: string;
destination?: string;
}
/**
* @category Block
*/
export interface LocalExecProvisionerArgs extends ProvisionerArgs {
command: string;
working_dir?: string;
interpreter?: string[];
environment?: Map;
quiet?: boolean;
}
/**
* @category Block
*/
export interface RemoteExecProvisionerArgs extends ProvisionerArgs {
inline?: string[];
script?: string;
scripts?: string[];
}
/**
* @category Block
*/
export declare class Provisioner extends Block<FileProvisionerArgs | LocalExecProvisionerArgs | RemoteExecProvisionerArgs> {
readonly type: 'file' | 'local-exec' | 'remote-exec';
/**
* Construct provisioner.
*
* Refer to Terraform documentation on what can be put as type & arguments.
*
* @param type type
* @param args arguments
*/
constructor(type: 'file', args: FileProvisionerArgs);
constructor(type: 'local-exec', args: LocalExecProvisionerArgs);
constructor(type: 'remote-exec', args: RemoteExecProvisionerArgs);
asArgument(): Argument;
attr(_name: string): Attribute;
}
export {};