
    d                    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)z1Generated client library for cloudkms version v1.    )absolute_import)base_api)cloudkms_v1_messagesc                   Z    e Zd ZdZeZdZdZdZd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 xZ S )&
CloudkmsV1z9Generated client library for service cloudkms version v1.z https://cloudkms.googleapis.com/z%https://cloudkms.mtls.googleapis.com/cloudkmsz.https://www.googleapis.com/auth/cloud-platformz(https://www.googleapis.com/auth/cloudkmsv1	CLIENT_IDCLIENT_SECRETzgoogle-cloud-sdkNc                 r   |xs | j                   }t        t        |   |||||||||	|
|       | j	                  |       | _        | j                  |       | _        | j                  |       | _	        | j                  |       | _        | j                  |       | _        | j                  |       | _        | j!                  |       | _        | j%                  |       | _        | j)                  |       | _        | j-                  |       | _        | j1                  |       | _        | j5                  |       | _        y)zCreate a new cloudkms handle.)
credentialsget_credentialshttpmodellog_requestlog_responsecredentials_argsdefault_global_paramsadditional_http_headersresponse_encodingN)BASE_URLsuperr   __init__FoldersServicefoldersOrganizationsServiceorganizations!ProjectsLocationsEkmConfigServiceprojects_locations_ekmConfig&ProjectsLocationsEkmConnectionsService!projects_locations_ekmConnections"ProjectsLocationsKeyHandlesServiceprojects_locations_keyHandles;ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService8projects_locations_keyRings_cryptoKeys_cryptoKeyVersions*ProjectsLocationsKeyRingsCryptoKeysService&projects_locations_keyRings_cryptoKeys*ProjectsLocationsKeyRingsImportJobsService&projects_locations_keyRings_importJobs ProjectsLocationsKeyRingsServiceprojects_locations_keyRings"ProjectsLocationsOperationsServiceprojects_locations_operationsProjectsLocationsServiceprojects_locationsProjectsServiceprojects)selfurlr   r   r   r   r   r   r   r   r   r   	__class__s               Klib/googlecloudsdk/generated_clients/apis/cloudkms/v1/cloudkms_v1_client.pyr   zCloudkmsV1.__init__   s>    
C	*d$'d%l)3 7+ % - &&t,DL2248D(,(N(Nt(TD%-1-X-XY]-^D*)-)P)PQU)VD&DH  EE  EE  FJ  EKDA262a2abf2gD/262a2abf2gD/'+'L'LT'RD$)-)P)PQU)VD&";;DAD((.DM    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
_         xZS )CloudkmsV1.FoldersServicez'Service class for the folders resource.r   c                 N    t         t        j                  |   |       i | _        y N)r   r   r   r   _upload_configsr2   clientr4   s     r5   r   z"CloudkmsV1.FoldersService.__init__<   s"    J%%t5f=dr6   c                 L    | j                  d      }| j                  |||      S )a  Returns the AutokeyConfig for a folder.

      Args:
        request: (CloudkmsFoldersGetAutokeyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (AutokeyConfig) The response message.
      GetAutokeyConfigglobal_paramsGetMethodConfig
_RunMethodr2   requestrA   configs       r5   r?   z*CloudkmsV1.FoldersService.GetAutokeyConfigA   s2     ##$67f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N$v1/folders/{foldersId}/autokeyConfigGETz!cloudkms.folders.getAutokeyConfigname
v1/{+name} &CloudkmsFoldersGetAutokeyConfigRequestAutokeyConfigF	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 r6   r5   <lambda>z"CloudkmsV1.FoldersService.<lambda>N   s4    X-C-C85xH"B*.r6   c                 L    | j                  d      }| j                  |||      S )aX  Gets the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsFoldersGetKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      GetKajPolicyConfigr@   rB   rE   s       r5   ra   z,CloudkmsV1.FoldersService.GetKajPolicyConfig\   2     ##$89f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N&v1/folders/{foldersId}/kajPolicyConfigrJ   z#cloudkms.folders.getKajPolicyConfigrK   rL   rM   (CloudkmsFoldersGetKajPolicyConfigRequest#KeyAccessJustificationsPolicyConfigFrP   r\   r^   r6   r5   r_   z"CloudkmsV1.FoldersService.<lambda>i   s4    x/E/E:7xH"D@0r6   c                 L    | j                  d      }| j                  |||      S )aI  Updates the AutokeyConfig for a folder. The caller must have both `cloudkms.autokeyConfigs.update` permission on the parent folder and `cloudkms.cryptoKeys.setIamPolicy` permission on the provided key project. A KeyHandle creation in the folder's descendant projects will use this configuration to determine where to create the resulting CryptoKey.

      Args:
        request: (CloudkmsFoldersUpdateAutokeyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (AutokeyConfig) The response message.
      UpdateAutokeyConfigr@   rB   rE   s       r5   rh   z-CloudkmsV1.FoldersService.UpdateAutokeyConfigw   2     ##$9:f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )NrI   PATCHz$cloudkms.folders.updateAutokeyConfigrK   
updateMaskrL   autokeyConfig)CloudkmsFoldersUpdateAutokeyConfigRequestrO   FrP   r\   r^   r6   r5   r_   z"CloudkmsV1.FoldersService.<lambda>   s6    0F0F88xH"^"%E*1r6   c                 L    | j                  d      }| j                  |||      S )a^  Updates the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsFoldersUpdateKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      UpdateKajPolicyConfigr@   rB   rE   s       r5   rp   z/CloudkmsV1.FoldersService.UpdateKajPolicyConfig   2     ##$;<f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nrd   rk   z&cloudkms.folders.updateKajPolicyConfigrK   rl   rL   #keyAccessJustificationsPolicyConfig+CloudkmsFoldersUpdateKajPolicyConfigRequestrf   FrP   r\   r^   r6   r5   r_   z"CloudkmsV1.FoldersService.<lambda>   s6    (2H2H::xH"^";G@3r6   r:   )__name__
__module____qualname____doc___NAMEr   r?   method_configra   rh   rp   __classcell__r4   s   @r5   r   r8   7   sS    1E
8&"8($8)%8+''r6   r   c                   V     e Zd ZdZdZ fdZddZd e_        ddZd e_         xZ	S )	CloudkmsV1.OrganizationsServicez-Service class for the organizations resource.r   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r   r   r;   r<   s     r5   r   z(CloudkmsV1.OrganizationsService.__init__   s"    J++T;FCdr6   c                 L    | j                  d      }| j                  |||      S )a^  Gets the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsOrganizationsGetKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      ra   r@   rB   rE   s       r5   ra   z2CloudkmsV1.OrganizationsService.GetKajPolicyConfig   rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N2v1/organizations/{organizationsId}/kajPolicyConfigrJ   z)cloudkms.organizations.getKajPolicyConfigrK   rL   rM   .CloudkmsOrganizationsGetKajPolicyConfigRequestrf   FrP   r\   r^   r6   r5   r_   z(CloudkmsV1.OrganizationsService.<lambda>   s4    x/E/EF=xH"J@0r6   c                 L    | j                  d      }| j                  |||      S )ad  Updates the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsOrganizationsUpdateKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      rp   r@   rB   rE   s       r5   rp   z5CloudkmsV1.OrganizationsService.UpdateKajPolicyConfig   rq   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr   rk   z,cloudkms.organizations.updateKajPolicyConfigrK   rl   rL   rs   1CloudkmsOrganizationsUpdateKajPolicyConfigRequestrf   FrP   r\   r^   r6   r5   r_   z(CloudkmsV1.OrganizationsService.<lambda>   s6    (2H2HF@xH"^";M@3r6   r:   )
ru   rv   rw   rx   ry   r   ra   rz   rp   r{   r|   s   @r5   r   r~      s3    7E
8($8+''r6   r   c                   n     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	_         xZ
S ),CloudkmsV1.ProjectsLocationsEkmConfigServicez<Service class for the projects_locations_ekmConfig resource.r   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r   r   r;   r<   s     r5   r   z5CloudkmsV1.ProjectsLocationsEkmConfigService.__init__   s"    J88$HPdr6   c                 L    | j                  d      }| j                  |||      S )ao  Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Args:
        request: (CloudkmsProjectsLocationsEkmConfigGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      GetIamPolicyr@   rB   rE   s       r5   r   z9CloudkmsV1.ProjectsLocationsEkmConfigService.GetIamPolicy   1     ##N3f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )NzGv1/projects/{projectsId}/locations/{locationsId}/ekmConfig:getIamPolicyrJ   z2cloudkms.projects.locations.ekmConfig.getIamPolicyresourceoptions_requestedPolicyVersionv1/{+resource}:getIamPolicyrM   5CloudkmsProjectsLocationsEkmConfigGetIamPolicyRequestPolicyFrP   r\   r^   r6   r5   r_   z5CloudkmsV1.ProjectsLocationsEkmConfigService.<lambda>  s7    )?)?[F"|L673Q#*r6   c                 L    | j                  d      }| j                  |||      S )a  Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

      Args:
        request: (CloudkmsProjectsLocationsEkmConfigSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      SetIamPolicyr@   rB   rE   s       r5   r   z9CloudkmsV1.ProjectsLocationsEkmConfigService.SetIamPolicy  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzGv1/projects/{projectsId}/locations/{locationsId}/ekmConfig:setIamPolicyPOSTz2cloudkms.projects.locations.ekmConfig.setIamPolicyr   v1/{+resource}:setIamPolicysetIamPolicyRequest5CloudkmsProjectsLocationsEkmConfigSetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z5CloudkmsV1.ProjectsLocationsEkmConfigService.<lambda>  s4    )?)?[F"|L3+Q#*r6   c                 L    | j                  d      }| j                  |||      S )ai  Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

      Args:
        request: (CloudkmsProjectsLocationsEkmConfigTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      TestIamPermissionsr@   rB   rE   s       r5   r   z?CloudkmsV1.ProjectsLocationsEkmConfigService.TestIamPermissions-  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzMv1/projects/{projectsId}/locations/{locationsId}/ekmConfig:testIamPermissionsr   z8cloudkms.projects.locations.ekmConfig.testIamPermissionsr   !v1/{+resource}:testIamPermissionstestIamPermissionsRequest;CloudkmsProjectsLocationsEkmConfigTestIamPermissionsRequestTestIamPermissionsResponseFrP   r\   r^   r6   r5   r_   z5CloudkmsV1.ProjectsLocationsEkmConfigService.<lambda>:  s4    x/E/EaL"|L91W70r6   r:   )ru   rv   rw   rx   ry   r   r   rz   r   r   r{   r|   s   @r5   r   r      sA    F*E
8"L8"L8($$r6   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_        ddZd e_        ddZd e_         xZS )1CloudkmsV1.ProjectsLocationsEkmConnectionsServicezAService class for the projects_locations_ekmConnections resource.r!   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r    r   r;   r<   s     r5   r   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.__init__M  s"    J==tMfUdr6   c                 L    | j                  d      }| j                  |||      S )a4  Creates a new EkmConnection in a given Project and Location.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EkmConnection) The response message.
      Creater@   rB   rE   s       r5   r   z8CloudkmsV1.ProjectsLocationsEkmConnectionsService.CreateR  1     ##H-f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )N?v1/projects/{projectsId}/locations/{locationsId}/ekmConnectionsr   z1cloudkms.projects.locations.ekmConnections.createparentekmConnectionIdv1/{+parent}/ekmConnectionsekmConnection4CloudkmsProjectsLocationsEkmConnectionsCreateRequestEkmConnectionFrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>_  s7    8#9#9SE zJ'(3%P*$r6   c                 L    | j                  d      }| j                  |||      S )a   Returns metadata for a given EkmConnection.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EkmConnection) The response message.
      Getr@   rB   rE   s       r5   r   z5CloudkmsV1.ProjectsLocationsEkmConnectionsService.Getm  1     ##E*f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NRv1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}rJ   z.cloudkms.projects.locations.ekmConnections.getrK   rL   rM   1CloudkmsProjectsLocationsEkmConnectionsGetRequestr   FrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>z  s4     6 6fBxH"M*!r6   c                 L    | j                  d      }| j                  |||      S )at  Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   z>CloudkmsV1.ProjectsLocationsEkmConnectionsService.GetIamPolicy  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nz_v1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}:getIamPolicyrJ   z7cloudkms.projects.locations.ekmConnections.getIamPolicyr   r   r   rM   :CloudkmsProjectsLocationsEkmConnectionsGetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s7    )?)?sK"|L673V#*r6   c                 L    | j                  d      }| j                  |||      S )a  Lists EkmConnections.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListEkmConnectionsResponse) The response message.
      Listr@   rB   rE   s       r5   r   z6CloudkmsV1.ProjectsLocationsEkmConnectionsService.List  1     ##F+f__
'  8 8r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr   rJ   z/cloudkms.projects.locations.ekmConnections.listr   filterorderBypageSize	pageTokenr   rM   2CloudkmsProjectsLocationsEkmConnectionsListRequestListEkmConnectionsResponseFrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s4    !7!7SC zJC3N7"r6   c                 L    | j                  d      }| j                  |||      S )a  Updates an EkmConnection's metadata.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EkmConnection) The response message.
      Patchr@   rB   rE   s       r5   r   z7CloudkmsV1.ProjectsLocationsEkmConnectionsService.Patch  1     ##G,f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr   rk   z0cloudkms.projects.locations.ekmConnections.patchrK   rl   rL   r   3CloudkmsProjectsLocationsEkmConnectionsPatchRequestr   FrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s6    ("8"8fDxH"^"%O*#r6   c                 L    | j                  d      }| j                  |||      S )a  Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   z>CloudkmsV1.ProjectsLocationsEkmConnectionsService.SetIamPolicy  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nz_v1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}:setIamPolicyr   z7cloudkms.projects.locations.ekmConnections.setIamPolicyr   r   r   :CloudkmsProjectsLocationsEkmConnectionsSetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s4    )?)?sK"|L3+V#*r6   c                 L    | j                  d      }| j                  |||      S )an  Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      r   r@   rB   rE   s       r5   r   zDCloudkmsV1.ProjectsLocationsEkmConnectionsService.TestIamPermissions  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzev1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}:testIamPermissionsr   z=cloudkms.projects.locations.ekmConnections.testIamPermissionsr   r   r   @CloudkmsProjectsLocationsEkmConnectionsTestIamPermissionsRequestr   FrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s4    x/E/EyQ"|L91\70r6   c                 L    | j                  d      }| j                  |||      S )aC  Verifies that Cloud KMS can successfully connect to the external key manager specified by an EkmConnection. If there is an error connecting to the EKM, this method returns a FAILED_PRECONDITION status containing structured information as described at https://cloud.google.com/kms/docs/reference/ekm_errors.

      Args:
        request: (CloudkmsProjectsLocationsEkmConnectionsVerifyConnectivityRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (VerifyConnectivityResponse) The response message.
      VerifyConnectivityr@   rB   rE   s       r5   r   zDCloudkmsV1.ProjectsLocationsEkmConnectionsService.VerifyConnectivity  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzev1/projects/{projectsId}/locations/{locationsId}/ekmConnections/{ekmConnectionsId}:verifyConnectivityrJ   z=cloudkms.projects.locations.ekmConnections.verifyConnectivityrK   zv1/{+name}:verifyConnectivityrM   @CloudkmsProjectsLocationsEkmConnectionsVerifyConnectivityRequestVerifyConnectivityResponseFrP   r\   r^   r6   r5   r_   z:CloudkmsV1.ProjectsLocationsEkmConnectionsService.<lambda>  s4    x/E/EyQxH5\70r6   r:   )ru   rv   rw   rx   ry   r   r   rz   r   r   r   r   r   r   r   r{   r|   s   @r5   r    r   H  s    K/E
8F8C8"L8D8E8"L8($8($$r6   r    c                   n     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	_         xZ
S )-CloudkmsV1.ProjectsLocationsKeyHandlesServicez=Service class for the projects_locations_keyHandles resource.r#   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r"   r   r;   r<   s     r5   r   z6CloudkmsV1.ProjectsLocationsKeyHandlesService.__init__/  "    J994I&Qdr6   c                 L    | j                  d      }| j                  |||      S )a  Creates a new KeyHandle, triggering the provisioning of a new CryptoKey for CMEK use with the given resource type in the configured key project and the same location. GetOperation should be used to resolve the resulting long-running operation and get the resulting KeyHandle and CryptoKey.

      Args:
        request: (CloudkmsProjectsLocationsKeyHandlesCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Operation) The response message.
      r   r@   rB   rE   s       r5   r   z4CloudkmsV1.ProjectsLocationsKeyHandlesService.Create4  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )N;v1/projects/{projectsId}/locations/{locationsId}/keyHandlesr   z-cloudkms.projects.locations.keyHandles.creater   keyHandleIdv1/{+parent}/keyHandles	keyHandle0CloudkmsProjectsLocationsKeyHandlesCreateRequest	OperationFrP   r\   r^   r6   r5   r_   z6CloudkmsV1.ProjectsLocationsKeyHandlesService.<lambda>A  s6    8#9#9OA zJ#_/!L&$r6   c                 L    | j                  d      }| j                  |||      S )a  Returns the KeyHandle.

      Args:
        request: (CloudkmsProjectsLocationsKeyHandlesGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyHandle) The response message.
      r   r@   rB   rE   s       r5   r   z1CloudkmsV1.ProjectsLocationsKeyHandlesService.GetO  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzJv1/projects/{projectsId}/locations/{locationsId}/keyHandles/{keyHandlesId}rJ   z*cloudkms.projects.locations.keyHandles.getrK   rL   rM   -CloudkmsProjectsLocationsKeyHandlesGetRequest	KeyHandleFrP   r\   r^   r6   r5   r_   z6CloudkmsV1.ProjectsLocationsKeyHandlesService.<lambda>\  4     6 6^>xH"I&!r6   c                 L    | j                  d      }| j                  |||      S )a  Lists KeyHandles.

      Args:
        request: (CloudkmsProjectsLocationsKeyHandlesListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListKeyHandlesResponse) The response message.
      r   r@   rB   rE   s       r5   r   z2CloudkmsV1.ProjectsLocationsKeyHandlesService.Listj  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr   rJ   z+cloudkms.projects.locations.keyHandles.listr   )r   r   r   r   rM   .CloudkmsProjectsLocationsKeyHandlesListRequestListKeyHandlesResponseFrP   r\   r^   r6   r5   r_   z6CloudkmsV1.ProjectsLocationsKeyHandlesService.<lambda>w  s4    !7!7O? zJ8/J3"r6   r:   )ru   rv   rw   rx   ry   r   r   rz   r   r   r{   r|   s   @r5   r"   r   *  s@    G+E
8F8C8Dr6   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_        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_        d"dZd e_        d"dZd e_        d"d Zd! e_         xZS )#FCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsServicezXService class for the projects_locations_keyRings_cryptoKeys_cryptoKeyVersions resource.r%   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r$   r   r;   r<   s     r5   r   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.__init__  s$    JRRTXbcijdr6   c                 L    | j                  d      }| j                  |||      S )a  Decrypts data that was encrypted with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecryptRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (AsymmetricDecryptResponse) The response message.
      AsymmetricDecryptr@   rB   rE   s       r5   r   zXCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.AsymmetricDecrypt  s2     ##$78f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:asymmetricDecryptr   zScloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricDecryptrK   zv1/{+name}:asymmetricDecryptasymmetricDecryptRequestTCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricDecryptRequestAsymmetricDecryptResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    h.D.D ogxH40p6/r6   c                 L    | j                  d      }| j                  |||      S )a  Signs data using a CryptoKeyVersion with CryptoKey.purpose ASYMMETRIC_SIGN, producing a signature that can be verified with the public key retrieved from GetPublicKey.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSignRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (AsymmetricSignResponse) The response message.
      AsymmetricSignr@   rB   rE   s       r5   r   zUCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.AsymmetricSign  s2     ##$45f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:asymmetricSignr   zPcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.asymmetricSignrK   zv1/{+name}:asymmetricSignasymmetricSignRequestQCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsAsymmetricSignRequestAsymmetricSignResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    8+A+A ldxH1-m3,r6   c                 L    | j                  d      }| j                  |||      S )a  Create a new CryptoKeyVersion in a CryptoKey. The server will assign the next sequential id. If unset, state will be set to ENABLED.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      r   r@   rB   rE   s       r5   r   zMCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Create  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nrv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersionsr   zHcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.creater   v1/{+parent}/cryptoKeyVersionscryptoKeyVersionICloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsCreateRequestCryptoKeyVersionFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    8#9#9 G\ zJ6(e-$r6   c                 L    | j                  d      }| j                  |||      S )a  Decapsulates data that was encapsulated with a public key retrieved from GetPublicKey corresponding to a CryptoKeyVersion with CryptoKey.purpose KEY_ENCAPSULATION.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDecapsulateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (DecapsulateResponse) The response message.
      Decapsulater@   rB   rE   s       r5   r   zRCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Decapsulate  s1     ##M2f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:decapsulater   zMcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.decapsulaterK   zv1/{+name}:decapsulatedecapsulateRequestNCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDecapsulateRequestDecapsulateResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    (>(> iaxH.*j0)r6   c                 L    | j                  d      }| j                  |||      S )a  Schedule a CryptoKeyVersion for destruction. Upon calling this method, CryptoKeyVersion.state will be set to DESTROY_SCHEDULED, and destroy_time will be set to the time destroy_scheduled_duration in the future. At that time, the state will automatically change to DESTROYED, and the key material will be irrevocably destroyed. Before the destroy_time is reached, RestoreCryptoKeyVersion may be called to reverse the process.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      Destroyr@   rB   rE   s       r5   r  zNCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Destroy  1     ##I.f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:destroyr   zIcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.destroyrK   zv1/{+name}:destroydestroyCryptoKeyVersionRequestJCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsDestroyRequestr   FrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  7    H$:$: e]xH*6f-%r6   c                 L    | j                  d      }| j                  |||      S )a;  Returns metadata for a given CryptoKeyVersion.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      r   r@   rB   rE   s       r5   r   zJCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Get  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}rJ   zEcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getrK   rL   rM   FCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetRequestr   FrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>#  s7     6 6 ]YxH"b-!r6   c                 L    | j                  d      }| j                  |||      S )a  Returns the public key for the given CryptoKeyVersion. The CryptoKey.purpose must be ASYMMETRIC_SIGN or ASYMMETRIC_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (PublicKey) The response message.
      GetPublicKeyr@   rB   rE   s       r5   r  zSCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.GetPublicKey1  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}/publicKeyrJ   zNcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.getPublicKeyrK   publicKeyFormatzv1/{+name}/publicKeyrM   OCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsGetPublicKeyRequest	PublicKeyFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>>  s:    )?)? gbxH'(,k&*r6   c                 L    | j                  d      }| j                  |||      S )aJ  Import wrapped key material into a CryptoKeyVersion. All requests must specify a CryptoKey. If a CryptoKeyVersion is additionally specified in the request, key material will be reimported into that version. Otherwise, a new version will be created, and will be assigned the next sequential id within the CryptoKey.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImportRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      Importr@   rB   rE   s       r5   r  zMCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.ImportL  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzyv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions:importr   zHcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.importr   z%v1/{+parent}/cryptoKeyVersions:importimportCryptoKeyVersionRequestICloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsImportRequestr   FrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>Y  s7    8#9#9 N\ zJ=5e-$r6   c                 L    | j                  d      }| j                  |||      S )a3  Lists CryptoKeyVersions.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListCryptoKeyVersionsResponse) The response message.
      r   r@   rB   rE   s       r5   r   zKCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Listg  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr   rJ   zFcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.listr   )r   r   r   r   viewr   rM   GCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsListRequestListCryptoKeyVersionsResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>t  s7    !7!7 GZ zJK6c:"r6   c                 L    | j                  d      }| j                  |||      S )a  Signs data using a CryptoKeyVersion with CryptoKey.purpose MAC, producing a tag that can be verified by another source with the same key.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacSignRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (MacSignResponse) The response message.
      MacSignr@   rB   rE   s       r5   r   zNCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.MacSign  r  r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:macSignr   zIcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macSignrK   zv1/{+name}:macSignmacSignRequestJCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacSignRequestMacSignResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    H$:$: e]xH*&f,%r6   c                 L    | j                  d      }| j                  |||      S )a  Verifies MAC tag using a CryptoKeyVersion with CryptoKey.purpose MAC, and returns a response that indicates whether or not the verification was successful.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacVerifyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (MacVerifyResponse) The response message.
      	MacVerifyr@   rB   rE   s       r5   r&  zPCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.MacVerify  s1     ##K0f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:macVerifyr   zKcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.macVerifyrK   zv1/{+name}:macVerifymacVerifyRequestLCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsMacVerifyRequestMacVerifyResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s7    h&<&< g_xH,(h.'r6   c                 L    | j                  d      }| j                  |||      S )a  Update a CryptoKeyVersion's metadata. state may be changed between ENABLED and DISABLED using this method. See DestroyCryptoKeyVersion and RestoreCryptoKeyVersion to move between other states.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      r   r@   rB   rE   s       r5   r   zLCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Patch  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr  rk   zGcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.patchrK   rl   rL   r   HCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsPatchRequestr   FrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  s9    ("8"8 ][xH"^"(d-#r6   c                 L    | j                  d      }| j                  |||      S )a  Decrypts data that was originally encrypted using a raw cryptographic mechanism. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (RawDecryptResponse) The response message.
      
