
    F                        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
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&                  j2                         G d de                    Zy)z Command to create Fleet Package.    )fleet_packages)base)flags)utils)util)concept_parsers)
console_ioz{description}z         To update Fleet Package `cert-manager-app`, run:

          $ {command} cert-manager-app --source=my_source.yaml
        )DESCRIPTIONEXAMPLESc                   .    e Zd ZdZeZdZed        Zd Z	y)Update&Update Package Rollouts Fleet Package.v1c                     t        j                  |        t        j                  j	                  dt        j
                         ddd      j                  |        y )Nfleet_packagezThe Fleet Package to create.TF)requiredprefixes)r   AddSourceFlagr   ConceptParserForResourceGetFleetPackageResourceSpecAddToParser)parsers    .lib/surface/container/fleet/packages/update.pyArgszUpdate.Args+   sM    	!!--))+& .  k&    c                 p   t        j                  | j                        }t        j                  t        j                  |j                        d      }t        j                  |j                  j                  |      }g d}g }|D ]#  }t        ||d      }||j                  |       % dj                  |      }	dt        j                   |       dt        j"                  |       d	|j$                   }
t        j&                  ||
      }t        j(                  |      }|j+                  ||
|	
      S )zRun the update command.F)binary)message_typestream)resourceBundleSelectortargetvariantSelectorrolloutStrategydeletionPropagationPolicystateN,z	projects/z/locations/z/fleetPackages/)r   nameupdate_mask)apisFleetPackagesClient_api_versionr	   ReadFromFileOrStdinr   ExpandPathForUsersourceexport_utilImportmessagesFleetPackagegetattrappendjoinr   
GetProjectGetLocationr   UpsertFleetPackageName FixFleetPackagePathForCloudBuildr   )selfargsclientdatar   possible_attributesupdate_mask_attrsattr
attr_valuer)   fully_qualified_names              r   Runz
Update.Run6   s<   %%d&7&78F)),UD  &&__11M
 #=$5j		  & $ ((,-K&u'7'7'=&>k%J[J[\`JaIbbqrv  sE  sE  rF  G00+M ::=IM==#!   r   N)
__name__
__module____qualname____doc___DETAILED_HELPdetailed_helpr,   staticmethodr   rD    r   r   r   r   #   s(     / -, $r   r   c                       e Zd ZdZdZy)
UpdateBetar   v1betaNrE   rF   rG   rH   r,   rL   r   r   rN   rN   ]   s     /,r   rN   c                       e Zd ZdZdZy)UpdateAlphar   v1alphaNrP   rL   r   r   rR   rR   e   s     /,r   rR   N)rH   /googlecloudsdk.api_lib.container.fleet.packagesr   r*   googlecloudsdk.callioper   3googlecloudsdk.command_lib.container.fleet.packagesr   r   !googlecloudsdk.command_lib.exportr   r0   (googlecloudsdk.command_lib.util.conceptsr   googlecloudsdk.core.consoler	   rI   DefaultUniverseOnlyReleaseTracksReleaseTrackGAUpdateCommandr   BETArN   ALPHArR   rL   r   r   <module>ra      s    ' R ( E E A D 2 # D%%(()5T 5 * 5p D%%**+  ,  D%%++,&  - r   