Current File : //lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyo
�
��Xc@s�ddlZddlmZmZddlmZddlmZmZdefd��YZ	de	fd��YZ
d	e	fd
��YZdS(i����N(tArgtMutuallyExclusiveArgList(t
ArgumentError(t
EC2Requesttparse_portst_ModifySecurityGroupRulecBs1eZdZeddddd,dd�eddd	dd,dd
�eddd
ddddddd�eddd
ddddd,dd�eddd
ddddd,dd�eeddddd
d dd!�ed"d
d#dddd,dd$��ed%dd&d
d'dd(�gZd)�Zd*�Zd+�Z	RS(-s7
    The basis for security group-editing commands
    tgrouptmetavartGROUPtroute_tothelps5name or ID of the security group to modify (required)s--egresstactiont
store_truesZ[VPC only] manage an egress rule, which controls
                traffic leaving the groups-Ps
--protocoltdestsIpPermissions.1.IpProtocoltPROTOCOLtdefaultttcps�the protocol to affect (Non-VPC: tcp, udp, icmp)
                (VPC only: tcp, udp, icmp, -1/all, other protocol numbers)
                (default: tcp)s-ps--port-ranget
port_rangetRANGEsjrange of ports (specified as "from-to")
                or a single port number (required for tcp and udp)s-ts--icmp-type-codeticmp_type_codes	TYPE:CODEsQICMP type and
                code (specified as "type:code") (required for icmp)s-ss--cidrtCIDRs!IpPermissions.1.IpRanges.1.CidrIpsIP range (default: 0.0.0.0/0)s-ottarget_groupsf[Non-VPC only] name of a security group with which
                    to affect network communications-utACCOUNTsIpPermissions.1.Groups.1.UserIdsPID of the account that owns the security group
                specified with -ocCs|j�dS(N(tprocess_port_cli_args(tself((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pytprocess_cli_argsDscCs;tj|�|jdjd�r:|jd|jd<n0|jdrVtd��n|jd|jd<|jjd�}|dk	r�|jd�r�||jd<q�|jdr�td	��n||jd
<n|jjd�}t|�j	�dkrJt
||jjd�|jjd��\}}||jd<||jd<n�t|�j	�d krrd|jd<n[t|�j�s�ytj
|�|jd<Wq�tjk
r�tdj|���q�Xn|jjd�r|jjd�rd|jd<n|jjd
�r7|jjd�r7td��ndS(!NRssg-tGroupIdtegresss*egress rules must use group IDs, not namest	GroupNameRs IpPermissions.1.Groups.1.GroupIds7argument -o: egress rules must use group IDs, not namess"IpPermissions.1.Groups.1.GroupNamesIpPermissions.1.IpProtocolticmpRtudpt1t6t17RRsIpPermissions.1.FromPortsIpPermissions.1.ToPorttalls-1i����s"argument -P: no such protocol: {0}s$IpPermissions.1.IpRanges.1.GroupNames!IpPermissions.1.IpRanges.1.CidrIps	0.0.0.0/0sIpPermissions.1.Groups.1.UserIds>argument -u is required when -o names a security group by name(RRRRR R!(salls-1(Rt	configuretargst
startswithtparamsRtgettNonetstrtlowerRtisdigittsockettgetprotobynameterrortformat(RRtprotocolt	from_porttto_port((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyR#HsD



	cCsl|jd|jjd�g�GHd|jjd�d|jjd�|jjd�|jjd�g}|jjd�r�|jd	�|j|jjd��n|jjd
�r�|jd�|j|jjd
��n|jjd�r|jd
�|j|jjd��n|jjd�rZ|jddg�|j|jjd��n|j|�GHdS(NRRt
PERMISSIONtALLOWSsIpPermissions.1.IpProtocolsIpPermissions.1.FromPortsIpPermissions.1.ToPortsIpPermissions.1.Groups.1.UserIdtUSERs"IpPermissions.1.Groups.1.GroupNametNAMEs IpPermissions.1.Groups.1.GroupIdtIDs!IpPermissions.1.IpRanges.1.CidrIptFROMR(ttabifyR$R'R&tappendtextend(Rt_tperm_str((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pytprint_result{s* 





N(
t__name__t
__module__t__doc__RR(RtARGSRR#R>(((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyR"s4			3tAuthorizeSecurityGroupRulecBseZdZed��ZRS(s:Add a rule to a security group that allows traffic to passcCs|jdrdSdSdS(NRtAuthorizeSecurityGroupEgresstAuthorizeSecurityGroupIngress(R$(R((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyR�s
(R?R@tDESCRIPTIONtpropertyR(((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyRC�stRevokeSecurityGroupRulecBseZdZed��ZRS(s#Remove a rule from a security groupcCs|jdrdSdSdS(NRtRevokeSecurityGroupEgresstRevokeSecurityGroupIngress(R$(R((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyR�s
(R?R@RFRGR(((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyRH�s(R,trequestbuilderRRtrequestbuilder.exceptionsRteuca2ools.commands.ec2RRRRCRH(((sR/usr/lib/python2.7/site-packages/euca2ools/commands/ec2/modifysecuritygrouprule.pyt<module>sq