
                             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                   5       " S	 S
\R"                  5      5       rSSS.\l        g)z@Create VM maintenance resource policy concurrency-limit command.    )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) CreateVmMaintenanceConcurrentSet   zCreate a Compute Engine VM Maintenance Resource Policy.

*{command} creates a Resource Policy which can be attached to instances and
specifies amount of instances in the group that can go to maintenance.
c                     [         R                  " 5       R                  U 5        [         R                  " U 5        [         R                  " U 5        U R
                  R                  S 5        g )N)r   MakeResourcePolicyArgAddArgumentAddCommonArgsAddMaxPercentArgdisplay_infoAddCacheUpdater)parsers    Plib/surface/compute/resource_policies/create/vm_maintenance/concurrency_limit.pyArgs%CreateVmMaintenanceConcurrentSet.Args$   sI    	!--f5		6"
''-    c                    [         R                  " U R                  5       5      nUR                  n[        R
                  " 5       R                  UUR                  [        R                  " UR                  5      S9nUR                  R                  n[        R                  " XAU5      nUR                  UUR                  UR                  S9nUR                  R                   R"                  nUR%                  USU4/5      S   $ )N)scope_lister)resourcePolicyprojectregionInsertr   )r   ComputeApiHolderReleaseTrackclientr   r   ResolveAsResource	resourcescompute_flagsGetDefaultScopeListermessagesr	   !MakeVmMaintenanceConcurrentPolicy$ComputeResourcePoliciesInsertRequestr   r   apitools_clientresourcePoliciesMakeRequests)	selfargsholderr!   
policy_refr&   resource_policycreate_requestservices	            r   Run$CreateVmMaintenanceConcurrentSet.Run+   s    **4+<+<+>?F]]F,,.@@"88G A IJ
 }}%%H<<Z=EGOBB&""   C "N
 mm++<<G(N CDEaHHr    N)	__name__
__module____qualname____firstlineno____doc__staticmethodr   r3   __static_attributes__r5   r   r   r   r      s!     . .Ir   r   zCreate a Compute Engine VM Maintenance Resource Policy that,
when attached to an instance, recognizes that instance as a part of a group of
instances where only up the configured amount of instances in that group can
undergo simultaneous maintenance.
    zThe following command creates a VM maintenance resource policy with a concurrency maintenance limit set to 1%.

    $ {command} my-resource-policy --region=REGION
)DESCRIPTIONEXAMPLESN)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   googlecloudsdk.callioper   "googlecloudsdk.command_lib.computer   r$   4googlecloudsdk.command_lib.compute.resource_policiesr	   ReleaseTracksr    ALPHACreateCommandr   detailed_helpr5   r   r   <module>rH      st    G &  ' 7 ( E F E D%%++, It'9'9  I - IJ2   .r   