cdk-emrserverless-with-delta-lake
Version:
A construct for the quick demo of EMR Serverless.
72 lines (71 loc) • 3.21 kB
TypeScript
import * as iam from 'aws-cdk-lib/aws-iam';
import * as servicecatalog from 'aws-cdk-lib/aws-servicecatalog';
import { Construct } from 'constructs';
/**
* Interface for Service Catalog of EMR cluster templates.
*/
export interface EmrStudioDeveloperStackProps {
/**
* The provider name in a Service Catalog for EMR cluster templates.
*
* @default - 'scott.hsieh'
*/
readonly providerName?: string;
/**
* an IAM group you wish to associate with the Portfolio for EMR cluster template.
*/
readonly group?: iam.IGroup;
/**
* an IAM role you wish to associate with the Portfolio for EMR cluster template.
*/
readonly role?: iam.IRole;
/**
* an IAM user you wish to associate with the Portfolio for EMR cluster template.
*/
readonly user?: iam.IUser;
}
/**
* Creates a Service Catalog for EMR cluster templates.
*
* For detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).
*
* ```ts
* const emrClusterTemplatePortfolio = new EmrStudioDeveloperStack(this, 'ClusterTempalte');
* ```
*/
export declare class EmrStudioDeveloperStack extends Construct {
/**
* The representative of the service catalog for EMR cluster tempaltes.
*/
readonly portfolio: servicecatalog.Portfolio;
/**
* The representative of the product for demo purpose.
*/
readonly product: servicecatalog.Product;
constructor(scope: Construct, name: string, props?: EmrStudioDeveloperStackProps);
}
/**
* Creates a CloudFormation template which will be a Product under a Portfolio of AWS Service Catalog. This is for creating an EMR cluster via cluster template in the EMR Studio, created by the `EmrServerless` construct, on the AWS Console.
*
* And you don't have control via the `EmrServerless` construct by now. The documentation is for you to grasp the architecture of the `EmrServerless` more easily.
*
* For detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).
*
* ```ts
* const product = new servicecatalog.CloudFormationProduct(this, 'MyFirstProduct', {
* productName: 'EMR_6.6.0',
* owner: 'scott.hsieh',
* description: 'EMR cluster with 6.6.0 version',
* productVersions: [
* {
* productVersionName: 'v1',
* validateTemplate: true,
* cloudFormationTemplate: servicecatalog.CloudFormationTemplate.fromProductStack(new EmrClusterTemplateStack(this, 'EmrStudio')),
* },
* ],
* });
* ```
*/
export declare class EmrClusterTemplateStack extends servicecatalog.ProductStack {
constructor(scope: Construct, id: string);
}