
    '                     V    d Z ddlmZ ddlmZ ddlmZ  G d dej                        Z	y)z,Generated client library for iam version v3.    )absolute_import)base_api)iam_v3_messagesc                       e Zd ZdZeZdZdZdZdgZ	dZ
dZdZd	Zd ZdZd
Z	 	 	 	 	 d& fd	Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d dej&                        Z G d  d!ej&                        Z G d" d#ej&                        Z G d$ d%ej&                        Z  xZ!S )'IamV3z4Generated client library for service iam version v3.zhttps://iam.googleapis.com/z https://iam.mtls.googleapis.com/iamz.https://www.googleapis.com/auth/cloud-platformv3	CLIENT_IDCLIENT_SECRETzgoogle-cloud-sdkNc                    |xs | j                   }t        t        |   |||||||||	|
|       | j	                  |       | _        | j                  |       | _        | j                  |       | _	        | j                  |       | _        | j                  |       | _        | j                  |       | _        | j!                  |       | _        | j%                  |       | _        | j)                  |       | _        | j-                  |       | _        | j1                  |       | _        | j5                  |       | _        | j9                  |       | _        y)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__!FoldersLocationsOperationsServicefolders_locations_operations%FoldersLocationsPolicyBindingsService folders_locations_policyBindingsFoldersLocationsServicefolders_locationsFoldersServicefolders'OrganizationsLocationsOperationsService"organizations_locations_operations+OrganizationsLocationsPolicyBindingsService&organizations_locations_policyBindings<OrganizationsLocationsPrincipalAccessBoundaryPoliciesService7organizations_locations_principalAccessBoundaryPoliciesOrganizationsLocationsServiceorganizations_locationsOrganizationsServiceorganizations"ProjectsLocationsOperationsServiceprojects_locations_operations&ProjectsLocationsPolicyBindingsService!projects_locations_policyBindingsProjectsLocationsServiceprojects_locationsProjectsServiceprojects)selfurlr   r   r   r   r   r   r   r   r   r   	__class__s               Alib/googlecloudsdk/generated_clients/apis/iam/v3/iam_v3_client.pyr   zIamV3.__init__   sQ    
C	%'d%l)3 7+   - )-(N(Nt(TD%,0,V,VW[,\D)!99$?D&&t,DL.2.Z.Z[_.`D+262b2bcg2hD/CG  DE  DE  FJ  DKD@#'#E#Ed#KD 2248D)-)P)PQU)VD&-1-X-XY]-^D*";;DAD((.DM    c                   >     e Zd ZdZdZ fdZddZd e_         xZS )'IamV3.FoldersLocationsOperationsServicez<Service class for the folders_locations_operations resource.r   c                 N    t         t        j                  |   |       i | _        y N)r   r   r   r   _upload_configsr4   clientr6   s     r7   r   z0IamV3.FoldersLocationsOperationsService.__init__=   s"    E33TCFKdr8   c                 L    | j                  d      }| j                  |||      S )a  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: (IamFoldersLocationsOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      Getglobal_paramsGetMethodConfig
_RunMethodr4   requestrC   configs       r7   rA   z+IamV3.FoldersLocationsOperationsService.GetB   1     ##E*f__
'  8 8r8   c                  F    t        j                  ddddgdgg ddddd	
      S )NzHv3/folders/{foldersId}/locations/{locationsId}/operations/{operationsId}GETz$iam.folders.locations.operations.getname
