HEX
Server: Apache/2.4.68 (Debian)
System: Linux as-cs-widget-demo-us-central1 6.1.0-44-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.164-1 (2026-03-09) x86_64
User: root (0)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/google-cloud-sdk/lib/surface/compute/instances/__pycache__/update.cpython-312.pyc
�

��pI��&�dZddlmZddlmZddlmZddlmZddlmZddlmZddl	m
Z
dd	lmZdd
l
mZddlmZddlmZddlmZdd
lmZddd�Zej0ej2ej4j6�Gd�dej8���Zej2ej4j<�Gd�de��Zej2ej4j@�Gd�de��Z!ee_"y)z'Command for labels update to instances.�)�absolute_import)�division)�unicode_literals)�base_classes)�instance_utils)�partner_metadata_utils)�poller)�waiter)�base)�flags)�util)�labels_utilzy
        *{command}* updates labels and requested CPU Platform for a
        Compute
        Engine virtual machine.
    a}
    To modify the instance 'example-instance' in 'us-central1-a' by adding
    labels 'k0', with value 'value1' and label 'k1' with value 'value2' and
    removing labels with key 'k3', run:

      $ {command} example-instance --zone=us-central1-a --update-labels=k0=value1,k1=value2 --remove-labels=k3

    Labels can be used to identify the instance. To list instances with the 'k1:value2' label, run:

      $ {parent_command} list --filter='labels.k1:value2'

    To list only the labels when describing a resource, use --format to filter the result:

      $ {parent_command} describe example-instance --format="default(labels)"
  )�DESCRIPTION�EXAMPLESc�h�eZdZdZed��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zy)�Update�(Update a Compute Engine virtual machine.c��tjj|d��tj|�tj
|tj��tj|d��tj|dd��tj|�tj|d��tj|d��y�N�update)�operation_typeF)�use_default_valueT)r�
for_update)�	is_update)r�INSTANCE_ARG�AddArgumentr�AddUpdateLabelsFlags�AddMinCpuPlatformArgsr�ReleaseTrack�AddDeletionProtectionFlag�AddShieldedInstanceConfigArgs�&AddShieldedInstanceIntegrityPolicyArgs�AddDisplayDeviceArg�sole_tenancy_flags�AddNodeAffinityFlagToParser��parsers �'lib/surface/compute/instances/update.py�ArgszUpdate.Args>s���
���"�"�6�(�"�C��$�$�V�,�	�����(;�(;�(=�>�	�#�#�F�e�D�	�'�'��%�D�:�	�0�0��8�	���f��5��2�2�6�T�J�c�$�|j|�S�N��_Run��self�argss  r(�Runz
Update.RunK����9�9�T�?�r*c��tj|j��}|jj}|jj
}tjj||jt
j|j���}d}d}d}d}	d}
d}d}d}
tjj|�}|j�rO|jj!|j"di|j%����}|}|j'||||�}t)|d�r)|j*�|j-|j*||�}|j.�|j1|j.||�}	t)|d�r+|j2s|j4r|j7|||�}t)|d�r|j9d�st)|d�r$|j9d�r|j;|||�}
t=j>|j�}|jA||d|jC��xs|}|jA||d|jC��xs|}|jA||	d|jC�|j.�xs|}|jA||d	|jC��xs|}|jA||
d
|jC��xs|}|j9d�s"|j9d�s|j9d
�r9|jE|||�}
|jA||
d|jC��xs|}|j9d�r8|jG||�}|jA||d|jC��xs|}|j9d�rC|jI|jJ||�}|jA||d|jC��xs|}tMjN|dddd�r9|jQ|||�}|jA||d|jC��xs|}|S)N)�scope_lister�min_cpu_platform�partner_metadata�graceful_shutdown�graceful_shutdown_max_durationz!Updating labels of instance [{0}]z/Changing minimum CPU platform of instance [{0}]z6Setting deletion protection of instance [{0}] to [{1}]z+Updating partner metadata of instance [{0}]z:Updating graceful shutdown configuration of instance [{0}]�shielded_vm_secure_boot�shielded_vm_vtpm� shielded_vm_integrity_monitoringz1Setting shieldedInstanceConfig  of instance [{0}]�"shielded_vm_learn_integrity_policyz9Setting shieldedInstanceIntegrityPolicy of instance [{0}]�enable_display_devicez)Updating display device of instance [{0}]�node�node_affinity_file�
node_group�clear_node_affinitiesz)Updating the scheduling of instance [{0}]�))r�ComputeApiHolderr�client�apitools_client�messagesrr�ResolveAsResource�	resources�GetInstanceZoneScopeListerr�Diff�FromUpdateArgs�MayHaveUpdates�	instances�Get�ComputeInstancesGetRequest�AsDict�_GetLabelsOperationRef�hasattrr6�_GetMinCpuPlatformOperationRef�deletion_protection�"_GetDeletionProtectionOperationRefr7�partner_metadata_from_file�_GetPartnerMetadataOperationRef�IsSpecified� _GetGracefulShutdownOperationRefr	�Poller�_WaitForResult�Name�_GetShieldedInstanceConfigRef�&_GetShieldedInstanceIntegrityPolicyRef�_GetDisplayDeviceOperationRefr>r�IsAnySpecified�_GetUpdateInstanceSchedulingRef)r0r1�holderrErG�instance_ref�result�labels_operation_ref�min_cpu_platform_operation_ref�!deletion_protection_operation_ref�shielded_instance_config_ref�display_device_ref�partner_metadata_operation_ref�graceful_shutdown_operation_ref�labels_diff�instance�operation_poller�&shielded_instance_integrity_policy_ref�update_scheduling_refs                   r(r.zUpdate._RunNs���
�
*�
*�4�+<�+<�+>�
?�F�
�]�]�
*�
*�F��}�}�%�%�H��%�%�7�7��f����5�5�f�m�m�D�8�F�L��F���%)�"�(,�%�#'� ���%)�"�&*�#��"�"�1�1�$�7�K��!�!�#��!�!�%�%�
-�(�
-�
-�
F��0C�0C�0E�
F�H�h��f�!�8�8�
�x��v�7���t�'�(�T�-B�-B�-N�'+�'J�'J�
�
�
��v�(7�$����+�
�
1�
1��&�&��f�>�(��t�'�(�����!@�!@�'+�'K�'K�
��f�(�$�	��)�*����0�1���6�7����=�>�(,�(M�(M�
��f�)�%��}�}�V�%5�%5�6��
�
 �
 ��.�+�\�->�->�-@�B�L�EK���
 �
 ��8�9������'�!'���
 �
 ��;�@�����T�5�5�7�A�;A���
 �
 ��8�5������'�!'��
	
����+�H�����		
�	���	
���2�3����+�,����;�<�%)�%G�%G�
��f�&&�"��"�"�
�8�
=�
�
�
�
��)�#)�
�
���<�=�
�
5�
5�l�F�
K�-��"�"�
�B�
E�
�
�
�
��)�#)�
�
���/�0��=�=�
�
$�
$�l�F�<���"�"�#3�5G�#N�#/�#4�#4�#6�8�B�;A�
��$�$�T�6�3G�%1�3J�L�"�B�B�
��f�&���"�"�
�
�!L�
�
�
�
��)�#)�
�
�Mr*c���|jj}|jj}tj|ddd�rtj||�}n|jd�rg}ny|jj|jdi|j����}||j_
|j|j�|j |j"||jj$j&|jj(j*��}|jj-|�}	|j.j1|	j2d��S)	Nr?r@rArB�rn�project�zone�instanceResource�
minimalAction�mostDisruptiveAllowedAction�compute.zoneOperations��
collectionrC)rErFrGrra�sole_tenancy_util�%GetSchedulingNodeAffinityListFromArgsrYrNrOrPrQ�
scheduling�nodeAffinities�ComputeInstancesUpdateRequestr]rtru�MinimalActionValueValuesEnum�	NO_EFFECT�*MostDisruptiveAllowedActionValueValuesEnum�REFRESHrrI�Parse�selfLink)
r0rdr1rcrErG�
affinitiesrn�request�	operations
          r(rbz&Update._GetUpdateInstanceSchedulingRef�sG��
�]�]�
*�
*�F��}�}�%�%�H��$�$�T�6�3G�%1�3�$�J�J�
���j�	
�	�	�1�	2��j�����#�#�+��+�+�D�l�.A�.A�.C�D�F�H�)3�H���&��4�4��"�"�$��$�$�
�
�
�!��<�<�	%�	%�i�i�$,�$J�$J�	3�	3�G�G�5�=�G�� � �'�'��0�I����!�!����'?�"�A�Ar*c��|jj}|jj}|j�|j�
|j
�yt
j||j|j|j
�}|j|j�|j||j��}|jj|�}|jj|j d��S)N)rnrt�shieldedInstanceConfigruryrz)rErFrGr:r;r<r�#CreateShieldedInstanceConfigMessage�3ComputeInstancesUpdateShieldedInstanceConfigRequestr]rtrurN�UpdateShieldedInstanceConfigrIr�r�)	r0rdr1rcrErG�shieldedinstance_config_messager�r�s	         r(r^z$Update._GetShieldedInstanceConfigRef�s���
�]�]�
*�
*�F��}�}�%�%�H��$�$�,����%��-�-�5�
��:�:���(�(��!�!��1�1�		3�$��J�J��"�"�$��$�$�>�
�
�
�	K� �G�� � �=�=�g�F�I����!�!����'?�"�A�Ar*c�v�|jj}|jj}tj|�}|j|j
�|j||j��}|jj|�}|jj|jd��S)N)rnrt�shieldedInstanceIntegrityPolicyruryrz)rErFrGr�,CreateShieldedInstanceIntegrityPolicyMessage�9ComputeInstancesSetShieldedInstanceIntegrityPolicyRequestr]rtrurN�"SetShieldedInstanceIntegrityPolicyrIr�r�)r0rdrcrErG�)shieldedinstance_integrity_policy_messager�r�s        r(r_z-Update._GetShieldedInstanceIntegrityPolicyRef�s���
�]�]�
*�
*�F��}�}�%�%�H�	�C�C�H�M�.��P�P��"�"�$��$�$�(Q�
�
�
�	Q� �G�� � �C�C�G�L�I����!�!����'?�"�A�Ar*c	��|jj}|jj}|j|jj
|j�}|jr�|j|j|j|j|j	|j|j����}|jj|�}	|jj!|	j"d��Sy)N)�labelFingerprint�labels)rtrnru�instancesSetLabelsRequestryrz)rErFrG�Apply�InstancesSetLabelsRequest�LabelsValuer��needs_update� ComputeInstancesSetLabelsRequestrtrnrur�rN�	SetLabelsrIr�r�)
r0rmrnrdrcrErG�
labels_updater�r�s
          r(rRzUpdate._GetLabelsOperationRefs���
�]�]�
*�
*�F��}�}�%�%�H��%�%��*�*�6�6�����M��!�!��9�9��&�&��(�(�� � �
�
,�
,�'�8�8�"�)�)�-�+�:�,�g��"�"�,�,�W�5�i�
�
�
�
#�
#�
�
�
�)A�$�C�C�"r*c�p�|jj}|jj}|j|xsd��}|j	|j
|j||j��}|jj|�}|jj|jd��S)N)�minCpuPlatform)rnrt�!instancesSetMinCpuPlatformRequestruryrz)
rErFrG�!InstancesSetMinCpuPlatformRequest�(ComputeInstancesSetMinCpuPlatformRequestrnrtrurN�SetMinCpuPlatformrIr�r�)	r0r6rdrcrErG�embedded_requestr�r�s	         r(rTz%Update._GetMinCpuPlatformOperationRefs���
�]�]�
*�
*�F��}�}�%�%�H��A�A�'�/�4�B�1���?�?��&�&��$�$�*:�
�
�
�	@� �G�� � �2�2�7�;�I����!�!����'?�"�A�Ar*c�D�|jj}|jj}|j||j|j
|j��}|jj|�}|jj|jd��S)N)�deletionProtectionrt�resourceruryrz)rErFrG�,ComputeInstancesSetDeletionProtectionRequestrtrnrurN�SetDeletionProtectionrIr�r�)r0rUrdrcrErGr�r�s        r(rVz)Update._GetDeletionProtectionOperationRef-s���
�]�]�
*�
*�F��}�}�%�%�H��C�C�.��$�$��&�&�
�
�
�	D� �G�� � �6�6�w�?�I����!�!����'?�"�A�Ar*c�d�|jj}|jj}|j|j	|��|j
|j|j��}|jj|�}|jj|jd��S)N)�
enableDisplay)�
displayDevicertrnruryrz)
rErFrG�*ComputeInstancesUpdateDisplayDeviceRequest�
DisplayDevicertrnrurN�UpdateDisplayDevicerIr�r�)r0�display_devicerdrcrErGr�r�s        r(r`z$Update._GetDisplayDeviceOperationRef;s���
�]�]�
*�
*�F��}�}�%�%�H��A�A��,�,�(�-�*��$�$��&�&�
�
�
�B� �G�� � �4�4�W�=�I����!�!����'?�"�A�Ar*c��|jj}|jj}|jj	|j
di|j
����}|jj}t|d�r4|jd�r#|�|j�}|j|_
t|d�rD|jd�r3|�|j�}|j|j��|_||j_|j#|j%�|j&|j(||j"j*j,|j"j.j0��}|jj3|�}	|j4j7|	j8d��S)Nr8r9)�secondsrsryrzrC)rErGrFrNrOrPrQr~�gracefulShutdownrSrY�SchedulingGracefulShutdownr8�enabled�Durationr9�maxDurationr�r]rtrur�r�r�r�rrIr�r�)
r0r1rdrcrGrErn�!updated_graceful_shutdown_messager�r�s
          r(rZz'Update._GetGracefulShutdownOperationRefIs����}�}�%�%�H�
�]�]�
*�
*�F����#�#�+��+�+�D�l�.A�.A�.C�D��H�)1�(;�(;�(L�(L�%��t�(�)�d�.>�.>��/�
+�	2��/�/�1�	*�37�2H�2H�'�/��t�5�6�4�;K�;K�(�<�
+�	2��/�/�1�	*�7?�6G�6G��5�5�7H�7�'�3�,M�H���(��4�4��"�"�$��$�$�
�
�
�!��<�<�Y�Y�c�c�$,�$J�$J�$u�$u�$}�$}�
5��G�� � �'�'��0�I����!�!����'?�"��r*c
��|jj}|jj}tj|�}tj
|�|jj�}|j�D]Y\}}	|jj|jjj|tj|	|�����[|jj|jdi|j!����}
||
_|j%|j'�|j(|j*|
|j$j,j.|j$j0j2��}|jj5|�}|j6j9|j:d��S)N)�key�valuersryrzrC)rErGrFr�CreatePartnerMetadataDict�ValidatePartnerMetadata�Instance�PartnerMetadataValue�items�additionalProperties�append�AdditionalProperty�ConvertStructuredEntriesrNrOrPrQ�partnerMetadatar�r]rtrur�r�r�r�rrIr�r�)
r0r1rdrcrGrE�partner_metadata_dict�partner_metadata_message�	namespace�structured_entriesrnr�r�s
             r(rXz&Update._GetPartnerMetadataOperationRefts����}�}�%�%�H�
�]�]�
*�
*�F��8�8��>���2�2�3H�I�'�0�0�E�E�G��)>�)D�)D�)F�%�	�%��3�3�:�:�
�
�
�
0�
0�
C�
C��*�C�C�$�h��D���*G����#�#�+��+�+�D�l�.A�.A�.C�D�F�H�7�H���4�4��"�"�$��$�$�
�
�
�!��<�<�	%�	%�i�i�$,�$J�$J�	3�	3�G�G�5�=�G�� � �'�'��0�I����!�!����'?�"�A�Ar*c�P�|r$tj|||j|��Syr,)r
�WaitFor�format)r0ro�
operation_ref�messager1s     r(r\zUpdate._WaitForResult�s-���
�^�^�
�M�>�7�>�>�4�+@�B�B�r*N)�__name__�
__module__�__qualname__�__doc__�staticmethodr)r2r.rbr^r_rRrTrVr`rZrXr\rCr*r(rr9sc��1��
K��
K��n�`A�<A�4A�"C�,A� A�A�)�V A�Dr*rc�&�eZdZdZed��Zd�Zy)�
UpdateBetarc��tjj|d��tj|�tj
|tj��tj|d��tj|dd��tj|�tj|d��tj|d��tj|�tj |�yr)rrrrrrr�rr r!r"r#r$r%r�AddPartnerMetadataArgs�AddGracefulShutdownArgsr&s r(r)zUpdateBeta.Args�s���	���"�"�6�(�"�C��$�$�V�,�	����
�(?�(?�(A�B�	�#�#�F�e�D�	�'�'��%�D�:�	�0�0��8�	���f��5��2�2�6�T�J��1�1�&�9�	�!�!�&�)r*c�$�|j|�Sr,r-r/s  r(r2zUpdateBeta.Run�r3r*N)r�r�r�r�r�r)r2rCr*r(r�r��s��0��*��*�r*r�c� �eZdZdZed��Zy)�UpdateAlpharc��tjj|d��tj|�tj
|tj��tj|d��tj|dd��tj|�tj|d��tj|d��tj|�tj |�yr)rrrrrrr�rr r!r"r#r$r%rr�r�r&s r(r)zUpdateAlpha.Args�s���	���"�"�6�(�"�C��$�$�V�,�	�����(@�(@�(B�C�	�#�#�F�e�D�	�'�'��%�D�:�	�0�0��8�	���f��5��2�2�6�T�J��1�1�&�9�	�!�!�&�)r*N)r�r�r�r�r�r)rCr*r(r�r��s��0��*��*r*r�N)#r��
__future__rrr�googlecloudsdk.api_lib.computerrr�)googlecloudsdk.api_lib.compute.operationsr	�googlecloudsdk.api_lib.utilr
�googlecloudsdk.callioper�,googlecloudsdk.command_lib.compute.instancesr�/googlecloudsdk.command_lib.compute.sole_tenancyr$r
r|�$googlecloudsdk.command_lib.util.argsr�
DETAILED_HELP�UniverseCompatible�
ReleaseTracksr�GA�
UpdateCommandr�BETAr��ALPHAr��
detailed_helprCr*r(�<module>r�s��.�&��'�7�9�A�<�.�(�>�W�U�<��
�
�
�0�������D�%�%�(�(�)�_�T�
�
�_�*��_�D����D�%�%�*�*�+����,��*����D�%�%�+�+�,�*�*�*�-�*�$%��r*