
    eD                     V    S r SSKJr  SSKJr  SSKJr   " S S\R                  5      r	g)z=Generated client library for cloudresourcemanager version v2.    )absolute_import)base_api) cloudresourcemanager_v2_messagesc                      ^  \ rS rSrSr\rSrSrSr	SS/r
SrS	rS
rSrS rSrSr     SU 4S jjr " S S\R(                  5      rSrU =r$ )CloudresourcemanagerV2
   zEGenerated client library for service cloudresourcemanager version v2.z,https://cloudresourcemanager.googleapis.com/ cloudresourcemanagerz.https://www.googleapis.com/auth/cloud-platformz8https://www.googleapis.com/auth/cloud-platform.read-onlyv2	CLIENT_IDCLIENT_SECRETzgoogle-cloud-sdkNc                    > U=(       d    U R                   n[        [        U ]  XX4UXgUU	U
US9  U R	                  U 5      U l        g)z)Create a new cloudresourcemanager 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)selfurlr   r   r   r   r   r   r   r   r   r   	__class__s               clib/googlecloudsdk/generated_clients/apis/cloudresourcemanager/v2/cloudresourcemanager_v2_client.pyr   CloudresourcemanagerV2.__init__   sS     
C	
 $0'%)3 7+ 1 - &&t,DL    c                   N  ^  \ rS rSrSrSrU 4S jrSS jrS \l        SS jr	S \	l        SS	 jr
S
 \
l        SS jrS \l        SS jrS \l        SS jrS \l        SS jrS \l        SS jrS \l        SS jrS \l        SS jrS \l        SS jrS \l        SrU =r$ )%CloudresourcemanagerV2.FoldersService,   z'Service class for the folders resource.r   c                 N   > [         [        R                  U ]  U5        0 U l        g N)r   r   r   r   _upload_configs)r   clientr    s     r!   r   .CloudresourcemanagerV2.FoldersService.__init__1   s#    "114A&Idr#   c                 D    U R                  S5      nU R                  X1US9$ )a  Creates a Folder in the resource hierarchy.
Returns an Operation which can be used to track the progress of the
folder creation workflow.
Upon success the Operation.response field will be populated with the
created Folder.

In order to succeed, the addition of this new Folder must not violate
the Folder naming, height or fanout constraints.

+ The Folder's display_name must be distinct from all other Folder's that
share its parent.
+ The addition of the Folder must not cause the active Folder hierarchy
to exceed a height of 4. Note, the full active + deleted Folder hierarchy
is allowed to reach a height of 8; this provides additional headroom when
moving folders that contain deleted folders.
+ The addition of the Folder must not cause the total number of Folders
under its parent to exceed 100.

If the operation fails due to a folder constraint violation, some errors
may be returned by the CreateFolder request, with status code
FAILED_PRECONDITION and an error description. Other folder constraint
violations will be communicated in the Operation, with the specific
PreconditionFailure returned via the details list in the Operation.error
field.

The caller must have `resourcemanager.folders.create` permission on the
identified parent.

      Args:
        request: (CloudresourcemanagerFoldersCreateRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Operation) The response message.
      Createglobal_paramsGetMethodConfig
_RunMethodr   requestr/   configs       r!   r-   ,CloudresourcemanagerV2.FoldersService.Create6   s0    F ##H-f__
  8 8r#   c                  >    [         R                  " SS/ / S/SSSSSS	9
$ )
NPOSTz#cloudresourcemanager.folders.createparent
v2/foldersfolder(CloudresourcemanagerFoldersCreateRequest	OperationF
http_method	method_idordered_paramspath_paramsquery_paramsrelative_pathrequest_fieldrequest_type_nameresponse_type_namesupports_downloadr   ApiMethodInfo r#   r!   <lambda>.CloudresourcemanagerV2.FoldersService.<lambda>]   s/    8#9#97Z"D&$r#   c                 D    U R                  S5      nU R                  X1US9$ )an  Requests deletion of a Folder. The Folder is moved into the.
DELETE_REQUESTED state
immediately, and is deleted approximately 30 days later. This method may
only be called on an empty Folder in the
ACTIVE state, where a Folder is empty if
it doesn't contain any Folders or Projects in the
ACTIVE state.
The caller must have `resourcemanager.folders.delete` permission on the
identified folder.

      Args:
        request: (CloudresourcemanagerFoldersDeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Folder) The response message.
      Deleter.   r0   r3   s       r!   rO   ,CloudresourcemanagerV2.FoldersService.Deletej   s/    " ##H-f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
NDELETEz#cloudresourcemanager.folders.delete	foldersIdv2/folders/{foldersId}r	   (CloudresourcemanagerFoldersDeleteRequestFolderFr>   rI   rK   r#   r!   rL   rM      s1    8#9#97#} M.D#$r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Retrieves a Folder identified by the supplied resource name.
Valid Folder resource names have the format `folders/{folder_id}`
(for example, `folders/1234`).
The caller must have `resourcemanager.folders.get` permission on the
identified folder.

      Args:
        request: (CloudresourcemanagerFoldersGetRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Folder) The response message.
      Getr.   r0   r3   s       r!   rX   )CloudresourcemanagerV2.FoldersService.Get   s/     ##E*f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
