
    /c                     R    S r SSKrSSKrSSKJr  SSKJr  SSKJr   " S S\	5      r
g)zInterconnect Attachment.    N)encoding)flags)logc                   (   \ rS rSrSr0 SS_SS_SS_S	S
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S
_SSSSSSSSSS!.	Er\R                  " \5      r\R                  S"S"S#.5        S$S%S&S'.r
S;S) jr\S* 5       r\S+ 5       rS, r            S<S- jrS. rS/ rS0 rS1 r                                   S=S2 jr                    S>S3 jrS?S4 jrS@S5 jrSAS6 jrS?S7 jr     SBS8 jr  S@S9 jrS:rg()CInterconnectAttachment   z+Abstracts Interconnect attachment resource.zbps-50mBPS_50Mzbps-100mBPS_100Mzbps-200mBPS_200Mzbps-300mBPS_300Mzbps-400mBPS_400Mzbps-500mBPS_500Mzbps-1gBPS_1Gzbps-2gBPS_2Gzbps-5gBPS_5Gzbps-10gBPS_10Gzbps-20gBPS_20Gzbps-50gBPS_50Gzbps-100gBPS_100G50m100m200m300m)	400m500m1g2g5g10g20g50g100gBPS_400G)zbps-400g400gAVAILABILITY_DOMAIN_1AVAILABILITY_DOMAIN_2AVAILABILITY_DOMAIN_ANY)zavailability-domain-1zavailability-domain-2anyNc                     Xl         X l        g N)ref_compute_client)selfr+   compute_clients      Flib/googlecloudsdk/api_lib/compute/interconnects/attachments/client.py__init__InterconnectAttachment.__init__E   s    H)    c                 .    U R                   R                  $ r*   )r,   apitools_clientr-   s    r/   _clientInterconnectAttachment._clientI   s    ///r2   c                 .    U R                   R                  $ r*   )r,   messagesr5   s    r/   	_messages InterconnectAttachment._messagesM   s    (((r2   c                     Sn Ub  UR                  5       n Sn!Ub  UR                  5       n!U R                  R                  U R                  R	                  5       UU U!UUUUUU	U
UUS9n"Ub  UU"l        Ub*  U R                  R                  R                  U5      U"l        Ub  UU"l        Ub*  U R                  R                  R                  U5      U"l
        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        Ub  UU"l        UbK  U"R(                  c  U R                  R+                  5       U"l        UR                  5       U"R(                  l        Ub=  U"R(                  c  U R                  R+                  5       U"l        UU"R(                  l        Ub(  U R                  R1                  US9U"R(                  l        Ub  UU"R(                  l        Ub&  [6        R8                  " U R                  U5      U"l        Ub[  U R<                  R>                  SU R                  RA                  U R                  RB                  U R                  RD                  UU"S94$ U R<                  R>                  SU R                  RA                  U R                  RB                  U R                  RD                  U"S94$ )z/Make an interconnect attachment insert request.N)namedescriptioninterconnectroutertypeedgeAvailabilityDomainadminEnabled	bandwidth
pairingKeyvlanTag8021qcandidateSubnetspartnerMetadata
partnerAsnvniInsert)projectregionvalidateOnlyinterconnectAttachmentrM   rN   rP   )#SelfLinkr:   r   r+   NamemtuEncryptionValueValuesEnum
encryptionipsecInternalAddressesStackTypeValueValuesEnum	stackTypecandidateIpv6SubnetscloudRouterIpv6InterfaceIdcustomerRouterIpv6InterfaceIdsubnetLengthmulticastEnabledcandidateCloudRouterIpAddress candidateCustomerRouterIpAddresscandidateCloudRouterIpv6Address"candidateCustomerRouterIpv6Addressl2Forwarding"InterconnectAttachmentL2ForwardingnetworktunnelEndpointIpAddress.InterconnectAttachmentL2ForwardingGeneveHeadergeneveHeaderdefaultApplianceIpAddressr   "CreateInterconnectAttachmentParamsparamsr6   interconnectAttachments+ComputeInterconnectAttachmentsInsertRequestrM   rN   )#r-   r>   r?   r@   attachment_typeedge_availability_domainadmin_enabledrD   pairing_keyvlan_tag_802_1qcandidate_subnetspartner_metadatapartner_asnvalidate_onlyrT   rV   ipsec_internal_addresses
stack_typecandidate_ipv6_subnetscloud_router_ipv6_interface_id!customer_router_ipv6_interface_idsubnet_lengthmulticast_enabled!candidate_cloud_router_ip_address$candidate_customer_router_ip_address#candidate_cloud_router_ipv6_address&candidate_customer_router_ipv6_addressre   
geneve_vnidefault_appliance_ip_addresstunnel_endpoint_ip_addressresource_manager_tagsinterconnect_self_linkrouter_self_link
attachments#                                      r/   _MakeCreateRequestTuple.InterconnectAttachment._MakeCreateRequestTupleQ   s    F "+446*66XX]]_+7"$*( 7  J jn
..
/
/
I
I   +*Bj'
..
/
/
H
H 
 )(>j%%1.Lj+(4
+ .   -j$$5j!(4
+ . ,7
. 1 +6
- 0 .9
0 3 		 	 	(NN==? 	 )0(8(8(:j%!-		 	 	(NN==? 	 % 5 
..
G
G H  *
 $/
& 7 (BB
../j  ll22HnnHH((**,)3	 I 56 6 LL00(NNFF((xx'1 G 34 4r2   c           	         U R                   R                  U R                  R                  5       UUUUS9nUb  UUl        Ub*  U R                   R                  R                  U5      Ul        U
b  U
Ul        Ub  UUl        Ub  UUl	        Ub  UUl
        U	b  U	Ul        Ub  UUl        Ub  UUl        Ub  UUl        UbT  UR                  cG  U R                   R!                  5       Ul        U R                   R#                  US9UR                  l        Ub=  UR                  c  U R                   R!                  5       Ul        UUR                  l        U R(                  R*                  SU R                   R-                  U R                  R.                  U R                  R0                  U R                  R                  5       US94$ )z.Make an interconnect attachment patch request.)r=   r>   rC   rD   rH   rJ   PatchrM   rN   rP   interconnectAttachmentResource)r:   r   r+   rS   rT   rX   rY   labelslabelFingerprintrZ   r[   r\   r^   ra   rb   rc   rd   rg   rh   ri   r6   rl   *ComputeInterconnectAttachmentsPatchRequestrM   rN   )r-   r>   rp   rD   rt   rT   rx   ry   rz   r{   r   label_fingerprintr}   r   r   r   r   interconnect_attachments                     r/   _MakePatchRequestTuple-InterconnectAttachment._MakePatchRequestTuple   s   ( #nnCCXX]]_"( D * $'!
..
/
/
H
H '
 '-$$1B.)5K2%1
( 8 )4
+ ; $1B.*6
- = .9
0 @ 	 	-	-	5NN==? 	 , NNII J  	 ,,9
 $/	 	-	-	5NN==? 	 , ' **D LL00'NNEE((xx'+xx}}/F	 F HI Ir2   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  U R                  R                  5       S94$ )NGetrQ   )r6   rl   r:   (ComputeInterconnectAttachmentsGetRequestr+   rM   rN   rS   r5   s    r/   _MakeDescribeRequestTuple0InterconnectAttachment._MakeDescribeRequestTuple0  sX    LL00%NNCC((xx'+xx}} D 89 9r2   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  U R                  R                  5       S94$ )NDeleterQ   )r6   rl   r:   +ComputeInterconnectAttachmentsDeleteRequestr+   rM   rN   rS   r5   s    r/   _MakeDeleteRequestTuple.InterconnectAttachment._MakeDeleteRequestTuple7  sX    LL00(NNFF((xx'+xx}} G 89 9r2   c                 V   U R                   R                  U R                  R                  5       U R                   R	                  U R                   R                  R                  U R                   R                  R
                  R                  UU R                   R                  U/ US9S9/S9S9S9nU H  nUR                  R                  R                  S   R                  R                  R                  U R                   R                  UR                  S/ 5      UR                  SS	5      S
95        M     U R                   R"                  SU R                   R%                  U R                  R&                  U R                  R(                  U R                  R                  5       US94$ )>Make an interconnect attachment patch request for L2 mappings.applianceIpAddressinnerVlanToApplianceMappingsr=   keyvalueadditionalPropertiesapplianceMappingsr=   rc   r   innerVlanTagsinnerApplianceIpAddress r   r   r   r   )r:   r   r+   rS   rd   ApplianceMappingsValueAdditionalProperty2InterconnectAttachmentL2ForwardingApplianceMappingrc   r   r   r   r   appendMInterconnectAttachmentL2ForwardingApplianceMappingInnerVlanToApplianceMappinggetr6   rl   r   rM   rN   )r-   vlan_keyappliance_nameappliance_ip_address inner_vlan_to_appliance_mappingsr   inner_mappings          r/   _MakePatchMappingRequestTuple4InterconnectAttachment._MakePatchMappingRequestTuple>  s    66XX]]_^^FF"nnOOffNNEE\\oo$"nn__/C9;!/ `  p 	& g  G 
 7 J$ ://DD
**66
..
f
f)--orB&3&7&7+R' g , : 	,,AAHH$$88??#'88==?+5	 	B 	
	 	r2   c                   ^  S nU 4S jn[         R                  " X#S9" T R                  R                  R                  5        T R                  R                  T R                  R                  5       T R                  R                  T R                  R                  R	                  T R                  R                  R                  R                  USS9/S9S9S9nT R                  R                  S	T R                  R                  T R                  R                  T R                  R                  T R                  R                  5       US
94$ )r   c           	          S n[         R                  " U R                   Vs0 s H3  nUR                  UR                  (       a  U" UR                  5      OS _M5     sn5      $ s  snf )Nc                    0 nU R                   b  U R                   US'   U R                  b  U R                  US'   / US'   U R                   H7  nUS   R                  [	        UR
                  5      UR                  S.5        M9     U$ )Nr   r=   r   r   )r   r=   r   r   listr   r   )messagemappingr   s      r/   _EncodeApplianceMappingsrInterconnectAttachment._MakeRemoveMappingRequestTuple.<locals>._NullValueEncoder.<locals>._EncodeApplianceMappingsu  s    %%1*1*D*D'&
'<<##LL'&/24./$AAM
0
1
8
8#M$?$?@)6)N)N:  B r2   )jsondumpsr   r   r   )r   r   propertys      r/   _NullValueEncoderPInterconnectAttachment._MakeRemoveMappingRequestTuple.<locals>._NullValueEncodert  sg    " ZZ "66 7h ,, 'x~~6
 7 	 	 s   :A#c                 J  > U4S jn[         R                  " U 5      nTR                  R                  R	                  UR                  5        VVs/ s HB  u  p4TR                  R                  R                  R                  UU(       a  U" U5      OS S9PMD     snnS9$ s  snnf )Nc           
      V  > TR                   R                  U R                  SS 5      / U R                  SS 5      S9nU R                  S/ 5       HV  nUR                  R	                  TR                   R                  UR                  S/ 5      UR                  SS5      S95        MX     U$ )	Nr   r=   r   r   r   r   r   r   )r:   r   r   r   r   r   )datar   r   r-   s      r/   _DecodeApplianceMappingsrInterconnectAttachment._MakeRemoveMappingRequestTuple.<locals>._NullValueDecoder.<locals>._DecodeApplianceMappings  s    NNMM#'88,@$#G-/XXfd+ N  	 "XX&DbIM

,
,
3
3nnjj - 1 1/2 F*7*;*;/+ k  J r2   r   r   )r   loadsr:   rd   r   itemsr   )r   r   	py_objectr   r   r-   s        r/   _NullValueDecoderPInterconnectAttachment._MakeRemoveMappingRequestTuple.<locals>._NullValueDecoder  s    & **T"i^^>>UU !* 1 
 !2*#	 nn??VVii;@07d j  !2  V   s   A	B
)encoderdecoderNr   r   r   r   r   r   )r   RegisterCustomMessageCodecr:   rd   r   r   r+   rS   r   r6   rl   r   rM   rN   )r-   r   r   r   r   s   `    r/   _MakeRemoveMappingRequestTuple5InterconnectAttachment._MakeRemoveMappingRequestTupleo  s"   
	6> ''!
nn77NNP 66XX]]_^^FF"nnOOffNNEE\\oo$" p & g  G 	
 7 J 	,,AAHH$$88??#'88==?+5	 	B 	
	 	r2   c$                    Ub2  U R                   R                  R                  U R                  U   5      nUbG  U"(       a  U R                  OU R
                  n$U R                   R                  R                  U$U   5      nUb%  U R                   R                  R                  U5      nUc  Uc  Ub  U R                   R                  UUUS9n%OSn%U
c  / n
U R                  " / UPUPUPUPUPUPUPUPU	PU
PU%PUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPU PU!PU#P76 /n&U(       dF  U R                  R                  U&5      n'U(       a  [        R                  R                  S5        U'S   $ U&$ )z!Create an interconnectAttachment.NinterconnectNamepartnerName	portalUrlzValidation was successful.r   )r:   r   %EdgeAvailabilityDomainValueValuesEnum$_EDGE_AVAILABILITY_DOMAIN_CONVERSION_BANDWIDTH_CONVERSION_WITH_400G_BANDWIDTH_CONVERSIONBandwidthValueValuesEnumTypeValueValuesEnum%InterconnectAttachmentPartnerMetadatar   r,   MakeRequestsr   statusPrint)(r-   r>   r?   r@   rn   ro   rp   rD   rq   rr   rs   partner_namepartner_interconnectpartner_portal_urlru   rT   rV   rw   rx   ry   rz   r{   r|   r}   only_generate_requestrv   r~   r   r   r   re   r   r   r   supports_400gr   bandwidth_optionsrt   requests	resourcess(                                           r/   CreateInterconnectAttachment.Create  s}   N  +!%!F!F!l!l

3
34L
M"   
.
.))  ..
/
/
H
H	* 
 "
..
/
/
C
C  	(L,D&MM/"& N (
  $$  	
 	
 	
  	
 	 	

 % 	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  %! 	
" # 	
$ #% 	
& +' 	
( .) 	
* + 	
, - 	
. ./ 	
0 11 	
2 03 	
4 35 	
6 7 	
8 9 	
: ); 	
< '= 	
> "? 	
"HF !&&33H=i	

56q\Or2   c                    U(       aG  U(       a  U R                   OU R                  nU R                  R                  R	                  UU   5      nUc  Uc  Ub  U R                  R                  UUUS9nOSnU R                  UUUUUU	U
UUUUUUUUU5      /nU(       d   U R                  R                  U5      nUS   $ U$ )z Patch an interconnectAttachment.Nr   r   )	r   r   r:   r   r   r   r   r,   r   )r-   r>   rp   rD   r   r   r   r   r   rx   ry   rz   r{   r   rT   r}   r   r   r   r   r   r   rt   r   r   s                            r/   r   InterconnectAttachment.Patch9  s    0   
.
.))  ..
/
/
H
H	* 
 	(L,D&MM/"& N (
 ##"*-/2(!	
H( !&&33H=iq\Or2   c                 v    U R                  5       /nU(       d   U R                  R                  U5      nUS   $ U$ )Nr   )r   r,   r   )r-   r   r   r   s       r/   DescribeInterconnectAttachment.Describe}  s;    ..01H &&33H=iq\Or2   c                 ,   U R                  5       /nU(       a  U$ [        U R                  R                  U5      S   SS5      n[        USS5      n[        US/ 5      nUb3  U H-  nUR                  U:X  d  M  UR                  UR
                  0s  $    0 $ )z5Describe an interconnect attachment L2 inner mapping.r   rc   Nr   r   )r   getattrr,   r   r   r   )r-   r   r   r   l2_forwardingappliance_mappingr   r   s           r/   DescribeMapping&InterconnectAttachment.DescribeMapping  s    ..01Ho))(3A6M  /BDI-/ErJM"';;("++w}}-
- # Ir2   c                 v   U R                  5       /nU(       a  U$ [        U R                  R                  U5      S   SS5      n[        USS5      n[        US/ 5      nU(       a  U$ / nU HJ  nUR	                  UR
                  UR                  R                  UR                  R                  S.5        ML     U$ )z3List all interconnect attachment L2 inner mappings.r   rc   Nr   r   )r   r=   r   )	r   r   r,   r   r   r   r   r=   r   )	r-   is_jsonr   r   r   r   r   list_resultsr   s	            r/   ListMapping"InterconnectAttachment.ListMapping  s    ..01Ho))(3A6M  /BDI-/ErJML --$$%,]]%E%E 	 ! r2   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ r*   )r   r,   r   )r-   r   r   s      r/   r   InterconnectAttachment.Delete  s2    ,,./H !!..x88Or2   c                     Uc  / nU R                  UUUU5      /nU(       d   U R                  R                  U5      nUS   $ U$ )z2Add an interconnectAttachmen L2 appliance mapping.r   )r   r,   r   )r-   r   r   r   r   r   r   r   s           r/   UpdateMapping$InterconnectAttachment.UpdateMapping  s[     (/)+&** ,		
H !&&33H=iq\Or2   c                 x    U R                  U5      /nU(       d   U R                  R                  U5      nUS   $ U$ )z6Remove an interconnectAttachment L2 appliance mapping.r   )r   r,   r   )r-   r   r   r   r   s        r/   RemoveMapping$InterconnectAttachment.RemoveMapping  sF     	++	
H
 !&&33H=iq\Or2   )r,   r+   r*   )NNNNNNNNNNNN)#r   NNNNNNNNNNNNNNNNNNNNNNFNNNNNNNNNFN)r   NNNNNNNNNNNFNNNNNNF)F)NF)FF)NNNNF)__name__
__module____qualname____firstlineno____doc__r   copydeepcopyr   updater   r0   r   r6   r:   r   r   r   r   r   r   r   r   r   r   r  r   r  r	  __static_attributes__ r2   r/   r   r      s   3* * *	
 * *       * Y j  j!" j#$ 5: %)MM2G$H!!((*   76&*&* 0 0 ) )J4d !%)(,*.-1#'#QIf99/bZ| #
#!%)(,!(,+/*.-1#'!% Il` !%)(,!
*.-1#'+BH". '+!4 !r2   r   )r  r  r   apitools.base.pyr   <googlecloudsdk.command_lib.compute.interconnects.attachmentsr   googlecloudsdk.corer   objectr   r  r2   r/   <module>r     s'       % N #
V 
r2   