
                         z   S r SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSK	Jr  SS	KJr  SS
KJr  SSS.r\
R"                  \
R$                  " \
R&                  R(                  \
R&                  R*                  \
R&                  R,                  5       " S S\
R.                  5      5       5       r\\l        g)z4Command for updating interconnect attachment groups.    )absolute_import)division)unicode_literals)base_classes)client)base)
exceptions)flags)
propertiesz        *{command}* is used to update interconnect attachment groups.

        For an example, refer to the *EXAMPLES* section below.
        a          To update an interconnect attachment group example-attachment-group's
        intended availability SLA to PRODUCTION_CRITICAL, run:

          $ {command} example-attachment-group
          --intended-availability-sla=PRODUCTION_CRITICAL

        To update an interconnect attachment group example-attachment-group's
        description to "example attachment group description", run:

          $ {command} example-attachment-group
          --description="example attachment group description"

        To update an interconnect attachment group example-attachment-group's
        member attachments to attachment-1 and attachment-2, run:

          $ {command} example-attachment-group
          --attachments=region-1/attachment-1,region-2/attachment-2
          --update-mask=attachments

        Although you can add or remove member attachments using this command, it
        is recommended to add or remove member attachments using the
        *add-members* and *remove-members* commands.
        )DESCRIPTIONEXAMPLESc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)Update=   zUpdate a Compute Engine interconnect attachment group.

*{command}* is used to update interconnect attachment groups. An interconnect
attachment group connects a set of redundant interconnect attachments between
Google and the customer.
Nc                    [         R                  " SS9U l        U R                  R                  USS9  [         R                  " U5        [         R
                  " U5        [         R                  " U5        [         R                  " U5        g )NF)pluralupdate)operation_type)r
   #InterconnectAttachmentGroupArgumentATTACHMENT_GROUP_ARGAddArgumentAddDescription#AddIntendedAvailabilitySlaForUpdate)GetMemberInterconnectAttachmentsForCreateAddUpdateMask)clsparsers     >lib/surface/compute/interconnects/attachments/groups/update.pyArgsUpdate.ArgsK   sk    $HH C (((I	 	--f5	33F;	    c                     g)Nz$compute.interconnectAttachmentGroups )selfs    r   
CollectionUpdate.CollectionV   s    1r!   c                    UR                   c6  UR                  c)  UR                  (       d  [        R                  " / SQ5      e[
        R                  " U R                  5       5      nU R                  R                  XR                  5      n[        R                  R                  R                  R                  5       n[         R"                  " X4UR                   UR                  S9n[$        R&                  " UR                   R(                  UR                  5      n[$        R*                  " UR                  5      nUR-                  UR                   UUUR.                  S9$ )N)z--descriptionz--intended-availability-slaz--attachments)compute_client	resources)descriptionavailability_slaattachmentsupdate_mask)r*   intended_availability_slar,   r	   MinimumArgumentExceptionr   ComputeApiHolderReleaseTrackr   ResolveAsResourcer)   r   VALUEScoreproject	GetOrFailr   InterconnectAttachmentGroupr
   GetIntendedAvailabilitySlamessagesParseAttachmentsPatchr-   )r$   argsholderrefr5   attachment_groupr+   r,   s           r   Run
Update.RunY   s"    **2  //
K  **4+<+<+>?F

#
#
5
5d<L<L
MC$$,,668G99V]]f>N>N 77 > > (()9)9:K!!$$)$$	 "  r!   r#   )__name__
__module____qualname____firstlineno____doc__r   classmethodr   r%   r@   __static_attributes__r#   r!   r   r   r   =   s+    
    2r!   r   N)rF   
__future__r   r   r   googlecloudsdk.api_lib.computer   ?googlecloudsdk.api_lib.compute.interconnects.attachments.groupsr   googlecloudsdk.callioper   r	   Cgooglecloudsdk.command_lib.compute.interconnects.attachments.groupsr
   googlecloudsdk.corer   DETAILED_HELPUniverseCompatibleReleaseTracksr1   ALPHABETAGAUpdateCommandr   detailed_helpr#   r!   r   <module>rW      s    ; &  ' 7 R ( . U *
B T..33T5F5F5I5I1T 1 1h % r!   