
                             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)z4`gcloud service-directory endpoints create` command.    )absolute_import)division)unicode_literals)	endpoints)base)flags)resource_args)util)logendpointi   c                   .    e Zd ZdZddiZed        Zd Zy)CreateCreates an endpoint.EXAMPLESa            To create a Service Directory endpoint, run:

            $ {command} my-endpoint --service=my-service --namespace=my-namespace --location=us-east1 --address=1.2.3.4 --port=5 --annotations=a=b,c=d  --network=projects/123456789/locations/global/networks/default
          c                     t        j                  | d       t        j                  |        t        j                  |        t        j
                  | t        t               t        j                  |        y NaT  to create. The endpoint 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	   AddEndpointResourceArgr   AddAddressFlagAddPortFlagAddAnnotationsFlag_RESOURCE_TYPE_ENDPOINT_LIMITAddNetworkFlagparsers    1lib/surface/service_directory/endpoints/create.pyArgszCreate.Args-   sV    ((	./ 
 	f	V^_E	     c                 l   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||j                  |j                  ||j                        }t        j                  |j                  t               |S N)r   EndpointsClientCONCEPTSr   Parser
   ParseAnnotationsArgannotationsr   r   addressportnetworkr   CreatedResourceendpointsId)selfargsclientendpoint_refr%   results         r   Runz
Create.Run;   s    &&(F==))//1L**4+;+;^LK]]<tyy+<<)F00.AMr   N__name__
__module____qualname____doc__detailed_helpstaticmethodr   r0    r   r   r   r       /     - ! !	r   r   c                   .    e Zd ZdZddiZed        Zd Zy)
CreateBetar   r   a            To create a Service Directory endpoint, run:

            $ {command} my-endpoint --service=my-service --namespace=my-namespace --location=us-east1 --address=1.2.3.4 --port=5 --metadata=a=b,c=d --network=projects/123456789/locations/global/networks/default
          c                     t        j                  | d       t        j                  |        t        j                  |        t        j
                  | t        t               t        j                  |        y r   )	r	   r   r   r   r   AddMetadataFlagr   r   r   r   s    r   r   zCreateBeta.ArgsT   sV    ((	./ 
 	f	&./B	 r   c                 l   t        j                         }|j                  j                  j	                         }t        j                  |j                  t              }|j                  ||j                  |j                  ||j                        }t        j                  |j                  t               |S r    )r   EndpointsClientBetar"   r   r#   r
   ParseMetadataArgmetadatar   r   r&   r'   r(   r   r)   r*   )r+   r,   r-   r.   rA   r/   s         r   r0   zCreateBeta.Runb   s~    **,F==))//1L$$T]]NCH]]<tyy(<<)F00.AMr   Nr1   r8   r   r   r;   r;   G   r9   r   r;   N)r5   
__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BETAr;   r8   r   r   <module>rM      s    ; &  ' > ( > F = # D%%(()#T # *#L D%%++T->->-C-CD### # E#r   