Class ProjectServiceClient (0.40.0)

GitHub RepositoryProduct Reference

Service Description: Service for operations on the Project.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProjectName name = ProjectName.of("[PROJECT]");
   Project response = projectServiceClient.getProject(name);
 }
 

Note: close() needs to be called on the ProjectServiceClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().

Methods
Method Description Method Variants

GetProject

Gets a Project. Returns NOT_FOUND when the project is not yet created.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • getProject(GetProjectRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • getProject(ProjectName name)

  • getProject(String name)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • getProjectCallable()

ProvisionProject

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • provisionProjectAsync(ProvisionProjectRequest request)

Methods that return long-running operations have "Async" method variants that return OperationFuture, which is used to track polling of the service.

  • provisionProjectAsync(ProjectName name)

  • provisionProjectAsync(String name)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • provisionProjectOperationCallable()

  • provisionProjectCallable()

ReportConsentChange

Updates service terms for this project.

This method can be used to retroactively accept the latest terms.

Terms available for update:

Request object method variants only take one parameter, a request object, which must be constructed before the call.

  • reportConsentChange(ReportConsentChangeRequest request)

"Flattened" method variants have converted the fields of the request object into function parameters to enable multiple ways to call the same method.

  • reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, ProjectName project, String serviceTermId, String serviceTermVersion)

  • reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, String project, String serviceTermId, String serviceTermVersion)

Callable method variants take no parameters and return an immutable API callable object, which can be used to initiate calls to the service.

  • reportConsentChangeCallable()

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 ProjectServiceSettings 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
 ProjectServiceSettings projectServiceSettings =
     ProjectServiceSettings.newBuilder()
         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
         .build();
 ProjectServiceClient projectServiceClient = ProjectServiceClient.create(projectServiceSettings);
 

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
 ProjectServiceSettings projectServiceSettings =
     ProjectServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
 ProjectServiceClient projectServiceClient = ProjectServiceClient.create(projectServiceSettings);
 

To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over the wire:


 // 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
 ProjectServiceSettings projectServiceSettings =
     ProjectServiceSettings.newHttpJsonBuilder().build();
 ProjectServiceClient projectServiceClient = ProjectServiceClient.create(projectServiceSettings);
 

Please refer to the GitHub repository's samples for more quickstart code snippets.

Inheritance

java.lang.Object > ProjectServiceClient

Static Methods

create()

public static final ProjectServiceClient create()

Constructs an instance of ProjectServiceClient with default settings.

Returns
Type Description
ProjectServiceClient
Exceptions
Type Description
IOException

create(ProjectServiceSettings settings)

public static final ProjectServiceClient create(ProjectServiceSettings settings)

Constructs an instance of ProjectServiceClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.

Parameter
Name Description
settings ProjectServiceSettings
Returns
Type Description
ProjectServiceClient
Exceptions
Type Description
IOException

create(ProjectServiceStub stub)

public static final ProjectServiceClient create(ProjectServiceStub stub)

Constructs an instance of ProjectServiceClient, using the given stub for making calls. This is for advanced usage - prefer using create(ProjectServiceSettings).

Parameter
Name Description
stub ProjectServiceStub
Returns
Type Description
ProjectServiceClient

Constructors

ProjectServiceClient(ProjectServiceSettings settings)

protected ProjectServiceClient(ProjectServiceSettings settings)

Constructs an instance of ProjectServiceClient, 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.

Parameter
Name Description
settings ProjectServiceSettings

ProjectServiceClient(ProjectServiceStub stub)

protected ProjectServiceClient(ProjectServiceStub stub)
Parameter
Name Description
stub ProjectServiceStub

Methods

awaitTermination(long duration, TimeUnit unit)

public boolean awaitTermination(long duration, TimeUnit unit)
Parameters
Name Description
duration long
unit TimeUnit
Returns
Type Description
boolean
Exceptions
Type Description
InterruptedException

close()

public final void close()

getHttpJsonOperationsClient()

public final OperationsClient getHttpJsonOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
Type Description
OperationsClient

getOperationsClient()

public final OperationsClient getOperationsClient()

Returns the OperationsClient that can be used to query the status of a long-running operation returned by another API method call.

Returns
Type Description
OperationsClient

getProject(GetProjectRequest request)

public final Project getProject(GetProjectRequest request)

Gets a Project. Returns NOT_FOUND when the project is not yet created.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   GetProjectRequest request =
       GetProjectRequest.newBuilder().setName(ProjectName.of("[PROJECT]").toString()).build();
   Project response = projectServiceClient.getProject(request);
 }
 