NGETz cloudresourcemanager.folders.getrS   rT   r	   %CloudresourcemanagerFoldersGetRequestrV   Fr>   rI   rK   r#   r!   rL   rM      s1     6 64#} M.A#!r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Gets the access control policy for a Folder. The returned policy may be.
empty if no such policy or resource exists. The `resource` field should
be the Folder's resource name, e.g. "folders/1234".
The caller must have `resourcemanager.folders.getIamPolicy` permission
on the identified folder.

      Args:
        request: (CloudresourcemanagerFoldersGetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      GetIamPolicyr.   r0   r3   s       r!   r^   2CloudresourcemanagerV2.FoldersService.GetIamPolicy   /     ##N3f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
Nr8   z)cloudresourcemanager.folders.getIamPolicyrS   z#v2/folders/{foldersId}:getIamPolicygetIamPolicyRequest.CloudresourcemanagerFoldersGetIamPolicyRequestPolicyFr>   rI   rK   r#   r!   rL   rM      1    )?)?=#} M;+J#*r#   c                 D    U R                  S5      nU R                  X1US9$ )aT  Lists the Folders that are direct descendants of supplied parent resource.
List provides a strongly consistent view of the Folders underneath
the specified parent resource.
List returns Folders sorted based upon the (ascending) lexical ordering
of their display_name.
The caller must have `resourcemanager.folders.list` permission on the
identified parent.

      Args:
        request: (CloudresourcemanagerFoldersListRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (ListFoldersResponse) The response message.
      Listr.   r0   r3   s       r!   rg   *CloudresourcemanagerV2.FoldersService.List   s/     ##F+f__
  8 8r#   c                  @    [         R                  " SS/ / / SQSSSSSS	9
$ )
Nr[   z!cloudresourcemanager.folders.list)pageSize	pageTokenr9   showDeletedr:   r	   &CloudresourcemanagerFoldersListRequestListFoldersResponseFr>   rI   rK   r#   r!   rL   rM      s-    !7!75G"B0"r#   c                 D    U R                  S5      nU R                  X1US9$ )ad  Moves a Folder under a new resource parent.
Returns an Operation which can be used to track the progress of the
folder move workflow.
Upon success the Operation.response field will be populated with the
moved Folder.
Upon failure, a FolderOperationError categorizing the failure cause will
be returned - if the failure occurs synchronously then the
FolderOperationError will be returned via the Status.details field
and if it occurs asynchronously then the FolderOperation will be returned
via the Operation.error field.
In addition, the Operation.metadata field will be populated with a
FolderOperation message as an aid to stateless clients.
Folder moves will be rejected if they violate either the naming, height
or fanout constraints described in the
CreateFolder documentation.
The caller must have `resourcemanager.folders.move` permission on the
folder's current and proposed new parent.

      Args:
        request: (CloudresourcemanagerFoldersMoveRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Operation) The response message.
      Mover.   r0   r3   s       r!   rp   *CloudresourcemanagerV2.FoldersService.Move   s/    2 ##F+f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
Nr8   z!cloudresourcemanager.folders.moverS   zv2/folders/{foldersId}:movemoveFolderRequest&CloudresourcemanagerFoldersMoveRequestr=   Fr>   rI   rK   r#   r!   rL   rM     s1    !7!75#} M3)B&"r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Updates a Folder, changing its display_name.
Changes to the folder display_name will be rejected if they violate either
the display_name formatting rules or naming constraints described in
the CreateFolder documentation.

The Folder's display name must start and end with a letter or digit,
may contain letters, digits, spaces, hyphens and underscores and can be
no longer than 30 characters. This is captured by the regular expression:
[\p{L}\p{N}]([\p{L}\p{N}_- ]{0,28}[\p{L}\p{N}])?.
The caller must have `resourcemanager.folders.update` permission on the
identified folder.

If the update fails due to the unique name constraint then a
PreconditionFailure explaining this violation will be returned
in the Status.details field.

      Args:
        request: (CloudresourcemanagerFoldersPatchRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Folder) The response message.
      Patchr.   r0   r3   s       r!   rv   +CloudresourcemanagerV2.FoldersService.Patch  s/    . ##G,f__
  8 8r#   c                  B    [         R                  " SSS/S/S/SSSSS	S
