UNPKG

cdk-emrserverless-with-delta-lake

Version:
72 lines (71 loc) 3.21 kB
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); }