
    
                        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Z ej                   ej"                  j$                         G d dej&                               Z ej                   ej"                  j*                  ej"                  j,                         G d de             Zy)z5`gcloud service-directory namespaces create` command.    )absolute_import)division)unicode_literals)
namespaces)base)flags)resource_args)util)log	namespacec                   4    e Zd ZdZddiZed        Zd Zd Zy)CreateCreates a namespace.EXAMPLESz          To create a Service Directory namespace, run:

            $ {command} my-namespace --location=us-east1 --labels=a=b,c=d
          c                 d    t        j                  | d       t        j                  | t               y )NaU  to create. The namespace id must be 1-63 characters long and match
        the regular expression `[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?` which means
        the first character must be a lowercase letter, and all following
        characters must be a dash, lowercase letter, or digit, except the last
        character, which cannot be a dash.)r	   AddNamespaceResourceArgr   AddLabelsFlag_RESOURCE_TYPE)parsers    2lib/surface/service_directory/namespaces/create.pyArgszCreate.Args,   s*    ))	./ 
/    c                 \   t        j                  | j                               }|j                  j                  j                         }t        j                  |j                  | j                               }|j                  ||      }t        j                  |j                  t               |S N)r   NamespacesClientGetReleaseTrackCONCEPTSr   Parser
   ParseLabelsArglabelsr   r   CreatedResourcenamespacesIdr   )selfargsclientnamespace_refr    results         r   Runz
Create.Run7   s}    (()=)=)?@FMM++113M  d.B.B.DEF]]=&1F22NCMr   c                 6    t         j                  j                  S r   )r   ReleaseTrackGAr#   s    r   r   zCreate.GetReleaseTrackA   s    r   N)	__name__
__module____qualname____doc__detailed_helpstaticmethodr   r(   r    r   r   r   r      s4     - 0 0 r   r   c                       e Zd ZdZd Zy)
CreateBetar   c                 6    t         j                  j                  S r   )r   r*   BETAr,   s    r   r   zCreateBeta.GetReleaseTrackI   s    !!!r   N)r-   r.   r/   r0   r   r3   r   r   r5   r5   E   s
    "r   r5   N)r0   
__future__r   r   r   (googlecloudsdk.api_lib.service_directoryr   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.service_directoryr   r	   r
   googlecloudsdk.corer   r   ReleaseTracksr*   r+   CreateCommandr   ALPHAr7   r5   r3   r   r   <module>r@      s    < &  ' ? ( > F = # D%%(()" T "  *" J D%%++T->->-C-CD" " E"r   