
    !                     V    S r SSKJr  SSKJr  SSKJr   " S S\R                  5      r	g)z,Generated client library for iam version v2.    )absolute_import)base_api)iam_v2_messagesc                      ^  \ rS rSrSr\rSrSrSr	S/r
SrSrS	rS
rS rSrSr     SU 4S jjr " S S\R(                  5      r " S S\R(                  5      rSrU =r$ )IamV2
   z4Generated client library for service iam version v2.zhttps://iam.googleapis.com/z https://iam.mtls.googleapis.com/iamz.https://www.googleapis.com/auth/cloud-platformv2	CLIENT_IDCLIENT_SECRETzgoogle-cloud-sdkNc                    > U=(       d    U R                   n[        [        U ]  XX4UXgUU	U
US9  U R	                  U 5      U l        U R                  U 5      U l        g)zCreate a new iam handle.)
credentialsget_credentialshttpmodellog_requestlog_responsecredentials_argsdefault_global_paramsadditional_http_headersresponse_encodingN)BASE_URLsuperr   __init__PoliciesOperationsServicepolicies_operationsPoliciesServicepolicies)selfurlr   r   r   r   r   r   r   r   r   r   	__class__s               Alib/googlecloudsdk/generated_clients/apis/iam/v2/iam_v2_client.pyr   IamV2.__init__   se     
C	%'%)3 7+   -  $==dCD((.DM    c                   J   ^  \ rS rSrSrSrU 4S jrSS jrS \l        Sr	U =r
$ )	IamV2.PoliciesOperationsService-   z3Service class for the policies_operations resource.r   c                 N   > [         [        R                  U ]  U5        0 U l        g N)r   r   r   r   _upload_configsr   clientr!   s     r"   r   (IamV2.PoliciesOperationsService.__init__2   s"    E++T;FCdr$   c                 D    U R                  S5      nU R                  X1US9$ )ag  Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.

Args:
  request: (IamPoliciesOperationsGetRequest) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleLongrunningOperation) The response message.
Getglobal_paramsGetMethodConfig
_RunMethodr   requestr1   configs       r"   r/   #IamV2.PoliciesOperationsService.Get7   /     ##E*f__
  8 8r$   c                  B    [         R                  " SSSS/S// SSSSS	S
9$ )NzNv2/policies/{policiesId}/{policiesId1}/{policiesId2}/operations/{operationsId}GETziam.policies.operations.getname
v2/{+name} IamPoliciesOperationsGetRequestGoogleLongrunningOperationF	flat_pathhttp_method	method_idordered_paramspath_paramsquery_paramsrelative_pathrequest_fieldrequest_type_nameresponse_type_namesupports_downloadr   ApiMethodInfo r$   r"   <lambda>(IamV2.PoliciesOperationsService.<lambda>D   s4     6 6b/xH";7!r$   r*   r)   )__name__
__module____qualname____firstlineno____doc___NAMEr   r/   method_config__static_attributes____classcell__r!   s   @r"   r   r&   -   s"    =!E
8Cr$   r   c                      ^  \ rS rSrSrSrU 4S jrSS jrS \l        SS jr	S \	l        SS	 jr
S
 \
l        SS jrS \l        SS jrS \l        SrU =r$ )IamV2.PoliciesServiceR   z(Service class for the policies resource.r   c                 N   > [         [        R                  U ]  U5        0 U l        g r)   )r   r   r   r   r*   r+   s     r"   r   IamV2.PoliciesService.__init__W   s"    E!!41&9dr$   c                 D    U R                  S5      nU R                  X1US9$ )zCreates a policy.

Args:
  request: (IamPoliciesCreatePolicyRequest) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleLongrunningOperation) The response message.
CreatePolicyr0   r2   r5   s       r"   rc   "IamV2.PoliciesService.CreatePolicy\   /     ##N3f__
  8 8r$   c                  D    [         R                  " SSSS/S/S/SSSS	S
S9$ )N&v2/policies/{policiesId}/{policiesId1}POSTziam.policies.createPolicyparentpolicyIdv2/{+parent}googleIamV2PolicyIamPoliciesCreatePolicyRequestr@   FrA   rM   rO   r$   r"   rP   IamV2.PoliciesService.<lambda>i   s6    )?)?:- zJ \$):7*r$   c                 D    U R                  S5      nU R                  X1US9$ )zDeletes a policy. This action is permanent.

