o .&a$ @ s d dl mZ d dl mZ d dl mZ d dl mZ d dlmZ G dd deZG dd d eZG d d deZ G dd d eZ dS ) ) constants)emrutils) hbaseutils)helptext)Commandc @ sH e Zd ZdZdej Zddejdddejddej dgZ d d ZdS )RestoreFromHBaseBackupzrestore-from-hbase-backupzRestores HBase from S3. cluster-idTnamerequired help_textdirzbackup-versionr r c C sX g }t |j|j}tjtjtjtj |d}| | |j|d}t| j d|| dS N)jarr action_on_failureargs JobFlowIdStepsAddJobFlowStepsr )r $build_hbase_restore_from_backup_argsr backup_versionr build_stepr HBASE_JAR_PATHHBASE_RESTORE_STEP_NAMECANCEL_AND_WAITappend cluster_idcall_and_display_response_sessionselfparsed_argsparsed_globalsstepsr step_config parameters r( A/usr/lib/python3/dist-packages/awscli/customizations/emr/hbase.py_run_main_command" s$ z(RestoreFromHBaseBackup._run_main_commandN)__name__ __module____qualname__NAMEr AVAILABLE_ONLY_FOR_AMI_VERSIONSDESCRIPTION CLUSTER_IDHBASE_BACKUP_DIRHBASE_BACKUP_VERSION ARG_TABLEr* r( r( r( r) r s r c @ s e Zd ZdZdej Zddejdddddddejdd dd dddddd ddddddgZ dd Z dd Zdd Zdd Z dS )ScheduleHBaseBackupzschedule-hbase-backupz0Adds a step to schedule automated HBase backup. r Tr typez<
Backup type. You can specify 'incremental' or 'full'.
r intervalzThe time between backups.
unitz|The time unit for backup's time-interval. You can specify one of the following values: 'minutes', 'hours', or 'days'.
z start-timez]The time of the first backup in ISO format.
e.g. 2014-04-21T05:26:10Z. Default is now.r consistent store_truepPerforms a consistent backup. Pauses all write operations to the HBase cluster during the backup process.
r actionr c C sj g }| |j | |j | |}tjtjtj tj |d}|| |j|d}t | jd|| dS r )_check_typer6 _check_unitr8 !_build_hbase_schedule_backup_argsr r r r HBASE_SCHEDULE_BACKUP_STEP_NAMEr r r r r r! r( r( r) r* P s$ z%ScheduleHBaseBackup._run_main_commandc C s@ | }|tjkr|tjkrtdtj d tj d d S d S )Nz0aws: error: invalid type. type should be either or .)lowerr FULLINCREMENTAL ValueError)r" r6 r( r( r) r> c s zScheduleHBaseBackup._check_typec C sX | }|tjkr&|tjkr(|tjkr*tdtj d tj d tj d d S d S d S )NzFaws: error: invalid unit. unit should be one of the following values: z, rB rC )rD r MINUTESHOURSDAYSrG )r" r8 r( r( r) r? k s( zScheduleHBaseBackup._check_unitc C s t jt jt jt j|jg}|j }|j }|j du r!| t j |t jkr-| t j n| t j | |j |t jkrE| t j n| t j | | | t j |jd urc| |j |S | t j |S NT)r HBASE_MAINHBASE_SCHEDULED_BACKUPTRUEr2 r r6 rD r8 r9 r HBASE_BACKUP_CONSISTENTrE HBASE_FULL_BACKUP_INTERVAL!HBASE_INCREMENTAL_BACKUP_INTERVALr7 HBASE_FULL_BACKUP_INTERVAL_UNIT&HBASE_INCREMENTAL_BACKUP_INTERVAL_UNITHBASE_BACKUP_STARTTIME start_timeNOW)r" r# r r6 r8 r( r( r) r@ u s* z5ScheduleHBaseBackup._build_hbase_schedule_backup_argsN)r+ r, r- r. r r/ r0 r1 r2 r4 r* r> r? r@ r( r( r( r) r5 5 s> r5 c @ sP e Zd ZdZdej Zddejdddejdddd d gZ dd Z d d ZdS )CreateHBaseBackupzcreate-hbase-backupzCreates a HBase backup in S3. r Tr r r9 r: r; r<