
                            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  ej                  dd       ej                   ej"                  j$                         G d dej&                                      Z ej                  dd       ej                   ej"                  j*                         G d de                    Zy)z$`gcloud tasks queues create command.    )absolute_import)division)unicode_literals)GetApiAdapter)base)	constants)flags)parsers)logFzIThis command is deprecated. Use `gcloud beta tasks queues create` instead)
is_removedwarningc                   B     e Zd ZdZdddZ fdZed        Zd Z xZ	S )CreateAppEngineyCreate a Cloud Tasks queue.

  The flags available to this command represent the fields of a queue that are
  mutable.
  "          {description}
          as            To create a Cloud Tasks queue:

              $ {command} my-queue
                --max-attempts=10 --max-retry-duration=5s
                --max-doublings=4 --min-backoff=1s
                --max-backoff=10s
                --max-dispatches-per-second=100
                --max-concurrent-dispatches=10
                --routing-override=service:abc
         DESCRIPTIONEXAMPLESc                 :    t        t        | 
  |i | d| _        y )NF)superr   __init__is_alphaselfargskwargs	__class__s      3lib/surface/tasks/queues/create_app_engine_queue.pyr   zCreateAppEngine.__init__9   s    	/4)4:6:DM    c                     t        j                  | d       t        j                  |        t        j                  | t        j
                  j                  dd       y Nz	to createTF)release_trackapp_engine_queue
http_queue)r	   AddQueueResourceArgAddLocationFlagAddCreatePushQueueFlagsr   ReleaseTrackBETAparsers    r   ArgszCreateAppEngine.Args=   sF    	fk2	&!	!!'',,	r   c                    t        | j                               }|j                  }t        j                  |j
                  |j                        }t        j                  |      }t        j                  |t        j                  |j                  | j                         d      }| j                  s@|j                  |||j                  |j                  |j                   |j"                        }n4|j                  |||j                  |j                  |j$                        }t'        j(                  t        j*                  |j-                               d       |S )NF)r"   r$   )retry_configrate_limitsapp_engine_http_queuestackdriver_logging_config)r.   r/   app_engine_http_targetqueue)r   r(   queuesr
   
ParseQueuer3   locationExtractLocationRefFromQueueRefParseCreateOrUpdateQueueArgsr   
PUSH_QUEUEmessagesr   CreateretryConfig
rateLimitsappEngineHttpQueuestackdriverLoggingConfigappEngineHttpTargetr   CreatedResourceGetConsolePromptStringRelativeName)r   r   apiqueues_client	queue_reflocation_refqueue_configcreate_responses           r   RunzCreateAppEngine.RunH   s,   
))+
,CJJM""4::t}}=I99)DL77'')L ==%,,

#//"-- , ? ?%1%J%J - Lo &,,

#//"--!-!A!A - Co &&y'='='?@'Kr   )
__name__
__module____qualname____doc__detailed_helpr   staticmethodr,   rJ   __classcell__r   s   @r   r   r      s7    

	-"  r   r   zPThis command group is deprecated. Use `gcloud alpha tasks queues create` insteadc                   <     e Zd ZdZdddZ fdZed        Z xZS )AlphaCreateAppEnginer   r   au            To create a Cloud Tasks queue:

              $ {command} my-queue
                --max-attempts=10 --max-retry-duration=5s
                --max-doublings=4 --min-backoff=1s
                --max-backoff=10s
                --max-tasks-dispatched-per-second=100
                --max-concurrent-tasks=10
                --routing-override=service:abc
          r   c                 :    t        t        | 
  |i | d| _        y )NT)r   rT   r   r   r   s      r   r   zAlphaCreateAppEngine.__init__   s    	
.??DMr   c                     t        j                  | d       t        j                  |        t        j                  | t        j
                  j                  dd       y r!   )r	   r%   r&   r'   r   r(   ALPHAr*   s    r   r,   zAlphaCreateAppEngine.Args   sF    	fk2	&!	!!''--	r   )	rK   rL   rM   rN   rO   r   rP   r,   rQ   rR   s   @r   rT   rT   h   s2    

	-"  r   rT   N)rN   
__future__r   r   r   googlecloudsdk.api_lib.tasksr   googlecloudsdk.callioper    googlecloudsdk.command_lib.tasksr   r	   r
   googlecloudsdk.corer   	DeprecateReleaseTracksr(   r)   CreateCommandr   rW   rT    r   r   <module>ra      s    + '  ' 6 ( 6 2 4 # 5HI D%%**+Cd(( C ,ICL 5IJ D%%++,%? % -J%r   