o
    !d                  &   @   sV  d dl mZ d dlmZ ddddddddd	Zdd
dZddeeddddZddeeeddddZdddddddg dddddddddddddddddddddddddd dd!dddd"dddd#ddd$dd%d&dd'dd(dd)d*d&dd+dd,dd-ddd.dd/d&dd0ddd1ddd2ddd3dd4d5d6gd7dd8dd9g d:d7dd;ddd<dd=d&d>d&dd?d@ddAddBdddCdddDdddEdddFdddGddHdIdddJdddKdddLdddMddNddOdP	d&id&dQddOdRd&edS	dd)ZddddTdddUg dddddVdddWdddddXddddYdddZddHd[dddddd\ddddddd]dd!dddd"dddd#ddd$dd%d&dd'dd(dd)d*d&ed^dd)dddd_d`gd7dddadbgd7ddcdddegd7ddfddgddhddddidddjdkdlgd7ddmdddndogd7dpddqddddrddsdidddrddsdiddtddudd)Z	dddvdddwdddxdydidOddzddd{dydidOdd|e d} ddej
ddejddejddejdydidOdejdydidOd~dZddddg ddddddydidOddd)ZddddddddddddydidOddd)Zdddddg dddddddg dddddddddydidOddddddddd)ZddejddejdddZddddddddddddddddydidOddddgd7ddddgd7dddddddddd
dZddydid)ZddddddddddddddddddZdddddddddddddddddg dddddddd&idZddddg dddddg dd7ddd)ZdddddidZdS )    )helptext)EC2_ROLE_NAMEmapstringzConfiguration key)typedescriptionzConfiguration valuez$Application configuration properties)r   keyvaluer   z-Application configuration classification namearrayobject)Classification
Properties)r   
propertiesz*Instance group application configurations.)r   itemsr   )r   r   Configurationsz*Friendly name given to the instance group.z.The type of the instance group in the cluster.)ZMASTERZCOREZTASKT)r   r   enumrequiredzvBid price for each Amazon EC2 instance in the instance group when launching nodes as Spot Instances, expressed in USD.zEThe Amazon EC2 instance type for all instances in the instance group.)r   r   r   integerz<Target number of Amazon EC2 instances for the instance groupzKThe AMI ID of a custom AMI to use when Amazon EMR provisions EC2 instances.zBEBS configuration that will be associated with the instance group.Zbooleanz1Boolean flag used to tag EBS-optimized instances.zhThe EBS volume specification that will be created and attached to every instance in this instance group.zyThe EBS volume type that is attached to all the instances in the instance group. Valid types are: gp2, io1, and standard.zXThe EBS volume size, in GB, that is attached to all the instances in the instance group.zWThe IOPS of the EBS volume that is attached to all the instances in the instance group.z]The throughput of the EBS volume that is attached to all the instances in the instance group.)Z
VolumeTypeZSizeInGBZIopsZ
Throughput)r   r   r   zcThe number of EBS volumes that will be created and attached to each instance in the instance group.)ZVolumeSpecificationZVolumesPerInstance)r   r   )ZEbsOptimizedZEbsBlockDeviceConfigszDAuto Scaling policy that will be associated with the instance group.zBThe Constraints that will be associated to an Auto Scaling policy.zUThe minimum value for the instances to scale in to in response to scaling activities.zUThe maximum value for the instances to scale out to in response to scaling activities)ZMinCapacityZMaxCapacityz/The Rules associated to an Auto Scaling policy.zName of the Auto Scaling rule.z%Description of the Auto Scaling rule.z.The Action associated to an Auto Scaling rule.z]Market type of the Amazon EC2 instances used to create a cluster node by Auto Scaling action.Z	ON_DEMANDZSPOT)r   r   r   zOThe Simple scaling configuration that will be associatedto Auto Scaling action.z=Specifies how the ScalingAdjustment parameter is interpreted.)ZCHANGE_IN_CAPACITYZPERCENT_CHANGE_IN_CAPACITYZEXACT_CAPACITYzEThe amount by which to scale, based on the specified adjustment type.zrThe amount of time, in seconds, after a scaling activity completes and before the next scaling activity can start.)ZAdjustmentTypeZScalingAdjustmentZCoolDown)ZMarketZ SimpleScalingPolicyConfigurationz/The Trigger associated to an Auto Scaling rule.ZCloudWatchAlarmDefinitionzJThe Alarm to be registered with CloudWatch, to trigger scaling activities.zUThe arithmetic operation to use when comparing the specified Statistic and Threshold.zMThe number of periods over which data is compared to the specified threshold.z+The name for the alarm's associated metric.z0The namespace for the alarm's associated metric.zDThe period in seconds over which the specified statistic is applied.z8The statistic to apply to the alarm's associated metric.Zdoublez<The value against which the specified statistic is compared.z The statistic's unit of measure.z1The dimensions for the alarm's associated metric.zDimension Key.zDimension Value.)KeyValue)r   r   r   )	ZComparisonOperatorZEvaluationPeriodsZ
MetricNameZ	NamespaceZPeriodZ	StatisticZ	ThresholdZUnitZ
Dimensions)NameDescriptionZActionZTrigger)ZConstraintsZRules)	r   ZInstanceGroupTypeBidPriceInstanceTypeZInstanceCountCustomAmiIdEbsConfigurationZAutoScalingPolicyr   z*Friendly name given to the instance fleet.z.The type of the instance fleet in the cluster.z1Target on-demand capacity for the instance fleet.z,Target spot capacity for the instance fleet.z4The Amazon EC2 instance type for the instance fleet.zcThe weight assigned to an instance type, which will impact the overall fulfillment of the capacity.zvBid price for each Amazon EC2 instance in the instance fleet when launching nodes as Spot Instances, expressed in USD.z+Bid price as percentage of on-demand price.z=EBS configuration that is associated with the instance group.zaThe EBS volume specification that is created and attached to each instance in the instance group.)r   ZWeightedCapacityr   Z#BidPriceAsPercentageOfOnDemandPricer   r   r   z;The strategy to use in launching On-Demand instance fleets.zlowest-pricez^The strategy of whether to use unused Capacity Reservations for fulfilling On-Demand capacity.zuse-capacity-reservations-firstz6The preference of the instance's Capacity Reservation.opennonezPThe ARN of the Capacity Reservation resource group in which to run the instance.)ZUsageStrategyZCapacityReservationPreferenceZ#CapacityReservationResourceGroupArn)AllocationStrategyZCapacityReservationOptionszThe time, in minutes, after which the action specified in TimeoutAction field will be performed if requested resources are unavailable.z:The action that is performed after TimeoutDurationMinutes.TERMINATE_CLUSTERZSWITCH_TO_ONDEMANDzBlock duration in minutes.z6The strategy to use in launching Spot instance fleets.zcapacity-optimized)TimeoutDurationMinutesZTimeoutActionZBlockDurationMinutesr   )ZOnDemandSpecificationZSpotSpecificationr    zdThe time, in minutes, after which the resize will be stopped if requested resources are unavailable.)ZSpotResizeSpecificationZOnDemandResizeSpecification)r   ZInstanceFleetTypeZTargetOnDemandCapacityZTargetSpotCapacityZInstanceTypeConfigsZLaunchSpecificationsZResizeSpecificationszdThe name of the Amazon EC2 key pair that can be used to ssh to the master node as the user 'hadoop'.a%  To launch the cluster in Amazon Virtual Private Cloud (Amazon VPC), set this parameter to the identifier of the Amazon VPC subnet where you want the cluster to launch. If you do not specify this value, the cluster is launched in the normal Amazon Web Services cloud, outside of an Amazon VPC. zList of SubnetIds.r   z.The Availability Zone the cluster will run in.zList of AvailabilityZones.zdAn IAM role for the cluster. The EC2 instances of the cluster assume this role. The default role is zz. In order to use the default role, you must have already created it using the <code>create-default-roles</code> command. )ZKeyNameZSubnetIdZ	SubnetIdsZAvailabilityZoneZAvailabilityZonesZInstanceProfileZEmrManagedMasterSecurityGroupZEmrManagedSlaveSecurityGroupZServiceAccessSecurityGroupZAdditionalMasterSecurityGroupsZAdditionalSlaveSecurityGroupszApplication name.)	ZMapRZHUEHIVEPIGZHBASEIMPALAZGANGLIAZHADOOPZSPARKz/A list of arguments to pass to the application.)r   ArgszBootstrap Action)r   defaultzyLocation of the script to run during a bootstrap action. Can be either a location in Amazon S3 or on a local file system.zGA list of command line arguments to pass to the bootstrap action script)r   Pathr$   z.The type of a step to be added to the cluster.Z
custom_jar)Z
CUSTOM_JARZ	STREAMINGr!   r"   r#   )r   r   r%   r   zThe name of the step. z-The action to take if the cluster step fails.)r   ZCANCEL_AND_WAITCONTINUEr'   )r   r   r   r%   z)A path to a JAR file run during the step.z5A list of command line arguments to pass to the step.zThe name of the main class in the specified Java file. If not specified, the JAR file should specify a Main-Class in its manifest file.zA list of Java properties that are set when the step runs. You can use these properties to pass key value pairs to your main function.)Typer   ZActionOnFailureZJarr$   Z	MainClassr   )ZDirZBackupVersionzEnable EMRFS consistent view.zHEnable Amazon S3 server-side encryption on files written to S3 by EMRFS.z;The maximum number of times to retry upon S3 inconsistency.zfThe amount of time (in seconds) until the first retry. Subsequent retries use an exponential back-off.z?A list of arguments to pass for additional EMRFS configuration.zEMRFS encryption type.Z
SERVERSIDEZ
CLIENTSIDEz+EMRFS client-side encryption provider type.ZKMSZCUSTOMz(AWS KMS's customer master key identifierz(Custom encryption provider JAR location.z+Custom encryption provider full class name.)
Z
ConsistentZSSEZ
RetryCountZRetryPeriodr$   Z
EncryptionZProviderTypeZKMSKeyIdZCustomProviderLocationZCustomProviderClasszThe name of Kerberos realm.z'The password of Kerberos administrator.z-The password to establish cross-realm trusts.zKThe name of the user with privileges to join instances to Active Directory.zOThe password of the user with privileges to join instances to Active Directory.)ZRealmZKdcAdminPasswordZ CrossRealmTrustPrincipalPasswordZADDomainJoinUserZADDomainJoinPasswordZComputeLimitszThe EC2 unit limits for a managed scaling policy. The managed scaling activity of a cluster is not allowed to go above or below these limits. The limits apply to CORE and TASK groups and exclude the capacity of the MASTER group.zThe lower boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary.zThe upper boundary of EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. Managed scaling activities are not allowed beyond this boundary.a  The upper boundary of on-demand EC2 units. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The on-demand units are not allowed to scale beyond this boundary. This value must be lower than MaximumCapacityUnits.z;The unit type used for specifying a managed scaling policy.)ZVCPUZ	InstancesZInstanceFleetUnitsaA  The upper boundary of EC2 units for core node type in a cluster. It is measured through VCPU cores or instances for instance groups and measured through units for instance fleets. The core units are not allowed to scale beyond this boundary. The parameter is used to split capacity allocation between core and task nodes.)ZMinimumCapacityUnitsZMaximumCapacityUnitsZMaximumOnDemandCapacityUnitsZUnitTypeZMaximumCoreCapacityUnitsz$Role of the instance in the cluster.z;EC2 Placement Group strategy associated with instance role.)ZSPREADZ	PARTITIONZCLUSTERZNONE)ZInstanceRoleZPlacementStrategyZIdleTimeoutlongzSpecifies the amount of idle time in seconds after which the cluster automatically terminates. You can specify a minimum of 60 seconds and a maximum of 604800 seconds (seven days).N)Zawscli.customizations.emrr   Z,awscli.customizations.emr.createdefaultrolesr   Z CONFIGURATIONS_PROPERTIES_SCHEMAZ$CONFIGURATIONS_CLASSIFICATION_SCHEMAZINNER_CONFIGURATIONS_SCHEMAZOUTER_CONFIGURATIONS_SCHEMAZINSTANCE_GROUPS_SCHEMAZINSTANCE_FLEETS_SCHEMAZ!EMR_MANAGED_MASTER_SECURITY_GROUPZ EMR_MANAGED_SLAVE_SECURITY_GROUPZSERVICE_ACCESS_SECURITY_GROUPZ!ADDITIONAL_MASTER_SECURITY_GROUPSZ ADDITIONAL_SLAVE_SECURITY_GROUPSZEC2_ATTRIBUTES_SCHEMAZAPPLICATIONS_SCHEMAZBOOTSTRAP_ACTIONS_SCHEMAZSTEPS_SCHEMAZHBASE_BACKUP_DIRZHBASE_BACKUP_VERSIONZ HBASE_RESTORE_FROM_BACKUP_SCHEMAZEMR_FS_SCHEMAZTAGS_SCHEMAZKERBEROS_ATTRIBUTES_SCHEMAZMANAGED_SCALING_POLICY_SCHEMAZPLACEMENT_GROUP_CONFIGS_SCHEMAZAUTO_TERMINATION_POLICY_SCHEMA r*   r*   Lusr/lib/python3.10/site-packages/awscli/customizations/emr/argumentschema.py<module>   sT  /&   m5V	!	@
  H	
N	 	5	9


;
