
                         R    S r SSKJr  SSKJr  SSKJr  SrS rS r	 " S S	\
5      rg
)z1Utilities for Package Rollouts FleetPackages API.    )
list_pager)util)waiterz/configdelivery.projects.locations.fleetPackagesc                     SU  SU 3$ )N	projects//locations/ )projectlocations     Elib/googlecloudsdk/api_lib/container/fleet/packages/fleet_packages.py_ParentPathr      s    WI[
	33    c                     SU  SU SU 3$ )Nr   r   z/fleetPackages/r	   )r
   r   names      r   _FullyQualifiedPathr      s    WI[
/$	HHr   c                   L    \ rS rSrSrSS jrSS jrS rSS jrS r	SS	 jr
S
rg)FleetPackagesClient    zAClient for FleetPackages in Config Delivery Package Rollouts API.Nc                    U=(       d    [         R                  U l        U=(       d     [         R                  " U R                  5      U l        U=(       d     [         R
                  " U R                  5      U l        U R                  R                  U l        [        R                  " U R                  R                  S S9U l        g )Nc                     U R                   $ Nr   )xs    r   <lambda>.FleetPackagesClient.__init__.<locals>.<lambda>*   s    r   )operation_serviceget_name_func)r   DEFAULT_API_VERSION_api_versionGetClientInstanceclientGetMessagesModulemessages projects_locations_fleetPackages_servicer   CloudOperationPollerNoResourcesprojects_locations_operationsfleet_package_waiter)selfapi_versionr!   r#   s       r   __init__FleetPackagesClient.__init__#   s    #?t'?'?DED2243D3DEDKC 6 6t{{ CDMKK@@DM & F F++CC&!Dr   c           	          U R                   R                  [        X5      S9n[        R                  " U R
                  USUUSS9$ )a[  List FleetPackages from Package Rollouts API.

Args:
  project: GCP project id.
  location: Valid GCP location (e.g. us-central1).
  limit: int or None, the total number of results to return.
  page_size: int, the number of entries in each batch (affects requests
    made, but not the yielded results).

Returns:
  Generator of matching devices.
)parentfleetPackagespageSize)field
batch_sizelimitbatch_size_attribute)r#   7ConfigdeliveryProjectsLocationsFleetPackagesListRequestr   r   YieldFromListr%   )r)   r
   r   r3   	page_sizelist_requests         r   ListFleetPackagesClient.List-   sT     	MMw1 	N 	
 
 ##' r   c                     U R                   R                  UUUS9n[        R                  " U R                  U R
                  R                  U5      SU 35      $ )zCreate FleetPackage for Package Rollouts API.

Args:
  fleet_package: A parsed FleetPackage resource
  fleet_package_id: Name of FleetPackage
  parent: Parent GCP location

Returns:
  Created FleetPackage resource.
)fleetPackagefleetPackageIdr.   zCreating FleetPackage )r#   9ConfigdeliveryProjectsLocationsFleetPackagesCreateRequestr   WaitForr(   r%   Create)r)   fleet_packagefleet_package_idr.   create_requests        r   r@   FleetPackagesClient.CreateH   sd     	OO&+ 	P 	
  >>!!^,
 !1 23 r   c                     [        XU5      nU R                  R                  XTS9n[        R                  " U R
                  U R                  R                  U5      SU 35      $ )a  Delete a FleetPackage resource.

Args:
  project: GCP project id.
  location: Valid GCP location (e.g., us-central1).
  name: Name of the FleetPackage.
  force: Whether to delete release of FleetPackage's ResourceBundle.

Returns:
  Empty Response Message.
)r   forcezDeleting FleetPackage )r   r#   9ConfigdeliveryProjectsLocationsFleetPackagesDeleteRequestr   r?   r(   r%   Delete)r)   r
   r   r   rF   fully_qualified_path
delete_reqs          r   rH   FleetPackagesClient.Delete`   sk     /w$GOO% 	P 	
 
 >>!!Z(
 !5 67 r   c                     [        XU5      nU R                  R                  US9nU R                  R	                  U5      $ )zDescribe a FleetPackage resource.

Args:
  project: GCP project id.
  location: Valid GCP location (e.g., us-central1).
  name: Name of the FleetPackage.

Returns:
  Empty Response Message.
r   )r   r#   6ConfigdeliveryProjectsLocationsFleetPackagesGetRequestr%   Get)r)   r
   r   r   rI   describe_reqs         r   DescribeFleetPackagesClient.Describex   sH     /w$GLL% 	M 	
 
 ==\**r   c                     U R                   R                  XUS9n[        R                  " U R                  U R
                  R                  U5      SU 35      $ )zCreate FleetPackage for Package Rollouts API.

Args:
  fleet_package: A parsed FleetPackage resource
  name: Fully qualified name of the FleetPackage.
  update_mask: Field mask for the update.

Returns:
  Updated FleetPackage resource.
)r<   r   
updateMaskzUpdating FleetPackage )r#   8ConfigdeliveryProjectsLocationsFleetPackagesPatchRequestr   r?   r(   r%   Patch)r)   rA   r   update_maskupdate_requests        r   UpdateFleetPackagesClient.Update   s^     	NN&k 	O 	
 
 >>!!N+
 ' r   )r   r%   r!   r(   r#   )NN)Nd   )Fr   )__name__
__module____qualname____firstlineno____doc__r+   r9   r@   rH   rP   rX   __static_attributes__r	   r   r   r   r       s#    I600+&r   r   N)r_   apitools.base.pyr   /googlecloudsdk.api_lib.container.fleet.packagesr   googlecloudsdk.api_lib.utilr   FLEET_PACKAGE_COLLECTIONr   r   objectr   r	   r   r   <module>rf      s2    8 ' @ .L 4I& r   