
    Q                        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iZ ej&                  ej(                  j*                        ej,                   G d dej.                                      Z ej&                  ej(                  j2                         G d de             Z ej&                  ej(                  j6                         G d de             Zy)z+Create public delegated sub prefix command.    )absolute_import)division)unicode_literals)base_classes)public_delegated_prefixes)utils)base)flags)	arg_utilsEXAMPLESa          To create a delegated sub prefix for a global public delegated prefix:

          $ {command} my-sub-prefix --range=120.120.10.128/28 --public-delegated-prefix=my-pdp --global-public-delegated-prefix

        To create a delegated sub prefix for a regional public delegated prefix:

          $ {command} my-sub-prefix --range=120.120.10.128/30 --create-addresses --public-delegated-prefix=my-pdp --public-delegated-prefix-region=us-east1
        c                   F    e Zd ZdZeZej                  ZdZ	e
d        Zd Zy)Create.Creates a Compute Engine delegated sub prefix.Fc                 D    t        j                  || j                         y )N)r
   AddCreateSubPrefixArgs*_include_internal_subnetwork_creation_mode)clsparsers     Nlib/surface/compute/public_delegated_prefixes/delegated_sub_prefixes/create.pyArgszCreate.Args5   s    	  >>    c                    t        j                  | j                               }|j                  }|j                  j                  }|j
                  }t        j                  j                  ||t        j                  |j                              }t        j                  |||      }|j                  rIt        j                  |j                  |j                  j                  j                   j"                        }nd }|j%                  ||j&                  |j(                  |j*                  |j,                  |j.                  ||j0                  rt3        |j0                              S d       S )N)scope_lister)r   ComputeApiHolderReleaseTrackclientmessages	resourcesr
    PUBLIC_DELEGATED_PREFIX_FLAG_ARGResolveAsResourcecompute_flagsGetDefaultScopeListerr   PublicDelegatedPrefixesClientmoder   ChoiceToEnum-PublicDelegatedPrefixPublicDelegatedSubPrefixModeValueValuesEnumAddSubPrefixnamerangedescriptiondelegatee_projectcreate_addressesallocatable_prefix_lengthint)	selfargsholderr   r   r   pdp_ref
pdp_client
input_modes	            r   Runz
Create.Run;   s4   **4+<+<+>?F]]F}}%%H  I44FF"88G G IG
 +HH)%Jyy))
))
--
 
 
N
N
b
bj
 j""		

)) 	D**+   r   N)__name__
__module____qualname____doc__DETAILED_HELPdetailed_helpcompute_apiCOMPUTE_GA_API_VERSION_api_versionr   classmethodr   r6    r   r   r   r   ,   s4     8-33,/4, 
 r   r   c                   ,    e Zd ZdZej
                  ZdZy)
CreateBetar   FN)r7   r8   r9   r:   r=   COMPUTE_BETA_API_VERSIONr?   r   rA   r   r   rC   rC   ^   s    755,/4,r   rC   c                   ,    e Zd ZdZej
                  ZdZy)CreateAlphar   TN)r7   r8   r9   r:   r=   COMPUTE_ALPHA_API_VERSIONr?   r   rA   r   r   rF   rF   f   s    766,/3,r   rF   N)r:   
__future__r   r   r   googlecloudsdk.api_lib.computer   r   r   r=   googlecloudsdk.callioper	   "googlecloudsdk.command_lib.computer
   r!   <googlecloudsdk.command_lib.compute.public_delegated_prefixes$googlecloudsdk.command_lib.util.apisr   r;   ReleaseTracksr   GAUniverseCompatibleUpdateCommandr   BETArC   ALPHArF   rA   r   r   <module>rT      s    2 &  ' 7 D ? ( E N : 	 D%%(()-T -  *-` D%%**+5 5 ,5 D%%++,4* 4 -4r   