
                            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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j(                               Zy)z3`gcloud service-directory services create` command.    )absolute_import)division)unicode_literals)services)base)flags)resource_args)util)logservicei  c                   .    e Zd ZdZddiZed        Zd Zy)CreateCreates a service.EXAMPLESz          To create a Service Directory service, run:

            $ {command} my-service --namespace=my-namespace --location=us-east1 --annotations=a=b,c=d
          c                 n    t        j                  | d       t        j                  | t        t
               y NaS  to create. The service 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	   AddServiceResourceArgr   AddAnnotationsFlag_RESOURCE_TYPE_SERVICE_LIMITparsers    0lib/surface/service_directory/services/create.pyArgszCreate.Args-   s,    ''	./ 
V^^D    c                 *   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||      }t        j                  |j                  t               |S N)r   ServicesClientCONCEPTSr   Parser
   ParseAnnotationsArgannotationsr   r   r   CreatedResource
servicesId)selfargsclientservice_refr"   results         r   Runz
Create.Run8   sk    $$&F--''--/K**4+;+;^LK]];4F..?Mr   N__name__
__module____qualname____doc__detailed_helpstaticmethodr   r*    r   r   r   r       s1     - E Er   r   c                   .    e Zd ZdZddiZed        Zd Zy)
CreateBetar   r   z          To create a Service Directory service, run:

            $ {command} my-service --namespace=my-namespace --location=us-east1 --metadata=a=b,c=d
          c                 n    t        j                  | d       t        j                  | t        t
               y r   )r	   r   r   AddMetadataFlagr   r   r   s    r   r   zCreateBeta.ArgsP   s,    ''	./ 
&..Ar   c                 *   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||      }t        j                  |j                  t               |S r   )r   ServicesClientBetar   r   r    r
   ParseMetadataArgmetadatar   r   r   r#   r$   )r%   r&   r'   r(   r:   r)   s         r   r*   zCreateBeta.Run[   si    ((*F--''--/K$$T]]NCH]];1F..?Mr   Nr+   r2   r   r   r4   r4   C   s1     - B Br   r4   N)r/   
__future__r   r   r   (googlecloudsdk.api_lib.service_directoryr   googlecloudsdk.callioper   ,googlecloudsdk.command_lib.service_directoryr   r	   r
   googlecloudsdk.corer   r   r   ReleaseTracksReleaseTrackGACreateCommandr   ALPHABETAr4   r2   r   r   <module>rF      s    : &  ' = ( > F = # D%%(()T  *D D%%++T->->-C-CD##  Er   