
    
                     J   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                   ddd       e	j"                  e	j$                  j&                  e	j$                  j(                         G d de	j*                                      Zy)z$Command to create a fleet namespace.    )absolute_import)division)unicode_literals)client)util)base)deprecation_utils)	resources)	arg_utilsz447.0.0Tz%gcloud fleet scopes namespaces create)remove_versionremovealt_commandc                   &    e Zd ZdZed        Zd Zy)Createa   Create a fleet namespace.

  This command can fail for the following reasons:
  * The project specified does not exist.
  * The project has a fleet namespace with the same name.
  * The caller does not have permission to access the given project.

  ## EXAMPLES

  To create a fleet namespace with name `NAMESPACE` in the active project, run:

    $ {command} NAMESPACE

  To create a fleet namespace in fleet scope `SCOPE` in project `PROJECT_ID`
  with name
  `NAMESPACE`, run:

    $ {command} NAMESPACE --scope=SCOPE --project=PROJECT_ID
  c                     |j                  dt        d       t        j                  |dt        j
                  | j                            d       y )NNAMEzpName of the fleet namespace to be created. Must comply with RFC 1123 (up to 63 characters, alphanumeric and '-'))typehelpz--scopez9Name of the fleet scope to create the fleet namespace in.)
scope_help)add_argumentstrr
   AddScopeResourceArgr   VERSION_MAPReleaseTrack)clsparsers     0lib/surface/container/fleet/namespaces/create.pyArgszCreate.Args8   sR    
B  C
 !!))+,N	    c                 $   d }|j                   j                  j                         }||j                         }t	        j
                  |dd      }t        j                  | j                               }|j                  |j                  ||      S )Nz	--projectT)use_defaults)release_track)CONCEPTSscopeParseRelativeNamer   GetFromNamespacer   FleetClientr   CreateNamespacer   )selfargsr$   	scope_argprojectfleetclients         r   Runz
Create.RunF   sy    E##))+I$$&e(({NG$$43D3D3FGK&&tyy%AAr   N)__name__
__module____qualname____doc__classmethodr   r/    r   r   r   r      s!    (  Br   r   N)r3   
__future__r   r   r   &googlecloudsdk.api_lib.container.fleetr   r   googlecloudsdk.callioper   googlecloudsdk.command_libr	   *googlecloudsdk.command_lib.container.fleetr
   $googlecloudsdk.command_lib.util.apisr   DeprecateCommandAtVersionReleaseTracksr   ALPHABETACreateCommandr   r5   r   r   <module>rA      s    + &  ' 9 7 ( 8 @ : -,,7
 D%%++T->->-C-CD*BT *B E*Br   