Parameter
Name Description
request GetProjectRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Project

getProject(ProjectName name)

public final Project getProject(ProjectName name)

Gets a Project. Returns NOT_FOUND when the project is not yet created.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProjectName name = ProjectName.of("[PROJECT]");
   Project response = projectServiceClient.getProject(name);
 }
 
Parameter
Name Description
name ProjectName

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

Returns
Type Description
Project

getProject(String name)

public final Project getProject(String name)

Gets a Project. Returns NOT_FOUND when the project is not yet created.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   String name = ProjectName.of("[PROJECT]").toString();
   Project response = projectServiceClient.getProject(name);
 }
 
Parameter
Name Description
name String

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

Returns
Type Description
Project

getProjectCallable()

public final UnaryCallable<GetProjectRequest,Project> getProjectCallable()

Gets a Project. Returns NOT_FOUND when the project is not yet created.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   GetProjectRequest request =
       GetProjectRequest.newBuilder().setName(ProjectName.of("[PROJECT]").toString()).build();
   ApiFuture<Project> future = projectServiceClient.getProjectCallable().futureCall(request);
   // Do something.
   Project response = future.get();
 }
 
Returns
Type Description
UnaryCallable<GetProjectRequest,Project>

getSettings()

public final ProjectServiceSettings getSettings()
Returns
Type Description
ProjectServiceSettings

getStub()

public ProjectServiceStub getStub()
Returns
Type Description
ProjectServiceStub

isShutdown()

public boolean isShutdown()
Returns
Type Description
boolean

isTerminated()

public boolean isTerminated()
Returns
Type Description
boolean

provisionProjectAsync(ProjectName name)

public final OperationFuture<Project,ProvisionProjectMetadata> provisionProjectAsync(ProjectName name)

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProjectName name = ProjectName.of("[PROJECT]");
   Project response = projectServiceClient.provisionProjectAsync(name).get();
 }
 
Parameter
Name Description
name ProjectName

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

Returns
Type Description
OperationFuture<Project,ProvisionProjectMetadata>

provisionProjectAsync(ProvisionProjectRequest request)

public final OperationFuture<Project,ProvisionProjectMetadata> provisionProjectAsync(ProvisionProjectRequest request)

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProvisionProjectRequest request =
       ProvisionProjectRequest.newBuilder()
           .setName(ProjectName.of("[PROJECT]").toString())
           .setAcceptDataUseTerms(true)
           .setDataUseTermsVersion("dataUseTermsVersion-1913570450")
           .build();
   Project response = projectServiceClient.provisionProjectAsync(request).get();
 }
 
Parameter
Name Description
request ProvisionProjectRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
OperationFuture<Project,ProvisionProjectMetadata>

provisionProjectAsync(String name)

public final OperationFuture<Project,ProvisionProjectMetadata> provisionProjectAsync(String name)

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   String name = ProjectName.of("[PROJECT]").toString();
   Project response = projectServiceClient.provisionProjectAsync(name).get();
 }
 
Parameter
Name Description
name String

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

Returns
Type Description
OperationFuture<Project,ProvisionProjectMetadata>

provisionProjectCallable()

public final UnaryCallable<ProvisionProjectRequest,Operation> provisionProjectCallable()

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProvisionProjectRequest request =
       ProvisionProjectRequest.newBuilder()
           .setName(ProjectName.of("[PROJECT]").toString())
           .setAcceptDataUseTerms(true)
           .setDataUseTermsVersion("dataUseTermsVersion-1913570450")
           .build();
   ApiFuture<Operation> future =
       projectServiceClient.provisionProjectCallable().futureCall(request);
   // Do something.
   Operation response = future.get();
 }
 
Returns
Type Description
UnaryCallable<ProvisionProjectRequest,Operation>

provisionProjectOperationCallable()

public final OperationCallable<ProvisionProjectRequest,Project,ProvisionProjectMetadata> provisionProjectOperationCallable()

Provisions the project resource. During the process, related systems will get prepared and initialized.

Caller must read the Terms for data use, and optionally specify in request to provide consent to that service terms.

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ProvisionProjectRequest request =
       ProvisionProjectRequest.newBuilder()
           .setName(ProjectName.of("[PROJECT]").toString())
           .setAcceptDataUseTerms(true)
           .setDataUseTermsVersion("dataUseTermsVersion-1913570450")
           .build();
   OperationFuture<Project, ProvisionProjectMetadata> future =
       projectServiceClient.provisionProjectOperationCallable().futureCall(request);
   // Do something.
   Project response = future.get();
 }
 
