B
    è?F[g2  ã               @   sô  d Z ddlmZ G dd„ deƒZG dd„ deƒZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eƒZG d#d$„ d$eƒZG d%d&„ d&eƒZG d'd(„ d(eƒZG d)d*„ d*eƒZG d+d,„ d,eƒZG d-d.„ d.eƒZG d/d0„ d0eƒZG d1d2„ d2eƒZG d3d4„ d4eƒZG d5d6„ d6eƒZG d7d8„ d8eƒZG d9d:„ d:eƒZG d;d<„ d<eƒZ G d=d>„ d>eƒZ!d?S )@z+
This module contains EMR response objects
é    )Ú	ResultSetc               @   s,   e Zd Zeƒ Zddd„Zdd„ Zdd„ ZdS )	Ú	EmrObjectNc             C   s
   || _ d S )N)Ú
connection)Úselfr   © r   ú1lib/python3.7/site-packages/boto/emr/emrobject.pyÚ__init__"   s    zEmrObject.__init__c             C   s   d S )Nr   )r   ÚnameÚattrsr   r   r   r   ÚstartElement%   s    zEmrObject.startElementc             C   s   || j krt| | ¡ |ƒ d S )N)ÚFieldsÚsetattrÚlower)r   r	   Úvaluer   r   r   r   Ú
endElement(   s    
zEmrObject.endElement)N)Ú__name__Ú
__module__Ú__qualname__Úsetr   r   r   r   r   r   r   r   r      s   
r   c               @   s   e Zd ZedgƒZdS )ÚRunJobFlowResponseÚ	JobFlowIdN)r   r   r   r   r   r   r   r   r   r   -   s   r   c               @   s   e Zd ZeddgƒZdS )ÚAddInstanceGroupsResponseZInstanceGroupIdsr   N)r   r   r   r   r   r   r   r   r   r   0   s   r   c               @   s   e Zd ZedgƒZdS )ÚModifyInstanceGroupsResponseÚ	RequestIdN)r   r   r   r   r   r   r   r   r   r   3   s   r   c               @   s   e Zd Zddd„Zdd„ ZdS )ÚArgNc             C   s
   d | _ d S )N)r   )r   r   r   r   r   r   8   s    zArg.__init__c             C   s
   || _ d S )N)r   )r   r	   r   r   r   r   r   r   ;   s    zArg.endElement)N)r   r   r   r   r   r   r   r   r   r   7   s   
r   c               @   s   e Zd ZdS )ÚStepIdN)r   r   r   r   r   r   r   r   ?   s   r   c               @   s   e Zd ZdS )ÚSupportedProductN)r   r   r   r   r   r   r   r   C   s   r   c               @   s   e Zd Zddd„Zdd„ ZdS )ÚJobFlowStepListNc             C   s   || _ d | _d S )N)r   Ústepids)r   r   r   r   r   Ú__ini__H   s    zJobFlowStepList.__ini__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NZStepIdsÚmember)r   r   r   )r   r	   r
   r   r   r   r   r   L   s    zJobFlowStepList.startElement)N)r   r   r   r   r   r   r   r   r   r   G   s   
r   c               @   s$   e Zd ZeddddgƒZdd„ ZdS )ÚBootstrapActionÚArgsÚNameZPathZ
ScriptPathc             C   s"   |dkrt dtfgƒ| _| jS d S )Nr"   r    )r   r   Úargs)r   r	   r
   r   r   r   r   r   \   s    zBootstrapAction.startElementN)r   r   r   r   r   r   r   r   r   r   r!   T   s   r!   c               @   s   e Zd ZeddgƒZdS )ÚKeyValueZKeyÚValueN)r   r   r   r   r   r   r   r   r   r%   b   s   r%   c            
   @   s8   e Zd Zeddddddddd	g	ƒZddd„Zdd„ Zd
S )ÚStepÚActionOnFailureÚCreationDateTimeÚEndDateTimeÚJarÚLastStateChangeReasonÚ	MainClassr#   ÚStartDateTimeÚStateNc             C   s   || _ d | _d S )N)r   r$   )r   r   r   r   r   r   v   s    zStep.__init__c             C   s@   |dkrt dtfgƒ| _| jS |dkr<t dtfgƒ| _| jS d S )Nr"   r    Ú
Properties)r   r   r$   r%   Ú
properties)r   r	   r
   r   r   r   r   r   z   s    zStep.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r'   i   s   
