
                            d Z ddlmZ ddlmZ ddlmZ ddlmZ dddZ	ej                   ej                  ej                  j                         G d	 d
ej                                      Zej                   ej                  ej                  j                          G d de                    Zej                   ej                  ej                  j$                         G d de                    Zy)zCommand to create Release.    )releases)base)flags)utilsz{description}aM           To create Release `v1.0.0` for Resource Bundle `my-bundle` in `us-central1`, run:

          $ {command} --version=v1.0.0 --resource-bundle=my-bundle --source=manifest.yaml

        To create a Release with multiple variants in one directory, run:

          $ {command} --version=v1.0.0 --resource-bundle=my-bundle --source=/manifests/ --variants-pattern=manifest-*.yaml

        To create a Release with multiple variants across multiple directories, ex:

          $ {command} --version=v1.0.0 --resource-bundle=my-bundle --source=/manifests/ --variants-pattern=dir-*/
        )DESCRIPTIONEXAMPLESc                   .    e Zd ZdZeZdZed        Zd Z	y)Create Create Package Rollouts Release.v1c                 &   t        j                  |        t        j                  |        | j                  ddd       t        j                  |        t        j
                  |        | j                  ddd       t        j                  |        y )Nz	--versionTz!Version of the Release to create.)requiredhelpz--sourcezSource file or directory to create the Release from.
          e.g. ``--source=manifest.yaml'', ``--source=/manifests-dir/''
          Can optionally be paired with the ``--variants-pattern'' arg to create
          multiple variants of a Release.)r   AddResourceBundleFlagAddLocationFlagadd_argumentAddLifecycleFlagAddVariantsPatternFlag#AddSkipCreatingVariantResourcesFlag)parsers    Hlib/surface/container/fleet/packages/resource_bundles/releases/create.pyArgszCreate.Args0   s    	'	&!
d)L   
6"	  (
-   
--f5    c           	         t        j                  | j                        }t        j                  |j
                         t        j                  |j
                  |j                        }t        j                  |      }|j                  |j                  |j                  t        j                  |      t        j                  |      |j                  ||j                         S )zRun the create command.)resource_bundleversionprojectlocation	lifecyclevariantsskip_creating_variant_resources)apisReleasesClient_api_versionr   ValidateSourcesource'GlobPatternFromSourceAndVariantsPatternvariants_patternVariantsFromGlobPatternr
   r   r   r   
GetProjectGetLocationr   r!   )selfargsclientglob_patternr    s        r   Runz
Create.RunC   s      !2!23F	%@@T**L ,,\:H==,,  &""4(..(,(L(L   r   N)
__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpr$   staticmethodr   r0    r   r   r
   r
   (   s(     ) -,6 6$r   r
   c                       e Zd ZdZdZy)
CreateBetar   v1betaNr1   r2   r3   r4   r$   r8   r   r   r:   r:   W   s     ),r   r:   c                       e Zd ZdZdZy)CreateAlphar   v1alphaNr<   r8   r   r   r>   r>   _   s     ),r   r>   N)r4   /googlecloudsdk.api_lib.container.fleet.packagesr   r"   googlecloudsdk.callioper   3googlecloudsdk.command_lib.container.fleet.packagesr   r   r5   DefaultUniverseOnlyReleaseTracksReleaseTrackGACreateCommandr
   BETAr:   ALPHAr>   r8   r   r   <module>rJ      s    ! L ( E E #$ D%%(()*T * * *Z D%%**+  ,  D%%++,&  - r   