Returns
Type Description
OperationCallable<ProvisionProjectRequest,Project,ProvisionProjectMetadata>

reportConsentChange(ReportConsentChangeRequest request)

public final Project reportConsentChange(ReportConsentChangeRequest request)

Updates service terms for this project.

This method can be used to retroactively accept the latest terms.

Terms available for update:

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ReportConsentChangeRequest request =
       ReportConsentChangeRequest.newBuilder()
           .setProject(ProjectName.of("[PROJECT]").toString())
           .setServiceTermId("serviceTermId-2051343940")
           .setServiceTermVersion("serviceTermVersion-571872041")
           .build();
   Project response = projectServiceClient.reportConsentChange(request);
 }
 
Parameter
Name Description
request ReportConsentChangeRequest

The request object containing all of the parameters for the API call.

Returns
Type Description
Project

reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, ProjectName project, String serviceTermId, String serviceTermVersion)

public final Project reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, ProjectName project, String serviceTermId, String serviceTermVersion)

Updates service terms for this project.

This method can be used to retroactively accept the latest terms.

Terms available for update:

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ReportConsentChangeRequest.ConsentChangeAction consentChangeAction =
       ReportConsentChangeRequest.ConsentChangeAction.forNumber(0);
   ProjectName project = ProjectName.of("[PROJECT]");
   String serviceTermId = "serviceTermId-2051343940";
   String serviceTermVersion = "serviceTermVersion-571872041";
   Project response =
       projectServiceClient.reportConsentChange(
           consentChangeAction, project, serviceTermId, serviceTermVersion);
 }
 
Parameters
Name Description
consentChangeAction ReportConsentChangeRequest.ConsentChangeAction

Required. Whether customer decides to accept or decline service term.

At this moment, only accept action is supported.

project ProjectName

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

serviceTermId String

Required. The unique identifier of the terms of service to update. Available term ids:

  • GA_DATA_USE_TERMS: Terms for data use. When using this service term id, the acceptable service_term_version to provide is 2022-11-23.

serviceTermVersion String

Required. The version string of the terms of service to update.

Returns
Type Description
Project

reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, String project, String serviceTermId, String serviceTermVersion)

public final Project reportConsentChange(ReportConsentChangeRequest.ConsentChangeAction consentChangeAction, String project, String serviceTermId, String serviceTermVersion)

Updates service terms for this project.

This method can be used to retroactively accept the latest terms.

Terms available for update:

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ReportConsentChangeRequest.ConsentChangeAction consentChangeAction =
       ReportConsentChangeRequest.ConsentChangeAction.forNumber(0);
   String project = ProjectName.of("[PROJECT]").toString();
   String serviceTermId = "serviceTermId-2051343940";
   String serviceTermVersion = "serviceTermVersion-571872041";
   Project response =
       projectServiceClient.reportConsentChange(
           consentChangeAction, project, serviceTermId, serviceTermVersion);
 }
 
Parameters
Name Description
consentChangeAction ReportConsentChangeRequest.ConsentChangeAction

Required. Whether customer decides to accept or decline service term.

At this moment, only accept action is supported.

project String

Required. Full resource name of a Project, such as projects/{project_id_or_number}.

serviceTermId String

Required. The unique identifier of the terms of service to update. Available term ids:

  • GA_DATA_USE_TERMS: Terms for data use. When using this service term id, the acceptable service_term_version to provide is 2022-11-23.

serviceTermVersion String

Required. The version string of the terms of service to update.

Returns
Type Description
Project

reportConsentChangeCallable()

public final UnaryCallable<ReportConsentChangeRequest,Project> reportConsentChangeCallable()

Updates service terms for this project.

This method can be used to retroactively accept the latest terms.

Terms available for update:

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 (ProjectServiceClient projectServiceClient = ProjectServiceClient.create()) {
   ReportConsentChangeRequest request =
       ReportConsentChangeRequest.newBuilder()
           .setProject(ProjectName.of("[PROJECT]").toString())
           .setServiceTermId("serviceTermId-2051343940")
           .setServiceTermVersion("serviceTermVersion-571872041")
           .build();
   ApiFuture<Project> future =
       projectServiceClient.reportConsentChangeCallable().futureCall(request);
   // Do something.
   Project response = future.get();
 }
 
Returns
Type Description
UnaryCallable<ReportConsentChangeRequest,Project>

shutdown()

public void shutdown()

shutdownNow()

public void shutdownNow()