r'   c               @   s2   e Zd Zeddddddddd	d
dddddgƒZdS )ÚInstanceGroupÚBidPricer)   r*   ZInstanceGroupIdZInstanceRequestCountZInstanceRoleZInstanceRunningCountÚInstanceTyper,   ZLaunchGroupÚMarketr#   ÚReadyDateTimer.   r/   N)r   r   r   r   r   r   r   r   r   r2   ƒ   s    r2   c               @   sZ   e Zd Ze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gƒZd dd„Zdd„ ZdS )!ÚJobFlowZ
AmiVersionZAvailabilityZoner)   Ú
Ec2KeyNamer*   ZHadoopVersionÚIdZInstanceCountr   ZKeepJobFlowAliveWhenNoStepsr,   ÚLogUriZMasterInstanceIdZMasterInstanceTypeÚMasterPublicDnsNamer#   ÚNormalizedInstanceHoursr6   r   ZSlaveInstanceTyper.   r/   ÚTerminationProtectedZTyper&   ÚVisibleToAllUsersNc             C   s   || _ d | _d | _d | _d S )N)r   ÚstepsÚinstancegroupsÚbootstrapactions)r   r   r   r   r   r   µ   s    zJobFlow.__init__c             C   s€   |dkrt dtfgƒ| _| jS |dkr<t dtfgƒ| _| jS |dkrZt dtfgƒ| _| jS |dkrxt dtfgƒ| _| jS d S d S )NÚStepsr    ÚInstanceGroupsÚBootstrapActionsZSupportedProducts)	r   r'   r?   r2   r@   r!   rA   r   Zsupported_products)r   r	   r
   r   r   r   r   r   »   s    zJobFlow.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r7   —   s:   
r7   c               @   s   e Zd ZedddgƒZdS )ÚClusterTimeliner)   r6   r*   N)r   r   r   r   r   r   r   r   r   rE   Ì   s   rE   c               @   s   e Zd ZeddgƒZdS )ÚClusterStateChangeReasonZCodeZMessageN)r   r   r   r   r   r   r   r   r   rF   Ó   s   rF   c               @   s,   e Zd ZedddgƒZd	dd„Zdd„ ZdS )
ÚClusterStatusr/   ÚStateChangeReasonÚTimelineNc             C   s   || _ d | _d S )N)r   Útimeline)r   r   r   r   r   r   à   s    zClusterStatus.__init__c             C   s4   |dkrt ƒ | _| jS |dkr,tƒ | _| jS d S d S )NrI   rH   )rE   rJ   rF   Zstatechangereason)r   r	   r
   r   r   r   r   r   ä   s    zClusterStatus.startElement)N)r   r   r   r   r   r   r   r   r   r   r   rG   Ù   s   
rG   c               @   s   e Zd ZeddddgƒZdS )ÚEc2InstanceAttributesr8   ZEc2SubnetIdZEc2AvailabilityZoneZIamInstanceProfileN)r   r   r   r   r   r   r   r   r   rK   ï   s
   rK   c               @   s   e Zd ZeddddgƒZdS )ÚApplicationr#   ZVersionr"   ZAdditionalInfoN)r   r   r   r   r   r   r   r   r   rL   ø   s
   rL   c               @   s<   e Zd Zeddddddddd	d
dgƒZddd„Zdd„ ZdS )ÚClusterr9   r#   r:   ZRequestedAmiVersionZRunningAmiVersionZAutoTerminater=   r>   r;   r<   ZServiceRoleNc             C   s"   || _ d | _d | _d | _d | _d S )N)r   ÚstatusÚec2instanceattributesÚapplicationsÚtags)r   r   r   r   r   r     s
    zCluster.__init__c             C   sp   |dkrt ƒ | _| jS |dkr,tƒ | _| jS |dkrJtdtfgƒ| _| jS |dkrhtdtfgƒ| _| jS d S d S )NÚStatusrK   ZApplicationsr    ZTags)	rG   rN   rK   rO   r   rL   rP   r%   rQ   )r   r	   r
   r   r   r   r   r     s    zCluster.startElement)N)r   r   r   r   r   r   r   r   r   r   r   rM     s   
rM   c               @   s*   e Zd ZedddgƒZdd„ Zdd„ ZdS )	ÚClusterSummaryr9   r#   r<   c             C   s   || _ d | _d S )N)r   rN   )r   r   r   r   r   r   /  s    zClusterSummary.__init__c             C   s   |dkrt ƒ | _| jS d S d S )NrR   )rG   rN   )r   r	   r
   r   r   r   r   r   3  s    zClusterSummary.startElementN)r   r   r   r   r   r   r   r   r   r   r   rS   (  s   rS   c               @   s&   e Zd ZedgƒZdd„ Zdd„ ZdS )ÚClusterSummaryListÚMarkerc             C   s   || _ d | _d S )N)r   Úclusters)r   r   r   r   r   r   @  s    zClusterSummaryList.__init__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NZClustersr    )r   rS   rV   )r   r	   r
   r   r   r   r   r   D  s    zClusterSummaryList.startElementN)r   r   r   r   r   r   r   r   r   r   r   rT   ;  s   rT   c               @   s*   e Zd ZeddgƒZddd„Zdd„ ZdS )	Ú