RawDecryptr@   rB   rE   s       r5   r/  zQCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.RawDecrypt  1     ##L1f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawDecryptr   zLcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawDecryptrK   zv1/{+name}:rawDecryptrawDecryptRequestMCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawDecryptRequestRawDecryptResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  7    x'='= h`xH-)i/(r6   c                 L    | j                  d      }| j                  |||      S )a  Encrypts data using portable cryptographic primitives. Most users should choose Encrypt and Decrypt rather than their raw counterparts. The CryptoKey.purpose must be RAW_ENCRYPT_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (RawEncryptResponse) The response message.
      
RawEncryptr@   rB   rE   s       r5   r7  zQCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.RawEncrypt  r0  r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:rawEncryptr   zLcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.rawEncryptrK   zv1/{+name}:rawEncryptrawEncryptRequestMCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRawEncryptRequestRawEncryptResponseFrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  r5  r6   c                 L    | j                  d      }| j                  |||      S )a  Restore a CryptoKeyVersion in the DESTROY_SCHEDULED state. Upon restoration of the CryptoKeyVersion, state will be set to DISABLED, and destroy_time will be cleared.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestoreRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKeyVersion) The response message.
      Restorer@   rB   rE   s       r5   r=  zNCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.Restore	  r  r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}/cryptoKeyVersions/{cryptoKeyVersionsId}:restorer   zIcloudkms.projects.locations.keyRings.cryptoKeys.cryptoKeyVersions.restorerK   zv1/{+name}:restorerestoreCryptoKeyVersionRequestJCloudkmsProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsRestoreRequestr   FrP   r\   r^   r6   r5   r_   zOCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysCryptoKeyVersionsService.<lambda>  r
  r6   r:   )ru   rv   rw   rx   ry   r   r   rz   r   r   r   r  r   r  r  r   r   r&  r   r/  r7  r=  r{   r|   s   @r5   r$   r     s    bFE
8'#8$N 8F8!K8G8C8"L8F8D8G8I8E8 J8 J8Gr6   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_        ddZd e_        ddZd e_        ddZd e_        ddZd e_         xZS )5CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysServicezFService class for the projects_locations_keyRings_cryptoKeys resource.r'   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r&   r   r;   r<   s     r5   r   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.__init__)  #    JAA4QRXYdr6   c                 L    | j                  d      }| j                  |||      S )ai  Create a new CryptoKey within a KeyRing. CryptoKey.purpose and CryptoKey.version_template.algorithm are required.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKey) The response message.
      r   r@   rB   rE   s       r5   r   z<CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.Create.  r   r6   c                  J    t        j                  ddddgdgddgddd	d