9
$ )NPATCHz"cloudresourcemanager.folders.patchrS   
updateMaskrT   r;   'CloudresourcemanagerFoldersPatchRequestrV   Fr>   rI   rK   r#   r!   rL   rM   -  s3    ("8"86#} M"^.C##r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Search for folders that match specific filter criteria.
Search provides an eventually consistent view of the folders a user has
access to which meet the specified filter criteria.

This will only return folders on which the caller has the
permission `resourcemanager.folders.get`.

      Args:
        request: (SearchFoldersRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (SearchFoldersResponse) The response message.
      Searchr.   r0   r3   s       r!   r}   ,CloudresourcemanagerV2.FoldersService.Search:  s/     ##H-f__
  8 8r#   c                  <    [         R                  " SS/ / / SSSSSS9
$ )	Nr8   z#cloudresourcemanager.folders.searchzv2/folders:searchz	<request>SearchFoldersRequestSearchFoldersResponseFr>   rI   rK   r#   r!   rL   rM   L  s-    8#9#97)!02$r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Sets the access control policy on a Folder, replacing any existing policy.
The `resource` field should be the Folder's resource name, e.g.
"folders/1234".
The caller must have `resourcemanager.folders.setIamPolicy` permission
on the identified folder.

      Args:
        request: (CloudresourcemanagerFoldersSetIamPolicyRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Policy) The response message.
      SetIamPolicyr.   r0   r3   s       r!   r   2CloudresourcemanagerV2.FoldersService.SetIamPolicyY  r`   r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
Nr8   z)cloudresourcemanager.folders.setIamPolicyrS   z#v2/folders/{foldersId}:setIamPolicysetIamPolicyRequest.CloudresourcemanagerFoldersSetIamPolicyRequestrd   Fr>   rI   rK   r#   r!   rL   rM   j  re   r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Returns permissions that a caller has on the specified Folder.
The `resource` field should be the Folder's resource name,
e.g. "folders/1234".

There are no permissions required for making this API call.

      Args:
        request: (CloudresourcemanagerFoldersTestIamPermissionsRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (TestIamPermissionsResponse) The response message.
      TestIamPermissionsr.   r0   r3   s       r!   r   8CloudresourcemanagerV2.FoldersService.TestIamPermissionsw  s0     ##$89f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
Nr8   z/cloudresourcemanager.folders.testIamPermissionsrS   z)v2/folders/{foldersId}:testIamPermissionstestIamPermissionsRequest4CloudresourcemanagerFoldersTestIamPermissionsRequestTestIamPermissionsResponseFr>   rI   rK   r#   r!   rL   rM     s1    x/E/EC#} MA1P70r#   c                 D    U R                  S5      nU R                  X1US9$ )a  Cancels the deletion request for a Folder. This method may only be.
called on a Folder in the
DELETE_REQUESTED state.
In order to succeed, the Folder's parent must be in the
ACTIVE state.
In addition, reintroducing the folder into the tree must not violate
folder naming, height and fanout constraints described in the
CreateFolder documentation.
The caller must have `resourcemanager.folders.undelete` permission on the
identified folder.

      Args:
        request: (CloudresourcemanagerFoldersUndeleteRequest) input message
        global_params: (StandardQueryParameters, default: None) global arguments
      Returns:
        (Folder) The response message.
      Undeleter.   r0   r3   s       r!   r   .CloudresourcemanagerV2.FoldersService.Undelete  s/    $ ##J/f__
  8 8r#   c                  @    [         R                  " SSS/S// SSSSSS	9
$ )
Nr8   z%cloudresourcemanager.folders.undeleterS   zv2/folders/{foldersId}:undeleteundeleteFolderRequest*CloudresourcemanagerFoldersUndeleteRequestrV   Fr>   rI   rK   r#   r!   rL   rM     s1    X%;%;9#} M7-F#&r#   )r)   r(   )__name__
__module____qualname____firstlineno____doc___NAMEr   r-   method_configrO   rX   r^   rg   rp   rv   r}   r   r   r   __static_attributes____classcell__r    s   @r!   r   r%   ,   s    1E
%8NF8*F8"C8""L8&D8:D86E8$F8""L8"($8,Hr#   r   )r   )r	   NTNNFFNNNN)r   r   r   r   r   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   s   @r!   r   r   
   sw    M/;(-#(=?yz'(*"."+/,()-6:/4<@?C	-"Jx.. J Jr#   r   N)
r   
__future__r   apitools.base.pyr   =googlecloudsdk.generated_clients.apis.cloudresourcemanager.v2r   r   BaseApiClientr   rK   r#   r!   <module>r      s'    C ' % vlX33 lr#   