public abstract static class FoldersGrpc.FoldersImplBase extends Object implements BindableService
Manages Cloud Platform folder resources. Folders can be used to organize the resources under an organization and to control the policies applied to groups of resources.
Constructor and Description |
---|
FoldersImplBase() |
Modifier and Type | Method and Description |
---|---|
ServerServiceDefinition |
bindService() |
void |
createFolder(CreateFolderRequest request,
StreamObserver<Operation> responseObserver)
Creates a folder in the resource hierarchy.
|
void |
deleteFolder(DeleteFolderRequest request,
StreamObserver<Operation> responseObserver)
Requests deletion of a folder.
|
void |
getFolder(GetFolderRequest request,
StreamObserver<Folder> responseObserver)
Retrieves a folder identified by the supplied resource name.
|
void |
getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request,
StreamObserver<com.google.iam.v1.Policy> responseObserver)
Gets the access control policy for a folder.
|
void |
listFolders(ListFoldersRequest request,
StreamObserver<ListFoldersResponse> responseObserver)
Lists the folders that are direct descendants of supplied parent resource.
|
void |
moveFolder(MoveFolderRequest request,
StreamObserver<Operation> responseObserver)
Moves a folder under a new resource parent.
|
void |
searchFolders(SearchFoldersRequest request,
StreamObserver<SearchFoldersResponse> responseObserver)
Search for folders that match specific filter criteria.
|
void |
setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request,
StreamObserver<com.google.iam.v1.Policy> responseObserver)
Sets the access control policy on a folder, replacing any existing policy.
|
void |
testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request,
StreamObserver<com.google.iam.v1.TestIamPermissionsResponse> responseObserver)
Returns permissions that a caller has on the specified folder.
|
void |
undeleteFolder(UndeleteFolderRequest request,
StreamObserver<Operation> responseObserver)
Cancels the deletion request for a folder.
|
void |
updateFolder(UpdateFolderRequest request,
StreamObserver<Operation> responseObserver)
Updates a folder, changing its `display_name`.
|
public void getFolder(GetFolderRequest request, StreamObserver<Folder> responseObserver)
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.
public void listFolders(ListFoldersRequest request, StreamObserver<ListFoldersResponse> responseObserver)
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.
public void searchFolders(SearchFoldersRequest request, StreamObserver<SearchFoldersResponse> responseObserver)
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`.
public void createFolder(CreateFolderRequest request, StreamObserver<Operation> responseObserver)
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 folders that share its parent. + The addition of the folder must not cause the active folder hierarchy to exceed a height of 10. Note, the full active + deleted folder hierarchy is allowed to reach a height of 20; 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 300. 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 in the details list in the `Operation.error` field. The caller must have `resourcemanager.folders.create` permission on the identified parent.
public void updateFolder(UpdateFolderRequest request, StreamObserver<Operation> responseObserver)
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 the naming constraints described in the [CreateFolder][google.cloud.resourcemanager.v3.Folders.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 between 3 and 30 characters. This is captured by the regular expression: `[\p{L}\p{N}][\p{L}\p{N}_- ]{1,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.
public void moveFolder(MoveFolderRequest request, StreamObserver<Operation> responseObserver)
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 in the `Status.details` field. If it occurs asynchronously, then the FolderOperation will be returned in 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][google.cloud.resourcemanager.v3.Folders.CreateFolder] documentation. The caller must have `resourcemanager.folders.move` permission on the folder's current and proposed new parent.
public void deleteFolder(DeleteFolderRequest request, StreamObserver<Operation> responseObserver)
Requests deletion of a folder. The folder is moved into the [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED] state immediately, and is deleted approximately 30 days later. This method may only be called on an empty folder, where a folder is empty if it doesn't contain any folders or projects in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. If called on a folder in [DELETE_REQUESTED][google.cloud.resourcemanager.v3.Folder.State.DELETE_REQUESTED] state the operation will result in a no-op success. The caller must have `resourcemanager.folders.delete` permission on the identified folder.
public void undeleteFolder(UndeleteFolderRequest request, StreamObserver<Operation> responseObserver)
Cancels the deletion request for a folder. This method may be called on a folder in any state. If the folder is in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state the result will be a no-op success. In order to succeed, the folder's parent must be in the [ACTIVE][google.cloud.resourcemanager.v3.Folder.State.ACTIVE] state. In addition, reintroducing the folder into the tree must not violate folder naming, height, and fanout constraints described in the [CreateFolder][google.cloud.resourcemanager.v3.Folders.CreateFolder] documentation. The caller must have `resourcemanager.folders.undelete` permission on the identified folder.
public void getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request, StreamObserver<com.google.iam.v1.Policy> responseObserver)
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, for example: "folders/1234". The caller must have `resourcemanager.folders.getIamPolicy` permission on the identified folder.
public void setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request, StreamObserver<com.google.iam.v1.Policy> responseObserver)
Sets the access control policy on a folder, replacing any existing policy. The `resource` field should be the folder's resource name, for example: "folders/1234". The caller must have `resourcemanager.folders.setIamPolicy` permission on the identified folder.
public void testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request, StreamObserver<com.google.iam.v1.TestIamPermissionsResponse> responseObserver)
Returns permissions that a caller has on the specified folder. The `resource` field should be the folder's resource name, for example: "folders/1234". There are no permissions required for making this API call.
public final ServerServiceDefinition bindService()
bindService
in interface BindableService
Copyright © 2022 Google LLC. All rights reserved.