- 1.55.0 (latest)
- 1.54.0
- 1.53.0
- 1.51.0
- 1.50.0
- 1.49.0
- 1.48.0
- 1.47.0
- 1.46.0
- 1.45.0
- 1.44.0
- 1.43.0
- 1.42.0
- 1.41.0
- 1.39.0
- 1.38.0
- 1.37.0
- 1.36.0
- 1.35.0
- 1.34.0
- 1.33.0
- 1.32.0
- 1.31.0
- 1.30.0
- 1.29.0
- 1.26.0
- 1.25.0
- 1.24.0
- 1.23.0
- 1.22.0
- 1.21.0
- 1.20.0
- 1.19.0
- 1.18.0
- 1.17.0
- 1.16.0
- 1.15.0
- 1.14.0
- 1.13.0
- 1.11.0
- 1.10.0
- 1.9.0
- 1.8.0
- 1.7.0
- 1.6.0
- 1.5.6
- 1.4.0
- 1.3.2
- 1.2.12
public class FoldersClient implements BackgroundResource
Service Description: 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.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
Folder response = foldersClient.getFolder(name);
}
Note: close() needs to be called on the FoldersClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of FoldersSettings to create(). For example:
To customize credentials:
FoldersSettings foldersSettings =
FoldersSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
FoldersClient foldersClient = FoldersClient.create(foldersSettings);
To customize the endpoint:
FoldersSettings foldersSettings = FoldersSettings.newBuilder().setEndpoint(myEndpoint).build();
FoldersClient foldersClient = FoldersClient.create(foldersSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceStatic Methods
create()
public static final FoldersClient create()
Constructs an instance of FoldersClient with default settings.
Type | Description |
FoldersClient |
Type | Description |
IOException |
create(FoldersSettings settings)
public static final FoldersClient create(FoldersSettings settings)
Constructs an instance of FoldersClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | FoldersSettings |
Type | Description |
FoldersClient |
Type | Description |
IOException |
create(FoldersStub stub)
public static final FoldersClient create(FoldersStub stub)
Constructs an instance of FoldersClient, using the given stub for making calls. This is for advanced usage - prefer using create(FoldersSettings).
Name | Description |
stub | FoldersStub |
Type | Description |
FoldersClient |
Constructors
FoldersClient(FoldersSettings settings)
protected FoldersClient(FoldersSettings settings)
Constructs an instance of FoldersClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | FoldersSettings |
FoldersClient(FoldersStub stub)
protected FoldersClient(FoldersStub stub)
Name | Description |
stub | FoldersStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
createFolderAsync(CreateFolderRequest request)
public final OperationFuture<Folder,CreateFolderMetadata> createFolderAsync(CreateFolderRequest request)
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
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 codeFAILED_PRECONDITION
and an error description. Other folder constraint violations will be communicated in theOperation
, with the specificPreconditionFailure
returned in the details list in theOperation.error
field.The caller must have
resourcemanager.folders.create
permission on the identified parent.Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) { CreateFolderRequest request = CreateFolderRequest.newBuilder().setFolder(Folder.newBuilder().build()).build(); Folder response = foldersClient.createFolderAsync(request).get(); }
Name | Description |
request | CreateFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Folder,CreateFolderMetadata> |
createFolderAsync(Folder folder)
public final OperationFuture<Folder,CreateFolderMetadata> createFolderAsync(Folder folder)
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
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 codeFAILED_PRECONDITION
and an error description. Other folder constraint violations will be communicated in theOperation
, with the specificPreconditionFailure
returned in the details list in theOperation.error
field.The caller must have
resourcemanager.folders.create
permission on the identified parent.Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) { Folder folder = Folder.newBuilder().build(); Folder response = foldersClient.createFolderAsync(folder).get(); }
Name | Description |
folder | Folder Required. The folder being created, only the display name and parent will be consulted. All other fields will be ignored. |
Type | Description |
OperationFuture<Folder,CreateFolderMetadata> |
createFolderCallable()
public final UnaryCallable<CreateFolderRequest,Operation> createFolderCallable()
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
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 codeFAILED_PRECONDITION
and an error description. Other folder constraint violations will be communicated in theOperation
, with the specificPreconditionFailure
returned in the details list in theOperation.error
field.The caller must have
resourcemanager.folders.create
permission on the identified parent.Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) { CreateFolderRequest request = CreateFolderRequest.newBuilder().setFolder(Folder.newBuilder().build()).build(); ApiFuture<Operation> future = foldersClient.createFolderCallable().futureCall(request); // Do something. Operation response = future.get(); }
Type | Description |
UnaryCallable<CreateFolderRequest,Operation> |
createFolderOperationCallable()
public final OperationCallable<CreateFolderRequest,Folder,CreateFolderMetadata> createFolderOperationCallable()
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
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 codeFAILED_PRECONDITION
and an error description. Other folder constraint violations will be communicated in theOperation
, with the specificPreconditionFailure
returned in the details list in theOperation.error
field.The caller must have
resourcemanager.folders.create
permission on the identified parent.Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) { CreateFolderRequest request = CreateFolderRequest.newBuilder().setFolder(Folder.newBuilder().build()).build(); OperationFuture<Folder, CreateFolderMetadata> future = foldersClient.createFolderOperationCallable().futureCall(request); // Do something. Folder response = future.get(); }
Type | Description |
OperationCallable<CreateFolderRequest,Folder,CreateFolderMetadata> |
deleteFolderAsync(DeleteFolderRequest request)
public final OperationFuture<Folder,DeleteFolderMetadata> deleteFolderAsync(DeleteFolderRequest request)
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, where a folder is empty if it doesn't contain any folders or projects in the
ACTIVE state. If called on a folder in
DELETE_REQUESTED state the
operation will result in a no-op success. The caller must have resourcemanager.folders.delete
permission on the identified folder.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
DeleteFolderRequest request =
DeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
Folder response = foldersClient.deleteFolderAsync(request).get();
}
Name | Description |
request | DeleteFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Folder,DeleteFolderMetadata> |
deleteFolderAsync(FolderName name)
public final OperationFuture<Folder,DeleteFolderMetadata> deleteFolderAsync(FolderName name)
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, where a folder is empty if it doesn't contain any folders or projects in the
ACTIVE state. If called on a folder in
DELETE_REQUESTED state the
operation will result in a no-op success. The caller must have resourcemanager.folders.delete
permission on the identified folder.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
Folder response = foldersClient.deleteFolderAsync(name).get();
}
Name | Description |
name | FolderName Required. The resource name of the folder to be deleted. Must be of the form
|
Type | Description |
OperationFuture<Folder,DeleteFolderMetadata> |
deleteFolderAsync(String name)
public final OperationFuture<Folder,DeleteFolderMetadata> deleteFolderAsync(String name)
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, where a folder is empty if it doesn't contain any folders or projects in the
ACTIVE state. If called on a folder in
DELETE_REQUESTED state the
operation will result in a no-op success. The caller must have resourcemanager.folders.delete
permission on the identified folder.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String name = FolderName.of("[FOLDER]").toString();
Folder response = foldersClient.deleteFolderAsync(name).get();
}
Name | Description |
name | String Required. The resource name of the folder to be deleted. Must be of the form
|
Type | Description |
OperationFuture<Folder,DeleteFolderMetadata> |
deleteFolderCallable()
public final UnaryCallable<DeleteFolderRequest,Operation> deleteFolderCallable()
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, where a folder is empty if it doesn't contain any folders or projects in the
ACTIVE state. If called on a folder in
DELETE_REQUESTED state the
operation will result in a no-op success. The caller must have resourcemanager.folders.delete
permission on the identified folder.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
DeleteFolderRequest request =
DeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
ApiFuture<Operation> future = foldersClient.deleteFolderCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<DeleteFolderRequest,Operation> |
deleteFolderOperationCallable()
public final OperationCallable<DeleteFolderRequest,Folder,DeleteFolderMetadata> deleteFolderOperationCallable()
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, where a folder is empty if it doesn't contain any folders or projects in the
ACTIVE state. If called on a folder in
DELETE_REQUESTED state the
operation will result in a no-op success. The caller must have resourcemanager.folders.delete
permission on the identified folder.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
DeleteFolderRequest request =
DeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
OperationFuture<Folder, DeleteFolderMetadata> future =
foldersClient.deleteFolderOperationCallable().futureCall(request);
// Do something.
Folder response = future.get();
}
Type | Description |
OperationCallable<DeleteFolderRequest,Folder,DeleteFolderMetadata> |
getFolder(FolderName name)
public final Folder getFolder(FolderName name)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
Folder response = foldersClient.getFolder(name);
}
Name | Description |
name | FolderName Required. The resource name of the folder to retrieve. Must be of the form
|
Type | Description |
Folder |
getFolder(GetFolderRequest request)
public final Folder getFolder(GetFolderRequest request)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
GetFolderRequest request =
GetFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
Folder response = foldersClient.getFolder(request);
}
Name | Description |
request | GetFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
Folder |
getFolder(String name)
public final Folder getFolder(String name)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String name = FolderName.of("[FOLDER]").toString();
Folder response = foldersClient.getFolder(name);
}
Name | Description |
name | String Required. The resource name of the folder to retrieve. Must be of the form
|
Type | Description |
Folder |
getFolderCallable()
public final UnaryCallable<GetFolderRequest,Folder> getFolderCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
GetFolderRequest request =
GetFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
ApiFuture<Folder> future = foldersClient.getFolderCallable().futureCall(request);
// Do something.
Folder response = future.get();
}
Type | Description |
UnaryCallable<GetFolderRequest,Folder> |
getIamPolicy(ResourceName resource)
public final Policy getIamPolicy(ResourceName resource)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ResourceName resource = FolderName.of("[FOLDER]");
Policy response = foldersClient.getIamPolicy(resource);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicy(GetIamPolicyRequest request)
public final Policy getIamPolicy(GetIamPolicyRequest request)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = foldersClient.getIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.GetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicy(String resource)
public final Policy getIamPolicy(String resource)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String resource = FolderName.of("[FOLDER]").toString();
Policy response = foldersClient.getIamPolicy(resource);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field. |
Type | Description |
com.google.iam.v1.Policy |
getIamPolicyCallable()
public final UnaryCallable<GetIamPolicyRequest,Policy> getIamPolicyCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = foldersClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getOperationsClient()
public final OperationsClient getOperationsClient()
Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.
Type | Description |
OperationsClient |
getSettings()
public final FoldersSettings getSettings()
Type | Description |
FoldersSettings |
getStub()
public FoldersStub getStub()
Type | Description |
FoldersStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listFolders(ResourceName parent)
public final FoldersClient.ListFoldersPagedResponse listFolders(ResourceName parent)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ResourceName parent = FolderName.of("[FOLDER]");
for (Folder element : foldersClient.listFolders(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | com.google.api.resourcenames.ResourceName Required. The resource name of the organization or folder whose folders are being
listed. Must be of the form |
Type | Description |
FoldersClient.ListFoldersPagedResponse |
listFolders(ListFoldersRequest request)
public final FoldersClient.ListFoldersPagedResponse listFolders(ListFoldersRequest request)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ListFoldersRequest request =
ListFoldersRequest.newBuilder()
.setParent(FolderName.of("[FOLDER]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setShowDeleted(true)
.build();
for (Folder element : foldersClient.listFolders(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListFoldersRequest The request object containing all of the parameters for the API call. |
Type | Description |
FoldersClient.ListFoldersPagedResponse |
listFolders(String parent)
public final FoldersClient.ListFoldersPagedResponse listFolders(String parent)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String parent = FolderName.of("[FOLDER]").toString();
for (Folder element : foldersClient.listFolders(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. The resource name of the organization or folder whose folders are being
listed. Must be of the form |
Type | Description |
FoldersClient.ListFoldersPagedResponse |
listFoldersCallable()
public final UnaryCallable<ListFoldersRequest,ListFoldersResponse> listFoldersCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ListFoldersRequest request =
ListFoldersRequest.newBuilder()
.setParent(FolderName.of("[FOLDER]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setShowDeleted(true)
.build();
while (true) {
ListFoldersResponse response = foldersClient.listFoldersCallable().call(request);
for (Folder element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListFoldersRequest,ListFoldersResponse> |
listFoldersPagedCallable()
public final UnaryCallable<ListFoldersRequest,FoldersClient.ListFoldersPagedResponse> listFoldersPagedCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ListFoldersRequest request =
ListFoldersRequest.newBuilder()
.setParent(FolderName.of("[FOLDER]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setShowDeleted(true)
.build();
ApiFuture<Folder> future = foldersClient.listFoldersPagedCallable().futureCall(request);
// Do something.
for (Folder element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<ListFoldersRequest,ListFoldersPagedResponse> |
moveFolderAsync(FolderName name, ResourceName destinationParent)
public final OperationFuture<Folder,MoveFolderMetadata> moveFolderAsync(FolderName name, ResourceName destinationParent)
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
ResourceName destinationParent = FolderName.of("[FOLDER]");
Folder response = foldersClient.moveFolderAsync(name, destinationParent).get();
}
Name | Description |
name | FolderName Required. The resource name of the Folder to move. Must be of the form folders/{folder_id} |
destinationParent | com.google.api.resourcenames.ResourceName Required. The resource name of the folder or organization which should
be the folder's new parent. Must be of the form |
Type | Description |
OperationFuture<Folder,MoveFolderMetadata> |
moveFolderAsync(FolderName name, String destinationParent)
public final OperationFuture<Folder,MoveFolderMetadata> moveFolderAsync(FolderName name, String destinationParent)
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
String destinationParent = FolderName.of("[FOLDER]").toString();
Folder response = foldersClient.moveFolderAsync(name, destinationParent).get();
}
Name | Description |
name | FolderName Required. The resource name of the Folder to move. Must be of the form folders/{folder_id} |
destinationParent | String Required. The resource name of the folder or organization which should
be the folder's new parent. Must be of the form |
Type | Description |
OperationFuture<Folder,MoveFolderMetadata> |
moveFolderAsync(MoveFolderRequest request)
public final OperationFuture<Folder,MoveFolderMetadata> moveFolderAsync(MoveFolderRequest request)
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
MoveFolderRequest request =
MoveFolderRequest.newBuilder()
.setName(FolderName.of("[FOLDER]").toString())
.setDestinationParent(FolderName.of("[FOLDER]").toString())
.build();
Folder response = foldersClient.moveFolderAsync(request).get();
}
Name | Description |
request | MoveFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Folder,MoveFolderMetadata> |
moveFolderAsync(String name, ResourceName destinationParent)
public final OperationFuture<Folder,MoveFolderMetadata> moveFolderAsync(String name, ResourceName destinationParent)
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String name = FolderName.of("[FOLDER]").toString();
ResourceName destinationParent = FolderName.of("[FOLDER]");
Folder response = foldersClient.moveFolderAsync(name, destinationParent).get();
}
Name | Description |
name | String Required. The resource name of the Folder to move. Must be of the form folders/{folder_id} |
destinationParent | com.google.api.resourcenames.ResourceName Required. The resource name of the folder or organization which should
be the folder's new parent. Must be of the form |
Type | Description |
OperationFuture<Folder,MoveFolderMetadata> |
moveFolderAsync(String name, String destinationParent)
public final OperationFuture<Folder,MoveFolderMetadata> moveFolderAsync(String name, String destinationParent)
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String name = FolderName.of("[FOLDER]").toString();
String destinationParent = FolderName.of("[FOLDER]").toString();
Folder response = foldersClient.moveFolderAsync(name, destinationParent).get();
}
Name | Description |
name | String Required. The resource name of the Folder to move. Must be of the form folders/{folder_id} |
destinationParent | String Required. The resource name of the folder or organization which should
be the folder's new parent. Must be of the form |
Type | Description |
OperationFuture<Folder,MoveFolderMetadata> |
moveFolderCallable()
public final UnaryCallable<MoveFolderRequest,Operation> moveFolderCallable()
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
MoveFolderRequest request =
MoveFolderRequest.newBuilder()
.setName(FolderName.of("[FOLDER]").toString())
.setDestinationParent(FolderName.of("[FOLDER]").toString())
.build();
ApiFuture<Operation> future = foldersClient.moveFolderCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<MoveFolderRequest,Operation> |
moveFolderOperationCallable()
public final OperationCallable<MoveFolderRequest,Folder,MoveFolderMetadata> moveFolderOperationCallable()
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 documentation. The caller
must have resourcemanager.folders.move
permission on the folder's current and proposed new
parent.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
MoveFolderRequest request =
MoveFolderRequest.newBuilder()
.setName(FolderName.of("[FOLDER]").toString())
.setDestinationParent(FolderName.of("[FOLDER]").toString())
.build();
OperationFuture<Folder, MoveFolderMetadata> future =
foldersClient.moveFolderOperationCallable().futureCall(request);
// Do something.
Folder response = future.get();
}
Type | Description |
OperationCallable<MoveFolderRequest,Folder,MoveFolderMetadata> |
searchFolders(SearchFoldersRequest request)
public final FoldersClient.SearchFoldersPagedResponse searchFolders(SearchFoldersRequest request)
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
.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
SearchFoldersRequest request =
SearchFoldersRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setQuery("query107944136")
.build();
for (Folder element : foldersClient.searchFolders(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | SearchFoldersRequest The request object containing all of the parameters for the API call. |
Type | Description |
FoldersClient.SearchFoldersPagedResponse |
searchFolders(String query)
public final FoldersClient.SearchFoldersPagedResponse searchFolders(String query)
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
.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String query = "query107944136";
for (Folder element : foldersClient.searchFolders(query).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
query | String Optional. Search criteria used to select the folders to return. If no search criteria is specified then all accessible folders will be returned. Query expressions can be used to restrict results based upon displayName, state and
parent, where the operators The
returns Folder resources whose display name starts with
"Test".
state=ACTIVE returns Folder resources with state set to ACTIVE.
parent=folders/123 returns Folder resources that have folders/123 as a
parent resource.
parent=folders/123 AND state=ACTIVE returns active Folder resources that have
folders/123 as a parent resource.
displayName=\\"Test String\\"` returns Folder resources with display names
that include both "Test" and "String".
|
Type | Description |
FoldersClient.SearchFoldersPagedResponse |
searchFoldersCallable()
public final UnaryCallable<SearchFoldersRequest,SearchFoldersResponse> searchFoldersCallable()
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
.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
SearchFoldersRequest request =
SearchFoldersRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setQuery("query107944136")
.build();
while (true) {
SearchFoldersResponse response = foldersClient.searchFoldersCallable().call(request);
for (Folder element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<SearchFoldersRequest,SearchFoldersResponse> |
searchFoldersPagedCallable()
public final UnaryCallable<SearchFoldersRequest,FoldersClient.SearchFoldersPagedResponse> searchFoldersPagedCallable()
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
.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
SearchFoldersRequest request =
SearchFoldersRequest.newBuilder()
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setQuery("query107944136")
.build();
ApiFuture<Folder> future = foldersClient.searchFoldersPagedCallable().futureCall(request);
// Do something.
for (Folder element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
Type | Description |
UnaryCallable<SearchFoldersRequest,SearchFoldersPagedResponse> |
setIamPolicy(ResourceName resource, Policy policy)
public final Policy setIamPolicy(ResourceName resource, Policy policy)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ResourceName resource = FolderName.of("[FOLDER]");
Policy policy = Policy.newBuilder().build();
Policy response = foldersClient.setIamPolicy(resource, policy);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy | com.google.iam.v1.Policy REQUIRED: The complete policy to be applied to the |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicy(SetIamPolicyRequest request)
public final Policy setIamPolicy(SetIamPolicyRequest request)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
Policy response = foldersClient.setIamPolicy(request);
}
Name | Description |
request | com.google.iam.v1.SetIamPolicyRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicy(String resource, Policy policy)
public final Policy setIamPolicy(String resource, Policy policy)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String resource = FolderName.of("[FOLDER]").toString();
Policy policy = Policy.newBuilder().build();
Policy response = foldersClient.setIamPolicy(resource, policy);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy is being specified. See the operation documentation for the appropriate value for this field. |
policy | com.google.iam.v1.Policy REQUIRED: The complete policy to be applied to the |
Type | Description |
com.google.iam.v1.Policy |
setIamPolicyCallable()
public final UnaryCallable<SetIamPolicyRequest,Policy> setIamPolicyCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.setPolicy(Policy.newBuilder().build())
.build();
ApiFuture<Policy> future = foldersClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()
testIamPermissions(ResourceName resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(ResourceName resource, List<String> permissions)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
ResourceName resource = FolderName.of("[FOLDER]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = foldersClient.testIamPermissions(resource, permissions);
}
Name | Description |
resource | com.google.api.resourcenames.ResourceName REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions | List<String> The set of permissions to check for the |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(TestIamPermissionsRequest request)
public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsRequest request)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = foldersClient.testIamPermissions(request);
}
Name | Description |
request | com.google.iam.v1.TestIamPermissionsRequest The request object containing all of the parameters for the API call. |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(String resource, List<String> permissions)
public final TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String resource = FolderName.of("[FOLDER]").toString();
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = foldersClient.testIamPermissions(resource, permissions);
}
Name | Description |
resource | String REQUIRED: The resource for which the policy detail is being requested. See the operation documentation for the appropriate value for this field. |
permissions | List<String> The set of permissions to check for the |
Type | Description |
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissionsCallable()
public final UnaryCallable<TestIamPermissionsRequest,TestIamPermissionsResponse> testIamPermissionsCallable()
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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(FolderName.of("[FOLDER]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture<TestIamPermissionsResponse> future =
foldersClient.testIamPermissionsCallable().futureCall(request);
// Do something.
TestIamPermissionsResponse response = future.get();
}
Type | Description |
UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
undeleteFolderAsync(FolderName name)
public final OperationFuture<Folder,UndeleteFolderMetadata> undeleteFolderAsync(FolderName name)
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 state the
result will be a no-op success. 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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
FolderName name = FolderName.of("[FOLDER]");
Folder response = foldersClient.undeleteFolderAsync(name).get();
}
Name | Description |
name | FolderName Required. The resource name of the folder to undelete. Must be of the form
|
Type | Description |
OperationFuture<Folder,UndeleteFolderMetadata> |
undeleteFolderAsync(UndeleteFolderRequest request)
public final OperationFuture<Folder,UndeleteFolderMetadata> undeleteFolderAsync(UndeleteFolderRequest request)
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 state the
result will be a no-op success. 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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UndeleteFolderRequest request =
UndeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
Folder response = foldersClient.undeleteFolderAsync(request).get();
}
Name | Description |
request | UndeleteFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Folder,UndeleteFolderMetadata> |
undeleteFolderAsync(String name)
public final OperationFuture<Folder,UndeleteFolderMetadata> undeleteFolderAsync(String name)
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 state the
result will be a no-op success. 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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
String name = FolderName.of("[FOLDER]").toString();
Folder response = foldersClient.undeleteFolderAsync(name).get();
}
Name | Description |
name | String Required. The resource name of the folder to undelete. Must be of the form
|
Type | Description |
OperationFuture<Folder,UndeleteFolderMetadata> |
undeleteFolderCallable()
public final UnaryCallable<UndeleteFolderRequest,Operation> undeleteFolderCallable()
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 state the
result will be a no-op success. 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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UndeleteFolderRequest request =
UndeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
ApiFuture<Operation> future = foldersClient.undeleteFolderCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<UndeleteFolderRequest,Operation> |
undeleteFolderOperationCallable()
public final OperationCallable<UndeleteFolderRequest,Folder,UndeleteFolderMetadata> undeleteFolderOperationCallable()
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 state the
result will be a no-op success. 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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UndeleteFolderRequest request =
UndeleteFolderRequest.newBuilder().setName(FolderName.of("[FOLDER]").toString()).build();
OperationFuture<Folder, UndeleteFolderMetadata> future =
foldersClient.undeleteFolderOperationCallable().futureCall(request);
// Do something.
Folder response = future.get();
}
Type | Description |
OperationCallable<UndeleteFolderRequest,Folder,UndeleteFolderMetadata> |
updateFolderAsync(Folder folder, FieldMask updateMask)
public final OperationFuture<Folder,UpdateFolderMetadata> updateFolderAsync(Folder folder, FieldMask updateMask)
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
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}{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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
Folder folder = Folder.newBuilder().build();
FieldMask updateMask = FieldMask.newBuilder().build();
Folder response = foldersClient.updateFolderAsync(folder, updateMask).get();
}
Name | Description |
folder | Folder Required. The new definition of the Folder. It must include the |
updateMask | FieldMask Required. Fields to be updated. Only the |
Type | Description |
OperationFuture<Folder,UpdateFolderMetadata> |
updateFolderAsync(UpdateFolderRequest request)
public final OperationFuture<Folder,UpdateFolderMetadata> updateFolderAsync(UpdateFolderRequest request)
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
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}{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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UpdateFolderRequest request =
UpdateFolderRequest.newBuilder()
.setFolder(Folder.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Folder response = foldersClient.updateFolderAsync(request).get();
}
Name | Description |
request | UpdateFolderRequest The request object containing all of the parameters for the API call. |
Type | Description |
OperationFuture<Folder,UpdateFolderMetadata> |
updateFolderCallable()
public final UnaryCallable<UpdateFolderRequest,Operation> updateFolderCallable()
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
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}{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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UpdateFolderRequest request =
UpdateFolderRequest.newBuilder()
.setFolder(Folder.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Operation> future = foldersClient.updateFolderCallable().futureCall(request);
// Do something.
Operation response = future.get();
}
Type | Description |
UnaryCallable<UpdateFolderRequest,Operation> |
updateFolderOperationCallable()
public final OperationCallable<UpdateFolderRequest,Folder,UpdateFolderMetadata> updateFolderOperationCallable()
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
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}{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.
Sample code:
try (FoldersClient foldersClient = FoldersClient.create()) {
UpdateFolderRequest request =
UpdateFolderRequest.newBuilder()
.setFolder(Folder.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
OperationFuture<Folder, UpdateFolderMetadata> future =
foldersClient.updateFolderOperationCallable().futureCall(request);
// Do something.
Folder response = future.get();
}
Type | Description |
OperationCallable<UpdateFolderRequest,Folder,UpdateFolderMetadata> |