v3/{+name} 'IamFoldersLocationsOperationsGetRequest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 r8   r7   <lambda>z0IamV3.FoldersLocationsOperationsService.<lambda>O   s4     6 6\8xH"C7!r8   r<   	__name__
__module____qualname____doc___NAMEr   rA   method_config__classcell__r6   s   @r7   r   r:   8   s"    F*E
8Cr8   r   c                        e Zd ZdZdZ fdZddZd e_        ddZd e_        ddZ	d	 e	_        dd
Z
d e
_        ddZd e_        ddZd e_         xZS )+IamV3.FoldersLocationsPolicyBindingsServicez@Service class for the folders_locations_policyBindings resource.r   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r   r   r=   r>   s     r7   r   z4IamV3.FoldersLocationsPolicyBindingsService.__init__b   s"    E77GOdr8   c                 L    | j                  d      }| j                  |||      S )a  Creates a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is created, the policy is applied to the target.

      Args:
        request: (IamFoldersLocationsPolicyBindingsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      CreaterB   rD   rG   s       r7   ro   z2IamV3.FoldersLocationsPolicyBindingsService.Createg   1     ##H-f__
'  8 8r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )N=v3/folders/{foldersId}/locations/{locationsId}/policyBindingsPOSTz+iam.folders.locations.policyBindings.createparentpolicyBindingIdvalidateOnlyv3/{+parent}/policyBindingsgoogleIamV3PolicyBinding.IamFoldersLocationsPolicyBindingsCreateRequestrQ   FrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>t   s9    8#9#9Q? zJ'830J7$r8   c                 L    | j                  d      }| j                  |||      S )a  Deletes a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is deleted, the policy no longer applies to the target.

      Args:
        request: (IamFoldersLocationsPolicyBindingsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      DeleterB   rD   rG   s       r7   r{   z2IamV3.FoldersLocationsPolicyBindingsService.Delete   rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )NPv3/folders/{foldersId}/locations/{locationsId}/policyBindings/{policyBindingsId}DELETEz+iam.folders.locations.policyBindings.deleterM   etagrv   rN   rO   .IamFoldersLocationsPolicyBindingsDeleteRequestrQ   FrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>   s9    8#9#9d?xHn-"J7$r8   c                 L    | j                  d      }| j                  |||      S )a  Gets a policy binding.

      Args:
        request: (IamFoldersLocationsPolicyBindingsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3PolicyBinding) The response message.
      rA   rB   rD   rG   s       r7   rA   z/IamV3.FoldersLocationsPolicyBindingsService.Get   rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )Nr}   rL   z(iam.folders.locations.policyBindings.getrM   rN   rO   +IamFoldersLocationsPolicyBindingsGetRequestGoogleIamV3PolicyBindingFrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>   s4     6 6d<xH"G5!r8   c                 L    | j                  d      }| j                  |||      S )a  Lists policy bindings.

      Args:
        request: (IamFoldersLocationsPolicyBindingsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3ListPolicyBindingsResponse) The response message.
      ListrB   rD   rG   s       r7   r   z0IamV3.FoldersLocationsPolicyBindingsService.List   1     ##F+f__
'  8 8r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nrr   rL   z)iam.folders.locations.policyBindings.listrt   filterpageSize	pageTokenrw   rO   ,IamFoldersLocationsPolicyBindingsListRequest%GoogleIamV3ListPolicyBindingsResponseFrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>   s4    !7!7Q= zJ83HB"r8   c                 L    | j                  d      }| j                  |||      S )a  Updates a policy binding and returns a long-running operation. Callers will need the IAM permissions on the policy and target in the binding to update. Target and policy are immutable and cannot be updated.

      Args:
        request: (IamFoldersLocationsPolicyBindingsPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      PatchrB   rD   rG   s       r7   r   z1IamV3.FoldersLocationsPolicyBindingsService.Patch   1     ##G,f__
'  8 8r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nr}   PATCHz*iam.folders.locations.policyBindings.patchrM   
updateMaskrv   rN   rx   -IamFoldersLocationsPolicyBindingsPatchRequestrQ   FrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>   s9    ("8"8d>xH"N3"0I7#r8   c                 L    | j                  d      }| j                  |||      S )a  Search policy bindings by target. Returns all policy binding objects bound directly to target.

      Args:
        request: (IamFoldersLocationsPolicyBindingsSearchTargetPolicyBindingsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3SearchTargetPolicyBindingsResponse) The response message.
      SearchTargetPolicyBindingsrB   rD   rG   s       r7   r   zFIamV3.FoldersLocationsPolicyBindingsService.SearchTargetPolicyBindings   2     ##$@Af__
'  8 8r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )NzXv3/folders/{foldersId}/locations/{locationsId}/policyBindings:searchTargetPolicyBindingsrL   z?iam.folders.locations.policyBindings.searchTargetPolicyBindingsrt   r   r   target6v3/{+parent}/policyBindings:searchTargetPolicyBindingsrO   BIamFoldersLocationsPolicyBindingsSearchTargetPolicyBindingsRequest-GoogleIamV3SearchTargetPolicyBindingsResponseFrR   r^   r`   r8   r7   ra   z4IamV3.FoldersLocationsPolicyBindingsService.<lambda>   s4    x7M7MlS zJ8N^J8r8   r<   rc   rd   re   rf   rg   r   ro   rh   r{   rA   r   r   r   ri   rj   s   @r7   r   rl   ]   sn    J.E
8F8F8C8D8E80,,r8   r   c                   &     e Zd ZdZdZ fdZ xZS )IamV3.FoldersLocationsServicez1Service class for the folders_locations resource.r   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r   r   r=   r>   s     r7   r   z&IamV3.FoldersLocationsService.__init__  s"    E))49&Adr8   rc   rd   re   rf   rg   r   ri   rj   s   @r7   r   r   	  s    ;E r8   r   c                   &     e Zd ZdZdZ fdZ xZS )IamV3.FoldersServicez'Service class for the folders resource.r!   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r    r   r=   r>   s     r7   r   zIamV3.FoldersService.__init__  s"    E  $08dr8   r   rj   s   @r7   r    r     s    1E r8   r    c                   >     e Zd ZdZdZ fdZddZd e_         xZS )-IamV3.OrganizationsLocationsOperationsServicezBService class for the organizations_locations_operations resource.r#   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r"   r   r=   r>   s     r7   r   z6IamV3.OrganizationsLocationsOperationsService.__init__"  s"    E994I&Qdr8   c                 L    | j                  d      }| j                  |||      S )a  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: (IamOrganizationsLocationsOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      rA   rB   rD   rG   s       r7   rA   z1IamV3.OrganizationsLocationsOperationsService.Get'  rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )NzTv3/organizations/{organizationsId}/locations/{locationsId}/operations/{operationsId}rL   z*iam.organizations.locations.operations.getrM   rN   rO   -IamOrganizationsLocationsOperationsGetRequestrQ   FrR   r^   r`   r8   r7   ra   z6IamV3.OrganizationsLocationsOperationsService.<lambda>4  s4     6 6h>xH"I7!r8   r<   rb   rj   s   @r7   r"   r     s"    L0E
8Cr8   r"   c                        e Zd ZdZdZ fdZddZd e_        ddZd e_        ddZ	d	 e	_        dd
Z
d e
_        ddZd e_        ddZd e_         xZS )1IamV3.OrganizationsLocationsPolicyBindingsServicezFService class for the organizations_locations_policyBindings resource.r%   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r$   r   r=   r>   s     r7   r   z:IamV3.OrganizationsLocationsPolicyBindingsService.__init__G  s"    E==tMfUdr8   c                 L    | j                  d      }| j                  |||      S )a  Creates a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is created, the policy is applied to the target.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      ro   rB   rD   rG   s       r7   ro   z8IamV3.OrganizationsLocationsPolicyBindingsService.CreateL  rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )NIv3/organizations/{organizationsId}/locations/{locationsId}/policyBindingsrs   z1iam.organizations.locations.policyBindings.creatert   ru   rv   rw   rx   4IamOrganizationsLocationsPolicyBindingsCreateRequestrQ   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>Y  s9    8#9#9]E zJ'830P7$r8   c                 L    | j                  d      }| j                  |||      S )a  Deletes a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is deleted, the policy no longer applies to the target.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r{   rB   rD   rG   s       r7   r{   z8IamV3.OrganizationsLocationsPolicyBindingsService.Deleteg  rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )N\v3/organizations/{organizationsId}/locations/{locationsId}/policyBindings/{policyBindingsId}r~   z1iam.organizations.locations.policyBindings.deleterM   r   rv   rN   rO   4IamOrganizationsLocationsPolicyBindingsDeleteRequestrQ   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>t  s9    8#9#9pExHn-"P7$r8   c                 L    | j                  d      }| j                  |||      S )a  Gets a policy binding.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3PolicyBinding) The response message.
      rA   rB   rD   rG   s       r7   rA   z5IamV3.OrganizationsLocationsPolicyBindingsService.Get  rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )Nr   rL   z.iam.organizations.locations.policyBindings.getrM   rN   rO   1IamOrganizationsLocationsPolicyBindingsGetRequestr   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>  s4     6 6pBxH"M5!r8   c                 L    | j                  d      }| j                  |||      S )a$  Lists policy bindings.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3ListPolicyBindingsResponse) The response message.
      r   rB   rD   rG   s       r7   r   z6IamV3.OrganizationsLocationsPolicyBindingsService.List  r   r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr   rL   z/iam.organizations.locations.policyBindings.listrt   r   rw   rO   2IamOrganizationsLocationsPolicyBindingsListRequestr   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>  s4    !7!7]C zJ83NB"r8   c                 L    | j                  d      }| j                  |||      S )a  Updates a policy binding and returns a long-running operation. Callers will need the IAM permissions on the policy and target in the binding to update. Target and policy are immutable and cannot be updated.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r   rB   rD   rG   s       r7   r   z7IamV3.OrganizationsLocationsPolicyBindingsService.Patch  r   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nr   r   z0iam.organizations.locations.policyBindings.patchrM   r   rv   rN   rx   3IamOrganizationsLocationsPolicyBindingsPatchRequestrQ   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>  s9    ("8"8pDxH"N3"0O7#r8   c                 L    | j                  d      }| j                  |||      S )a  Search policy bindings by target. Returns all policy binding objects bound directly to target.

      Args:
        request: (IamOrganizationsLocationsPolicyBindingsSearchTargetPolicyBindingsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3SearchTargetPolicyBindingsResponse) The response message.
      r   rB   rD   rG   s       r7   r   zLIamV3.OrganizationsLocationsPolicyBindingsService.SearchTargetPolicyBindings  r   r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nzdv3/organizations/{organizationsId}/locations/{locationsId}/policyBindings:searchTargetPolicyBindingsrL   zEiam.organizations.locations.policyBindings.searchTargetPolicyBindingsrt   r   r   rO   HIamOrganizationsLocationsPolicyBindingsSearchTargetPolicyBindingsRequestr   FrR   r^   r`   r8   r7   ra   z:IamV3.OrganizationsLocationsPolicyBindingsService.<lambda>  s4    x7M7MxY zJ8NdJ8r8   r<   r   rj   s   @r7   r$   r   B  sn    P4E
8F8F8C8D8E80,,r8   r$   c                        e Zd ZdZdZ fdZddZd e_        ddZd e_        ddZ	d	 e	_        dd
Z
d e
_        ddZd e_        ddZd e_         xZS )BIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesServicezWService class for the organizations_locations_principalAccessBoundaryPolicies resource.r'   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r&   r   r=   r>   s     r7   r   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.__init__  s$    ENNPT^_efdr8   c                 L    | j                  d      }| j                  |||      S )ag  Creates a principal access boundary policy, and returns a long running operation.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      ro   rB   rD   rG   s       r7   ro   zIIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.Create  rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )NZv3/organizations/{organizationsId}/locations/{locationsId}/principalAccessBoundaryPoliciesrs   zBiam.organizations.locations.principalAccessBoundaryPolicies.creatert   principalAccessBoundaryPolicyIdrv   ,v3/{+parent}/principalAccessBoundaryPolicies(googleIamV3PrincipalAccessBoundaryPolicyEIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesCreateRequestrQ   FrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>  s9    8#9#9nV zJ7HD@a7$r8   c                 L    | j                  d      }| j                  |||      S )aA  Deletes a principal access boundary policy.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r{   rB   rD   rG   s       r7   r{   zIIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.Delete  rp   r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )N~v3/organizations/{organizationsId}/locations/{locationsId}/principalAccessBoundaryPolicies/{principalAccessBoundaryPoliciesId}r~   zBiam.organizations.locations.principalAccessBoundaryPolicies.deleterM   )r   forcerv   rN   rO   EIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesDeleteRequestrQ   FrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>   s7    8#9#9 SVxH6"a7$r8   c                 L    | j                  d      }| j                  |||      S )aI  Gets a principal access boundary policy.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3PrincipalAccessBoundaryPolicy) The response message.
      rA   rB   rD   rG   s       r7   rA   zFIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.Get.  rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )Nr   rL   z?iam.organizations.locations.principalAccessBoundaryPolicies.getrM   rN   rO   BIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesGetRequest(GoogleIamV3PrincipalAccessBoundaryPolicyFrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>;  s7     6 6 SSxH"^E!r8   c                 L    | j                  d      }| j                  |||      S )aY  Lists principal access boundary policies.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3ListPrincipalAccessBoundaryPoliciesResponse) The response message.
      r   rB   rD   rG   s       r7   r   zGIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.ListI  r   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nr   rL   z@iam.organizations.locations.principalAccessBoundaryPolicies.listrt   r   r   r   rO   CIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesListRequest6GoogleIamV3ListPrincipalAccessBoundaryPoliciesResponseFrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>V  s9    !7!7nT zJ +.D_S"r8   c                 L    | j                  d      }| j                  |||      S )a@  Updates a principal access boundary policy.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r   rB   rD   rG   s       r7   r   zHIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.Patchd  r   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nr   r   zAiam.organizations.locations.principalAccessBoundaryPolicies.patchrM   r   rv   rN   r   DIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesPatchRequestrQ   FrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>q  s<    ("8"8 SUxH"N3"@`7#r8   c                 L    | j                  d      }| j                  |||      S )a  Returns all policy bindings that bind a specific policy if a user has searchPolicyBindings permission on that policy.

      Args:
        request: (IamOrganizationsLocationsPrincipalAccessBoundaryPoliciesSearchPolicyBindingsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3SearchPrincipalAccessBoundaryPolicyBindingsResponse) The response message.
      SearchPolicyBindingsrB   rD   rG   s       r7   r   zWIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.SearchPolicyBindings  s2     ##$:;f__
