B m~`&@spddlmZmZmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZGdd d eZd S) )DictListOptional)aws_ec2)aws_secretsmanager)core)emr_code)InstanceMarketType)InstanceGroupConfigurationcseZdZdddejdejddejddddddddd dd d ejeeej ee ee ee ee ee ee e e ee ee e e e ee e e je e ee e e ee eeejfe e e ee e e e d fd dZZS)TaskInstanceGroupConfigurationdefaultz emr-5.29.0z m5.2xlargez m5.xlargeNrio1 ) namespace release_labelmaster_instance_typemaster_instance_marketcore_instance_typecore_instance_marketcore_instance_counttask_instance_typetask_instance_markettask_instance_count applicationsbootstrap_actionsconfigurationsstep_concurrency_level descriptionsecret_configurationscore_instance_ebs_sizecore_instance_ebs_typecore_instance_ebs_iopstask_instance_ebs_size)scopeidconfiguration_namesubnetrrrrrrrrrrrrrrrr r!r"r#r$csftj|||||||||d|||||| | | ddd||jdd}dd| | j| d}|d krz|||d dd gdd |d <||g}|j}|j|dd<||dd<d|dd|jdd| dd| dd| jdd|jdd}|d krH|dd| | j||d|dd dd gdd dd|d|d<d | d|d!<d"| jd|d#<|jd$|| |dS)%NT)r(r'rrrrrZuse_glue_catalogrrr rrrrrZMasterMASTERr)Name InstanceRole InstanceTypeMarket InstanceCountZCoreCOREr)ZSizeInGBZ VolumeTypeZIops)ZVolumeSpecificationZVolumesPerInstance)ZEbsBlockDeviceConfigsZ EbsOptimizedEbsConfigurationZ InstancesZ Ec2SubnetIdZInstanceGroupsz'Instances.InstanceGroups.0.InstanceType)JsonPathDefaultz!Instances.InstanceGroups.0.Marketz(Instances.InstanceGroups.1.InstanceCountz'Instances.InstanceGroups.1.InstanceTypez!Instances.InstanceGroups.1.MarketzInstances.Ec2SubnetId)ZMasterInstanceTypeZMasterInstanceMarketZCoreInstanceCountZCoreInstanceTypeZCoreInstanceMarketSubnetTaskTASKr2)r*r+r,r-r.r0z(Instances.InstanceGroups.2.InstanceCountZTaskInstanceCountz'Instances.InstanceGroups.2.InstanceTypeZTaskInstanceTypez!Instances.InstanceGroups.2.MarketZTaskInstanceMarketr ) super__init__nameconfig subnet_idvalueappendoverride_interfacesupdateZ update_config)selfr%r&r'r(rrrrrrrrrrrrrrrr r!r"r#r$Zmaster_instancer instancesr: overrides) __class__l/Users/soucyk/AmazonCode/Rosbag-topic-extraction-pipeline/infrastructure/emr_launch/instance_group_config.pyr8s#      z'TaskInstanceGroupConfiguration.__init__)__name__ __module__ __qualname__r ON_DEMANDr Constructstrec2r3rintrrEMRBootstrapActiondictrsecretsmanagerSecretr8 __classcell__rDrD)rCrEr s(r N)typingrrraws_cdkrrLrrPr(aws_emr_launch.constructs.emr_constructsr>aws_emr_launch.constructs.emr_constructs.cluster_configurationr ZMaws_emr_launch.constructs.managed_configurations.instance_group_configurationr r rDrDrDrEs