Args:
  request: (IamPoliciesDeleteRequest) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleLongrunningOperation) The response message.
Deleter0   r2   r5   s       r"   rp   IamV2.PoliciesService.Deletew   /     ##H-f__
  8 8r$   c                  D    [         R                  " SSSS/S/S/SSSS	S
S9$ )N4v2/policies/{policiesId}/{policiesId1}/{policiesId2}DELETEziam.policies.deleter<   etagr=   r>   IamPoliciesDeleteRequestr@   FrA   rM   rO   r$   r"   rP   rn      s6    8#9#9H'xHX"47$r$   c                 D    U R                  S5      nU R                  X1US9$ )zGets a policy.

Args:
  request: (IamPoliciesGetRequest) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleIamV2Policy) The response message.
r/   r0   r2   r5   s       r"   r/   IamV2.PoliciesService.Get   r9   r$   c                  B    [         R                  " SSSS/S// SSSSS	S
9$ )Nrt   r;   ziam.policies.getr<   r=   r>   IamPoliciesGetRequestGoogleIamV2PolicyFrA   rM   rO   r$   r"   rP   rn      s4     6 6H$xH"1.!r$   c                 D    U R                  S5      nU R                  X1US9$ )ao  Retrieves the policies of the specified kind that are attached to a resource. The response lists only policy metadata. In particular, policy rules are omitted.

Args:
  request: (IamPoliciesListPoliciesRequest) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleIamV2ListPoliciesResponse) The response message.
ListPoliciesr0   r2   r5   s       r"   r~   "IamV2.PoliciesService.ListPolicies   re   r$   c                  F    [         R                  " SSSS/S/SS/SSS	S
SS9$ )Nrg   r;   ziam.policies.listPoliciesri   pageSize	pageTokenrk   r>   IamPoliciesListPoliciesRequestGoogleIamV2ListPoliciesResponseFrA   rM   rO   r$   r"   rP   rn      s9    )?)?:- zJ +.$:<*r$   c                 D    U R                  S5      nU R                  X1US9$ )a+  Updates the specified policy. You can update only the rules and the display name for the policy. To update a policy, you should use a read-modify-write loop: 1. Use GetPolicy to read the current version of the policy. 2. Modify the policy as needed. 3. Use `UpdatePolicy` to write the updated policy. This pattern helps prevent conflicts between concurrent updates.

Args:
  request: (GoogleIamV2Policy) input message
  global_params: (StandardQueryParameters, default: None) global arguments
Returns:
  (GoogleLongrunningOperation) The response message.
Updater0   r2   r5   s       r"   r   IamV2.PoliciesService.Update   rr   r$   c                  B    [         R                  " SSSS/S// SSSSS	S
9$ )Nrt   PUTziam.policies.updater<   r=   z	<request>r|   r@   FrA   rM   rO   r$   r"   rP   rn      s4    8#9#9H'xH"!-7$r$   rR   r)   )rS   rT   rU   rV   rW   rX   r   rc   rY   rp   r/   r~   r   rZ   r[   r\   s   @r"   r   r^   R   s^    2E
8"L8F8C8"L8Fr$   r   )r   r   )r>   NTNNFFNNNN)rS   rT   rU   rV   rW   messagesMESSAGES_MODULEr   MTLS_BASE_URL_PACKAGE_SCOPES_VERSION
_CLIENT_ID_CLIENT_SECRET_USER_AGENT_CLIENT_CLASS_NAME_URL_VERSION_API_KEYr   r   BaseApiServicer   r   rZ   r[   r\   s   @r"   r   r   
   s    </*(4-(=>'(*"."+,()-6:/4<@?C	/$#("9"9 #JO// O Or$   r   N)
rW   
__future__r   apitools.base.pyr   ,googlecloudsdk.generated_clients.apis.iam.v2r   r   BaseApiClientr   rO   r$   r"   <module>r      s'    2 ' % TWH"" Wr$   