aws-ddk-core
Version:
The AWS DataOps Development Kit is an open source development framework for customers that build data workflows and modern data architecture on AWS.
66 lines (65 loc) • 2.51 kB
TypeScript
import * as cdk from "aws-cdk-lib";
import * as iam from "aws-cdk-lib/aws-iam";
import { Construct } from "constructs";
import { Configuration } from "../config";
/**
* Properties of `BaseStack`.
*/
export interface BaseStackProps extends cdk.StackProps {
/**
* ARN of the permissions boundary managed policy.
*/
readonly permissionsBoundaryArn?: string;
/**
* Identifier of the environment.
*
* @default "dev"
*/
readonly environmentId?: string;
/**
* Configuration or path to file which contains the configuration.
*/
readonly config?: string | Configuration;
}
export interface PermissionsBoundaryProps {
readonly environmentId?: string;
readonly prefix?: string;
readonly qualifier?: string;
}
/**
* Base Stack to inherit from.
*
* Includes configurable termination protection, synthesizer, permissions boundary and tags.
*/
export declare class BaseStack extends cdk.Stack {
static createDefaultPermissionsBoundary(scope: Construct, id: string, props: PermissionsBoundaryProps): iam.IManagedPolicy;
/**
* Create a stack.
*
* Includes termination protection settings, multi-level (application, environment,
* and stack-level) tags, and permissions boundary.
* @param scope Scope within which this construct is defined.
* @param id Identifier of the stack.
* @param props Stack properties.
*/
constructor(scope: Construct, id: string, props: BaseStackProps);
/**
* Create a CloudFormation Export for a string value
*
* Returns a string representing the corresponding `Fn.importValue()`
* expression for this Export. You can control the name for the export by
* passing the `name` option.
*
* If you don't supply a value for `name`, the value you're exporting must be
* a Resource attribute (for example: `bucket.bucketName`) and it will be
* given the same name as the automatic cross-stack reference that would be created
* if you used the attribute in another Stack.
*
* One of the uses for this method is to *remove* the relationship between
* two Stacks established by automatic cross-stack references. It will
* temporarily ensure that the CloudFormation Export still exists while you
* remove the reference from the consuming stack. After that, you can remove
* the resource and the manual export.
*/
exportValue(exportedValue: any, options?: cdk.ExportValueOptions): string;
}