diff --git a/java-profiler/README.md b/java-profiler/README.md index 9a177ac3d2c1..bb9c19639d89 100644 --- a/java-profiler/README.md +++ b/java-profiler/README.md @@ -195,7 +195,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-profiler.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-profiler/2.30.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-profiler/2.32.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/ExportServiceClient.java b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/ExportServiceClient.java new file mode 100644 index 000000000000..88416631de0a --- /dev/null +++ b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/ExportServiceClient.java @@ -0,0 +1,392 @@ +/* + * Copyright 2023 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.google.devtools.cloudprofiler.v2; + +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.paging.AbstractFixedSizeCollection; +import com.google.api.gax.paging.AbstractPage; +import com.google.api.gax.paging.AbstractPagedListResponse; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.common.util.concurrent.MoreExecutors; +import com.google.devtools.cloudprofiler.v2.stub.ExportServiceStub; +import com.google.devtools.cloudprofiler.v2.stub.ExportServiceStubSettings; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS. +/** + * Service Description: Service allows existing Cloud Profiler customers to export their profile + * data out of Google Cloud. + * + *
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: + * + *
{@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 (ExportServiceClient exportServiceClient = ExportServiceClient.create()) { + * ListProfilesRequest request = + * ListProfilesRequest.newBuilder() + * .setParent(ProjectName.of("[PROJECT]").toString()) + * .setPageSize(883849137) + * .setPageToken("pageToken873572522") + * .build(); + * for (Profile element : exportServiceClient.listProfiles(request).iterateAll()) { + * // doThingsWith(element); + * } + * } + * }+ * + *
Note: close() needs to be called on the ExportServiceClient 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: + * + *
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 ExportServiceSettings to + * create(). For example: + * + *
To customize credentials: + * + *
{@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 + * ExportServiceSettings exportServiceSettings = + * ExportServiceSettings.newBuilder() + * .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials)) + * .build(); + * ExportServiceClient exportServiceClient = ExportServiceClient.create(exportServiceSettings); + * }+ * + *
To customize the endpoint: + * + *
{@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 + * ExportServiceSettings exportServiceSettings = + * ExportServiceSettings.newBuilder().setEndpoint(myEndpoint).build(); + * ExportServiceClient exportServiceClient = ExportServiceClient.create(exportServiceSettings); + * }+ * + *
To use REST (HTTP1.1/JSON) transport (instead of gRPC) for sending and receiving requests over + * the wire: + * + *
{@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 + * ExportServiceSettings exportServiceSettings = + * ExportServiceSettings.newHttpJsonBuilder().build(); + * ExportServiceClient exportServiceClient = ExportServiceClient.create(exportServiceSettings); + * }+ * + *
Please refer to the GitHub repository's samples for more quickstart code snippets. + */ +@Generated("by gapic-generator-java") +public class ExportServiceClient implements BackgroundResource { + private final ExportServiceSettings settings; + private final ExportServiceStub stub; + + /** Constructs an instance of ExportServiceClient with default settings. */ + public static final ExportServiceClient create() throws IOException { + return create(ExportServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of ExportServiceClient, using the given settings. The channels are + * created based on the settings passed in, or defaults for any settings that are not set. + */ + public static final ExportServiceClient create(ExportServiceSettings settings) + throws IOException { + return new ExportServiceClient(settings); + } + + /** + * Constructs an instance of ExportServiceClient, using the given stub for making calls. This is + * for advanced usage - prefer using create(ExportServiceSettings). + */ + public static final ExportServiceClient create(ExportServiceStub stub) { + return new ExportServiceClient(stub); + } + + /** + * Constructs an instance of ExportServiceClient, 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. + */ + protected ExportServiceClient(ExportServiceSettings settings) throws IOException { + this.settings = settings; + this.stub = ((ExportServiceStubSettings) settings.getStubSettings()).createStub(); + } + + protected ExportServiceClient(ExportServiceStub stub) { + this.settings = null; + this.stub = stub; + } + + public final ExportServiceSettings getSettings() { + return settings; + } + + public ExportServiceStub getStub() { + return stub; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists profiles which have been collected so far and for which the caller has permission to + * view. + * + *
Sample code: + * + *
{@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 (ExportServiceClient exportServiceClient = ExportServiceClient.create()) { + * ListProfilesRequest request = + * ListProfilesRequest.newBuilder() + * .setParent(ProjectName.of("[PROJECT]").toString()) + * .setPageSize(883849137) + * .setPageToken("pageToken873572522") + * .build(); + * for (Profile element : exportServiceClient.listProfiles(request).iterateAll()) { + * // doThingsWith(element); + * } + * } + * }+ * + * @param 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 + */ + public final ListProfilesPagedResponse listProfiles(ListProfilesRequest request) { + return listProfilesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists profiles which have been collected so far and for which the caller has permission to + * view. + * + *
Sample code: + * + *
{@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 (ExportServiceClient exportServiceClient = ExportServiceClient.create()) { + * ListProfilesRequest request = + * ListProfilesRequest.newBuilder() + * .setParent(ProjectName.of("[PROJECT]").toString()) + * .setPageSize(883849137) + * .setPageToken("pageToken873572522") + * .build(); + * ApiFuture+ */ + public final UnaryCallablefuture = + * exportServiceClient.listProfilesPagedCallable().futureCall(request); + * // Do something. + * for (Profile element : future.get().iterateAll()) { + * // doThingsWith(element); + * } + * } + * }
Sample code: + * + *
{@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 (ExportServiceClient exportServiceClient = ExportServiceClient.create()) { + * ListProfilesRequest request = + * ListProfilesRequest.newBuilder() + * .setParent(ProjectName.of("[PROJECT]").toString()) + * .setPageSize(883849137) + * .setPageToken("pageToken873572522") + * .build(); + * while (true) { + * ListProfilesResponse response = exportServiceClient.listProfilesCallable().call(request); + * for (Profile element : response.getProfilesList()) { + * // doThingsWith(element); + * } + * String nextPageToken = response.getNextPageToken(); + * if (!Strings.isNullOrEmpty(nextPageToken)) { + * request = request.toBuilder().setPageToken(nextPageToken).build(); + * } else { + * break; + * } + * } + * } + * }+ */ + public final UnaryCallable
The default instance has everything set to sensible defaults: + * + *
The builder of this class is recursive, so contained classes are themselves builders. When + * build() is called, the tree of builders is called to create the complete settings object. + * + *
For example, to set the total timeout of listProfiles to 30 seconds: + * + *
{@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 + * ExportServiceSettings.Builder exportServiceSettingsBuilder = ExportServiceSettings.newBuilder(); + * exportServiceSettingsBuilder + * .listProfilesSettings() + * .setRetrySettings( + * exportServiceSettingsBuilder + * .listProfilesSettings() + * .getRetrySettings() + * .toBuilder() + * .setTotalTimeout(Duration.ofSeconds(30)) + * .build()); + * ExportServiceSettings exportServiceSettings = exportServiceSettingsBuilder.build(); + * }+ */ +@Generated("by gapic-generator-java") +public class ExportServiceSettings extends ClientSettings
Note: This method does not support applying settings to streaming methods.
+ */
+ public Builder applyToAllUnaryMethods(
+ ApiFunction ======================= ExportServiceClient =======================
+ *
+ * Service Description: Service allows existing Cloud Profiler customers to export their profile
+ * data out of Google Cloud.
+ *
+ * Sample for ExportServiceClient:
+ *
+ * This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+public abstract class ExportServiceStub implements BackgroundResource {
+
+ public UnaryCallable The default instance has everything set to sensible defaults:
+ *
+ * The builder of this class is recursive, so contained classes are themselves builders. When
+ * build() is called, the tree of builders is called to create the complete settings object.
+ *
+ * For example, to set the total timeout of listProfiles to 30 seconds:
+ *
+ * Note: This method does not support applying settings to streaming methods.
+ */
+ public Builder applyToAllUnaryMethods(
+ ApiFunction This class is for advanced usage.
+ */
+@Generated("by gapic-generator-java")
+public class GrpcExportServiceCallableFactory implements GrpcStubCallableFactory {
+
+ @Override
+ public This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+public class GrpcExportServiceStub extends ExportServiceStub {
+ private static final MethodDescriptor This class is for advanced usage.
+ */
+@Generated("by gapic-generator-java")
+@BetaApi
+public class HttpJsonExportServiceCallableFactory
+ implements HttpJsonStubCallableFactory This class is for advanced usage and reflects the underlying API directly.
+ */
+@Generated("by gapic-generator-java")
+@BetaApi
+public class HttpJsonExportServiceStub extends ExportServiceStub {
+ private static final TypeRegistry typeRegistry = TypeRegistry.newBuilder().build();
+
+ private static final ApiMethodDescriptor{@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 (ExportServiceClient exportServiceClient = ExportServiceClient.create()) {
+ * ListProfilesRequest request =
+ * ListProfilesRequest.newBuilder()
+ * .setParent(ProjectName.of("[PROJECT]").toString())
+ * .setPageSize(883849137)
+ * .setPageToken("pageToken873572522")
+ * .build();
+ * for (Profile element : exportServiceClient.listProfiles(request).iterateAll()) {
+ * // doThingsWith(element);
+ * }
+ * }
+ * }
*/
@Generated("by gapic-generator-java")
package com.google.devtools.cloudprofiler.v2;
diff --git a/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/ExportServiceStub.java b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/ExportServiceStub.java
new file mode 100644
index 000000000000..e46d52074f78
--- /dev/null
+++ b/java-profiler/google-cloud-profiler/src/main/java/com/google/devtools/cloudprofiler/v2/stub/ExportServiceStub.java
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2023 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.google.devtools.cloudprofiler.v2.stub;
+
+import static com.google.devtools.cloudprofiler.v2.ExportServiceClient.ListProfilesPagedResponse;
+
+import com.google.api.gax.core.BackgroundResource;
+import com.google.api.gax.rpc.UnaryCallable;
+import com.google.devtools.cloudprofiler.v2.ListProfilesRequest;
+import com.google.devtools.cloudprofiler.v2.ListProfilesResponse;
+import javax.annotation.Generated;
+
+// AUTO-GENERATED DOCUMENTATION AND CLASS.
+/**
+ * Base stub class for the ExportService service API.
+ *
+ *
+ *
+ *
+ * {@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
+ * ExportServiceStubSettings.Builder exportServiceSettingsBuilder =
+ * ExportServiceStubSettings.newBuilder();
+ * exportServiceSettingsBuilder
+ * .listProfilesSettings()
+ * .setRetrySettings(
+ * exportServiceSettingsBuilder
+ * .listProfilesSettings()
+ * .getRetrySettings()
+ * .toBuilder()
+ * .setTotalTimeout(Duration.ofSeconds(30))
+ * .build());
+ * ExportServiceStubSettings exportServiceSettings = exportServiceSettingsBuilder.build();
+ * }
+ */
+@Generated("by gapic-generator-java")
+public class ExportServiceStubSettings extends StubSettings