typed-aws
Version:
Helps you write AWS CloudFormation in TypeScript
44 lines (43 loc) • 1.6 kB
TypeScript
import { CreationPolicy, DeletionPolicy, DependsOn, Metadata, UpdatePolicy, UpdateReplacePolicy } from './cfn';
import { Resolvable } from './dataTypes';
export { Resolvable };
export declare class CfnResource<TProps extends CfnResourceProps> implements ICfnResource<TProps> {
Type: string;
Properties?: TProps;
DependsOn?: DependsOn;
Metadata?: Metadata;
CreationPolicy?: CreationPolicy;
DeletionPolicy?: DeletionPolicy;
UpdatePolicy?: UpdatePolicy;
UpdateReplacePolicy?: UpdateReplacePolicy;
Condition?: Resolvable<string>;
constructor(Type: string, Properties?: TProps);
dependsOn(dependencies: DependsOn): this;
setDependsOn(dependencies: DependsOn): this;
metadata(metadata: {
[key: string]: unknown;
}): this;
setMetadata(metadata: {
[key: string]: unknown;
}): this;
creationPolicy(policy: CreationPolicy): this;
deletionPolicy(policy: DeletionPolicy): this;
updatePolicy(policy: UpdatePolicy): this;
updateReplacePolicy(policy: UpdateReplacePolicy): this;
condition(condition: Resolvable<string>): this;
with(apply: (resource: CfnResource<TProps>) => void): this;
}
export interface ICfnResource<TProps extends CfnResourceProps> {
Type: string;
Properties?: TProps;
DependsOn?: DependsOn;
Metadata?: Metadata;
CreationPolicy?: CreationPolicy;
DeletionPolicy?: DeletionPolicy;
UpdatePolicy?: UpdatePolicy;
UpdateReplacePolicy?: UpdateReplacePolicy;
Condition?: Resolvable<string>;
}
export declare type CfnResourceProps = {
[k: string]: unknown;
};