
                            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                  ej                   j"                  ej                   j$                         G d dej&                               Zy)z0`gcloud tasks queues create-pull-queue` command.    )absolute_import)division)unicode_literals)GetApiAdapter)base)	constants)flags)parsers)logc                   0    e Zd ZdZdddZed        Zd Zy)
CreatePullaj  Create a pull queue.

  The flags available to this command represent the fields of a pull queue
  that are mutable.

  If you have early access to Cloud Tasks, refer to the following guide for
  more information about the different queue target types:
  https://cloud.google.com/cloud-tasks/docs/queue-types.
  For access, sign up here: https://goo.gl/Ya0AZd
  z#
          {description}
          z
          To create a Cloud Tasks pull queue:

              $ {command} my-queue
              --max-attempts=10 --max-retry-duration=10s
         )DESCRIPTIONEXAMPLESc                     t        j                  | d       t        j                  |        t        j                  |        y )Nz	to create)r	   AddQueueResourceArgAddLocationFlagAddCreatePullQueueFlags)parsers    -lib/surface/tasks/queues/create_pull_queue.pyArgszCreatePull.Args8   s.    	fk2	&!	!!&)    c                    t        | j                               }|j                  }t        j                  |j
                  |j                        }t        j                  |      }t        j                  |t        j                  |j                  | j                               }| j                         t        j                  j                  k(  r5|j                  |||j                  |j                   |j"                        }n4|j                  |||j                  |j                   |j$                        }t'        j(                  t        j*                  |j-                               d       |S )N)release_track)retry_configrate_limitspull_target)r   r   
queue_typequeue)r   ReleaseTrackqueuesr
   
ParseQueuer   locationExtractLocationRefFromQueueRefParseCreateOrUpdateQueueArgsr   
PULL_QUEUEmessagesr   ALPHACreateretryConfig
rateLimits
pullTargettyper   CreatedResourceGetConsolePromptStringRelativeName)selfargsapiqueues_client	queue_reflocation_refqueue_configcreate_responses           r   RunzCreatePull.Run>   s4   
))+
,CJJM""4::t}}=I99)DL77'')	+L
 d//555%,,

#//"--"-- - /o &,,

#//"--!&& - (o &&y'='='?@'Kr   N)__name__
__module____qualname____doc__detailed_helpstaticmethodr   r8    r   r   r   r      s1    	- * *
r   r   N)r<   
__future__r   r   r   googlecloudsdk.api_lib.tasksr   googlecloudsdk.callioper    googlecloudsdk.command_lib.tasksr   r	   r
   googlecloudsdk.corer   ReleaseTracksr   r'   BETACreateCommandr   r?   r   r   <module>rH      sn    7 &  ' 6 ( 6 2 4 # D%%++T->->-C-CD:## : E:r   