Class IAMClient
- java.lang.Object
-
- com.google.cloud.iam.admin.v1.IAMClient
-
- All Implemented Interfaces:
com.google.api.gax.core.BackgroundResource
,AutoCloseable
@Generated("by gapic-generator-java") public class IAMClient extends Object implements com.google.api.gax.core.BackgroundResource
Service Description: Creates and manages Identity and Access Management (IAM) resources.You can use this service to work with all of the following resources:
- **Service accounts**, which identify an application or a virtual machine (VM) instance rather than a person
- **Service account keys**, which service accounts use to authenticate with Google APIs
- **IAM policies for service accounts**, which specify the roles that a principal has for the service account
- **IAM custom roles**, which help you limit the number of permissions that you grant to principals
In addition, you can use this service to complete the following tasks, among others:
- Test whether a service account can use specific permissions
- Check which roles you can grant for a specific resource
- Lint, or validate, condition expressions in an IAM policy
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().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of 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.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 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
-
Constructor Summary
Constructors Modifier Constructor Description protected
IAMClient(IAMSettings settings)
Constructs an instance of IAMClient, using the given settings.protected
IAMClient(IAMStub stub)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method 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.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(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(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(com.google.iam.v1.TestIamPermissionsRequest request)
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.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].
-
-
-
Constructor Detail
-
IAMClient
protected IAMClient(IAMSettings settings) throws IOException
Constructs an instance of IAMClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.- Throws:
IOException
-
IAMClient
protected IAMClient(IAMStub stub)
-
-
Method Detail
-
create
public static final IAMClient create() throws IOException
Constructs an instance of IAMClient with default settings.- Throws:
IOException
-
create
public static final IAMClient create(IAMSettings settings) throws IOException
Constructs an instance of IAMClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.- Throws:
IOException
-
create
public static final IAMClient create(IAMStub stub)
Constructs an instance of IAMClient, using the given stub for making calls. This is for advanced usage - prefer using create(IAMSettings).
-
getSettings
public final IAMSettings getSettings()
-
getStub
public IAMStub getStub()
-
listServiceAccounts
public final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(ProjectName name)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.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); } }
- Parameters:
name
- Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccounts
public final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(String name)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.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); } }
- Parameters:
name
- Required. The resource name of the project associated with the service accounts, such as `projects/my-project-123`.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccounts
public final IAMClient.ListServiceAccountsPagedResponse listServiceAccounts(ListServiceAccountsRequest request)
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.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); } }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccountsPagedCallable
public final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,IAMClient.ListServiceAccountsPagedResponse> listServiceAccountsPagedCallable()
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.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); } }
-
listServiceAccountsCallable
public final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountsRequest,ListServiceAccountsResponse> listServiceAccountsCallable()
Lists every [ServiceAccount][google.iam.admin.v1.ServiceAccount] that belongs to a specific project.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; } } }
-
getServiceAccount
public final ServiceAccount getServiceAccount(ServiceAccountName name)
Gets 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]"); ServiceAccount response = iAMClient.getServiceAccount(name); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccount
public final ServiceAccount getServiceAccount(String name)
Gets 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(); ServiceAccount response = iAMClient.getServiceAccount(name); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccount
public final ServiceAccount getServiceAccount(GetServiceAccountRequest request)
Gets 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()) { GetServiceAccountRequest request = GetServiceAccountRequest.newBuilder() .setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString()) .build(); ServiceAccount response = iAMClient.getServiceAccount(request); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<GetServiceAccountRequest,ServiceAccount> getServiceAccountCallable()
Gets 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()) { 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(); }
-
createServiceAccount
public final ServiceAccount createServiceAccount(ProjectName name, String accountId, ServiceAccount serviceAccount)
Creates 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()) { ProjectName name = ProjectName.of("[PROJECT]"); String accountId = "accountId-1827029976"; ServiceAccount serviceAccount = ServiceAccount.newBuilder().build(); ServiceAccount response = iAMClient.createServiceAccount(name, accountId, serviceAccount); }
- Parameters:
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`.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccount
public final ServiceAccount createServiceAccount(String name, String accountId, ServiceAccount serviceAccount)
Creates 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 = ProjectName.of("[PROJECT]").toString(); String accountId = "accountId-1827029976"; ServiceAccount serviceAccount = ServiceAccount.newBuilder().build(); ServiceAccount response = iAMClient.createServiceAccount(name, accountId, serviceAccount); }
- Parameters:
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`.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccount
public final ServiceAccount createServiceAccount(CreateServiceAccountRequest request)
Creates 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()) { CreateServiceAccountRequest request = CreateServiceAccountRequest.newBuilder() .setName(ProjectName.of("[PROJECT]").toString()) .setAccountId("accountId-1827029976") .setServiceAccount(ServiceAccount.newBuilder().build()) .build(); ServiceAccount response = iAMClient.createServiceAccount(request); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountRequest,ServiceAccount> createServiceAccountCallable()
Creates 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()) { 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(); }
-
updateServiceAccount
public final ServiceAccount updateServiceAccount(ServiceAccount request)
**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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
updateServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<ServiceAccount,ServiceAccount> updateServiceAccountCallable()
**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.
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(); }
-
patchServiceAccount
public final ServiceAccount patchServiceAccount(PatchServiceAccountRequest request)
Patches 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()) { PatchServiceAccountRequest request = PatchServiceAccountRequest.newBuilder() .setServiceAccount(ServiceAccount.newBuilder().build()) .setUpdateMask(FieldMask.newBuilder().build()) .build(); ServiceAccount response = iAMClient.patchServiceAccount(request); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
patchServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<PatchServiceAccountRequest,ServiceAccount> patchServiceAccountCallable()
Patches 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()) { 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(); }
-
deleteServiceAccount
public final void deleteServiceAccount(ServiceAccountName name)
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.
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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccount
public final void deleteServiceAccount(String name)
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.
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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccount
public final void deleteServiceAccount(DeleteServiceAccountRequest request)
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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountRequest,com.google.protobuf.Empty> deleteServiceAccountCallable()
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.
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(); }
-
undeleteServiceAccount
public final UndeleteServiceAccountResponse undeleteServiceAccount(UndeleteServiceAccountRequest request)
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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
undeleteServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<UndeleteServiceAccountRequest,UndeleteServiceAccountResponse> undeleteServiceAccountCallable()
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.
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(); }
-
enableServiceAccount
public final void enableServiceAccount(EnableServiceAccountRequest request)
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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
enableServiceAccountCallable
public final 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].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(); }
-
disableServiceAccount
public final void disableServiceAccount(DisableServiceAccountRequest request)
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].
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
disableServiceAccountCallable
public final com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountRequest,com.google.protobuf.Empty> disableServiceAccountCallable()
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].
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(); }
-
listServiceAccountKeys
public final ListServiceAccountKeysResponse listServiceAccountKeys(ServiceAccountName name, List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a 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]"); List<ListServiceAccountKeysRequest.KeyType> keyTypes = new ArrayList<>(); ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(name, keyTypes); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccountKeys
public final ListServiceAccountKeysResponse listServiceAccountKeys(String name, List<ListServiceAccountKeysRequest.KeyType> keyTypes)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a 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(); List<ListServiceAccountKeysRequest.KeyType> keyTypes = new ArrayList<>(); ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(name, keyTypes); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccountKeys
public final ListServiceAccountKeysResponse listServiceAccountKeys(ListServiceAccountKeysRequest request)
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a 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()) { ListServiceAccountKeysRequest request = ListServiceAccountKeysRequest.newBuilder() .setName(ServiceAccountName.of("[PROJECT]", "[SERVICE_ACCOUNT]").toString()) .addAllKeyTypes(new ArrayList<ListServiceAccountKeysRequest.KeyType>()) .build(); ListServiceAccountKeysResponse response = iAMClient.listServiceAccountKeys(request); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listServiceAccountKeysCallable
public final com.google.api.gax.rpc.UnaryCallable<ListServiceAccountKeysRequest,ListServiceAccountKeysResponse> listServiceAccountKeysCallable()
Lists every [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey] for a 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()) { 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(); }
-
getServiceAccountKey
public final ServiceAccountKey getServiceAccountKey(KeyName name, ServiceAccountPublicKeyType publicKeyType)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccountKey
public final ServiceAccountKey getServiceAccountKey(String name, ServiceAccountPublicKeyType publicKeyType)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccountKey
public final ServiceAccountKey getServiceAccountKey(GetServiceAccountKeyRequest request)
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getServiceAccountKeyCallable
public final com.google.api.gax.rpc.UnaryCallable<GetServiceAccountKeyRequest,ServiceAccountKey> getServiceAccountKeyCallable()
Gets a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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(); }
-
createServiceAccountKey
public final ServiceAccountKey createServiceAccountKey(ServiceAccountName name, ServiceAccountPrivateKeyType privateKeyType, ServiceAccountKeyAlgorithm keyAlgorithm)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccountKey
public final ServiceAccountKey createServiceAccountKey(String name, ServiceAccountPrivateKeyType privateKeyType, ServiceAccountKeyAlgorithm keyAlgorithm)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccountKey
public final ServiceAccountKey createServiceAccountKey(CreateServiceAccountKeyRequest request)
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createServiceAccountKeyCallable
public final com.google.api.gax.rpc.UnaryCallable<CreateServiceAccountKeyRequest,ServiceAccountKey> createServiceAccountKeyCallable()
Creates a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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(); }
-
uploadServiceAccountKey
public final 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].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
uploadServiceAccountKeyCallable
public final 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].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(); }
-
deleteServiceAccountKey
public final void deleteServiceAccountKey(KeyName name)
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.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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccountKey
public final void deleteServiceAccountKey(String name)
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.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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccountKey
public final void deleteServiceAccountKey(DeleteServiceAccountKeyRequest request)
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.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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteServiceAccountKeyCallable
public final com.google.api.gax.rpc.UnaryCallable<DeleteServiceAccountKeyRequest,com.google.protobuf.Empty> deleteServiceAccountKeyCallable()
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.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(); }
-
disableServiceAccountKey
public final void disableServiceAccountKey(KeyName name)
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].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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
disableServiceAccountKey
public final void disableServiceAccountKey(String name)
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].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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
disableServiceAccountKey
public final void disableServiceAccountKey(DisableServiceAccountKeyRequest request)
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].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
disableServiceAccountKeyCallable
public final com.google.api.gax.rpc.UnaryCallable<DisableServiceAccountKeyRequest,com.google.protobuf.Empty> disableServiceAccountKeyCallable()
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].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(); }
-
enableServiceAccountKey
public final void enableServiceAccountKey(KeyName name)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
enableServiceAccountKey
public final void enableServiceAccountKey(String name)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
enableServiceAccountKey
public final void enableServiceAccountKey(EnableServiceAccountKeyRequest request)
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
enableServiceAccountKeyCallable
public final com.google.api.gax.rpc.UnaryCallable<EnableServiceAccountKeyRequest,com.google.protobuf.Empty> enableServiceAccountKeyCallable()
Enable a [ServiceAccountKey][google.iam.admin.v1.ServiceAccountKey].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(); }
-
signBlob
@Deprecated public final SignBlobResponse signBlob(ServiceAccountName name, com.google.protobuf.ByteString bytesToSign)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signBlob
@Deprecated public final SignBlobResponse signBlob(String name, com.google.protobuf.ByteString bytesToSign)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signBlob
@Deprecated public final SignBlobResponse signBlob(SignBlobRequest request)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signBlobCallable
@Deprecated public final com.google.api.gax.rpc.UnaryCallable<SignBlobRequest,SignBlobResponse> signBlobCallable()
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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(); }
-
signJwt
@Deprecated public final SignJwtResponse signJwt(ServiceAccountName name, String payload)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signJwt
@Deprecated public final SignJwtResponse signJwt(String name, String payload)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
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.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signJwt
@Deprecated public final SignJwtResponse signJwt(SignJwtRequest request)
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
signJwtCallable
@Deprecated public final com.google.api.gax.rpc.UnaryCallable<SignJwtRequest,SignJwtResponse> signJwtCallable()
Deprecated.This method is deprecated and will be removed in the next major version update.**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].
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(); }
-
getIamPolicy
public final 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]. 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.
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); }
- Parameters:
resource
- REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getIamPolicy
public final com.google.iam.v1.Policy getIamPolicy(String resource)
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.
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); }
- Parameters:
resource
- REQUIRED: The resource for which the policy is being requested. See the operation documentation for the appropriate value for this field.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getIamPolicy
public final 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]. 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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getIamPolicyCallable
public final 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]. 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.
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(); }
-
setIamPolicy
public final 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].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
setIamPolicy
public final 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].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); }
- Parameters:
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.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
setIamPolicy
public final 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].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
setIamPolicyCallable
public final 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].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(); }
-
testIamPermissions
public final 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].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); }
- Parameters:
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).- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
testIamPermissions
public final 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].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); }
- Parameters:
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).- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
testIamPermissions
public final 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].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
testIamPermissionsCallable
public final 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].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(); }
-
queryGrantableRoles
public final IAMClient.QueryGrantableRolesPagedResponse queryGrantableRoles(String fullResourceName)
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.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); } }
- Parameters:
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`.
- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
queryGrantableRoles
public final IAMClient.QueryGrantableRolesPagedResponse queryGrantableRoles(QueryGrantableRolesRequest request)
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.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); } }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
queryGrantableRolesPagedCallable
public final com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,IAMClient.QueryGrantableRolesPagedResponse> queryGrantableRolesPagedCallable()
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.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); } }
-
queryGrantableRolesCallable
public final com.google.api.gax.rpc.UnaryCallable<QueryGrantableRolesRequest,QueryGrantableRolesResponse> queryGrantableRolesCallable()
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.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; } } }
-
listRoles
public final 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.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); } }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
listRolesPagedCallable
public final 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.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); } }
-
listRolesCallable
public final 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.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; } } }
-
getRole
public final Role getRole(GetRoleRequest request)
Gets the definition of a [Role][google.iam.admin.v1.Role].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
getRoleCallable
public final com.google.api.gax.rpc.UnaryCallable<GetRoleRequest,Role> getRoleCallable()
Gets the definition of a [Role][google.iam.admin.v1.Role].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(); }
-
createRole
public final Role createRole(CreateRoleRequest request)
Creates a new custom [Role][google.iam.admin.v1.Role].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
createRoleCallable
public final com.google.api.gax.rpc.UnaryCallable<CreateRoleRequest,Role> createRoleCallable()
Creates a new custom [Role][google.iam.admin.v1.Role].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(); }
-
updateRole
public final Role updateRole(UpdateRoleRequest request)
Updates the definition of a custom [Role][google.iam.admin.v1.Role].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
updateRoleCallable
public final com.google.api.gax.rpc.UnaryCallable<UpdateRoleRequest,Role> updateRoleCallable()
Updates the definition of a custom [Role][google.iam.admin.v1.Role].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(); }
-
deleteRole
public final Role deleteRole(DeleteRoleRequest request)
Deletes a custom [Role][google.iam.admin.v1.Role].When you delete a custom role, the following changes occur immediately:
- You cannot bind a principal to the custom role in an IAM [Policy][google.iam.v1.Policy].
- Existing bindings to the custom role are not changed, but they have no effect.
- By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom role.
You have 7 days to undelete the custom role. After 7 days, the following changes occur:
- The custom role is permanently deleted and cannot be recovered.
- If an IAM policy contains a binding to the custom role, the binding is 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()) { DeleteRoleRequest request = DeleteRoleRequest.newBuilder() .setName("DeleteRoleRequest1468559982".toString()) .setEtag(ByteString.EMPTY) .build(); Role response = iAMClient.deleteRole(request); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
deleteRoleCallable
public final com.google.api.gax.rpc.UnaryCallable<DeleteRoleRequest,Role> deleteRoleCallable()
Deletes a custom [Role][google.iam.admin.v1.Role].When you delete a custom role, the following changes occur immediately:
- You cannot bind a principal to the custom role in an IAM [Policy][google.iam.v1.Policy].
- Existing bindings to the custom role are not changed, but they have no effect.
- By default, the response from [ListRoles][google.iam.admin.v1.IAM.ListRoles] does not include the custom role.
You have 7 days to undelete the custom role. After 7 days, the following changes occur:
- The custom role is permanently deleted and cannot be recovered.
- If an IAM policy contains a binding to the custom role, the binding is 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()) { DeleteRoleRequest request = DeleteRoleRequest.newBuilder() .setName("DeleteRoleRequest1468559982".toString()) .setEtag(ByteString.EMPTY) .build(); ApiFuture<Role> future = iAMClient.deleteRoleCallable().futureCall(request); // Do something. Role response = future.get(); }
-
undeleteRole
public final Role undeleteRole(UndeleteRoleRequest request)
Undeletes a custom [Role][google.iam.admin.v1.Role].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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
undeleteRoleCallable
public final com.google.api.gax.rpc.UnaryCallable<UndeleteRoleRequest,Role> undeleteRoleCallable()
Undeletes a custom [Role][google.iam.admin.v1.Role].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(); }
-
queryTestablePermissions
public final IAMClient.QueryTestablePermissionsPagedResponse queryTestablePermissions(QueryTestablePermissionsRequest request)
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.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); } }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
queryTestablePermissionsPagedCallable
public final com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,IAMClient.QueryTestablePermissionsPagedResponse> queryTestablePermissionsPagedCallable()
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.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); } }
-
queryTestablePermissionsCallable
public final com.google.api.gax.rpc.UnaryCallable<QueryTestablePermissionsRequest,QueryTestablePermissionsResponse> queryTestablePermissionsCallable()
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.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; } } }
-
queryAuditableServices
public final QueryAuditableServicesResponse queryAuditableServices(QueryAuditableServicesRequest request)
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).
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
queryAuditableServicesCallable
public final 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.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(); }
-
lintPolicy
public final LintPolicyResponse lintPolicy(LintPolicyRequest request)
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.
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); }
- Parameters:
request
- The request object containing all of the parameters for the API call.- Throws:
com.google.api.gax.rpc.ApiException
- if the remote call fails
-
lintPolicyCallable
public final com.google.api.gax.rpc.UnaryCallable<LintPolicyRequest,LintPolicyResponse> lintPolicyCallable()
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.
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(); }
-
close
public final void close()
- Specified by:
close
in interfaceAutoCloseable
-
shutdown
public void shutdown()
- Specified by:
shutdown
in interfacecom.google.api.gax.core.BackgroundResource
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdown
in interfacecom.google.api.gax.core.BackgroundResource
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminated
in interfacecom.google.api.gax.core.BackgroundResource
-
shutdownNow
public void shutdownNow()
- Specified by:
shutdownNow
in interfacecom.google.api.gax.core.BackgroundResource
-
awaitTermination
public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException
- Specified by:
awaitTermination
in interfacecom.google.api.gax.core.BackgroundResource
- Throws:
InterruptedException
-
-