
    !                     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  \
R$                  " \
R&                  R(                  \
R&                  R*                  \
R&                  R,                  5       " S	 S
\
R.                  5      5       rSSSS.\l        g)z?Command for deleting values overridden in all-instances config.    )absolute_import)division)unicode_literals)base_classes)managed_instance_groups_utils)base)flagsc                   D    \ rS rSrSr\S 5       rS rS r\	S 5       r
Srg)	Delete   z8Delete all-instances-config of a managed instance group.c                 t    [         R                  " SS9R                  USS9  [        R                  " U5        g )NT)region_flagz*delete the all instances configuration for)operation_type)instance_groups_flagsGetInstanceGroupManagerArgAddArgumentmanaged_instance_groups_flags#AddFlagsForDeleteAllInstancesConfig)clsparsers     Jlib/surface/compute/instance_groups/managed/all_instances_config/delete.pyArgsDelete.Args"   s7    44%+#O & Q!EEfM    c                    [         R                  " U R                  5       5      nUR                  nUR                  n[
        R                  R                  UU[        R                  " U5      S9nUR                  5       S;  a(  [        SR                  UR                  5       5      5      eU R                  X5      n[        R                  X5U5      $ )N)scope_lister)compute.instanceGroupManagersz#compute.regionInstanceGroupManagerszUnknown reference type {0})r   ComputeApiHolderReleaseTrackclient	resourcesr   %MULTISCOPE_INSTANCE_GROUP_MANAGER_ARGResolveAsResourcecompute_flagsGetDefaultScopeLister
Collection
ValueErrorformat _CreateInstanceGroupManagerPatchr   _MakePatchRequest)selfargsholderr    r!   igm_refpatch_instance_group_managers          r   Run
Delete.Run)   s    **4+<+<+>?F]]F  I$JJ!! - C CF K "    $  3::



  ! ! $(#H#H$ ##F$@B Br   c                    [         R                  " U5        UR                  =(       d    / nUR                  =(       d    / nUR                  R                  UR                  R                  UR                  R                  UR                  R                  R                  U Vs/ s H1  nUR                  R                  R                  R                  USS9PM3     snS9UR                  R                  R                  U Vs/ s H1  nUR                  R                  R                  R                  USS9PM3     snS9S9S9S9$ s  snf s  snf )zCreates IGM resource patch.N)keyvalue)additionalProperties)metadatalabels)
properties)allInstancesConfig)	mig_utils-RegisterCustomInstancePropertiesPatchEncodersr6   r7   messagesInstanceGroupManager&InstanceGroupManagerAllInstancesConfigInstancePropertiesPatchMetadataValueAdditionalPropertyLabelsValue)r+   r,   r    r6   r7   r3   s         r   r)   'Delete._CreateInstanceGroupManagerPatch@   sH   ;;FC}}"H[[BF??//!??	/	/>>@@NN $,* $,C ??MM++4+@A#+* O  >>JJ $** $*C ??KK++4+@A#)* K  ?  
0 
 0  
**s   #8E8E
c                    UR                  5       S:X  aU  U R                  R                  nU R                  R	                  UR                  5       UUR                  UR                  S9nOTU R                  R                  nU R                  R                  UR                  5       UUR                  UR                  S9nU R                  USU4/5      $ )Nr   )instanceGroupManagerinstanceGroupManagerResourceprojectzone)rE   rF   rG   regionPatch)r&   apitools_clientinstanceGroupManagersr<   (ComputeInstanceGroupManagersPatchRequestNamerG   rH   regionInstanceGroupManagers.ComputeRegionInstanceGroupManagersPatchRequestrI   MakeRequests)r    r.   igm_updated_resourceservicerequests        r   r*   Delete._MakePatchRequestW   s    >>&&<<gHH&||~';//||	 I g &&BBgNN&||~';//	 O !g
 '7 ;<==r    N)__name__
__module____qualname____firstlineno____doc__classmethodr   r0   r)   staticmethodr*   __static_attributes__rV   r   r   r   r      s;     AN NB.. > >r   r   zUDelete values defined in the all-instances configuration of a managed instance group.a          *{command}* deletes one or more values defined in the all-instances
        configuration of a managed instance group.

        To apply a revised all-instances configuration to existing instances
        in the group, use one of the following methods:

        - Update instances using the `update-instances` command.
        - Recreate instances using the `recreate-instances` command.
        - Use the `rolling-action start-update` command.
        - Use the API to set the group's `updatePolicy.type` to `PROACTIVE`.
        a_          To delete the group's all-instances configuration in order to stop
        overriding the group's instance template for a label with the key
        `label-key` and metadata with the key `metadata-key` in group
        `my-group`, run:

          $ {command} my-group
            --metadata=metadata-key
            --labels=label-key
        )briefDESCRIPTIONEXAMPLESN)r[   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r:   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer	   r$   2googlecloudsdk.command_lib.compute.instance_groupsr   :googlecloudsdk.command_lib.compute.instance_groups.managedr   ReleaseTracksr   GABETAALPHADeleteCommandr   detailed_helprV   r   r   <module>rn      s    F &  ' 7 U ( E ] m D%%(($*;*;*@*@%%++-H>T H>-H>Z				% r   