/* eslint-disable */ /** * This file was automatically generated by json-schema-to-typescript. * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file, * and run json-schema-to-typescript to regenerate this file. */ /** * The cpu architecture of an application. */ export type Architecture = "ARM64" | "X86_64"; /** * Initial capacity initialized when an Application is started. */ export type InitialCapacityConfigMap = InitialCapacityConfigKeyValuePair[]; /** * Identifier of a subnet */ export type SubnetId = string; /** * Identifier of a security group */ export type SecurityGroupId = string; /** * Resource schema for AWS::EMRServerless::Application Type */ export interface AwsEmrserverlessApplication { Architecture?: Architecture; /** * User friendly Application name. */ Name?: string; /** * EMR release label. */ ReleaseLabel: string; /** * The type of the application */ Type: string; InitialCapacity?: InitialCapacityConfigMap; MaximumCapacity?: MaximumAllowedResources; /** * Tag map with key and value */ Tags?: Tag[]; AutoStartConfiguration?: AutoStartConfiguration; AutoStopConfiguration?: AutoStopConfiguration; ImageConfiguration?: ImageConfigurationInput; NetworkConfiguration?: NetworkConfiguration; /** * The Amazon Resource Name (ARN) of the EMR Serverless Application. */ Arn?: string; /** * The ID of the EMR Serverless Application. */ ApplicationId?: string; WorkerTypeSpecifications?: WorkerTypeSpecificationInputMap; } export interface InitialCapacityConfigKeyValuePair { /** * Worker type for an analytics framework. */ Key: string; Value: InitialCapacityConfig; } export interface InitialCapacityConfig { /** * Initial count of workers to be initialized when an Application is started. This count will be continued to be maintained until the Application is stopped */ WorkerCount: number; WorkerConfiguration: WorkerConfiguration; } export interface WorkerConfiguration { /** * Per worker CPU resource. vCPU is the only supported unit and specifying vCPU is optional. */ Cpu: string; /** * Per worker memory resource. GB is the only supported unit and specifying GB is optional. */ Memory: string; /** * Per worker Disk resource. GB is the only supported unit and specifying GB is optional */ Disk?: string; } /** * Maximum allowed cumulative resources for an Application. No new resources will be created once the limit is hit. */ export interface MaximumAllowedResources { /** * Per worker CPU resource. vCPU is the only supported unit and specifying vCPU is optional. */ Cpu: string; /** * Per worker memory resource. GB is the only supported unit and specifying GB is optional. */ Memory: string; /** * Per worker Disk resource. GB is the only supported unit and specifying GB is optional */ Disk?: string; } /** * A key-value pair to associate with a resource. */ export interface Tag { /** * The value for the tag. You can specify a value that is 1 to 128 Unicode characters in length. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Key: string; /** * The value for the tag. You can specify a value that is 0 to 256 Unicode characters in length. You can use any of the following characters: the set of Unicode letters, digits, whitespace, _, ., /, =, +, and -. */ Value: string; } /** * Configuration for Auto Start of Application. */ export interface AutoStartConfiguration { /** * If set to true, the Application will automatically start. Defaults to true. */ Enabled?: boolean; } /** * Configuration for Auto Stop of Application. */ export interface AutoStopConfiguration { /** * If set to true, the Application will automatically stop after being idle. Defaults to true. */ Enabled?: boolean; /** * The amount of time [in minutes] to wait before auto stopping the Application when idle. Defaults to 15 minutes. */ IdleTimeoutMinutes?: number; } /** * The image configuration. */ export interface ImageConfigurationInput { /** * The URI of an image in the Amazon ECR registry. This field is required when you create a new application. If you leave this field blank in an update, Amazon EMR will remove the image configuration. */ ImageUri?: string; } /** * Network Configuration for customer VPC connectivity. */ export interface NetworkConfiguration { /** * The ID of the subnets in the VPC to which you want to connect your job or application. * * @minItems 1 * @maxItems 16 */ SubnetIds?: | [SubnetId] | [SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId] | [ SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId ] | [ SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId ] | [ SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId ] | [ SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId ] | [ SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId, SubnetId ]; /** * The ID of the security groups in the VPC to which you want to connect your job or application. * * @minItems 1 * @maxItems 5 */ SecurityGroupIds?: | [SecurityGroupId] | [SecurityGroupId, SecurityGroupId] | [SecurityGroupId, SecurityGroupId, SecurityGroupId] | [SecurityGroupId, SecurityGroupId, SecurityGroupId, SecurityGroupId] | [SecurityGroupId, SecurityGroupId, SecurityGroupId, SecurityGroupId, SecurityGroupId]; } export interface WorkerTypeSpecificationInputMap { [k: string]: WorkerTypeSpecificationInput; } /** * The specifications for a worker type. * * This interface was referenced by `WorkerTypeSpecificationInputMap`'s JSON-Schema definition * via the `patternProperty` "^[a-zA-Z]+[-_]*[a-zA-Z]+$". */ export interface WorkerTypeSpecificationInput { ImageConfiguration?: ImageConfigurationInput; }