d      S )NQv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeysr   z6cloudkms.projects.locations.keyRings.cryptoKeys.creater   cryptoKeyIdskipInitialVersionCreationv1/{+parent}/cryptoKeys	cryptoKey8CloudkmsProjectsLocationsKeyRingsCryptoKeysCreateRequest	CryptoKeyFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>;  s:    8#9#9eJ zJ#%AB/!T&$r6   c                 L    | j                  d      }| j                  |||      S )aZ  Decrypts data that was protected by Encrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysDecryptRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (DecryptResponse) The response message.
      Decryptr@   rB   rE   s       r5   rO  z=CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.DecryptI  r  r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzhv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:decryptr   z7cloudkms.projects.locations.keyRings.cryptoKeys.decryptrK   zv1/{+name}:decryptdecryptRequest9CloudkmsProjectsLocationsKeyRingsCryptoKeysDecryptRequestDecryptResponseFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>V  4    H$:$:|KxH*&U,%r6   c                 L    | j                  d      }| j                  |||      S )as  Encrypts data, so that it can only be recovered by a call to Decrypt. The CryptoKey.purpose must be ENCRYPT_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysEncryptRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EncryptResponse) The response message.
      Encryptr@   rB   rE   s       r5   rV  z=CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.Encryptd  r  r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzhv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:encryptr   z7cloudkms.projects.locations.keyRings.cryptoKeys.encryptrK   zv1/{+name}:encryptencryptRequest9CloudkmsProjectsLocationsKeyRingsCryptoKeysEncryptRequestEncryptResponseFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>q  rT  r6   c                 L    | j                  d      }| j                  |||      S )aE  Returns metadata for a given CryptoKey, as well as its primary CryptoKeyVersion.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKey) The response message.
      r   r@   rB   rE   s       r5   r   z9CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.Get  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N`v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}rJ   z3cloudkms.projects.locations.keyRings.cryptoKeys.getrK   rL   rM   5CloudkmsProjectsLocationsKeyRingsCryptoKeysGetRequestrM  FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  4     6 6tGxH"Q&!r6   c                 L    | j                  d      }| j                  |||      S )ax  Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   zBCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.GetIamPolicy  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nzmv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:getIamPolicyrJ   z<cloudkms.projects.locations.keyRings.cryptoKeys.getIamPolicyr   r   r   rM   >CloudkmsProjectsLocationsKeyRingsCryptoKeysGetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  :    )?)? BP"|L673Z#*r6   c                 L    | j                  d      }| j                  |||      S )a  Lists CryptoKeys.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListCryptoKeysResponse) The response message.
      r   r@   rB   rE   s       r5   r   z:CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.List  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )NrG  rJ   z4cloudkms.projects.locations.keyRings.cryptoKeys.listr   )r   r   r   r   versionViewrJ  rM   6CloudkmsProjectsLocationsKeyRingsCryptoKeysListRequestListCryptoKeysResponseFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  s4    !7!7eH zJR/R3"r6   c                 L    | j                  d      }| j                  |||      S )a
  Update a CryptoKey.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKey) The response message.
      r   r@   rB   rE   s       r5   r   z;CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.Patch  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr]  rk   z5cloudkms.projects.locations.keyRings.cryptoKeys.patchrK   rl   rL   rK  7CloudkmsProjectsLocationsKeyRingsCryptoKeysPatchRequestrM  FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  s6    ("8"8tIxH"^"!S&#r6   c                 L    | j                  d      }| j                  |||      S )a  Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   zBCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.SetIamPolicy  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzmv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:setIamPolicyr   z<cloudkms.projects.locations.keyRings.cryptoKeys.setIamPolicyr   r   r   >CloudkmsProjectsLocationsKeyRingsCryptoKeysSetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  7    )?)? BP"|L3+Z#*r6   c                 L    | j                  d      }| j                  |||      S )ar  Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      r   r@   rB   rE   s       r5   r   zHCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.TestIamPermissions  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzsv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:testIamPermissionsr   zBcloudkms.projects.locations.keyRings.cryptoKeys.testIamPermissionsr   r   r   DCloudkmsProjectsLocationsKeyRingsCryptoKeysTestIamPermissionsRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>  7    x/E/E HV"|L91`70r6   c                 L    | j                  d      }| j                  |||      S )a  Update the version of a CryptoKey that will be used in Encrypt. Returns an error if called on a key whose purpose is not ENCRYPT_DECRYPT.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersionRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (CryptoKey) The response message.
      UpdatePrimaryVersionr@   rB   rE   s       r5   ru  zJCloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.UpdatePrimaryVersion!  s2     ##$:;f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzuv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/cryptoKeys/{cryptoKeysId}:updatePrimaryVersionr   zDcloudkms.projects.locations.keyRings.cryptoKeys.updatePrimaryVersionrK   zv1/{+name}:updatePrimaryVersion$updateCryptoKeyPrimaryVersionRequestFCloudkmsProjectsLocationsKeyRingsCryptoKeysUpdatePrimaryVersionRequestrM  FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsCryptoKeysService.<lambda>.  s7    1G1G JXxH7<b&2r6   r:   )ru   rv   rw   rx   ry   r   r   rz   rO  rV  r   r   r   r   r   r   ru  r{   r|   s   @r5   r&   rB  $  s    P4E
