
    *                     6   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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j0                   ej2                  ej4                  j6                         G d dej8                                      Z ej2                  ej4                  j<                         G d de             Z ej2                  ej4                  j@                         G d de             Z!y)z%Surface for creating domain mappings.    )absolute_import)division)unicode_literals)global_methods)base)config_changes)connection_context)deletion)
exceptions)flags)	platforms)resource_args)serverless_operations)concept_parsers)presentation_specs)
console_ioz9https://cloud.google.com/run/docs/mapping-custom-domains/c                   D    e Zd ZdZdZdddZed        Zed        Zd Z	y	)
Createz0Create domain mappings for Cloud Run for Anthos.Tz          {description}

          For domain mapping support with fully managed Cloud Run, use
          `gcloud beta run domain-mappings create`.
                    To create a Cloud Run domain mapping, run:

              $ {command} --service=myapp --domain=www.example.com
          DESCRIPTIONEXAMPLESc                 ,   | j                  ddd       t        j                  dt        j                         ddd      }| j                  d	d
d       t        j                  |g      j                  |        | j                  j                  d       y )Nz	--serviceTz,Create domain mapping for the given service.)requiredhelpz--domainz0Domain name is the ID of DomainMapping resource.F)r   prefixesz--force-override
store_truez@Map this domain even if it is already mapped to another service.)actionr   z`table(
        name:label=NAME,
        type:label="RECORD TYPE",
        rrdata:label=CONTENTS))
add_argumentr   ResourcePresentationSpecr   GetDomainMappingResourceSpecr   ConceptParserAddToParserdisplay_info	AddFormat)parserdomain_mapping_presentations     )lib/surface/run/domain_mappings/create.py
CommonArgszCreate.CommonArgs?   s    
d;  = #5"M"M224:# O  
 !!##% &&1k&&9
!!	"#    c                 .    t         j                  |        y Nr   r)   r&   s    r(   ArgszCreate.ArgsX       
fr*   c                 n   t        j                  |t        j                  j                  | j                         t        j                         t        j                  k7  rdnd      }|j                  j                  j                         t        j                  | j                               g}t        j                         t        j                  k(  rt        j                         }t        j                   |      }t#        fd|D              rw|sd}nH|D cg c]  }dj%                  |j&                         }}dj%                  dj)                  |            }t+        j,                  d	j%                  t.        |
            t1        j2                  |      5 }	 |j5                  |j6                  ||j8                        }	|	jJ                  D ]!  }|jL                  xs |	jN                  |_&        # |	jJ                  cddd       S c c}w # t*        j:                  $ r}
t=        j>                         rct=        j@                  dd      rLtC        jD                  |jF                  |jH                  d       |j5                  |j6                  |d      }	n|
Y d}
~
d}
~
ww xY w# 1 sw Y   yxY w)zCreate a domain mapping.v1alpha1N)version_overridec              3   V   K   | ]   }|j                   j                         v " y wr,   )idName).0ddomain_mapping_refs     r(   	<genexpr>zCreate.Run.<locals>.<genexpr>q   s%     HKqQTT+0022Ks   &)z'You currently have no verified domains.z* {}zCurrently verified domains:
{}
zThe provided domain does not appear to be verified for the current account so a domain mapping cannot be created. Visit [{help}] for more information.
{domains})r   domainszThis domain is already being used as a mapping elsewhere. The existing mapping can be overriden by passing `--force-override` or by continuing at the prompt below.zOverride the existing mapping)prompt_stringF)async_T)(r	   GetConnectionContextr   ProductRUNReleaseTrackr   GetPlatformPLATFORM_MANAGEDCONCEPTSdomainParser   SetLaunchStageAnnotationChanger   GetServerlessClientInstanceListVerifiedDomainsallformatr5   joinr   DomainMappingCreationErrorDOMAIN_MAPPINGS_HELP_DOCS_URLr   ConnectCreateDomainMappingserviceforce_overrideDomainMappingAlreadyExistsErrorr   	CanPromptPromptContinuer
   DeleteGetDomainMappingDeleteDomainMappingrecordsname
route_name)selfargsconn_contextchangesclientall_domainsdomains_textr8   r<   mappingerecordr9   s               @r(   Runz
Create.Run\   sN    &::#//1Y5O5OO %#&L --33555d6G6G6IJG )"<"<<99;f"66v>k	HKH	HB,2=>+QV]]144(+'>;BBii ",33 !&2L ! J	K 	K 
	&	&|	4,,-?-4d6I6IK OO&kk7W%7%7 $__' 
5	4 ? 77 !j&?&?H :	';
 //,f.E.E 44UD../A4<</6>' ' 	 
5	4s=   "HJ+ (H;J+J(%A9J#J+#J((J++J4N)
__name__
__module____qualname____doc__hiddendetailed_helpstaticmethodr)   r/   rg    r*   r(   r   r   '   sL     9 &-  # #0  6r*   r   c                   *    e Zd ZdZdddZed        Zy)
BetaCreateCreate domain mappings.z{description}r   r   c                 .    t         j                  |        y r,   r-   r.   s    r(   r/   zBetaCreate.Args   r0   r*   N)rh   ri   rj   rk   rm   rn   r/   ro   r*   r(   rq   rq      s*     %-  r*   rq   c                        e Zd ZdZed        Zy)AlphaCreaterr   c                 .    t         j                  |        y r,   r-   r.   s    r(   r/   zAlphaCreate.Args   r0   r*   N)rh   ri   rj   rk   rn   r/   ro   r*   r(   ru   ru      s     r*   ru   N)"rk   
__future__r   r   r   googlecloudsdk.api_lib.runr   googlecloudsdk.callioper   googlecloudsdk.command_lib.runr   r	   r
   r   r   r   r   r   (googlecloudsdk.command_lib.util.conceptsr   r   googlecloudsdk.core.consoler   rO   DefaultUniverseOnlyReleaseTracksrB   GACommandr   BETArq   ALPHAru   ro   r*   r(   <module>r      s    , &  ' 5 ( 9 = 3 5 0 4 8 @ D G 2";  D%%(()iT\\ i * iX D%%**+  ,$ D%%++,*  -r*   