StepConfigr+   r-   Nc             C   s   || _ d | _d | _d S )N)r   r1   r$   )r   r   r   r   r   r   R  s    zStepConfig.__init__c             C   sD   |dkrt dtfgƒ| _| jS |dkr<t dtfgƒ| _| jS d S d S )Nr0   r    r"   )r   r%   r1   r   r$   )r   r	   r
   r   r   r   r   r   W  s    zStepConfig.startElement)N)r   r   r   r   r   r   r   r   r   r   r   rW   L  s
   
rW   c               @   s,   e Zd ZedddgƒZd	dd„Zdd„ ZdS )
Ú
HadoopStepr9   r#   r(   Nc             C   s   || _ d | _d | _d S )N)r   ÚconfigrN   )r   r   r   r   r   r   i  s    zHadoopStep.__init__c             C   s4   |dkrt ƒ | _| jS |dkr,tƒ | _| jS d S d S )NÚConfigrR   )rW   rY   rG   rN   )r   r	   r
   r   r   r   r   r   n  s    zHadoopStep.startElement)N)r   r   r   r   r   r   r   r   r   r   r   rX   b  s   
rX   c            	   @   s6   e Zd ZeddddddddgƒZdd
d„Zdd„ Zd	S )ÚInstanceGroupInfor9   r#   r5   ZInstanceGroupTyper3   r4   ZRequestedInstanceCountZRunningInstanceCountNc             C   s   || _ d | _d S )N)r   rN   )r   r   r   r   r   r   †  s    zInstanceGroupInfo.__init__c             C   s   |dkrt ƒ | _| jS d S d S )NrR   )rG   rN   )r   r	   r
   r   r   r   r   r   Š  s    zInstanceGroupInfo.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r[   z  s   
r[   c               @   s(   e Zd ZedgƒZddd„Zdd„ ZdS )ÚInstanceGroupListrU   Nc             C   s   || _ d | _d S )N)r   r@   )r   r   r   r   r   r   —  s    zInstanceGroupList.__init__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NrC   r    )r   r[   r@   )r   r	   r
   r   r   r   r   r   ›  s    zInstanceGroupList.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r\   ’  s   
r\   c               @   s2   e Zd ZeddddddgƒZddd	„Zd
d„ ZdS )ÚInstanceInfor9   ZEc2InstanceIdZPublicDnsNameZPublicIpAddressZPrivateDnsNameZPrivateIpAddressNc             C   s   || _ d | _d S )N)r   rN   )r   r   r   r   r   r   ­  s    zInstanceInfo.__init__c             C   s   |dkrt ƒ | _| jS d S d S )NrR   )rG   rN   )r   r	   r
   r   r   r   r   r   ±  s    zInstanceInfo.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r]   £  s   
r]   c               @   s(   e Zd ZedgƒZddd„Zdd„ ZdS )ÚInstanceListrU   Nc             C   s   || _ d | _d S )N)r   Ú	instances)r   r   r   r   r   r   ¾  s    zInstanceList.__init__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NZ	Instancesr    )r   r]   r_   )r   r	   r
   r   r   r   r   r   Â  s    zInstanceList.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r^   ¹  s   
r^   c               @   s*   e Zd ZeddgƒZddd„Zdd„ ZdS )	ÚStepSummaryr9   r#   Nc             C   s   || _ d | _d | _d S )N)r   rN   rY   )r   r   r   r   r   r   Ð  s    zStepSummary.__init__c             C   s4   |dkrt ƒ | _| jS |dkr,tƒ | _| jS d S d S )NrR   rZ   )rG   rN   rW   rY   )r   r	   r
   r   r   r   r   r   Õ  s    zStepSummary.startElement)N)r   r   r   r   r   r   r   r   r   r   r   r`   Ê  s
   
r`   c               @   s(   e Zd ZedgƒZddd„Zdd„ ZdS )ÚStepSummaryListrU   Nc             C   s   || _ d | _d S )N)r   r?   )r   r   r   r   r   r   å  s    zStepSummaryList.__init__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NrB   r    )r   r`   r?   )r   r	   r
   r   r   r   r   r   é  s    zStepSummaryList.startElement)N)r   r   r   r   r   r   r   r   r   r   r   ra   à  s   
ra   c               @   s(   e Zd ZedgƒZddd„Zdd„ ZdS )ÚBootstrapActionListrU   Nc             C   s   || _ d | _d S )N)r   Úactions)r   r   r   r   r   r   ö  s    zBootstrapActionList.__init__c             C   s&   |dkrt dtfgƒ| _| jS d S d S )NrD   r    )r   r!   rc   )r   r	   r
   r   r   r   r   r   ú  s    z BootstrapActionList.startElement)N)r   r   r   r   r   r   r   r   r   r   r   rb   ñ  s   
rb   N)"Ú__doc__Zboto.resultsetr   Úobjectr   r   r   r   r   r   r   r   r!   r%   r'   r2   r7   rE   rF   rG   rK   rL   rM   rS   rT   rW   rX   r[   r\   r]   r^   r`   ra   rb   r   r   r   r   Ú<module>   s>   5		'