
                         8   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  \R                  " \R                  R                   \R                  R"                  \R                  R$                  5       " S	 S
\R&                  5      5       rg)z2Command for adding resource policies to instances.    )absolute_import)division)unicode_literals)base_classes)base)flags)utilc                   .    \ rS rSrSr\S 5       rS rSrg)InstancesAddResourcePolicies   a  Add resource policies to Compute Engine VM instances.

*{command}* adds resource policies to Compute Engine
virtual instances. These policies define time windows in which
live migrations take place.

## EXAMPLES

To add resource policy ``pol1'' to instance ``inst1'', run this:

  $ {command} inst1 --resource-policies=pol1

For information on how to create resource policies, see:

  $ gcloud compute resource-policies create --help

c                 n    [         R                  R                  U SS9  [        R                  " U SSSS9  g )Nzadd resource policies to)operation_typezadded toinstanceT)required)instance_flagsINSTANCE_ARGAddArgumentr   AddResourcePoliciesArgs)parsers    6lib/surface/compute/instances/add_resource_policies.pyArgs!InstancesAddResourcePolicies.Args1   s5    ++9 , ;	!!&*j4P    c           	         [         R                  " U R                  5       5      nUR                  nUR                  n[
        R                  R                  UUR                  [
        R                  " U5      S9n/ nUR                   HW  n[        R                  " UR                  UUR                  UR                  S9nUR                  UR!                  5       5        MY     UR#                  UR%                  5       UR                  UR                  UR'                  US9S9n	UR)                  UR*                  R,                  SU	4/5      $ )N)scope_lister)projectzone)resourcePolicies)r   r   r   #instancesAddResourcePoliciesRequestAddResourcePolicies)r   ComputeApiHolderReleaseTrackclientmessagesr   r   ResolveAsResource	resourcesGetInstanceZoneScopeListerresource_policiesr	   ParseResourcePolicyWithZoner   r   appendSelfLink*ComputeInstancesAddResourcePoliciesRequestName#InstancesAddResourcePoliciesRequestMakeRequestsapitools_client	instances)
selfargsholderr#   r$   instance_refr(   policyresource_policy_refadd_requests
             r   Run InstancesAddResourcePolicies.Run7   sG   **4+<+<+>?F]]FH!..@@#>>vF A HL
 (( <<



&&  	"
 2;;=> ) EE""$$$44. 	5 	0 F 1K !7!7!A!A!6!E  F G Gr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r9   __static_attributes__r;   r   r   r   r      s#    $ Q Q
Gr   r   N)r@   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.compute.instancesr   r   4googlecloudsdk.command_lib.compute.resource_policiesr	   ReleaseTracksr"   ALPHABETAGAUpdateCommandr   r;   r   r   <module>rM      s|    9 &  ' 7 ( P F E D%%++T->->-C-C%%((*5G4#5#5 5G*5Gr   