8F8G8G8C8"L8D8E8"L8($8*&&r6   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 )5CloudkmsV1.ProjectsLocationsKeyRingsImportJobsServicezFService class for the projects_locations_keyRings_importJobs resource.r)   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r(   r   r;   r<   s     r5   r   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.__init__A  rD  r6   c                 L    | j                  d      }| j                  |||      S )aE  Create a new ImportJob within a KeyRing. ImportJob.import_method is required.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ImportJob) The response message.
      r   r@   rB   rE   s       r5   r   z<CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.CreateF  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )NQv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobsr   z6cloudkms.projects.locations.keyRings.importJobs.creater   importJobIdv1/{+parent}/importJobs	importJob8CloudkmsProjectsLocationsKeyRingsImportJobsCreateRequest	ImportJobFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>S  s6    8#9#9eJ zJ#_/!T&$r6   c                 L    | j                  d      }| j                  |||      S )a  Returns metadata for a given ImportJob.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ImportJob) The response message.
      r   r@   rB   rE   s       r5   r   z9CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.Geta  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nz`v1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}rJ   z3cloudkms.projects.locations.keyRings.importJobs.getrK   rL   rM   5CloudkmsProjectsLocationsKeyRingsImportJobsGetRequestr  FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>n  r_  r6   c                 L    | j                  d      }| j                  |||      S )ax  Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   zBCloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.GetIamPolicy|  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nzmv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}:getIamPolicyrJ   z<cloudkms.projects.locations.keyRings.importJobs.getIamPolicyr   r   r   rM   >CloudkmsProjectsLocationsKeyRingsImportJobsGetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>  rc  r6   c                 L    | j                  d      }| j                  |||      S )a  Lists ImportJobs.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListImportJobsResponse) The response message.
      r   r@   rB   rE   s       r5   r   z:CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.List  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr~  rJ   z4cloudkms.projects.locations.keyRings.importJobs.listr   r   r  rM   6CloudkmsProjectsLocationsKeyRingsImportJobsListRequestListImportJobsResponseFrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>  s4    !7!7eH zJC/R3"r6   c                 L    | j                  d      }| j                  |||      S )a  Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   zBCloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.SetIamPolicy  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzmv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}:setIamPolicyr   z<cloudkms.projects.locations.keyRings.importJobs.setIamPolicyr   r   r   >CloudkmsProjectsLocationsKeyRingsImportJobsSetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>  ro  r6   c                 L    | j                  d      }| j                  |||      S )ar  Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsImportJobsTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      r   r@   rB   rE   s       r5   r   zHCloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.TestIamPermissions  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nzsv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}/importJobs/{importJobsId}:testIamPermissionsr   zBcloudkms.projects.locations.keyRings.importJobs.testIamPermissionsr   r   r   DCloudkmsProjectsLocationsKeyRingsImportJobsTestIamPermissionsRequestr   FrP   r\   r^   r6   r5   r_   z>CloudkmsV1.ProjectsLocationsKeyRingsImportJobsService.<lambda>  rs  r6   r:   ru   rv   rw   rx   ry   r   r   rz   r   r   r   r   r   r{   r|   s   @r5   r(   rz  <  sn    P4E
8F8C8"L8D8"L8($$r6   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 )+CloudkmsV1.ProjectsLocationsKeyRingsServicez;Service class for the projects_locations_keyRings resource.r+   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r*   r   r;   r<   s     r5   r   z4CloudkmsV1.ProjectsLocationsKeyRingsService.__init__  s"    J77GOdr6   c                 L    | j                  d      }| j                  |||      S )a!  Create a new KeyRing in a given Project and Location.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyRing) The response message.
      r   r@   rB   rE   s       r5   r   z2CloudkmsV1.ProjectsLocationsKeyRingsService.Create  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )N9v1/projects/{projectsId}/locations/{locationsId}/keyRingsr   z+cloudkms.projects.locations.keyRings.creater   	keyRingIdv1/{+parent}/keyRingskeyRing.CloudkmsProjectsLocationsKeyRingsCreateRequestKeyRingFrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>  s6    8#9#9M? zJ!]-J$$r6   c                 L    | j                  d      }| j                  |||      S )a  Returns metadata for a given KeyRing.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyRing) The response message.
      r   r@   rB   rE   s       r5   r   z/CloudkmsV1.ProjectsLocationsKeyRingsService.Get  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzFv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}rJ   z(cloudkms.projects.locations.keyRings.getrK   rL   rM   +CloudkmsProjectsLocationsKeyRingsGetRequestr  FrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>  s4     6 6Z<xH"G$!r6   c                 L    | j                  d      }| j                  |||      S )an  Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   z8CloudkmsV1.ProjectsLocationsKeyRingsService.GetIamPolicy(  r   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )NzSv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:getIamPolicyrJ   z1cloudkms.projects.locations.keyRings.getIamPolicyr   r   r   rM   4CloudkmsProjectsLocationsKeyRingsGetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>5  s7    )?)?gE"|L673P#*r6   c                 L    | j                  d      }| j                  |||      S )a  Lists KeyRings.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListKeyRingsResponse) The response message.
      r   r@   rB   rE   s       r5   r   z0CloudkmsV1.ProjectsLocationsKeyRingsService.ListC  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nr  rJ   z)cloudkms.projects.locations.keyRings.listr   r   r  rM   ,CloudkmsProjectsLocationsKeyRingsListRequestListKeyRingsResponseFrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>P  s4    !7!7M= zJC-H1"r6   c                 L    | j                  d      }| j                  |||      S )a  Sets the access control policy on the specified resource. Replaces any existing policy. Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      r   r@   rB   rE   s       r5   r   z8CloudkmsV1.ProjectsLocationsKeyRingsService.SetIamPolicy^  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzSv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:setIamPolicyr   z1cloudkms.projects.locations.keyRings.setIamPolicyr   r   r   4CloudkmsProjectsLocationsKeyRingsSetIamPolicyRequestr   FrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>k  s4    )?)?gE"|L3+P#*r6   c                 L    | j                  d      }| j                  |||      S )ah  Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error. Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may "fail open" without warning.

      Args:
        request: (CloudkmsProjectsLocationsKeyRingsTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      r   r@   rB   rE   s       r5   r   z>CloudkmsV1.ProjectsLocationsKeyRingsService.TestIamPermissionsy  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzYv1/projects/{projectsId}/locations/{locationsId}/keyRings/{keyRingsId}:testIamPermissionsr   z7cloudkms.projects.locations.keyRings.testIamPermissionsr   r   r   :CloudkmsProjectsLocationsKeyRingsTestIamPermissionsRequestr   FrP   r\   r^   r6   r5   r_   z4CloudkmsV1.ProjectsLocationsKeyRingsService.<lambda>  s4    x/E/EmK"|L91V70r6   r:   r  r|   s   @r5   r*   r    sn    E)E
8F8C8"L8D8"L8($$r6   r*   c                   >     e Zd ZdZdZ fdZddZd e_         xZS )-CloudkmsV1.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     r5   r   z6CloudkmsV1.ProjectsLocationsOperationsService.__init__  r   r6   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: (CloudkmsProjectsLocationsOperationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Operation) The response message.
      r   r@   rB   rE   s       r5   r   z1CloudkmsV1.ProjectsLocationsOperationsService.Get  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzJv1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}rJ   z*cloudkms.projects.locations.operations.getrK   rL   rM   -CloudkmsProjectsLocationsOperationsGetRequestr   FrP   r\   r^   r6   r5   r_   z6CloudkmsV1.ProjectsLocationsOperationsService.<lambda>  r   r6   r:   )	ru   rv   rw   rx   ry   r   r   rz   r{   r|   s   @r5   r,   r    s"    G+E
8Cr6   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_         xZS )#CloudkmsV1.ProjectsLocationsServicez2Service class for the projects_locations resource.r/   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r.   r   r;   r<   s     r5   r   z,CloudkmsV1.ProjectsLocationsService.__init__  s"    J//?Gdr6   c                 L    | j                  d      }| j                  |||      S )aZ  Generate random bytes using the Cloud KMS randomness source in the provided location.

      Args:
        request: (CloudkmsProjectsLocationsGenerateRandomBytesRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (GenerateRandomBytesResponse) The response message.
      GenerateRandomBytesr@   rB   rE   s       r5   r  z7CloudkmsV1.ProjectsLocationsService.GenerateRandomBytes  ri   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzDv1/projects/{projectsId}/locations/{locationsId}:generateRandomBytesr   z/cloudkms.projects.locations.generateRandomByteslocationz"v1/{+location}:generateRandomBytesgenerateRandomBytesRequest3CloudkmsProjectsLocationsGenerateRandomBytesRequestGenerateRandomBytesResponseFrP   r\   r^   r6   r5   r_   z,CloudkmsV1.ProjectsLocationsService.<lambda>  s4    0F0FXC"|L:2O81r6   c                 L    | j                  d      }| j                  |||      S )a  Gets information about a location.

      Args:
        request: (CloudkmsProjectsLocationsGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Location) The response message.
      r   r@   rB   rE   s       r5   r   z'CloudkmsV1.ProjectsLocationsService.Get  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nz0v1/projects/{projectsId}/locations/{locationsId}rJ   zcloudkms.projects.locations.getrK   rL   rM   #CloudkmsProjectsLocationsGetRequestLocationFrP   r\   r^   r6   r5   r_   z,CloudkmsV1.ProjectsLocationsService.<lambda>  s4     6 6D3xH"?%!r6   c                 L    | j                  d      }| j                  |||      S )a6  Returns the EkmConfig singleton resource for a given project and location.

      Args:
        request: (CloudkmsProjectsLocationsGetEkmConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EkmConfig) The response message.
      GetEkmConfigr@   rB   rE   s       r5   r  z0CloudkmsV1.ProjectsLocationsService.GetEkmConfig  r   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N:v1/projects/{projectsId}/locations/{locationsId}/ekmConfigrJ   z(cloudkms.projects.locations.getEkmConfigrK   rL   rM   ,CloudkmsProjectsLocationsGetEkmConfigRequest	EkmConfigFrP   r\   r^   r6   r5   r_   z,CloudkmsV1.ProjectsLocationsService.<lambda>  s4    )?)?N<xH"H&*r6   c                 L    | j                  d      }| j                  |||      S )a1  Lists information about the supported locations for this service.

      Args:
        request: (CloudkmsProjectsLocationsListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListLocationsResponse) The response message.
      r   r@   rB   rE   s       r5   r   z(CloudkmsV1.ProjectsLocationsService.List  r   r6   c                  J    t        j                  ddddgdgg ddddd	d
      S )Nz"v1/projects/{projectsId}/locationsrJ   z cloudkms.projects.locations.listrK   )extraLocationTypesr   r   r   zv1/{+name}/locationsrM   $CloudkmsProjectsLocationsListRequestListLocationsResponseFrP   r\   r^   r6   r5   r_   z,CloudkmsV1.ProjectsLocationsService.<lambda>!  s4    !7!764xHN,@2"r6   c                 L    | j                  d      }| j                  |||      S )a9  Updates the EkmConfig singleton resource for a given project and location.

      Args:
        request: (CloudkmsProjectsLocationsUpdateEkmConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (EkmConfig) The response message.
      UpdateEkmConfigr@   rB   rE   s       r5   r  z3CloudkmsV1.ProjectsLocationsService.UpdateEkmConfig/  s2     ##$56f__
'  8 8r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr  rk   z+cloudkms.projects.locations.updateEkmConfigrK   rl   rL   	ekmConfig/CloudkmsProjectsLocationsUpdateEkmConfigRequestr  FrP   r\   r^   r6   r5   r_   z,CloudkmsV1.ProjectsLocationsService.<lambda><  s6    H,B,BN?xH"^"!K&-r6   r:   )ru   rv   rw   rx   ry   r   r  rz   r   r  r   r  r{   r|   s   @r5   r.   r    s_    < E
8)%8C8"L8D8%O!!r6   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_         xZS )CloudkmsV1.ProjectsServicez(Service class for the projects resource.r1   c                 N    t         t        j                  |   |       i | _        y r:   )r   r   r0   r   r;   r<   s     r5   r   z#CloudkmsV1.ProjectsService.__init__O  s"    J&&6v>dr6   c                 L    | j                  d      }| j                  |||      S )aY  Gets the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsProjectsGetKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      ra   r@   rB   rE   s       r5   ra   z-CloudkmsV1.ProjectsService.GetKajPolicyConfigT  rb   r6   c                  F    t        j                  ddddgdgg ddddd	
      S )N(v1/projects/{projectsId}/kajPolicyConfigrJ   z$cloudkms.projects.getKajPolicyConfigrK   rL   rM   )CloudkmsProjectsGetKajPolicyConfigRequestrf   FrP   r\   r^   r6   r5   r_   z#CloudkmsV1.ProjectsService.<lambda>a  s4    x/E/E<8xH"E@0r6   c                 L    | j                  d      }| j                  |||      S )aT  Returns the effective Cloud KMS Autokey configuration for a given project.

      Args:
        request: (CloudkmsProjectsShowEffectiveAutokeyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ShowEffectiveAutokeyConfigResponse) The response message.
      ShowEffectiveAutokeyConfigr@   rB   rE   s       r5   r  z5CloudkmsV1.ProjectsService.ShowEffectiveAutokeyConfigo  s2     ##$@Af__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )Nz3v1/projects/{projectsId}:showEffectiveAutokeyConfigrJ   z,cloudkms.projects.showEffectiveAutokeyConfigr   z'v1/{+parent}:showEffectiveAutokeyConfigrM   1CloudkmsProjectsShowEffectiveAutokeyConfigRequest"ShowEffectiveAutokeyConfigResponseFrP   r\   r^   r6   r5   r_   z#CloudkmsV1.ProjectsService.<lambda>|  s4    x7M7MG@ zJ?M?8r6   c                 L    | j                  d      }| j                  |||      S )a  Returns the KeyAccessJustificationsEnrollmentConfig of the resource closest to the given project in hierarchy.

      Args:
        request: (CloudkmsProjectsShowEffectiveKeyAccessJustificationsEnrollmentConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponse) The response message.
      4ShowEffectiveKeyAccessJustificationsEnrollmentConfigr@   rB   rE   s       r5   r  zOCloudkmsV1.ProjectsService.ShowEffectiveKeyAccessJustificationsEnrollmentConfig  s2     ##$Z[f__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzMv1/projects/{projectsId}:showEffectiveKeyAccessJustificationsEnrollmentConfigrJ   zFcloudkms.projects.showEffectiveKeyAccessJustificationsEnrollmentConfigprojectzBv1/{+project}:showEffectiveKeyAccessJustificationsEnrollmentConfigrM   KCloudkmsProjectsShowEffectiveKeyAccessJustificationsEnrollmentConfigRequest<ShowEffectiveKeyAccessJustificationsEnrollmentConfigResponseFrP   r\   r^   r6   r5   r_   z#CloudkmsV1.ProjectsService.<lambda>  s6    QYQgQgaZ!{KZgYRr6   c                 L    | j                  d      }| j                  |||      S )a  Returns the KeyAccessJustificationsPolicyConfig of the resource closest to the given project in hierarchy.

      Args:
        request: (CloudkmsProjectsShowEffectiveKeyAccessJustificationsPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ShowEffectiveKeyAccessJustificationsPolicyConfigResponse) The response message.
      0ShowEffectiveKeyAccessJustificationsPolicyConfigr@   rB   rE   s       r5   r  zKCloudkmsV1.ProjectsService.ShowEffectiveKeyAccessJustificationsPolicyConfig  s2     ##$VWf__
'  8 8r6   c                  F    t        j                  ddddgdgg ddddd	
      S )NzIv1/projects/{projectsId}:showEffectiveKeyAccessJustificationsPolicyConfigrJ   zBcloudkms.projects.showEffectiveKeyAccessJustificationsPolicyConfigr  z>v1/{+project}:showEffectiveKeyAccessJustificationsPolicyConfigrM   GCloudkmsProjectsShowEffectiveKeyAccessJustificationsPolicyConfigRequest8ShowEffectiveKeyAccessJustificationsPolicyConfigResponseFrP   r\   r^   r6   r5   r_   z#CloudkmsV1.ProjectsService.<lambda>  s5    XMcMc]V!{KVcUNr6   c                 L    | j                  d      }| j                  |||      S )a_  Updates the KeyAccessJustificationsPolicyConfig for a given organization/folder/projects.

      Args:
        request: (CloudkmsProjectsUpdateKajPolicyConfigRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (KeyAccessJustificationsPolicyConfig) The response message.
      rp   r@   rB   rE   s       r5   rp   z0CloudkmsV1.ProjectsService.UpdateKajPolicyConfig  rq   r6   c                  H    t        j                  ddddgdgdgdddd	d
      S )Nr  rk   z'cloudkms.projects.updateKajPolicyConfigrK   rl   rL   rs   ,CloudkmsProjectsUpdateKajPolicyConfigRequestrf   FrP   r\   r^   r6   r5   r_   z#CloudkmsV1.ProjectsService.<lambda>  s6    (2H2H<;xH"^";H@3r6   r:   )ru   rv   rw   rx   ry   r   ra   rz   r  r  r  rp   r{   r|   s   @r5   r0   r  J  se    2E
8($80,8J8F8F4B8+''r6   r0   )rM   NTNNFFNNNN)!ru   rv   rw   rx   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   r{   r|   s   @r5   r   r   
   sZ   A//(9-(=?ij'(*"."+#,()-6:/4<@?C	/8tx.. tl>X44 >@Y(*A*A Yv`x/F/F `DY8+B+B Yv]HD[D[ ]~V83J3J Vpj83J3J jXj)@)@ jX#8+B+B #JO!8!8 ObO// O Or6   r   N)
rx   
__future__r   apitools.base.pyr   1googlecloudsdk.generated_clients.apis.cloudkms.v1r   r  BaseApiClientr   r^   r6   r5   <module>r     s'    7 ' % ^O'' Or6   