
    K                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ	 ddl
mZ dd	lmZ dd
lmZ ddlmZ dddZ ej&                  ej(                  ej*                  ej,                         G d dej.                               Zy)z)Command to update a new Assured Workload.    )absolute_import)division)unicode_literals)endpoint_util)message_util)	workloads)base)ReleaseTrack)flags)logz-Update a given Assured Workloads environment.a           To update a given Assured Workloads environment in the us-central1
        region, belonging to an organization with ID 123, with workload ID 456
        and an etag of 789 with a new display name of 'Test-Workload-2' and a
        new set of labels (including any required existing labels) of
        (key = 'ExistingLabelKey1', value = 'ExistingLabelValue1') and
        (key = 'NewLabelKey2', value = 'NewLabelValue2'), run:

          $ {command} organizations/123/locations/us-central1/workloads/456 --display-name=Test-Workload-2 --labels=ExistingLabelKey1=ExistingLabelValue1,NewLabelKey2=NewLabelValue2 --etag=789
        )DESCRIPTIONEXAMPLESc                   0    e Zd ZdZeZed        Zd Zd Z	y)Updatez&Update Assured Workloads environments.c                 .    t        j                  |        y )N)r   AddUpdateWorkloadFlags)parsers    'lib/surface/assured/workloads/update.pyArgszUpdate.Args5   s    	  (    c           	         |j                   j                  j                         }|j                         j	                         }|j                         }t        j                  | j                         |      5  t        j                  |j                  |j                  |j                        }t        j                  |j                  |j                  |j                  |j                  | j                               }t!        j"                  | j                               }|j%                  |||      | _        | j&                  cddd       S # 1 sw Y   yxY w)zRun the update command.)release_trackregion)display_namelabelsetagviolation_notifications_enabledr   )r   )workloadnameupdate_maskN)CONCEPTSr   ParseParentNameRelativeNamer   +AssuredWorkloadsEndpointOverridesFromRegionr
   r   CreateUpdateMaskr   r   r   CreateAssuredWorkloadr   apisWorkloadsClientr   updated_resource)selfargsworkload_resourcer   workload_namer    r   clients           r   Runz
Update.Run9   s   ..446%%',,.F%224M		B	B'')&
: 11


T[[$*N*Nk 33((yy*.*N*N))+h ##$2C2C2EFf$mm-[ , Jd""
: 
: 
:s   8CEEc                 Z    t        j                  | j                  j                  d       y )NzAssured Workloads environment)kind)r   UpdatedResourcer+   r   )r,   resources_were_displayeds     r   EpilogzUpdate.EpilogO   s!    --22<>r   N)
__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpstaticmethodr   r1   r6    r   r   r   r   /   s&    . -) )#,>r   r   N)r:   
__future__r   r   r   googlecloudsdk.api_lib.assuredr   r   r   r)   googlecloudsdk.callioper	   googlecloudsdk.calliope.baser
   "googlecloudsdk.command_lib.assuredr   googlecloudsdk.corer   r;   ReleaseTracksGABETAALPHAUpdateCommandr   r>   r   r   <module>rJ      s|    0 &  ' 8 7 < ( 5 4 # 	8			$ LOO\%6%68J8JK!>T !> L!>r   