
                         B    S r SSKJr  SSKJr  SSKJr   " S S\5      rg)zInterconnect Attachment Group.    )absolute_import)division)unicode_literalsc                       \ rS rSrSrSS jr\S 5       r\S 5       rS r	S r
S	 rS
 rS rS r    SS jr     SS jrSS jrSS jrSS jrSrg)InterconnectAttachmentGroup   z1Abstracts Interconnect Attachment Group resource.Nc                 4    Xl         X l        X0l        X@l        g N)refproject_compute_client
_resources)selfr   r   compute_client	resourcess        Mlib/googlecloudsdk/api_lib/compute/interconnects/attachments/groups/client.py__init__$InterconnectAttachmentGroup.__init__   s    HL)O    c                 .    U R                   R                  $ r
   )r   apitools_clientr   s    r   _client#InterconnectAttachmentGroup._client    s    ///r   c                 .    U R                   R                  $ r
   )r   messagesr   s    r   	_messages%InterconnectAttachmentGroup._messages$   s    (((r   c                 D   U VVs/ s H  u  p#U R                   R                  R                  R                  U SU 3U R                   R	                  U R
                  R                  SUU R                  R                  US9R                  5       S9S9PM     snn$ s  snnf )N/zcompute.interconnectAttachments)interconnectAttachmentr   region)
attachment)keyvalue)
r   r   AttachmentsValueAdditionalProperty%InterconnectAttachmentGroupAttachmentr   Creater   r   SelfLink)r   attachmentsr"   r#   s       r   _MakeAdditionalProperties5InterconnectAttachmentGroup._MakeAdditionalProperties(   s     #. #.F 	22CCVV (!J<(..FF??115+5 HH,,!	 2 
 (* G 	 	W 	
 #.  s   BBc                 2   U R                   nU R                  R                  SUR                  U R                  UR                  UR                  US9U R                  R                  5       UUR
                  R                  U R                  U5      S9S9S94$ )a7  Make a tuple for interconnect attachment group insert request.

Args:
  description: String that represents the description of the Cloud
    Interconnect Attachment Group resource.
  availability_sla: String that represents the availability SLA of the Cloud
    Interconnect Attachment Group resource.
  attachments: List of strings that represent the names of the Cloud
    Interconnect Attachment resources that are members of the Cloud
    Interconnect Attachment Group resource.

Returns:
Insert interconnect attachment group tuple that can be used in a request.
InsertavailabilitySlaadditionalProperties)intentnamedescriptionr+   r   interconnectAttachmentGroup)r   r   interconnectAttachmentGroups0ComputeInterconnectAttachmentGroupsInsertRequestr   r   !InterconnectAttachmentGroupIntentr   Namer&   r,   )r   r6   availability_slar+   r   s        r   _MakeCreateRequestTuple3InterconnectAttachmentGroup._MakeCreateRequestTuple:   s    ( ~~H11AALL(0(L(LAA$4 B  XX]]_'$@@QQ)-)G)G#* R  )M ) 	B 	
 r   c                 \   U R                   nSUR                  R                  U R                  U5      S90nUb  XS'   Ub  UR	                  US9US'   U R
                  R                  SUR                  U R                  U R                  R                  5       UR                  " S0 UD6US94$ )	z=Make a tuple for interconnect attachment group patch request.r+   r2   r6   r0   r4   Patch)r   r8   #interconnectAttachmentGroupResource
updateMask )r   r   r&   r,   r;   r   r9   /ComputeInterconnectAttachmentGroupsPatchRequestr   r   r<   )r   r6   r=   r+   update_maskr   group_paramss          r   _MakePatchRequestTuple2InterconnectAttachmentGroup._MakePatchRequestTuplec   s     ~~Hx;;LL!%!?!?!L M 
L
 $/=!#'II*  J  l8 	11@@LL(,080T0T 11 # 	A 	
 r   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  5       S94$ )NDeleter7   )r   r9   r   0ComputeInterconnectAttachmentGroupsDeleteRequestr   r   r<   r   s    r   _MakeDeleteRequestTuple3InterconnectAttachmentGroup._MakeDeleteRequestTuple   sN    11GGHH$$(, 	H 	
 r   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  5       S94$ )NGetr7   )r   r9   r   -ComputeInterconnectAttachmentGroupsGetRequestr   r   r<   r   s    r   _MakeDescribeRequestTuple5InterconnectAttachmentGroup._MakeDescribeRequestTuple   sN    11DDHH$$(, 	E 	
 r   c                     U R                   R                  SU R                  R                  U R                  R
                  U R                  R                  5       S94$ )NGetOperationalStatusr7   )r   r9   r   >ComputeInterconnectAttachmentGroupsGetOperationalStatusRequestr   r   r<   r   s    r   %_MakeGetOperationalStatusRequestTupleAInterconnectAttachmentGroup._MakeGetOperationalStatusRequestTuple   sN    11UUHH$$(, 	V 	
 r   c                 |    U R                  UUU5      /nU(       d   U R                  R                  U5      nUS   $ U$ )z(Create an interconnect attachment group.r   )r>   r   MakeRequests)r   r6   r=   r+   only_generate_requestrequestsr   s          r   r)   "InterconnectAttachmentGroup.Create   sL     	$$	
H !&&33H=iq\Or   c                 z    U R                  XX45      /nU(       d   U R                  R                  U5      nUS   $ U$ )z'Patch an interconnect attachment group.r   )rH   r   rZ   )r   r6   r=   r+   rF   r[   r\   r   s           r   rA   !InterconnectAttachmentGroup.Patch   sH     	##;	
H
 !&&33H=iq\Or   c                 l    U R                  5       /nU(       d  U R                  R                  U5      $ U$ r
   )rM   r   rZ   )r   r[   r\   s      r   rK   "InterconnectAttachmentGroup.Delete   s2    ,,./H !!..x88Or   c                 v    U R                  5       /nU(       d   U R                  R                  U5      nUS   $ U$ Nr   )rR   r   rZ   r   r[   r\   r   s       r   Describe$InterconnectAttachmentGroup.Describe   s;    ..01H &&33H=iq\Or   c                 v    U R                  5       /nU(       d   U R                  R                  U5      nUS   $ U$ rc   )rW   r   rZ   rd   s       r   rU   0InterconnectAttachmentGroup.GetOperationalStatus   s;    ::<=H &&33H=iq\Or   )r   r   r   r   )NN)NNrD   F)NNrD    F)F)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r,   r>   rH   rM   rR   rW   r)   rA   rK   re   rU   __static_attributes__rD   r   r   r   r      s    9  0 0 ) )$'R: !, !&r   r   N)rn   
__future__r   r   r   objectr   rD   r   r   <module>rs      s#    % '  '@& @r   