'  8 8r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nzv3/organizations/{organizationsId}/locations/{locationsId}/principalAccessBoundaryPolicies/{principalAccessBoundaryPoliciesId}:searchPolicyBindingsrL   zPiam.organizations.locations.principalAccessBoundaryPolicies.searchPolicyBindingsrM   r   r   zv3/{+name}:searchPolicyBindingsrO   SIamOrganizationsLocationsPrincipalAccessBoundaryPoliciesSearchPolicyBindingsRequest>GoogleIamV3SearchPrincipalAccessBoundaryPolicyBindingsResponseFrR   r^   r`   r8   r7   ra   zKIamV3.OrganizationsLocationsPrincipalAccessBoundaryPoliciesService.<lambda>  s<    1G1G hdxH +.7o[2r8   r<   )rc   rd   re   rf   rg   r   ro   rh   r{   rA   r   r   r   ri   rj   s   @r7   r&   r     sn    aEE
8F8F8C8D8E8*&&r8   r&   c                   &     e Zd ZdZdZ fdZ xZS )#IamV3.OrganizationsLocationsServicez7Service class for the organizations_locations resource.r)   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r(   r   r=   r>   s     r7   r   z,IamV3.OrganizationsLocationsService.__init__  s"    E//?Gdr8   r   rj   s   @r7   r(   r     s    A%E r8   r(   c                   &     e Zd ZdZdZ fdZ xZS )IamV3.OrganizationsServicez-Service class for the organizations resource.r+   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r*   r   r=   r>   s     r7   r   z#IamV3.OrganizationsService.__init__  s"    E&&6v>dr8   r   rj   s   @r7   r*   r     s    7E r8   r*   c                   >     e Zd ZdZdZ fdZddZd e_         xZS )(IamV3.ProjectsLocationsOperationsServicez=Service class for the projects_locations_operations resource.r-   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r,   r   r=   r>   s     r7   r   z1IamV3.ProjectsLocationsOperationsService.__init__  s"    E44dDVLdr8   c                 L    | j                  d      }| j                  |||      S )a  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: (IamProjectsLocationsOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      rA   rB   rD   rG   s       r7   rA   z,IamV3.ProjectsLocationsOperationsService.Get  rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )NzJv3/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}rL   z%iam.projects.locations.operations.getrM   rN   rO   (IamProjectsLocationsOperationsGetRequestrQ   FrR   r^   r`   r8   r7   ra   z1IamV3.ProjectsLocationsOperationsService.<lambda>  s4     6 6^9xH"D7!r8   r<   rb   rj   s   @r7   r,   r     s"    G+E
8Cr8   r,   c                        e Zd ZdZdZ fdZddZd e_        ddZd e_        ddZ	d	 e	_        dd
Z
d e
_        ddZd e_        ddZd e_         xZS ),IamV3.ProjectsLocationsPolicyBindingsServicezAService class for the projects_locations_policyBindings resource.r/   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r.   r   r=   r>   s     r7   r   z5IamV3.ProjectsLocationsPolicyBindingsService.__init__  s"    E88$HPdr8   c                 L    | j                  d      }| j                  |||      S )a  Creates a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is created, the policy is applied to the target.

      Args:
        request: (IamProjectsLocationsPolicyBindingsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      ro   rB   rD   rG   s       r7   ro   z3IamV3.ProjectsLocationsPolicyBindingsService.Create  rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )N?v3/projects/{projectsId}/locations/{locationsId}/policyBindingsrs   z,iam.projects.locations.policyBindings.creatert   ru   rv   rw   rx   /IamProjectsLocationsPolicyBindingsCreateRequestrQ   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>  s9    8#9#9S@ zJ'830K7$r8   c                 L    | j                  d      }| j                  |||      S )a  Deletes a policy binding and returns a long-running operation. Callers will need the IAM permissions on both the policy and target. Once the binding is deleted, the policy no longer applies to the target.

      Args:
        request: (IamProjectsLocationsPolicyBindingsDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r{   rB   rD   rG   s       r7   r{   z3IamV3.ProjectsLocationsPolicyBindingsService.Delete  rp   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )NRv3/projects/{projectsId}/locations/{locationsId}/policyBindings/{policyBindingsId}r~   z,iam.projects.locations.policyBindings.deleterM   r   rv   rN   rO   /IamProjectsLocationsPolicyBindingsDeleteRequestrQ   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>  s9    8#9#9f@xHn-"K7$r8   c                 L    | j                  d      }| j                  |||      S )a  Gets a policy binding.

      Args:
        request: (IamProjectsLocationsPolicyBindingsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3PolicyBinding) The response message.
      rA   rB   rD   rG   s       r7   rA   z0IamV3.ProjectsLocationsPolicyBindingsService.Get  rJ   r8   c                  F    t        j                  ddddgdgg ddddd	
      S )Nr   rL   z)iam.projects.locations.policyBindings.getrM   rN   rO   ,IamProjectsLocationsPolicyBindingsGetRequestr   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>   s4     6 6f=xH"H5!r8   c                 L    | j                  d      }| j                  |||      S )a  Lists policy bindings.

      Args:
        request: (IamProjectsLocationsPolicyBindingsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3ListPolicyBindingsResponse) The response message.
      r   rB   rD   rG   s       r7   r   z1IamV3.ProjectsLocationsPolicyBindingsService.List.  r   r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr   rL   z*iam.projects.locations.policyBindings.listrt   r   rw   rO   -IamProjectsLocationsPolicyBindingsListRequestr   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>;  s4    !7!7S> zJ83IB"r8   c                 L    | j                  d      }| j                  |||      S )a  Updates a policy binding and returns a long-running operation. Callers will need the IAM permissions on the policy and target in the binding to update. Target and policy are immutable and cannot be updated.

      Args:
        request: (IamProjectsLocationsPolicyBindingsPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleLongrunningOperation) The response message.
      r   rB   rD   rG   s       r7   r   z2IamV3.ProjectsLocationsPolicyBindingsService.PatchI  r   r8   c                  J    t        j                  ddddgdgddgddd	d
