@Generated(value="by gapic-generator-java") public class IAMClient extends Object implements com.google.api.gax.core.BackgroundResource
You can use this service to work with all of the following resources:
In addition, you can use this service to complete the following tasks, among others:
When you read data from the IAM API, each read is eventually consistent. In other words, if you write data with the IAM API, then immediately read that data, the read operation might return an older version of the data. To deal with this behavior, your application can retry the request with truncated exponential backoff.
In contrast, writing data to the IAM API is sequentially consistent. In other words, write operations are always processed in the order in which they were received.
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:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
ServiceAccount response = iAMClient.getServiceAccount(name);
}
Note: close() needs to be called on the IAMClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
| Method | Description | Method Variants |
|---|---|---|
ListServiceAccounts |
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetServiceAccount |
Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
CreateServiceAccount |
Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UpdateServiceAccount |
**Note:** We are in the process of deprecating this method. Use [PatchServiceAccount][google.iam.admin.v1.IAM.PatchServiceAccount] instead. Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. You can update only the `display_name` field. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
PatchServiceAccount |
Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DeleteServiceAccount |
Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. **Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead. If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UndeleteServiceAccount |
Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount]. **Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort. After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
EnableServiceAccount |
Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount]. If the service account is already enabled, then this method has no effect. If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DisableServiceAccount |
Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately. If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail. To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens. To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListServiceAccountKeys |
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetServiceAccountKey |
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
CreateServiceAccountKey |
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UploadServiceAccountKey |
Uploads the public key portion of a key pair that you manage, and associates the public key with a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. After you upload the public key, you can use the private key from the key pair as a service account key. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DeleteServiceAccountKey |
Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. Deleting a service account key does not revoke short-lived credentials that have been issued based on the service account key. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DisableServiceAccountKey |
Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. A disabled service account key can be re-enabled with [EnableServiceAccountKey][google.iam.admin.v1.IAM.EnableServiceAccountKey]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
EnableServiceAccountKey |
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
SignBlob |
**Note:** This method is deprecated. Use the [`signBlob`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signBlob) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
SignJwt |
**Note:** This method is deprecated. Use the [`signJwt`](https://cloud.google.com/iam/help/rest-credentials/v1/projects.serviceAccounts/signJwt) method in the IAM Service Account Credentials API instead. If you currently use this method, see the [migration guide](https://cloud.google.com/iam/help/credentials/migrate-api) for instructions. Signs a JSON Web Token (JWT) using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetIamPolicy |
Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. This IAM policy specifies which principals have access to the service account. This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
SetIamPolicy |
Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account. This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps: 1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy. For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
TestIamPermissions |
Tests whether the caller has the specified permissions on a [ServiceAccount][google.iam.admin.v1.ServiceAccount]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
QueryGrantableRoles |
Lists roles that can be granted on a Google Cloud resource. A role is grantable if the IAM policy for the resource can contain bindings to the role. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
ListRoles |
Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role that is defined for an organization or project. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
GetRole |
Gets the definition of a [Role][google.iam.admin.v1.Role]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
CreateRole |
Creates a new custom [Role][google.iam.admin.v1.Role]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UpdateRole |
Updates the definition of a custom [Role][google.iam.admin.v1.Role]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
DeleteRole |
Deletes a custom [Role][google.iam.admin.v1.Role]. When you delete a custom role, the following changes occur immediately:
You have 7 days to undelete the custom role. After 7 days, the following changes occur:
|
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
UndeleteRole |
Undeletes a custom [Role][google.iam.admin.v1.Role]. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
QueryTestablePermissions |
Lists every permission that you can test on a resource. A permission is testable if you can check whether a principal has that permission on the resource. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
QueryAuditableServices |
Returns a list of services that allow you to opt into audit logs that are not generated by default. To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit). |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.
|
LintPolicy |
Lints, or validates, an IAM policy. Currently checks the [google.iam.v1.Binding.condition][google.iam.v1.Binding.condition] field, which contains a condition expression for a role binding. Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy. |
Request object method variants only take one parameter, a request object, which must be constructed before the call.
Callable method variants take no parameters and return 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 IAMSettings to create(). For example:
To customize credentials:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
IAMSettings iAMSettings =
IAMSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
IAMClient iAMClient = IAMClient.create(iAMSettings);
To customize the endpoint:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
IAMSettings iAMSettings = IAMSettings.newBuilder().setEndpoint(myEndpoint).build();
IAMClient iAMClient = IAMClient.create(iAMSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
| Modifier and Type | Class and Description |
|---|---|
static class |
IAMClient.ListRolesFixedSizeCollection |
static class |
IAMClient.ListRolesPage |
static class |
IAMClient.ListRolesPagedResponse |
static class |
IAMClient.ListServiceAccountsFixedSizeCollection |
static class |
IAMClient.ListServiceAccountsPage |
static class |
IAMClient.ListServiceAccountsPagedResponse |
static class |
IAMClient.QueryGrantableRolesFixedSizeCollection |
static class |
IAMClient.QueryGrantableRolesPage |
static class |
IAMClient.QueryGrantableRolesPagedResponse |
static class |
IAMClient.QueryTestablePermissionsFixedSizeCollection |
static class |
IAMClient.QueryTestablePermissionsPage |
static class |
IAMClient.QueryTestablePermissionsPagedResponse |
| Modifier | Constructor and Description |
|---|---|
protected |
IAMClient(IAMSettings settings)
Constructs an instance of IAMClient, using the given settings.
|
protected |
IAMClient(IAMStub stub) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
awaitTermination(long duration,
TimeUnit unit) |
void |
close() |
static IAMClient |
create()
Constructs an instance of IAMClient with default settings.
|
static IAMClient |
create(IAMSettings settings)
Constructs an instance of IAMClient, using the given settings.
|
static IAMClient |
create(IAMStub stub)
Constructs an instance of IAMClient, using the given stub for making calls.
|
Role |
createRole(CreateRoleRequest request)
Creates a new custom [Role][google.iam.admin.v1.Role].
|
com.google.api.gax.rpc.UnaryCallable<CreateRoleRequest,Role> |
createRoleCallable()
Creates a new custom [Role][google.iam.admin.v1.Role].
|
ServiceAccount |
createServiceAccount(CreateServiceAccountRequest request)
Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccount |
createServiceAccount(ProjectName name,
String accountId,
ServiceAccount serviceAccount)
Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccount |
createServiceAccount(String name,
String accountId,
ServiceAccount serviceAccount)
Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountRequest,ServiceAccount> |
createServiceAccountCallable()
Creates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccountKey |
createServiceAccountKey(CreateServiceAccountKeyRequest request)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
ServiceAccountKey |
createServiceAccountKey(ServiceAccountName name,
ServiceAccountPrivateKeyType privateKeyType,
ServiceAccountKeyAlgorithm keyAlgorithm)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
ServiceAccountKey |
createServiceAccountKey(String name,
ServiceAccountPrivateKeyType privateKeyType,
ServiceAccountKeyAlgorithm keyAlgorithm)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountKeyRequest,ServiceAccountKey> |
createServiceAccountKeyCallable()
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
Role |
deleteRole(DeleteRoleRequest request)
Deletes a custom [Role][google.iam.admin.v1.Role].
|
com.google.api.gax.rpc.UnaryCallable<DeleteRoleRequest,Role> |
deleteRoleCallable()
Deletes a custom [Role][google.iam.admin.v1.Role].
|
void |
deleteServiceAccount(DeleteServiceAccountRequest request)
Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
void |
deleteServiceAccount(ServiceAccountName name)
Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
void |
deleteServiceAccount(String name)
Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountRequest,com.google.protobuf.Empty> |
deleteServiceAccountCallable()
Deletes a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
void |
deleteServiceAccountKey(DeleteServiceAccountKeyRequest request)
Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
deleteServiceAccountKey(KeyName name)
Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
deleteServiceAccountKey(String name)
Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountKeyRequest,com.google.protobuf.Empty> |
deleteServiceAccountKeyCallable()
Deletes a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
disableServiceAccount(DisableServiceAccountRequest request)
Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately.
|
com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountRequest,com.google.protobuf.Empty> |
disableServiceAccountCallable()
Disables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] immediately.
|
void |
disableServiceAccountKey(DisableServiceAccountKeyRequest request)
Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
disableServiceAccountKey(KeyName name)
Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
disableServiceAccountKey(String name)
Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountKeyRequest,com.google.protobuf.Empty> |
disableServiceAccountKeyCallable()
Disable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
enableServiceAccount(EnableServiceAccountRequest request)
Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by
[DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<EnableServiceAccountRequest,com.google.protobuf.Empty> |
enableServiceAccountCallable()
Enables a [ServiceAccount][google.iam.admin.v1.ServiceAccount] that was disabled by
[DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount].
|
void |
enableServiceAccountKey(EnableServiceAccountKeyRequest request)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
enableServiceAccountKey(KeyName name)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
void |
enableServiceAccountKey(String name)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.api.gax.rpc.UnaryCallable<EnableServiceAccountKeyRequest,com.google.protobuf.Empty> |
enableServiceAccountKeyCallable()
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.iam.v1.Policy |
getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.Policy |
getIamPolicy(com.google.api.resourcenames.ResourceName resource)
Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.Policy |
getIamPolicy(String resource)
Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> |
getIamPolicyCallable()
Gets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
Role |
getRole(GetRoleRequest request)
Gets the definition of a [Role][google.iam.admin.v1.Role].
|
com.google.api.gax.rpc.UnaryCallable<GetRoleRequest,Role> |
getRoleCallable()
Gets the definition of a [Role][google.iam.admin.v1.Role].
|
ServiceAccount |
getServiceAccount(GetServiceAccountRequest request)
Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccount |
getServiceAccount(ServiceAccountName name)
Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccount |
getServiceAccount(String name)
Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<GetServiceAccountRequest,ServiceAccount> |
getServiceAccountCallable()
Gets a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
ServiceAccountKey |
getServiceAccountKey(GetServiceAccountKeyRequest request)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
ServiceAccountKey |
getServiceAccountKey(KeyName name,
ServiceAccountPublicKeyType publicKeyType)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
ServiceAccountKey |
getServiceAccountKey(String name,
ServiceAccountPublicKeyType publicKeyType)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
com.google.api.gax.rpc.UnaryCallable<GetServiceAccountKeyRequest,ServiceAccountKey> |
getServiceAccountKeyCallable()
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].
|
IAMSettings |
getSettings() |
IAMStub |
getStub() |
boolean |
isShutdown() |
boolean |
isTerminated() |
LintPolicyResponse |
lintPolicy(LintPolicyRequest request)
Lints, or validates, an IAM policy.
|
com.google.api.gax.rpc.UnaryCallable<LintPolicyRequest,LintPolicyResponse> |
lintPolicyCallable()
Lints, or validates, an IAM policy.
|
IAMClient.ListRolesPagedResponse |
listRoles(ListRolesRequest request)
Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role
that is defined for an organization or project.
|
com.google.api.gax.rpc.UnaryCallable<ListRolesRequest,ListRolesResponse> |
listRolesCallable()
Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role
that is defined for an organization or project.
|
com.google.api.gax.rpc.UnaryCallable<ListRolesRequest,IAMClient.ListRolesPagedResponse> |
listRolesPagedCallable()
Lists every predefined [Role][google.iam.admin.v1.Role] that IAM supports, or every custom role
that is defined for an organization or project.
|
ListServiceAccountKeysResponse |
listServiceAccountKeys(ListServiceAccountKeysRequest request)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
|
ListServiceAccountKeysResponse |
listServiceAccountKeys(ServiceAccountName name,
List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
|
ListServiceAccountKeysResponse |
listServiceAccountKeys(String name,
List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
|
com.google.api.gax.rpc.UnaryCallable<ListServiceAccountKeysRequest,ListServiceAccountKeysResponse> |
listServiceAccountKeysCallable()
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a service account.
|
IAMClient.ListServiceAccountsPagedResponse |
listServiceAccounts(ListServiceAccountsRequest request)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific
project.
|
IAMClient.ListServiceAccountsPagedResponse |
listServiceAccounts(ProjectName name)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific
project.
|
IAMClient.ListServiceAccountsPagedResponse |
listServiceAccounts(String name)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific
project.
|
com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,ListServiceAccountsResponse> |
listServiceAccountsCallable()
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific
project.
|
com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,IAMClient.ListServiceAccountsPagedResponse> |
listServiceAccountsPagedCallable()
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific
project.
|
ServiceAccount |
patchServiceAccount(PatchServiceAccountRequest request)
Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<PatchServiceAccountRequest,ServiceAccount> |
patchServiceAccountCallable()
Patches a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
QueryAuditableServicesResponse |
queryAuditableServices(QueryAuditableServicesRequest request)
Returns a list of services that allow you to opt into audit logs that are not generated by
default.
|
com.google.api.gax.rpc.UnaryCallable<QueryAuditableServicesRequest,QueryAuditableServicesResponse> |
queryAuditableServicesCallable()
Returns a list of services that allow you to opt into audit logs that are not generated by
default.
|
IAMClient.QueryGrantableRolesPagedResponse |
queryGrantableRoles(QueryGrantableRolesRequest request)
Lists roles that can be granted on a Google Cloud resource.
|
IAMClient.QueryGrantableRolesPagedResponse |
queryGrantableRoles(String fullResourceName)
Lists roles that can be granted on a Google Cloud resource.
|
com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,QueryGrantableRolesResponse> |
queryGrantableRolesCallable()
Lists roles that can be granted on a Google Cloud resource.
|
com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,IAMClient.QueryGrantableRolesPagedResponse> |
queryGrantableRolesPagedCallable()
Lists roles that can be granted on a Google Cloud resource.
|
IAMClient.QueryTestablePermissionsPagedResponse |
queryTestablePermissions(QueryTestablePermissionsRequest request)
Lists every permission that you can test on a resource.
|
com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,QueryTestablePermissionsResponse> |
queryTestablePermissionsCallable()
Lists every permission that you can test on a resource.
|
com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,IAMClient.QueryTestablePermissionsPagedResponse> |
queryTestablePermissionsPagedCallable()
Lists every permission that you can test on a resource.
|
com.google.iam.v1.Policy |
setIamPolicy(com.google.api.resourcenames.ResourceName resource,
com.google.iam.v1.Policy policy)
Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.Policy |
setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.Policy |
setIamPolicy(String resource,
com.google.iam.v1.Policy policy)
Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> |
setIamPolicyCallable()
Sets the IAM policy that is attached to a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
void |
shutdown() |
void |
shutdownNow() |
SignBlobResponse |
signBlob(ServiceAccountName name,
com.google.protobuf.ByteString bytesToSign)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
SignBlobResponse |
signBlob(SignBlobRequest request)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
SignBlobResponse |
signBlob(String name,
com.google.protobuf.ByteString bytesToSign)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
com.google.api.gax.rpc.UnaryCallable<SignBlobRequest,SignBlobResponse> |
signBlobCallable()
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
SignJwtResponse |
signJwt(ServiceAccountName name,
String payload)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
SignJwtResponse |
signJwt(SignJwtRequest request)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
SignJwtResponse |
signJwt(String name,
String payload)
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
com.google.api.gax.rpc.UnaryCallable<SignJwtRequest,SignJwtResponse> |
signJwtCallable()
Deprecated.
This method is deprecated and will be removed in the next major version update.
|
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(com.google.api.resourcenames.ResourceName resource,
List<String> permissions)
Tests whether the caller has the specified permissions on a
[ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(String resource,
List<String> permissions)
Tests whether the caller has the specified permissions on a
[ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.iam.v1.TestIamPermissionsResponse |
testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request)
Tests whether the caller has the specified permissions on a
[ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> |
testIamPermissionsCallable()
Tests whether the caller has the specified permissions on a
[ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
Role |
undeleteRole(UndeleteRoleRequest request)
Undeletes a custom [Role][google.iam.admin.v1.Role].
|
com.google.api.gax.rpc.UnaryCallable<UndeleteRoleRequest,Role> |
undeleteRoleCallable()
Undeletes a custom [Role][google.iam.admin.v1.Role].
|
UndeleteServiceAccountResponse |
undeleteServiceAccount(UndeleteServiceAccountRequest request)
Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<UndeleteServiceAccountRequest,UndeleteServiceAccountResponse> |
undeleteServiceAccountCallable()
Restores a deleted [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
Role |
updateRole(UpdateRoleRequest request)
Updates the definition of a custom [Role][google.iam.admin.v1.Role].
|
com.google.api.gax.rpc.UnaryCallable<UpdateRoleRequest,Role> |
updateRoleCallable()
Updates the definition of a custom [Role][google.iam.admin.v1.Role].
|
ServiceAccount |
updateServiceAccount(ServiceAccount request)
**Note:** We are in the process of deprecating this method.
|
com.google.api.gax.rpc.UnaryCallable<ServiceAccount,ServiceAccount> |
updateServiceAccountCallable()
**Note:** We are in the process of deprecating this method.
|
ServiceAccountKey |
uploadServiceAccountKey(UploadServiceAccountKeyRequest request)
Uploads the public key portion of a key pair that you manage, and associates the public key
with a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
com.google.api.gax.rpc.UnaryCallable<UploadServiceAccountKeyRequest,ServiceAccountKey> |
uploadServiceAccountKeyCallable()
Uploads the public key portion of a key pair that you manage, and associates the public key
with a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
|
protected IAMClient(IAMSettings settings) throws IOException
IOExceptionprotected IAMClient(IAMStub stub)
public static final IAMClient create() throws IOException
IOExceptionpublic static final IAMClient create(IAMSettings settings) throws IOException
IOExceptionpublic static final IAMClient create(IAMStub stub)
public final IAMSettings getSettings()
public IAMStub getStub()
public final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(ProjectName name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
for (ServiceAccount element : iAMClient.listServiceAccounts(name).iterateAll()) {
// doThingsWith(element);
}
}
name - Required. The resource name of the project associated with the service accounts,
such as `projects/my-project-123`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(String name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ProjectName.of("[PROJECT]").toString();
for (ServiceAccount element : iAMClient.listServiceAccounts(name).iterateAll()) {
// doThingsWith(element);
}
}
name - Required. The resource name of the project associated with the service accounts,
such as `projects/my-project-123`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(ListServiceAccountsRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListServiceAccountsRequest request =
ListServiceAccountsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (ServiceAccount element : iAMClient.listServiceAccounts(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,IAMClient.ListServiceAccountsPagedResponse> listServiceAccountsPagedCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListServiceAccountsRequest request =
ListServiceAccountsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<ServiceAccount> future =
iAMClient.listServiceAccountsPagedCallable().futureCall(request);
// Do something.
for (ServiceAccount element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,ListServiceAccountsResponse> listServiceAccountsCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListServiceAccountsRequest request =
ListServiceAccountsRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListServiceAccountsResponse response =
iAMClient.listServiceAccountsCallable().call(request);
for (ServiceAccount element : response.getAccountsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final ServiceAccount getServiceAccount(ServiceAccountName name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
ServiceAccount response = iAMClient.getServiceAccount(name);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccount getServiceAccount(String name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
ServiceAccount response = iAMClient.getServiceAccount(name);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccount getServiceAccount(GetServiceAccountRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetServiceAccountRequest request =
GetServiceAccountRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.build();
ServiceAccount response = iAMClient.getServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetServiceAccountRequest,ServiceAccount> getServiceAccountCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetServiceAccountRequest request =
GetServiceAccountRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.build();
ApiFuture<ServiceAccount> future = iAMClient.getServiceAccountCallable().futureCall(request);
// Do something.
ServiceAccount response = future.get();
}
public final ServiceAccount createServiceAccount(ProjectName name, String accountId, ServiceAccount serviceAccount)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ProjectName name = ProjectName.of("[PROJECT]");
String accountId = "accountId-1827029976";
ServiceAccount serviceAccount = ServiceAccount.newBuilder().build();
ServiceAccount response = iAMClient.createServiceAccount(name, accountId, serviceAccount);
}
name - Required. The resource name of the project associated with the service accounts,
such as `projects/my-project-123`.accountId - Required. The account id that is used to generate the service account email
address and a stable unique id. It is unique within a project, must be 6-30 characters
long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])` to comply with
RFC1035.serviceAccount - The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to
create. Currently, only the following values are user assignable: `display_name` and
`description`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccount createServiceAccount(String name, String accountId, ServiceAccount serviceAccount)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ProjectName.of("[PROJECT]").toString();
String accountId = "accountId-1827029976";
ServiceAccount serviceAccount = ServiceAccount.newBuilder().build();
ServiceAccount response = iAMClient.createServiceAccount(name, accountId, serviceAccount);
}
name - Required. The resource name of the project associated with the service accounts,
such as `projects/my-project-123`.accountId - Required. The account id that is used to generate the service account email
address and a stable unique id. It is unique within a project, must be 6-30 characters
long, and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])` to comply with
RFC1035.serviceAccount - The [ServiceAccount][google.iam.admin.v1.ServiceAccount] resource to
create. Currently, only the following values are user assignable: `display_name` and
`description`.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccount createServiceAccount(CreateServiceAccountRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateServiceAccountRequest request =
CreateServiceAccountRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setAccountId("accountId-1827029976")
.setServiceAccount(ServiceAccount.newBuilder().build())
.build();
ServiceAccount response = iAMClient.createServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountRequest,ServiceAccount> createServiceAccountCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateServiceAccountRequest request =
CreateServiceAccountRequest.newBuilder()
.setName(ProjectName.of("[PROJECT]").toString())
.setAccountId("accountId-1827029976")
.setServiceAccount(ServiceAccount.newBuilder().build())
.build();
ApiFuture<ServiceAccount> future =
iAMClient.createServiceAccountCallable().futureCall(request);
// Do something.
ServiceAccount response = future.get();
}
public final ServiceAccount updateServiceAccount(ServiceAccount request)
Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
You can update only the `display_name` field.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccount request =
ServiceAccount.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setProjectId("projectId-894832108")
.setUniqueId("uniqueId-294460212")
.setEmail("email96619420")
.setDisplayName("displayName1714148973")
.setEtag(ByteString.EMPTY)
.setDescription("description-1724546052")
.setOauth2ClientId("oauth2ClientId-1210797087")
.setDisabled(true)
.build();
ServiceAccount response = iAMClient.updateServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ServiceAccount,ServiceAccount> updateServiceAccountCallable()
Updates a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
You can update only the `display_name` field.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccount request =
ServiceAccount.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setProjectId("projectId-894832108")
.setUniqueId("uniqueId-294460212")
.setEmail("email96619420")
.setDisplayName("displayName1714148973")
.setEtag(ByteString.EMPTY)
.setDescription("description-1724546052")
.setOauth2ClientId("oauth2ClientId-1210797087")
.setDisabled(true)
.build();
ApiFuture<ServiceAccount> future =
iAMClient.updateServiceAccountCallable().futureCall(request);
// Do something.
ServiceAccount response = future.get();
}
public final ServiceAccount patchServiceAccount(PatchServiceAccountRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
PatchServiceAccountRequest request =
PatchServiceAccountRequest.newBuilder()
.setServiceAccount(ServiceAccount.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ServiceAccount response = iAMClient.patchServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<PatchServiceAccountRequest,ServiceAccount> patchServiceAccountCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
PatchServiceAccountRequest request =
PatchServiceAccountRequest.newBuilder()
.setServiceAccount(ServiceAccount.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<ServiceAccount> future =
iAMClient.patchServiceAccountCallable().futureCall(request);
// Do something.
ServiceAccount response = future.get();
}
public final void deleteServiceAccount(ServiceAccountName name)
**Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
iAMClient.deleteServiceAccount(name);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final void deleteServiceAccount(String name)
**Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
iAMClient.deleteServiceAccount(name);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final void deleteServiceAccount(DeleteServiceAccountRequest request)
**Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteServiceAccountRequest request =
DeleteServiceAccountRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.build();
iAMClient.deleteServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountRequest,com.google.protobuf.Empty> deleteServiceAccountCallable()
**Warning:** After you delete a service account, you might not be able to undelete it. If you know that you need to re-enable the service account in the future, use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] instead.
If you delete a service account, IAM permanently removes the service account 30 days later. Google Cloud cannot recover the service account after it is permanently removed, even if you file a support request.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use [DisableServiceAccount][google.iam.admin.v1.IAM.DisableServiceAccount] to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteServiceAccountRequest request =
DeleteServiceAccountRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.build();
ApiFuture<Empty> future = iAMClient.deleteServiceAccountCallable().futureCall(request);
// Do something.
future.get();
}
public final UndeleteServiceAccountResponse undeleteServiceAccount(UndeleteServiceAccountRequest request)
**Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort.
After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UndeleteServiceAccountRequest request =
UndeleteServiceAccountRequest.newBuilder().setName("name3373707").build();
UndeleteServiceAccountResponse response = iAMClient.undeleteServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UndeleteServiceAccountRequest,UndeleteServiceAccountResponse> undeleteServiceAccountCallable()
**Important:** It is not always possible to restore a deleted service account. Use this method only as a last resort.
After you delete a service account, IAM permanently removes the service account 30 days later. There is no way to restore a deleted service account that has been permanently removed.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UndeleteServiceAccountRequest request =
UndeleteServiceAccountRequest.newBuilder().setName("name3373707").build();
ApiFuture<UndeleteServiceAccountResponse> future =
iAMClient.undeleteServiceAccountCallable().futureCall(request);
// Do something.
UndeleteServiceAccountResponse response = future.get();
}
public final void enableServiceAccount(EnableServiceAccountRequest request)
If the service account is already enabled, then this method has no effect.
If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
EnableServiceAccountRequest request =
EnableServiceAccountRequest.newBuilder().setName("name3373707").build();
iAMClient.enableServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<EnableServiceAccountRequest,com.google.protobuf.Empty> enableServiceAccountCallable()
If the service account is already enabled, then this method has no effect.
If the service account was disabled by other means—for example, if Google disabled the service account because it was compromised—you cannot use this method to enable the service account.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
EnableServiceAccountRequest request =
EnableServiceAccountRequest.newBuilder().setName("name3373707").build();
ApiFuture<Empty> future = iAMClient.enableServiceAccountCallable().futureCall(request);
// Do something.
future.get();
}
public final void disableServiceAccount(DisableServiceAccountRequest request)
If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail.
To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DisableServiceAccountRequest request =
DisableServiceAccountRequest.newBuilder().setName("name3373707").build();
iAMClient.disableServiceAccount(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountRequest,com.google.protobuf.Empty> disableServiceAccountCallable()
If an application uses the service account to authenticate, that application can no longer call Google APIs or access Google Cloud resources. Existing access tokens for the service account are rejected, and requests for new access tokens will fail.
To re-enable the service account, use [EnableServiceAccount][google.iam.admin.v1.IAM.EnableServiceAccount]. After you re-enable the service account, its existing access tokens will be accepted, and you can request new access tokens.
To help avoid unplanned outages, we recommend that you disable the service account before you delete it. Use this method to disable the service account, then wait at least 24 hours and watch for unintended consequences. If there are no unintended consequences, you can delete the service account with [DeleteServiceAccount][google.iam.admin.v1.IAM.DeleteServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DisableServiceAccountRequest request =
DisableServiceAccountRequest.newBuilder().setName("name3373707").build();
ApiFuture<Empty> future = iAMClient.disableServiceAccountCallable().futureCall(request);
// Do something.
future.get();
}
public final ListServiceAccountKeysResponse listServiceAccountKeys(ServiceAccountName name, List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
List<ListServiceAccountKeysRequest.KeyType> keyTypes = new ArrayList<>();
ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(name, keyTypes);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
keyTypes - Filters the types of keys the user wants to include in the list response.
Duplicate key types are not allowed. If no key type is provided, all keys are returned.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ListServiceAccountKeysResponse listServiceAccountKeys(String name, List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
List<ListServiceAccountKeysRequest.KeyType> keyTypes = new ArrayList<>();
ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(name, keyTypes);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`.
Using `-` as a wildcard for the `PROJECT_ID`, will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
keyTypes - Filters the types of keys the user wants to include in the list response.
Duplicate key types are not allowed. If no key type is provided, all keys are returned.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ListServiceAccountKeysResponse listServiceAccountKeys(ListServiceAccountKeysRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListServiceAccountKeysRequest request =
ListServiceAccountKeysRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.addAllKeyTypes(new ArrayList<ListServiceAccountKeysRequest.KeyType>())
.build();
ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountKeysRequest,ListServiceAccountKeysResponse> listServiceAccountKeysCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListServiceAccountKeysRequest request =
ListServiceAccountKeysRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.addAllKeyTypes(new ArrayList<ListServiceAccountKeysRequest.KeyType>())
.build();
ApiFuture<ListServiceAccountKeysResponse> future =
iAMClient.listServiceAccountKeysCallable().futureCall(request);
// Do something.
ListServiceAccountKeysResponse response = future.get();
}
public final ServiceAccountKey getServiceAccountKey(KeyName name, ServiceAccountPublicKeyType publicKeyType)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
KeyName name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]");
ServiceAccountPublicKeyType publicKeyType = ServiceAccountPublicKeyType.forNumber(0);
ServiceAccountKey response = iAMClient.getServiceAccountKey(name, publicKeyType);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
publicKeyType - Optional. The output format of the public key. The default is `TYPE_NONE`,
which means that the public key is not returned.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccountKey getServiceAccountKey(String name, ServiceAccountPublicKeyType publicKeyType)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString();
ServiceAccountPublicKeyType publicKeyType = ServiceAccountPublicKeyType.forNumber(0);
ServiceAccountKey response = iAMClient.getServiceAccountKey(name, publicKeyType);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
publicKeyType - Optional. The output format of the public key. The default is `TYPE_NONE`,
which means that the public key is not returned.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccountKey getServiceAccountKey(GetServiceAccountKeyRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetServiceAccountKeyRequest request =
GetServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.setPublicKeyType(ServiceAccountPublicKeyType.forNumber(0))
.build();
ServiceAccountKey response = iAMClient.getServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetServiceAccountKeyRequest,ServiceAccountKey> getServiceAccountKeyCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetServiceAccountKeyRequest request =
GetServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.setPublicKeyType(ServiceAccountPublicKeyType.forNumber(0))
.build();
ApiFuture<ServiceAccountKey> future =
iAMClient.getServiceAccountKeyCallable().futureCall(request);
// Do something.
ServiceAccountKey response = future.get();
}
public final ServiceAccountKey createServiceAccountKey(ServiceAccountName name, ServiceAccountPrivateKeyType privateKeyType, ServiceAccountKeyAlgorithm keyAlgorithm)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
ServiceAccountPrivateKeyType privateKeyType = ServiceAccountPrivateKeyType.forNumber(0);
ServiceAccountKeyAlgorithm keyAlgorithm = ServiceAccountKeyAlgorithm.forNumber(0);
ServiceAccountKey response =
iAMClient.createServiceAccountKey(name, privateKeyType, keyAlgorithm);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.privateKeyType - The output format of the private key. The default value is
`TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File format.keyAlgorithm - Which type of key and algorithm to use for the key. The default is
currently a 2K RSA key. However this may change in the future.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccountKey createServiceAccountKey(String name, ServiceAccountPrivateKeyType privateKeyType, ServiceAccountKeyAlgorithm keyAlgorithm)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
ServiceAccountPrivateKeyType privateKeyType = ServiceAccountPrivateKeyType.forNumber(0);
ServiceAccountKeyAlgorithm keyAlgorithm = ServiceAccountKeyAlgorithm.forNumber(0);
ServiceAccountKey response =
iAMClient.createServiceAccountKey(name, privateKeyType, keyAlgorithm);
}
name - Required. The resource name of the service account in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the
`PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.privateKeyType - The output format of the private key. The default value is
`TYPE_GOOGLE_CREDENTIALS_FILE`, which is the Google Credentials File format.keyAlgorithm - Which type of key and algorithm to use for the key. The default is
currently a 2K RSA key. However this may change in the future.com.google.api.gax.rpc.ApiException - if the remote call failspublic final ServiceAccountKey createServiceAccountKey(CreateServiceAccountKeyRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateServiceAccountKeyRequest request =
CreateServiceAccountKeyRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPrivateKeyType(ServiceAccountPrivateKeyType.forNumber(0))
.setKeyAlgorithm(ServiceAccountKeyAlgorithm.forNumber(0))
.build();
ServiceAccountKey response = iAMClient.createServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountKeyRequest,ServiceAccountKey> createServiceAccountKeyCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateServiceAccountKeyRequest request =
CreateServiceAccountKeyRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPrivateKeyType(ServiceAccountPrivateKeyType.forNumber(0))
.setKeyAlgorithm(ServiceAccountKeyAlgorithm.forNumber(0))
.build();
ApiFuture<ServiceAccountKey> future =
iAMClient.createServiceAccountKeyCallable().futureCall(request);
// Do something.
ServiceAccountKey response = future.get();
}
public final ServiceAccountKey uploadServiceAccountKey(UploadServiceAccountKeyRequest request)
After you upload the public key, you can use the private key from the key pair as a service account key.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UploadServiceAccountKeyRequest request =
UploadServiceAccountKeyRequest.newBuilder()
.setName("name3373707")
.setPublicKeyData(ByteString.EMPTY)
.build();
ServiceAccountKey response = iAMClient.uploadServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UploadServiceAccountKeyRequest,ServiceAccountKey> uploadServiceAccountKeyCallable()
After you upload the public key, you can use the private key from the key pair as a service account key.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UploadServiceAccountKeyRequest request =
UploadServiceAccountKeyRequest.newBuilder()
.setName("name3373707")
.setPublicKeyData(ByteString.EMPTY)
.build();
ApiFuture<ServiceAccountKey> future =
iAMClient.uploadServiceAccountKeyCallable().futureCall(request);
// Do something.
ServiceAccountKey response = future.get();
}
public final void deleteServiceAccountKey(KeyName name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
KeyName name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]");
iAMClient.deleteServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for
the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final void deleteServiceAccountKey(String name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString();
iAMClient.deleteServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`. Using `-` as a wildcard for
the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the
`email` address or the `unique_id` of the service account.com.google.api.gax.rpc.ApiException - if the remote call failspublic final void deleteServiceAccountKey(DeleteServiceAccountKeyRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteServiceAccountKeyRequest request =
DeleteServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
iAMClient.deleteServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountKeyRequest,com.google.protobuf.Empty> deleteServiceAccountKeyCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteServiceAccountKeyRequest request =
DeleteServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
ApiFuture<Empty> future = iAMClient.deleteServiceAccountKeyCallable().futureCall(request);
// Do something.
future.get();
}
public final void disableServiceAccountKey(KeyName name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
KeyName name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]");
iAMClient.disableServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final void disableServiceAccountKey(String name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString();
iAMClient.disableServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final void disableServiceAccountKey(DisableServiceAccountKeyRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DisableServiceAccountKeyRequest request =
DisableServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
iAMClient.disableServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountKeyRequest,com.google.protobuf.Empty> disableServiceAccountKeyCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DisableServiceAccountKeyRequest request =
DisableServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
ApiFuture<Empty> future = iAMClient.disableServiceAccountKeyCallable().futureCall(request);
// Do something.
future.get();
}
public final void enableServiceAccountKey(KeyName name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
KeyName name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]");
iAMClient.enableServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final void enableServiceAccountKey(String name)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString();
iAMClient.enableServiceAccountKey(name);
}
name - Required. The resource name of the service account key in the following format:
`projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}/keys/{key}`.
Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final void enableServiceAccountKey(EnableServiceAccountKeyRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
EnableServiceAccountKeyRequest request =
EnableServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
iAMClient.enableServiceAccountKey(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<EnableServiceAccountKeyRequest,com.google.protobuf.Empty> enableServiceAccountKeyCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
EnableServiceAccountKeyRequest request =
EnableServiceAccountKeyRequest.newBuilder()
.setName(KeyName.of("[PROJECT]", "[SERVICE_ACCOUNT]", "[KEY]").toString())
.build();
ApiFuture<Empty> future = iAMClient.enableServiceAccountKeyCallable().futureCall(request);
// Do something.
future.get();
}
@Deprecated public final SignBlobResponse signBlob(ServiceAccountName name, com.google.protobuf.ByteString bytesToSign)
Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
ByteString bytesToSign = ByteString.EMPTY;
SignBlobResponse response = iAMClient.signBlob(name, bytesToSign);
}
name - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
bytesToSign - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The bytes to sign.
com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final SignBlobResponse signBlob(String name, com.google.protobuf.ByteString bytesToSign)
Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
ByteString bytesToSign = ByteString.EMPTY;
SignBlobResponse response = iAMClient.signBlob(name, bytesToSign);
}
name - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
bytesToSign - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The bytes to sign.
com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final SignBlobResponse signBlob(SignBlobRequest request)
Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SignBlobRequest request =
SignBlobRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setBytesToSign(ByteString.EMPTY)
.build();
SignBlobResponse response = iAMClient.signBlob(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final com.google.api.gax.rpc.UnaryCallable<SignBlobRequest,SignBlobResponse> signBlobCallable()
Signs a blob using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SignBlobRequest request =
SignBlobRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setBytesToSign(ByteString.EMPTY)
.build();
ApiFuture<SignBlobResponse> future = iAMClient.signBlobCallable().futureCall(request);
// Do something.
SignBlobResponse response = future.get();
}
@Deprecated public final SignJwtResponse signJwt(ServiceAccountName name, String payload)
Signs a JSON Web Token (JWT) using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ServiceAccountName name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
String payload = "payload-786701938";
SignJwtResponse response = iAMClient.signJwt(name, payload);
}
name - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
payload - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}`
If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.
If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.
com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final SignJwtResponse signJwt(String name, String payload)
Signs a JSON Web Token (JWT) using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String name = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString();
String payload = "payload-786701938";
SignJwtResponse response = iAMClient.signJwt(name, payload);
}
name - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The resource name of the service account in the following format: `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. Using `-` as a wildcard for the `PROJECT_ID` will infer the project from the account. The `ACCOUNT` value can be the `email` address or the `unique_id` of the service account.
payload - Required. Deprecated. [Migrate to Service Account Credentials
API](https://cloud.google.com/iam/help/credentials/migrate-api).
The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{"sub": "user@example.com", "iat": 313435}`
If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.
If the JWT Claims Set does not contain an expiration time (`exp`) claim, this claim is added automatically, with a timestamp that is 1 hour in the future.
com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final SignJwtResponse signJwt(SignJwtRequest request)
Signs a JSON Web Token (JWT) using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SignJwtRequest request =
SignJwtRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPayload("payload-786701938")
.build();
SignJwtResponse response = iAMClient.signJwt(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call fails@Deprecated public final com.google.api.gax.rpc.UnaryCallable<SignJwtRequest,SignJwtResponse> signJwtCallable()
Signs a JSON Web Token (JWT) using the system-managed private key for a [ServiceAccount][google.iam.admin.v1.ServiceAccount].
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SignJwtRequest request =
SignJwtRequest.newBuilder()
.setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPayload("payload-786701938")
.build();
ApiFuture<SignJwtResponse> future = iAMClient.signJwtCallable().futureCall(request);
// Do something.
SignJwtResponse response = future.get();
}
public final com.google.iam.v1.Policy getIamPolicy(com.google.api.resourcenames.ResourceName resource)
This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ResourceName resource = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
Policy response = iAMClient.getIamPolicy(resource);
}
resource - REQUIRED: The resource for which the policy is being requested. See the
operation documentation for the appropriate value for this field.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy getIamPolicy(String resource)
This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String resource = ProjectName.of("[PROJECT]").toString();
Policy response = iAMClient.getIamPolicy(resource);
}
resource - REQUIRED: The resource for which the policy is being requested. See the
operation documentation for the appropriate value for this field.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy getIamPolicy(com.google.iam.v1.GetIamPolicyRequest request)
This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
Policy response = iAMClient.getIamPolicy(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.GetIamPolicyRequest,com.google.iam.v1.Policy> getIamPolicyCallable()
This method does not tell you whether the service account has been granted any roles on other resources. To check whether a service account has role grants on a resource, use the `getIamPolicy` method for that resource. For example, to view the role grants for a project, call the Resource Manager API's [`projects.getIamPolicy`](https://cloud.google.com/resource-manager/reference/rest/v1/projects/getIamPolicy) method.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetIamPolicyRequest request =
GetIamPolicyRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setOptions(GetPolicyOptions.newBuilder().build())
.build();
ApiFuture<Policy> future = iAMClient.getIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
public final com.google.iam.v1.Policy setIamPolicy(com.google.api.resourcenames.ResourceName resource,
com.google.iam.v1.Policy policy)
Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account.
This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps:
1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy.
For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ResourceName resource = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
Policy policy = Policy.newBuilder().build();
Policy response = iAMClient.setIamPolicy(resource, policy);
}
resource - REQUIRED: The resource for which the policy is being specified. See the
operation documentation for the appropriate value for this field.policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the
policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
Platform services (such as Projects) might reject them.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy setIamPolicy(String resource, com.google.iam.v1.Policy policy)
Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account.
This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps:
1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy.
For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String resource = ProjectName.of("[PROJECT]").toString();
Policy policy = Policy.newBuilder().build();
Policy response = iAMClient.setIamPolicy(resource, policy);
}
resource - REQUIRED: The resource for which the policy is being specified. See the
operation documentation for the appropriate value for this field.policy - REQUIRED: The complete policy to be applied to the `resource`. The size of the
policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud
Platform services (such as Projects) might reject them.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.Policy setIamPolicy(com.google.iam.v1.SetIamPolicyRequest request)
Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account.
This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps:
1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy.
For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Policy response = iAMClient.setIamPolicy(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.SetIamPolicyRequest,com.google.iam.v1.Policy> setIamPolicyCallable()
Use this method to grant or revoke access to the service account. For example, you could grant a principal the ability to impersonate the service account.
This method does not enable the service account to access other resources. To grant roles to a service account on a resource, follow these steps:
1. Call the resource's `getIamPolicy` method to get its current IAM policy. 2. Edit the policy so that it binds the service account to an IAM role for the resource. 3. Call the resource's `setIamPolicy` method to update its IAM policy.
For detailed instructions, see [Manage access to project, folders, and organizations](https://cloud.google.com/iam/help/service-accounts/granting-access-to-service-accounts) or [Manage access to other resources](https://cloud.google.com/iam/help/access/manage-other-resources).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
SetIamPolicyRequest request =
SetIamPolicyRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.setPolicy(Policy.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Policy> future = iAMClient.setIamPolicyCallable().futureCall(request);
// Do something.
Policy response = future.get();
}
public final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.api.resourcenames.ResourceName resource,
List<String> permissions)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ResourceName resource = ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]");
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = iAMClient.testIamPermissions(resource, permissions);
}
resource - REQUIRED: The resource for which the policy detail is being requested. See the
operation documentation for the appropriate value for this field.permissions - The set of permissions to check for the `resource`. Permissions with
wildcards (such as '*' or 'storage.*') are not allowed. For more information see
[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(String resource, List<String> permissions)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String resource = ProjectName.of("[PROJECT]").toString();
List<String> permissions = new ArrayList<>();
TestIamPermissionsResponse response = iAMClient.testIamPermissions(resource, permissions);
}
resource - REQUIRED: The resource for which the policy detail is being requested. See the
operation documentation for the appropriate value for this field.permissions - The set of permissions to check for the `resource`. Permissions with
wildcards (such as '*' or 'storage.*') are not allowed. For more information see
[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.iam.v1.TestIamPermissionsResponse testIamPermissions(com.google.iam.v1.TestIamPermissionsRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
TestIamPermissionsResponse response = iAMClient.testIamPermissions(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<com.google.iam.v1.TestIamPermissionsRequest,com.google.iam.v1.TestIamPermissionsResponse> testIamPermissionsCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
TestIamPermissionsRequest request =
TestIamPermissionsRequest.newBuilder()
.setResource(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString())
.addAllPermissions(new ArrayList<String>())
.build();
ApiFuture<TestIamPermissionsResponse> future =
iAMClient.testIamPermissionsCallable().futureCall(request);
// Do something.
TestIamPermissionsResponse response = future.get();
}
public final IAMClient.QueryGrantableRolesPagedResponse queryGrantableRoles(String fullResourceName)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
String fullResourceName = "fullResourceName-853732376";
for (Role element : iAMClient.queryGrantableRoles(fullResourceName).iterateAll()) {
// doThingsWith(element);
}
}
fullResourceName - Required. The full resource name to query from the list of grantable
roles.
The name follows the Google Cloud Platform resource format. For example, a Cloud Platform project with id `my-project` will be named `//cloudresourcemanager.googleapis.com/projects/my-project`.
com.google.api.gax.rpc.ApiException - if the remote call failspublic final IAMClient.QueryGrantableRolesPagedResponse queryGrantableRoles(QueryGrantableRolesRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryGrantableRolesRequest request =
QueryGrantableRolesRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setView(RoleView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Role element : iAMClient.queryGrantableRoles(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,IAMClient.QueryGrantableRolesPagedResponse> queryGrantableRolesPagedCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryGrantableRolesRequest request =
QueryGrantableRolesRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setView(RoleView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Role> future = iAMClient.queryGrantableRolesPagedCallable().futureCall(request);
// Do something.
for (Role element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,QueryGrantableRolesResponse> queryGrantableRolesCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryGrantableRolesRequest request =
QueryGrantableRolesRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setView(RoleView.forNumber(0))
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
QueryGrantableRolesResponse response =
iAMClient.queryGrantableRolesCallable().call(request);
for (Role element : response.getRolesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final IAMClient.ListRolesPagedResponse listRoles(ListRolesRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListRolesRequest request =
ListRolesRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setView(RoleView.forNumber(0))
.setShowDeleted(true)
.build();
for (Role element : iAMClient.listRoles(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<ListRolesRequest,IAMClient.ListRolesPagedResponse> listRolesPagedCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListRolesRequest request =
ListRolesRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setView(RoleView.forNumber(0))
.setShowDeleted(true)
.build();
ApiFuture<Role> future = iAMClient.listRolesPagedCallable().futureCall(request);
// Do something.
for (Role element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<ListRolesRequest,ListRolesResponse> listRolesCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
ListRolesRequest request =
ListRolesRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setView(RoleView.forNumber(0))
.setShowDeleted(true)
.build();
while (true) {
ListRolesResponse response = iAMClient.listRolesCallable().call(request);
for (Role element : response.getRolesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final Role getRole(GetRoleRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetRoleRequest request =
GetRoleRequest.newBuilder().setName("GetRoleRequest84528163".toString()).build();
Role response = iAMClient.getRole(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<GetRoleRequest,Role> getRoleCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
GetRoleRequest request =
GetRoleRequest.newBuilder().setName("GetRoleRequest84528163".toString()).build();
ApiFuture<Role> future = iAMClient.getRoleCallable().futureCall(request);
// Do something.
Role response = future.get();
}
public final Role createRole(CreateRoleRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateRoleRequest request =
CreateRoleRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setRoleId("roleId-925416399")
.setRole(Role.newBuilder().build())
.build();
Role response = iAMClient.createRole(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<CreateRoleRequest,Role> createRoleCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
CreateRoleRequest request =
CreateRoleRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setRoleId("roleId-925416399")
.setRole(Role.newBuilder().build())
.build();
ApiFuture<Role> future = iAMClient.createRoleCallable().futureCall(request);
// Do something.
Role response = future.get();
}
public final Role updateRole(UpdateRoleRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UpdateRoleRequest request =
UpdateRoleRequest.newBuilder()
.setName("UpdateRoleRequest230834320".toString())
.setRole(Role.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
Role response = iAMClient.updateRole(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UpdateRoleRequest,Role> updateRoleCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UpdateRoleRequest request =
UpdateRoleRequest.newBuilder()
.setName("UpdateRoleRequest230834320".toString())
.setRole(Role.newBuilder().build())
.setUpdateMask(FieldMask.newBuilder().build())
.build();
ApiFuture<Role> future = iAMClient.updateRoleCallable().futureCall(request);
// Do something.
Role response = future.get();
}
public final Role deleteRole(DeleteRoleRequest request)
When you delete a custom role, the following changes occur immediately:
You have 7 days to undelete the custom role. After 7 days, the following changes occur:
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteRoleRequest request =
DeleteRoleRequest.newBuilder()
.setName("DeleteRoleRequest1468559982".toString())
.setEtag(ByteString.EMPTY)
.build();
Role response = iAMClient.deleteRole(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<DeleteRoleRequest,Role> deleteRoleCallable()
When you delete a custom role, the following changes occur immediately:
You have 7 days to undelete the custom role. After 7 days, the following changes occur:
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
DeleteRoleRequest request =
DeleteRoleRequest.newBuilder()
.setName("DeleteRoleRequest1468559982".toString())
.setEtag(ByteString.EMPTY)
.build();
ApiFuture<Role> future = iAMClient.deleteRoleCallable().futureCall(request);
// Do something.
Role response = future.get();
}
public final Role undeleteRole(UndeleteRoleRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UndeleteRoleRequest request =
UndeleteRoleRequest.newBuilder()
.setName("UndeleteRoleRequest755355893".toString())
.setEtag(ByteString.EMPTY)
.build();
Role response = iAMClient.undeleteRole(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<UndeleteRoleRequest,Role> undeleteRoleCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
UndeleteRoleRequest request =
UndeleteRoleRequest.newBuilder()
.setName("UndeleteRoleRequest755355893".toString())
.setEtag(ByteString.EMPTY)
.build();
ApiFuture<Role> future = iAMClient.undeleteRoleCallable().futureCall(request);
// Do something.
Role response = future.get();
}
public final IAMClient.QueryTestablePermissionsPagedResponse queryTestablePermissions(QueryTestablePermissionsRequest request)
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryTestablePermissionsRequest request =
QueryTestablePermissionsRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Permission element : iAMClient.queryTestablePermissions(request).iterateAll()) {
// doThingsWith(element);
}
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,IAMClient.QueryTestablePermissionsPagedResponse> queryTestablePermissionsPagedCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryTestablePermissionsRequest request =
QueryTestablePermissionsRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture<Permission> future =
iAMClient.queryTestablePermissionsPagedCallable().futureCall(request);
// Do something.
for (Permission element : future.get().iterateAll()) {
// doThingsWith(element);
}
}
public final com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,QueryTestablePermissionsResponse> queryTestablePermissionsCallable()
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryTestablePermissionsRequest request =
QueryTestablePermissionsRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
QueryTestablePermissionsResponse response =
iAMClient.queryTestablePermissionsCallable().call(request);
for (Permission element : response.getPermissionsList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
public final QueryAuditableServicesResponse queryAuditableServices(QueryAuditableServicesRequest request)
To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryAuditableServicesRequest request =
QueryAuditableServicesRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.build();
QueryAuditableServicesResponse response = iAMClient.queryAuditableServices(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<QueryAuditableServicesRequest,QueryAuditableServicesResponse> queryAuditableServicesCallable()
To learn more about audit logs, see the [Logging documentation](https://cloud.google.com/logging/docs/audit).
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
QueryAuditableServicesRequest request =
QueryAuditableServicesRequest.newBuilder()
.setFullResourceName("fullResourceName-853732376")
.build();
ApiFuture<QueryAuditableServicesResponse> future =
iAMClient.queryAuditableServicesCallable().futureCall(request);
// Do something.
QueryAuditableServicesResponse response = future.get();
}
public final LintPolicyResponse lintPolicy(LintPolicyRequest request)
Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
LintPolicyRequest request =
LintPolicyRequest.newBuilder().setFullResourceName("fullResourceName-853732376").build();
LintPolicyResponse response = iAMClient.lintPolicy(request);
}
request - The request object containing all of the parameters for the API call.com.google.api.gax.rpc.ApiException - if the remote call failspublic final com.google.api.gax.rpc.UnaryCallable<LintPolicyRequest,LintPolicyResponse> lintPolicyCallable()
Successful calls to this method always return an HTTP `200 OK` status code, even if the linter detects an issue in the IAM policy.
Sample code:
// This snippet has been automatically generated and should be regarded as a code template only.
// It will require modifications to work:
// - It may require correct/in-range values for request initialization.
// - It may require specifying regional endpoints when creating the service client as shown in
// https://cloud.google.com/java/docs/setup#configure_endpoints_for_the_client_library
try (IAMClient iAMClient = IAMClient.create()) {
LintPolicyRequest request =
LintPolicyRequest.newBuilder().setFullResourceName("fullResourceName-853732376").build();
ApiFuture<LintPolicyResponse> future = iAMClient.lintPolicyCallable().futureCall(request);
// Do something.
LintPolicyResponse response = future.get();
}
public final void close()
close in interface AutoCloseablepublic void shutdown()
shutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isShutdown()
isShutdown in interface com.google.api.gax.core.BackgroundResourcepublic boolean isTerminated()
isTerminated in interface com.google.api.gax.core.BackgroundResourcepublic void shutdownNow()
shutdownNow in interface com.google.api.gax.core.BackgroundResourcepublic boolean awaitTermination(long duration,
TimeUnit unit)
throws InterruptedException
awaitTermination in interface com.google.api.gax.core.BackgroundResourceInterruptedExceptionCopyright © 2025 Google LLC. All rights reserved.