
                             S r SSKJr  SSKJr  SSKJr  SSK	J
r
   " S S\R                  5      r " S S\5      r " S	 S
\\R                  5      r " S S\5      r " S S\\R                   5      rg)z9Base classes for commands for MembershipFeature resource.    )
exceptions)base)infoc                   8    \ rS rSrSrSr\S 5       rS rS r	Sr
g)	MembershipFeatureCommand   zZMembershipFeatureCommand is a mixin adding common utils to the MembershipFeature commands. c                 B    [         R                  " U R                  5      $ )z2The Feature info entry for this command's Feature.)r   Getmf_name)selfs    Ilib/googlecloudsdk/command_lib/container/fleet/membershipfeatures/base.pyfeature MembershipFeatureCommand.feature   s     88DLL!!    c                 $    U SU R                    3$ )zBBuilds the full MembershipFeature name, using the membership path.z
/features/)r   r   membership_paths     r   MembershipFeatureResourceName6MembershipFeatureCommand.MembershipFeatureResourceName!   s    j77r   c                 V    U R                   R                  U R                  U5      5      $ )z4Fetch this command's MembershipFeature from the API.)hubclient_v2GetMembershipFeaturer   r   s     r   r   -MembershipFeatureCommand.GetMembershipFeature%   s)    11**?; r    N)__name__
__module____qualname____firstlineno____doc__r   propertyr   r   r   __static_attributes__r   r   r   r   r      s&    b'" "8r   r   c                       \ rS rSrSrS rSrg)UpdateCommandMixin,   z8A mixin for functionality to update a MembershipFeature.c                     U R                  U5      nU R                  R                  XBU5      nSU S3nU R                  U R                  R                  UUSS9$ )NWaiting for MembershipFeature z to be updatedFmessagewarnings)r   r   UpdateMembershipFeatureWaitForHubOpmembership_feature_waiter)r   r   maskpatchmembershipfeature_pathopmsgs          r   UpdateV2UpdateCommandMixin.UpdateV2/   su    !??P				2	2e
B ))?(@O  33
	   r   r   N)r   r   r   r   r    r3   r"   r   r   r   r$   r$   ,   s
    @r   r$   c                       \ rS rSrSrSrg)UpdateCommand?   z<Base class for the command that updates a MembershipFeature.r   Nr   r   r   r   r    r"   r   r   r   r6   r6   ?       Dr   r6   c                       \ rS rSrSrS rSrg)DeleteCommandMixinC   z7A mixin for functionality to delte a MembershipFeature.c                     U R                  U5      n U R                  R                  U5      nSU S3nU R                  U R                  R                  UUSS9$ ! [        R                   a     g f = f)Nr'   z to be deletedFr(   )r   r   DeleteMembershipFeatureapitools_exceptionsHttpNotFoundErrorr,   resourceless_waiter)r   r   r0   r1   r2   s        r   DeleteV2DeleteCommandMixin.DeleteV2F   s    !??P445KLb
 ))?(@O  --
	    00 s   A A10A1r   N)r   r   r   r   r    rB   r"   r   r   r   r;   r;   C   s
    ?r   r;   c                       \ rS rSrSrSrg)DeleteCommandY   z<Base class for the command that deletes a MembershipFeature.r   Nr8   r   r   r   rE   rE   Y   r9   r   rE   N)r    apitools.base.pyr   r?   googlecloudsdk.callioper   calliope_base*googlecloudsdk.command_lib.container.fleethub_base3googlecloudsdk.command_lib.container.fleet.featuresr   
HubCommandr   r$   r6   r;   rE   r   r   r   <module>rN      ss    @ ? 9 G Dx22 (1 &E&(C(C E1 ,E&(C(C Er   