d      S )Nr   r   z+iam.projects.locations.policyBindings.patchrM   r   rv   rN   rx   .IamProjectsLocationsPolicyBindingsPatchRequestrQ   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>V  s9    ("8"8f?xH"N3"0J7#r8   c                 L    | j                  d      }| j                  |||      S )a  Search policy bindings by target. Returns all policy binding objects bound directly to target.

      Args:
        request: (IamProjectsLocationsPolicyBindingsSearchTargetPolicyBindingsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GoogleIamV3SearchTargetPolicyBindingsResponse) The response message.
      r   rB   rD   rG   s       r7   r   zGIamV3.ProjectsLocationsPolicyBindingsService.SearchTargetPolicyBindingsd  r   r8   c                  J    t        j                  ddddgdgg ddddd	d
      S )NzZv3/projects/{projectsId}/locations/{locationsId}/policyBindings:searchTargetPolicyBindingsrL   z@iam.projects.locations.policyBindings.searchTargetPolicyBindingsrt   r   r   rO   CIamProjectsLocationsPolicyBindingsSearchTargetPolicyBindingsRequestr   FrR   r^   r`   r8   r7   ra   z5IamV3.ProjectsLocationsPolicyBindingsService.<lambda>q  s4    x7M7MnT zJ8N_J8r8   r<   r   rj   s   @r7   r.   r     sn    K/E
8F8F8C8D8E80,,r8   r.   c                   &     e Zd ZdZdZ fdZ xZS )IamV3.ProjectsLocationsServicez2Service class for the projects_locations resource.r1   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r0   r   r=   r>   s     r7   r   z'IamV3.ProjectsLocationsService.__init__  s"    E**D:6Bdr8   r   rj   s   @r7   r0   r    s    < E r8   r0   c                   &     e Zd ZdZdZ fdZ xZS )IamV3.ProjectsServicez(Service class for the projects resource.r3   c                 N    t         t        j                  |   |       i | _        y r<   )r   r   r2   r   r=   r>   s     r7   r   zIamV3.ProjectsService.__init__  s"    E!!41&9dr8   r   rj   s   @r7   r2   r
    s    2E r8   r2   )rO   NTNNFFNNNN)"rc   rd   re   rf   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   r   r    r"   r$   r&   r(   r*   r,   r.   r0   r2   ri   rj   s   @r7   r   r   
   sX   </*(4-(=>'(*"."+,()-6:/4<@?C	/:#(*A*A #Jjh.E.E jX 7 7 x.. #0G0G #JjH4K4K jXjXE\E\ jXh&=&= X44 #8+B+B #Jjx/F/F jX!8!8 //  r8   r   N)
rf   
__future__r   apitools.base.pyr   ,googlecloudsdk.generated_clients.apis.iam.v3r   r  BaseApiClientr   r`   r8   r7   <module>r     s'    2 ' % TGH"" Gr8   