diff --git a/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/DataTransferServiceSettings.java b/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/DataTransferServiceSettings.java index ac89036b8dda..84d13ea60c10 100644 --- a/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/DataTransferServiceSettings.java +++ b/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/DataTransferServiceSettings.java @@ -58,7 +58,7 @@ * * DataTransferServiceSettings.Builder dataTransferServiceSettingsBuilder = * DataTransferServiceSettings.newBuilder(); - * dataTransferServiceSettingsBuilder.getDataSourceSettings().getRetrySettingsBuilder() + * dataTransferServiceSettingsBuilder.getDataSourceSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * DataTransferServiceSettings dataTransferServiceSettings = dataTransferServiceSettingsBuilder.build(); * diff --git a/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/DataTransferServiceStubSettings.java b/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/DataTransferServiceStubSettings.java index 86d72ae109b2..1221d16238ca 100644 --- a/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/DataTransferServiceStubSettings.java +++ b/google-cloud-bigquerydatatransfer/src/main/java/com/google/cloud/bigquery/datatransfer/v1/stub/DataTransferServiceStubSettings.java @@ -96,7 +96,7 @@ * * DataTransferServiceStubSettings.Builder dataTransferServiceSettingsBuilder = * DataTransferServiceStubSettings.newBuilder(); - * dataTransferServiceSettingsBuilder.getDataSourceSettings().getRetrySettingsBuilder() + * dataTransferServiceSettingsBuilder.getDataSourceSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * DataTransferServiceStubSettings dataTransferServiceSettings = dataTransferServiceSettingsBuilder.build(); * diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java index 7b7d61298e4f..316450c906e3 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/BaseBigtableDataSettings.java @@ -63,7 +63,7 @@ * * BaseBigtableDataSettings.Builder baseBigtableDataSettingsBuilder = * BaseBigtableDataSettings.newBuilder(); - * baseBigtableDataSettingsBuilder.mutateRowSettings().getRetrySettingsBuilder() + * baseBigtableDataSettingsBuilder.mutateRowSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * BaseBigtableDataSettings baseBigtableDataSettings = baseBigtableDataSettingsBuilder.build(); * diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java index da951c91da3d..2671f40913bb 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/BigtableStubSettings.java @@ -72,7 +72,7 @@ * * BigtableStubSettings.Builder baseBigtableDataSettingsBuilder = * BigtableStubSettings.newBuilder(); - * baseBigtableDataSettingsBuilder.mutateRowSettings().getRetrySettingsBuilder() + * baseBigtableDataSettingsBuilder.mutateRowSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * BigtableStubSettings baseBigtableDataSettings = baseBigtableDataSettingsBuilder.build(); * diff --git a/google-cloud-bom/pom.xml b/google-cloud-bom/pom.xml index 2dc363447156..8963d1cd39f4 100644 --- a/google-cloud-bom/pom.xml +++ b/google-cloud-bom/pom.xml @@ -172,8 +172,8 @@ 1.20.0 1.20.0 0.37.0 - 0.4.0 - 1.3.0 + 0.5.0 + 1.4.0 @@ -397,6 +397,16 @@ grpc-google-cloud-dlp-v2beta1 ${generated-proto-beta.version} + + com.google.api.grpc + proto-google-cloud-dlp-v2 + ${generated-proto-beta.version} + + + com.google.api.grpc + grpc-google-cloud-dlp-v2 + ${generated-proto-beta.version} + com.google.cloud google-cloud-dialogflow @@ -816,6 +826,11 @@ proto-google-cloud-video-intelligence-v1 ${generated-proto-beta.version} + + com.google.api.grpc + proto-google-cloud-video-intelligence-v1p1beta1 + ${generated-proto-beta.version} + com.google.api.grpc grpc-google-cloud-video-intelligence-v1beta1 @@ -831,6 +846,11 @@ grpc-google-cloud-video-intelligence-v1 ${generated-proto-beta.version} + + com.google.api.grpc + grpc-google-cloud-video-intelligence-v1p1beta1 + ${generated-proto-beta.version} + com.google.api.grpc proto-google-common-protos diff --git a/google-cloud-container/src/main/java/com/google/cloud/container/v1/ClusterManagerSettings.java b/google-cloud-container/src/main/java/com/google/cloud/container/v1/ClusterManagerSettings.java index af5b08cf9300..b11a472615b4 100644 --- a/google-cloud-container/src/main/java/com/google/cloud/container/v1/ClusterManagerSettings.java +++ b/google-cloud-container/src/main/java/com/google/cloud/container/v1/ClusterManagerSettings.java @@ -88,7 +88,7 @@ * * ClusterManagerSettings.Builder clusterManagerSettingsBuilder = * ClusterManagerSettings.newBuilder(); - * clusterManagerSettingsBuilder.listClustersSettings().getRetrySettingsBuilder() + * clusterManagerSettingsBuilder.listClustersSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ClusterManagerSettings clusterManagerSettings = clusterManagerSettingsBuilder.build(); * diff --git a/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/ClusterManagerStubSettings.java b/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/ClusterManagerStubSettings.java index 5f85d168312a..684d8d58e842 100644 --- a/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/ClusterManagerStubSettings.java +++ b/google-cloud-container/src/main/java/com/google/cloud/container/v1/stub/ClusterManagerStubSettings.java @@ -97,7 +97,7 @@ * * ClusterManagerStubSettings.Builder clusterManagerSettingsBuilder = * ClusterManagerStubSettings.newBuilder(); - * clusterManagerSettingsBuilder.listClustersSettings().getRetrySettingsBuilder() + * clusterManagerSettingsBuilder.listClustersSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ClusterManagerStubSettings clusterManagerSettings = clusterManagerSettingsBuilder.build(); * diff --git a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/ClusterControllerSettings.java b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/ClusterControllerSettings.java index d51d844f7436..a530d9240fef 100644 --- a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/ClusterControllerSettings.java +++ b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/ClusterControllerSettings.java @@ -56,7 +56,7 @@ * * ClusterControllerSettings.Builder clusterControllerSettingsBuilder = * ClusterControllerSettings.newBuilder(); - * clusterControllerSettingsBuilder.getClusterSettings().getRetrySettingsBuilder() + * clusterControllerSettingsBuilder.getClusterSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ClusterControllerSettings clusterControllerSettings = clusterControllerSettingsBuilder.build(); * diff --git a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/JobControllerSettings.java b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/JobControllerSettings.java index bc8e1ca673fc..cbe821d59af4 100644 --- a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/JobControllerSettings.java +++ b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/JobControllerSettings.java @@ -54,7 +54,7 @@ * * JobControllerSettings.Builder jobControllerSettingsBuilder = * JobControllerSettings.newBuilder(); - * jobControllerSettingsBuilder.submitJobSettings().getRetrySettingsBuilder() + * jobControllerSettingsBuilder.submitJobSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * JobControllerSettings jobControllerSettings = jobControllerSettingsBuilder.build(); * diff --git a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/ClusterControllerStubSettings.java b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/ClusterControllerStubSettings.java index 7abefde3ca4e..03a8c5cdcee5 100644 --- a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/ClusterControllerStubSettings.java +++ b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/ClusterControllerStubSettings.java @@ -84,7 +84,7 @@ * * ClusterControllerStubSettings.Builder clusterControllerSettingsBuilder = * ClusterControllerStubSettings.newBuilder(); - * clusterControllerSettingsBuilder.getClusterSettings().getRetrySettingsBuilder() + * clusterControllerSettingsBuilder.getClusterSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ClusterControllerStubSettings clusterControllerSettings = clusterControllerSettingsBuilder.build(); * diff --git a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/JobControllerStubSettings.java b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/JobControllerStubSettings.java index fe9eaf3a5a28..7addb1fc98c8 100644 --- a/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/JobControllerStubSettings.java +++ b/google-cloud-dataproc/src/main/java/com/google/cloud/dataproc/v1/stub/JobControllerStubSettings.java @@ -77,7 +77,7 @@ * * JobControllerStubSettings.Builder jobControllerSettingsBuilder = * JobControllerStubSettings.newBuilder(); - * jobControllerSettingsBuilder.submitJobSettings().getRetrySettingsBuilder() + * jobControllerSettingsBuilder.submitJobSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * JobControllerStubSettings jobControllerSettings = jobControllerSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/AgentsSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/AgentsSettings.java index d71709cdfae5..9394c65c58f0 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/AgentsSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/AgentsSettings.java @@ -57,7 +57,7 @@ * * AgentsSettings.Builder agentsSettingsBuilder = * AgentsSettings.newBuilder(); - * agentsSettingsBuilder.getAgentSettings().getRetrySettingsBuilder() + * agentsSettingsBuilder.getAgentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AgentsSettings agentsSettings = agentsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/ContextsSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/ContextsSettings.java index b7f4ab6c571a..ce833dba8b54 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/ContextsSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/ContextsSettings.java @@ -54,7 +54,7 @@ * * ContextsSettings.Builder contextsSettingsBuilder = * ContextsSettings.newBuilder(); - * contextsSettingsBuilder.getContextSettings().getRetrySettingsBuilder() + * contextsSettingsBuilder.getContextSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ContextsSettings contextsSettings = contextsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/EntityTypesSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/EntityTypesSettings.java index cf024fba0b29..beb9b888758d 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/EntityTypesSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/EntityTypesSettings.java @@ -57,7 +57,7 @@ * * EntityTypesSettings.Builder entityTypesSettingsBuilder = * EntityTypesSettings.newBuilder(); - * entityTypesSettingsBuilder.getEntityTypeSettings().getRetrySettingsBuilder() + * entityTypesSettingsBuilder.getEntityTypeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * EntityTypesSettings entityTypesSettings = entityTypesSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/IntentsSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/IntentsSettings.java index 77a038c41cf7..2e30f8128970 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/IntentsSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/IntentsSettings.java @@ -57,7 +57,7 @@ * * IntentsSettings.Builder intentsSettingsBuilder = * IntentsSettings.newBuilder(); - * intentsSettingsBuilder.getIntentSettings().getRetrySettingsBuilder() + * intentsSettingsBuilder.getIntentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * IntentsSettings intentsSettings = intentsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionEntityTypesSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionEntityTypesSettings.java index 5e747d7ba2ab..84c6f739f23f 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionEntityTypesSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionEntityTypesSettings.java @@ -54,7 +54,7 @@ * * SessionEntityTypesSettings.Builder sessionEntityTypesSettingsBuilder = * SessionEntityTypesSettings.newBuilder(); - * sessionEntityTypesSettingsBuilder.getSessionEntityTypeSettings().getRetrySettingsBuilder() + * sessionEntityTypesSettingsBuilder.getSessionEntityTypeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SessionEntityTypesSettings sessionEntityTypesSettings = sessionEntityTypesSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionsSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionsSettings.java index 10b728c684b9..6d5679e05800 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionsSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/SessionsSettings.java @@ -51,7 +51,7 @@ * * SessionsSettings.Builder sessionsSettingsBuilder = * SessionsSettings.newBuilder(); - * sessionsSettingsBuilder.detectIntentSettings().getRetrySettingsBuilder() + * sessionsSettingsBuilder.detectIntentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SessionsSettings sessionsSettings = sessionsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/AgentsStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/AgentsStubSettings.java index 4a1062269935..fd6a46f944e1 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/AgentsStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/AgentsStubSettings.java @@ -84,7 +84,7 @@ * * AgentsStubSettings.Builder agentsSettingsBuilder = * AgentsStubSettings.newBuilder(); - * agentsSettingsBuilder.getAgentSettings().getRetrySettingsBuilder() + * agentsSettingsBuilder.getAgentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AgentsStubSettings agentsSettings = agentsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/ContextsStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/ContextsStubSettings.java index b426f79b9ee7..6f68c9b66b2c 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/ContextsStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/ContextsStubSettings.java @@ -77,7 +77,7 @@ * * ContextsStubSettings.Builder contextsSettingsBuilder = * ContextsStubSettings.newBuilder(); - * contextsSettingsBuilder.getContextSettings().getRetrySettingsBuilder() + * contextsSettingsBuilder.getContextSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ContextsStubSettings contextsSettings = contextsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/EntityTypesStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/EntityTypesStubSettings.java index 21edbf54b33a..98fd63103608 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/EntityTypesStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/EntityTypesStubSettings.java @@ -88,7 +88,7 @@ * * EntityTypesStubSettings.Builder entityTypesSettingsBuilder = * EntityTypesStubSettings.newBuilder(); - * entityTypesSettingsBuilder.getEntityTypeSettings().getRetrySettingsBuilder() + * entityTypesSettingsBuilder.getEntityTypeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * EntityTypesStubSettings entityTypesSettings = entityTypesSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/IntentsStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/IntentsStubSettings.java index 9a85ac5e627f..f6a7b01a65ba 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/IntentsStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/IntentsStubSettings.java @@ -85,7 +85,7 @@ * * IntentsStubSettings.Builder intentsSettingsBuilder = * IntentsStubSettings.newBuilder(); - * intentsSettingsBuilder.getIntentSettings().getRetrySettingsBuilder() + * intentsSettingsBuilder.getIntentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * IntentsStubSettings intentsSettings = intentsSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionEntityTypesStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionEntityTypesStubSettings.java index 292b2aac32fa..f0fe09c5512c 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionEntityTypesStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionEntityTypesStubSettings.java @@ -76,7 +76,7 @@ * * SessionEntityTypesStubSettings.Builder sessionEntityTypesSettingsBuilder = * SessionEntityTypesStubSettings.newBuilder(); - * sessionEntityTypesSettingsBuilder.getSessionEntityTypeSettings().getRetrySettingsBuilder() + * sessionEntityTypesSettingsBuilder.getSessionEntityTypeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SessionEntityTypesStubSettings sessionEntityTypesSettings = sessionEntityTypesSettingsBuilder.build(); * diff --git a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionsStubSettings.java b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionsStubSettings.java index 3b5900e21b36..7c33c6e0f4c0 100644 --- a/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionsStubSettings.java +++ b/google-cloud-dialogflow/src/main/java/com/google/cloud/dialogflow/v2beta1/stub/SessionsStubSettings.java @@ -64,7 +64,7 @@ * * SessionsStubSettings.Builder sessionsSettingsBuilder = * SessionsStubSettings.newBuilder(); - * sessionsSettingsBuilder.detectIntentSettings().getRetrySettingsBuilder() + * sessionsSettingsBuilder.detectIntentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SessionsStubSettings sessionsSettings = sessionsSettingsBuilder.build(); * diff --git a/google-cloud-dlp/pom.xml b/google-cloud-dlp/pom.xml index ff6ec2b071fc..c183b88d3f77 100644 --- a/google-cloud-dlp/pom.xml +++ b/google-cloud-dlp/pom.xml @@ -7,7 +7,7 @@ Google Cloud Data Loss Prevention API https://github.com/GoogleCloudPlatform/google-cloud-java/tree/master/google-cloud-dlp - Java idiomatic client for Cloud Data Loss Prevention API v2beta1. + Java idiomatic client for Cloud Data Loss Prevention API v2. com.google.cloud @@ -30,6 +30,10 @@ com.google.api.grpc proto-google-cloud-dlp-v2beta1 + + com.google.api.grpc + proto-google-cloud-dlp-v2 + io.grpc grpc-netty-shaded @@ -68,6 +72,11 @@ grpc-google-cloud-dlp-v2beta1 test + + com.google.api.grpc + grpc-google-cloud-dlp-v2 + test + com.google.api gax-grpc diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceClient.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceClient.java new file mode 100644 index 000000000000..20bb7de40442 --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceClient.java @@ -0,0 +1,1833 @@ +/* + * Copyright 2018 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.cloud.dlp.v2; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.ApiFutures; +import com.google.api.core.BetaApi; +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.cloud.dlp.v2.stub.DlpServiceStub; +import com.google.cloud.dlp.v2.stub.DlpServiceStubSettings; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND SERVICE +/** + * Service Description: The DLP API is a service that allows clients to detect the presence of + * Personally Identifiable Information (PII) and other privacy-sensitive data in user-supplied, + * unstructured data streams, like text blocks or images. The service also includes methods for + * sensitive data redaction and scheduling of data scans on Google Cloud Platform based data sets. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

+ * 
+ * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+ *   ProjectName parent = ProjectName.of("[PROJECT]");
+ *   InspectContentRequest request = InspectContentRequest.newBuilder()
+ *     .setParent(parent.toString())
+ *     .build();
+ *   InspectContentResponse response = dlpServiceClient.inspectContent(request);
+ * }
+ * 
+ * 
+ * + *

Note: close() needs to be called on the dlpServiceClient 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: + * + *

    + *
  1. 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. + *
  2. 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. + *
  3. 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 DlpServiceSettings to + * create(). For example: + * + *

To customize credentials: + * + *

+ * 
+ * DlpServiceSettings dlpServiceSettings =
+ *     DlpServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * DlpServiceClient dlpServiceClient =
+ *     DlpServiceClient.create(dlpServiceSettings);
+ * 
+ * 
+ * + * To customize the endpoint: + * + *
+ * 
+ * DlpServiceSettings dlpServiceSettings =
+ *     DlpServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * DlpServiceClient dlpServiceClient =
+ *     DlpServiceClient.create(dlpServiceSettings);
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class DlpServiceClient implements BackgroundResource { + private final DlpServiceSettings settings; + private final DlpServiceStub stub; + + /** Constructs an instance of DlpServiceClient with default settings. */ + public static final DlpServiceClient create() throws IOException { + return create(DlpServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of DlpServiceClient, 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 DlpServiceClient create(DlpServiceSettings settings) throws IOException { + return new DlpServiceClient(settings); + } + + /** + * Constructs an instance of DlpServiceClient, using the given stub for making calls. This is for + * advanced usage - prefer to use DlpServiceSettings}. + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final DlpServiceClient create(DlpServiceStub stub) { + return new DlpServiceClient(stub); + } + + /** + * Constructs an instance of DlpServiceClient, 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 DlpServiceClient(DlpServiceSettings settings) throws IOException { + this.settings = settings; + this.stub = ((DlpServiceStubSettings) settings.getStubSettings()).createStub(); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected DlpServiceClient(DlpServiceStub stub) { + this.settings = null; + this.stub = stub; + } + + public final DlpServiceSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public DlpServiceStub getStub() { + return stub; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Finds potentially sensitive info in content. This method has limits on input size, processing + * time, and output size. [How-to guide for text](/dlp/docs/inspecting-text), [How-to guide for + * images](/dlp/docs/inspecting-images) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   InspectContentRequest request = InspectContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   InspectContentResponse response = dlpServiceClient.inspectContent(request);
+   * }
+   * 
+ * + * @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 InspectContentResponse inspectContent(InspectContentRequest request) { + return inspectContentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Finds potentially sensitive info in content. This method has limits on input size, processing + * time, and output size. [How-to guide for text](/dlp/docs/inspecting-text), [How-to guide for + * images](/dlp/docs/inspecting-images) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   InspectContentRequest request = InspectContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<InspectContentResponse> future = dlpServiceClient.inspectContentCallable().futureCall(request);
+   *   // Do something
+   *   InspectContentResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + inspectContentCallable() { + return stub.inspectContentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Redacts potentially sensitive info from an image. This method has limits on input size, + * processing time, and output size. [How-to guide](/dlp/docs/redacting-sensitive-data-images) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   RedactImageRequest request = RedactImageRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   RedactImageResponse response = dlpServiceClient.redactImage(request);
+   * }
+   * 
+ * + * @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 RedactImageResponse redactImage(RedactImageRequest request) { + return redactImageCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Redacts potentially sensitive info from an image. This method has limits on input size, + * processing time, and output size. [How-to guide](/dlp/docs/redacting-sensitive-data-images) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   RedactImageRequest request = RedactImageRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<RedactImageResponse> future = dlpServiceClient.redactImageCallable().futureCall(request);
+   *   // Do something
+   *   RedactImageResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable redactImageCallable() { + return stub.redactImageCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * De-identifies potentially sensitive info from a ContentItem. This method has limits on input + * size and output size. [How-to guide](/dlp/docs/deidentify-sensitive-data) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   DeidentifyContentRequest request = DeidentifyContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   DeidentifyContentResponse response = dlpServiceClient.deidentifyContent(request);
+   * }
+   * 
+ * + * @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 DeidentifyContentResponse deidentifyContent(DeidentifyContentRequest request) { + return deidentifyContentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * De-identifies potentially sensitive info from a ContentItem. This method has limits on input + * size and output size. [How-to guide](/dlp/docs/deidentify-sensitive-data) + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   DeidentifyContentRequest request = DeidentifyContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<DeidentifyContentResponse> future = dlpServiceClient.deidentifyContentCallable().futureCall(request);
+   *   // Do something
+   *   DeidentifyContentResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + deidentifyContentCallable() { + return stub.deidentifyContentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Re-identify content that has been de-identified. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ReidentifyContentRequest request = ReidentifyContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ReidentifyContentResponse response = dlpServiceClient.reidentifyContent(request);
+   * }
+   * 
+ * + * @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 ReidentifyContentResponse reidentifyContent(ReidentifyContentRequest request) { + return reidentifyContentCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Re-identify content that has been de-identified. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ReidentifyContentRequest request = ReidentifyContentRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<ReidentifyContentResponse> future = dlpServiceClient.reidentifyContentCallable().futureCall(request);
+   *   // Do something
+   *   ReidentifyContentResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + reidentifyContentCallable() { + return stub.reidentifyContentCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Returns sensitive information types DLP supports. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ListInfoTypesRequest request = ListInfoTypesRequest.newBuilder().build();
+   *   ListInfoTypesResponse response = dlpServiceClient.listInfoTypes(request);
+   * }
+   * 
+ * + * @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 ListInfoTypesResponse listInfoTypes(ListInfoTypesRequest request) { + return listInfoTypesCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Returns sensitive information types DLP supports. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ListInfoTypesRequest request = ListInfoTypesRequest.newBuilder().build();
+   *   ApiFuture<ListInfoTypesResponse> future = dlpServiceClient.listInfoTypesCallable().futureCall(request);
+   *   // Do something
+   *   ListInfoTypesResponse response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable listInfoTypesCallable() { + return stub.listInfoTypesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates an inspect template for re-using frequently used configuration for inspecting content, + * images, and storage. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   CreateInspectTemplateRequest request = CreateInspectTemplateRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   InspectTemplate response = dlpServiceClient.createInspectTemplate(request);
+   * }
+   * 
+ * + * @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 InspectTemplate createInspectTemplate(CreateInspectTemplateRequest request) { + return createInspectTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates an inspect template for re-using frequently used configuration for inspecting content, + * images, and storage. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   CreateInspectTemplateRequest request = CreateInspectTemplateRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<InspectTemplate> future = dlpServiceClient.createInspectTemplateCallable().futureCall(request);
+   *   // Do something
+   *   InspectTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + createInspectTemplateCallable() { + return stub.createInspectTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates the inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   InspectTemplateName name = OrganizationInspectTemplateName.of("[ORGANIZATION]", "[INSPECT_TEMPLATE]");
+   *   UpdateInspectTemplateRequest request = UpdateInspectTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   InspectTemplate response = dlpServiceClient.updateInspectTemplate(request);
+   * }
+   * 
+ * + * @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 InspectTemplate updateInspectTemplate(UpdateInspectTemplateRequest request) { + return updateInspectTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates the inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   InspectTemplateName name = OrganizationInspectTemplateName.of("[ORGANIZATION]", "[INSPECT_TEMPLATE]");
+   *   UpdateInspectTemplateRequest request = UpdateInspectTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<InspectTemplate> future = dlpServiceClient.updateInspectTemplateCallable().futureCall(request);
+   *   // Do something
+   *   InspectTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + updateInspectTemplateCallable() { + return stub.updateInspectTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets an inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   GetInspectTemplateRequest request = GetInspectTemplateRequest.newBuilder().build();
+   *   InspectTemplate response = dlpServiceClient.getInspectTemplate(request);
+   * }
+   * 
+ * + * @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 InspectTemplate getInspectTemplate(GetInspectTemplateRequest request) { + return getInspectTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets an inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   GetInspectTemplateRequest request = GetInspectTemplateRequest.newBuilder().build();
+   *   ApiFuture<InspectTemplate> future = dlpServiceClient.getInspectTemplateCallable().futureCall(request);
+   *   // Do something
+   *   InspectTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + getInspectTemplateCallable() { + return stub.getInspectTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListInspectTemplatesRequest request = ListInspectTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   for (InspectTemplate element : dlpServiceClient.listInspectTemplates(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 ListInspectTemplatesPagedResponse listInspectTemplates( + ListInspectTemplatesRequest request) { + return listInspectTemplatesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListInspectTemplatesRequest request = ListInspectTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<ListInspectTemplatesPagedResponse> future = dlpServiceClient.listInspectTemplatesPagedCallable().futureCall(request);
+   *   // Do something
+   *   for (InspectTemplate element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listInspectTemplatesPagedCallable() { + return stub.listInspectTemplatesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListInspectTemplatesRequest request = ListInspectTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   while (true) {
+   *     ListInspectTemplatesResponse response = dlpServiceClient.listInspectTemplatesCallable().call(request);
+   *     for (InspectTemplate element : response.getInspectTemplatesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listInspectTemplatesCallable() { + return stub.listInspectTemplatesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   InspectTemplateName name = OrganizationInspectTemplateName.of("[ORGANIZATION]", "[INSPECT_TEMPLATE]");
+   *   DeleteInspectTemplateRequest request = DeleteInspectTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   dlpServiceClient.deleteInspectTemplate(request);
+   * }
+   * 
+ * + * @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 void deleteInspectTemplate(DeleteInspectTemplateRequest request) { + deleteInspectTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   InspectTemplateName name = OrganizationInspectTemplateName.of("[ORGANIZATION]", "[INSPECT_TEMPLATE]");
+   *   DeleteInspectTemplateRequest request = DeleteInspectTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<Void> future = dlpServiceClient.deleteInspectTemplateCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable deleteInspectTemplateCallable() { + return stub.deleteInspectTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates an Deidentify template for re-using frequently used configuration for Deidentifying + * content, images, and storage. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   CreateDeidentifyTemplateRequest request = CreateDeidentifyTemplateRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   DeidentifyTemplate response = dlpServiceClient.createDeidentifyTemplate(request);
+   * }
+   * 
+ * + * @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 DeidentifyTemplate createDeidentifyTemplate( + CreateDeidentifyTemplateRequest request) { + return createDeidentifyTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates an Deidentify template for re-using frequently used configuration for Deidentifying + * content, images, and storage. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   CreateDeidentifyTemplateRequest request = CreateDeidentifyTemplateRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<DeidentifyTemplate> future = dlpServiceClient.createDeidentifyTemplateCallable().futureCall(request);
+   *   // Do something
+   *   DeidentifyTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + createDeidentifyTemplateCallable() { + return stub.createDeidentifyTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates the inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   UpdateDeidentifyTemplateRequest request = UpdateDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   DeidentifyTemplate response = dlpServiceClient.updateDeidentifyTemplate(request);
+   * }
+   * 
+ * + * @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 DeidentifyTemplate updateDeidentifyTemplate( + UpdateDeidentifyTemplateRequest request) { + return updateDeidentifyTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates the inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   UpdateDeidentifyTemplateRequest request = UpdateDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<DeidentifyTemplate> future = dlpServiceClient.updateDeidentifyTemplateCallable().futureCall(request);
+   *   // Do something
+   *   DeidentifyTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + updateDeidentifyTemplateCallable() { + return stub.updateDeidentifyTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets an inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   GetDeidentifyTemplateRequest request = GetDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   DeidentifyTemplate response = dlpServiceClient.getDeidentifyTemplate(request);
+   * }
+   * 
+ * + * @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 DeidentifyTemplate getDeidentifyTemplate(GetDeidentifyTemplateRequest request) { + return getDeidentifyTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets an inspect template. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   GetDeidentifyTemplateRequest request = GetDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<DeidentifyTemplate> future = dlpServiceClient.getDeidentifyTemplateCallable().futureCall(request);
+   *   // Do something
+   *   DeidentifyTemplate response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + getDeidentifyTemplateCallable() { + return stub.getDeidentifyTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListDeidentifyTemplatesRequest request = ListDeidentifyTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   for (DeidentifyTemplate element : dlpServiceClient.listDeidentifyTemplates(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 ListDeidentifyTemplatesPagedResponse listDeidentifyTemplates( + ListDeidentifyTemplatesRequest request) { + return listDeidentifyTemplatesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListDeidentifyTemplatesRequest request = ListDeidentifyTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<ListDeidentifyTemplatesPagedResponse> future = dlpServiceClient.listDeidentifyTemplatesPagedCallable().futureCall(request);
+   *   // Do something
+   *   for (DeidentifyTemplate element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listDeidentifyTemplatesPagedCallable() { + return stub.listDeidentifyTemplatesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
+   *   ListDeidentifyTemplatesRequest request = ListDeidentifyTemplatesRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   while (true) {
+   *     ListDeidentifyTemplatesResponse response = dlpServiceClient.listDeidentifyTemplatesCallable().call(request);
+   *     for (DeidentifyTemplate element : response.getDeidentifyTemplatesList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listDeidentifyTemplatesCallable() { + return stub.listDeidentifyTemplatesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   DeleteDeidentifyTemplateRequest request = DeleteDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   dlpServiceClient.deleteDeidentifyTemplate(request);
+   * }
+   * 
+ * + * @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 void deleteDeidentifyTemplate(DeleteDeidentifyTemplateRequest request) { + deleteDeidentifyTemplateCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes inspect templates. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DeidentifyTemplateName name = OrganizationDeidentifyTemplateName.of("[ORGANIZATION]", "[DEIDENTIFY_TEMPLATE]");
+   *   DeleteDeidentifyTemplateRequest request = DeleteDeidentifyTemplateRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<Void> future = dlpServiceClient.deleteDeidentifyTemplateCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable + deleteDeidentifyTemplateCallable() { + return stub.deleteDeidentifyTemplateCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Create a new job to inspect storage or calculate risk metrics [How-to + * guide](/dlp/docs/compute-risk-analysis). + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   CreateDlpJobRequest request = CreateDlpJobRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   DlpJob response = dlpServiceClient.createDlpJob(request);
+   * }
+   * 
+ * + * @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 DlpJob createDlpJob(CreateDlpJobRequest request) { + return createDlpJobCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Create a new job to inspect storage or calculate risk metrics [How-to + * guide](/dlp/docs/compute-risk-analysis). + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   CreateDlpJobRequest request = CreateDlpJobRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<DlpJob> future = dlpServiceClient.createDlpJobCallable().futureCall(request);
+   *   // Do something
+   *   DlpJob response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable createDlpJobCallable() { + return stub.createDlpJobCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists DlpJobs that match the specified filter in the request. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListDlpJobsRequest request = ListDlpJobsRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   for (DlpJob element : dlpServiceClient.listDlpJobs(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 ListDlpJobsPagedResponse listDlpJobs(ListDlpJobsRequest request) { + return listDlpJobsPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists DlpJobs that match the specified filter in the request. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListDlpJobsRequest request = ListDlpJobsRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<ListDlpJobsPagedResponse> future = dlpServiceClient.listDlpJobsPagedCallable().futureCall(request);
+   *   // Do something
+   *   for (DlpJob element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listDlpJobsPagedCallable() { + return stub.listDlpJobsPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists DlpJobs that match the specified filter in the request. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListDlpJobsRequest request = ListDlpJobsRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   while (true) {
+   *     ListDlpJobsResponse response = dlpServiceClient.listDlpJobsCallable().call(request);
+   *     for (DlpJob element : response.getJobsList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable listDlpJobsCallable() { + return stub.listDlpJobsCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets the latest state of a long-running DlpJob. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   GetDlpJobRequest request = GetDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   DlpJob response = dlpServiceClient.getDlpJob(request);
+   * }
+   * 
+ * + * @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 DlpJob getDlpJob(GetDlpJobRequest request) { + return getDlpJobCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets the latest state of a long-running DlpJob. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   GetDlpJobRequest request = GetDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<DlpJob> future = dlpServiceClient.getDlpJobCallable().futureCall(request);
+   *   // Do something
+   *   DlpJob response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable getDlpJobCallable() { + return stub.getDlpJobCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes a long-running DlpJob. This method indicates that the client is no longer interested in + * the DlpJob result. The job will be cancelled if possible. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   DeleteDlpJobRequest request = DeleteDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   dlpServiceClient.deleteDlpJob(request);
+   * }
+   * 
+ * + * @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 void deleteDlpJob(DeleteDlpJobRequest request) { + deleteDlpJobCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes a long-running DlpJob. This method indicates that the client is no longer interested in + * the DlpJob result. The job will be cancelled if possible. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   DeleteDlpJobRequest request = DeleteDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<Void> future = dlpServiceClient.deleteDlpJobCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable deleteDlpJobCallable() { + return stub.deleteDlpJobCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Starts asynchronous cancellation on a long-running DlpJob. The server makes a best effort to + * cancel the DlpJob, but success is not guaranteed. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   CancelDlpJobRequest request = CancelDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   dlpServiceClient.cancelDlpJob(request);
+   * }
+   * 
+ * + * @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 void cancelDlpJob(CancelDlpJobRequest request) { + cancelDlpJobCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Starts asynchronous cancellation on a long-running DlpJob. The server makes a best effort to + * cancel the DlpJob, but success is not guaranteed. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   DlpJobName name = DlpJobName.of("[PROJECT]", "[DLP_JOB]");
+   *   CancelDlpJobRequest request = CancelDlpJobRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<Void> future = dlpServiceClient.cancelDlpJobCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable cancelDlpJobCallable() { + return stub.cancelDlpJobCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists job triggers. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListJobTriggersRequest request = ListJobTriggersRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   for (JobTrigger element : dlpServiceClient.listJobTriggers(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 ListJobTriggersPagedResponse listJobTriggers(ListJobTriggersRequest request) { + return listJobTriggersPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists job triggers. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListJobTriggersRequest request = ListJobTriggersRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<ListJobTriggersPagedResponse> future = dlpServiceClient.listJobTriggersPagedCallable().futureCall(request);
+   *   // Do something
+   *   for (JobTrigger element : future.get().iterateAll()) {
+   *     // doThingsWith(element);
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listJobTriggersPagedCallable() { + return stub.listJobTriggersPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Lists job triggers. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   ListJobTriggersRequest request = ListJobTriggersRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   while (true) {
+   *     ListJobTriggersResponse response = dlpServiceClient.listJobTriggersCallable().call(request);
+   *     for (JobTrigger element : response.getJobTriggersList()) {
+   *       // doThingsWith(element);
+   *     }
+   *     String nextPageToken = response.getNextPageToken();
+   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
+   *       request = request.toBuilder().setPageToken(nextPageToken).build();
+   *     } else {
+   *       break;
+   *     }
+   *   }
+   * }
+   * 
+ */ + public final UnaryCallable + listJobTriggersCallable() { + return stub.listJobTriggersCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   GetJobTriggerRequest request = GetJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   JobTrigger response = dlpServiceClient.getJobTrigger(request);
+   * }
+   * 
+ * + * @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 JobTrigger getJobTrigger(GetJobTriggerRequest request) { + return getJobTriggerCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Gets a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   GetJobTriggerRequest request = GetJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<JobTrigger> future = dlpServiceClient.getJobTriggerCallable().futureCall(request);
+   *   // Do something
+   *   JobTrigger response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable getJobTriggerCallable() { + return stub.getJobTriggerCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   DeleteJobTriggerRequest request = DeleteJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   dlpServiceClient.deleteJobTrigger(request);
+   * }
+   * 
+ * + * @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 void deleteJobTrigger(DeleteJobTriggerRequest request) { + deleteJobTriggerCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Deletes a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   DeleteJobTriggerRequest request = DeleteJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<Void> future = dlpServiceClient.deleteJobTriggerCallable().futureCall(request);
+   *   // Do something
+   *   future.get();
+   * }
+   * 
+ */ + public final UnaryCallable deleteJobTriggerCallable() { + return stub.deleteJobTriggerCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   UpdateJobTriggerRequest request = UpdateJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   JobTrigger response = dlpServiceClient.updateJobTrigger(request);
+   * }
+   * 
+ * + * @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 JobTrigger updateJobTrigger(UpdateJobTriggerRequest request) { + return updateJobTriggerCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Updates a job trigger. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectJobTriggerName name = ProjectJobTriggerName.of("[PROJECT]", "[JOB_TRIGGER]");
+   *   UpdateJobTriggerRequest request = UpdateJobTriggerRequest.newBuilder()
+   *     .setName(name.toString())
+   *     .build();
+   *   ApiFuture<JobTrigger> future = dlpServiceClient.updateJobTriggerCallable().futureCall(request);
+   *   // Do something
+   *   JobTrigger response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable updateJobTriggerCallable() { + return stub.updateJobTriggerCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates a job to run DLP actions such as scanning storage for sensitive information on a set + * schedule. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   CreateJobTriggerRequest request = CreateJobTriggerRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   JobTrigger response = dlpServiceClient.createJobTrigger(request);
+   * }
+   * 
+ * + * @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 JobTrigger createJobTrigger(CreateJobTriggerRequest request) { + return createJobTriggerCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Creates a job to run DLP actions such as scanning storage for sensitive information on a set + * schedule. + * + *

Sample code: + * + *


+   * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+   *   ProjectName parent = ProjectName.of("[PROJECT]");
+   *   CreateJobTriggerRequest request = CreateJobTriggerRequest.newBuilder()
+   *     .setParent(parent.toString())
+   *     .build();
+   *   ApiFuture<JobTrigger> future = dlpServiceClient.createJobTriggerCallable().futureCall(request);
+   *   // Do something
+   *   JobTrigger response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable createJobTriggerCallable() { + return stub.createJobTriggerCallable(); + } + + @Override + public final void close() throws Exception { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } + + public static class ListInspectTemplatesPagedResponse + extends AbstractPagedListResponse< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate, + ListInspectTemplatesPage, ListInspectTemplatesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext + context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListInspectTemplatesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + new ApiFunction() { + @Override + public ListInspectTemplatesPagedResponse apply(ListInspectTemplatesPage input) { + return new ListInspectTemplatesPagedResponse(input); + } + }); + } + + private ListInspectTemplatesPagedResponse(ListInspectTemplatesPage page) { + super(page, ListInspectTemplatesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListInspectTemplatesPage + extends AbstractPage< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate, + ListInspectTemplatesPage> { + + private ListInspectTemplatesPage( + PageContext + context, + ListInspectTemplatesResponse response) { + super(context, response); + } + + private static ListInspectTemplatesPage createEmptyPage() { + return new ListInspectTemplatesPage(null, null); + } + + @Override + protected ListInspectTemplatesPage createPage( + PageContext + context, + ListInspectTemplatesResponse response) { + return new ListInspectTemplatesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListInspectTemplatesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate, + ListInspectTemplatesPage, ListInspectTemplatesFixedSizeCollection> { + + private ListInspectTemplatesFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListInspectTemplatesFixedSizeCollection createEmptyCollection() { + return new ListInspectTemplatesFixedSizeCollection(null, 0); + } + + @Override + protected ListInspectTemplatesFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListInspectTemplatesFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListDeidentifyTemplatesPagedResponse + extends AbstractPagedListResponse< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate, + ListDeidentifyTemplatesPage, ListDeidentifyTemplatesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate> + context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListDeidentifyTemplatesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + new ApiFunction() { + @Override + public ListDeidentifyTemplatesPagedResponse apply(ListDeidentifyTemplatesPage input) { + return new ListDeidentifyTemplatesPagedResponse(input); + } + }); + } + + private ListDeidentifyTemplatesPagedResponse(ListDeidentifyTemplatesPage page) { + super(page, ListDeidentifyTemplatesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListDeidentifyTemplatesPage + extends AbstractPage< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate, + ListDeidentifyTemplatesPage> { + + private ListDeidentifyTemplatesPage( + PageContext< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate> + context, + ListDeidentifyTemplatesResponse response) { + super(context, response); + } + + private static ListDeidentifyTemplatesPage createEmptyPage() { + return new ListDeidentifyTemplatesPage(null, null); + } + + @Override + protected ListDeidentifyTemplatesPage createPage( + PageContext< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate> + context, + ListDeidentifyTemplatesResponse response) { + return new ListDeidentifyTemplatesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate> + context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListDeidentifyTemplatesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate, + ListDeidentifyTemplatesPage, ListDeidentifyTemplatesFixedSizeCollection> { + + private ListDeidentifyTemplatesFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListDeidentifyTemplatesFixedSizeCollection createEmptyCollection() { + return new ListDeidentifyTemplatesFixedSizeCollection(null, 0); + } + + @Override + protected ListDeidentifyTemplatesFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListDeidentifyTemplatesFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListDlpJobsPagedResponse + extends AbstractPagedListResponse< + ListDlpJobsRequest, ListDlpJobsResponse, DlpJob, ListDlpJobsPage, + ListDlpJobsFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListDlpJobsPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + new ApiFunction() { + @Override + public ListDlpJobsPagedResponse apply(ListDlpJobsPage input) { + return new ListDlpJobsPagedResponse(input); + } + }); + } + + private ListDlpJobsPagedResponse(ListDlpJobsPage page) { + super(page, ListDlpJobsFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListDlpJobsPage + extends AbstractPage { + + private ListDlpJobsPage( + PageContext context, + ListDlpJobsResponse response) { + super(context, response); + } + + private static ListDlpJobsPage createEmptyPage() { + return new ListDlpJobsPage(null, null); + } + + @Override + protected ListDlpJobsPage createPage( + PageContext context, + ListDlpJobsResponse response) { + return new ListDlpJobsPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListDlpJobsFixedSizeCollection + extends AbstractFixedSizeCollection< + ListDlpJobsRequest, ListDlpJobsResponse, DlpJob, ListDlpJobsPage, + ListDlpJobsFixedSizeCollection> { + + private ListDlpJobsFixedSizeCollection(List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListDlpJobsFixedSizeCollection createEmptyCollection() { + return new ListDlpJobsFixedSizeCollection(null, 0); + } + + @Override + protected ListDlpJobsFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListDlpJobsFixedSizeCollection(pages, collectionSize); + } + } + + public static class ListJobTriggersPagedResponse + extends AbstractPagedListResponse< + ListJobTriggersRequest, ListJobTriggersResponse, JobTrigger, ListJobTriggersPage, + ListJobTriggersFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListJobTriggersPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + new ApiFunction() { + @Override + public ListJobTriggersPagedResponse apply(ListJobTriggersPage input) { + return new ListJobTriggersPagedResponse(input); + } + }); + } + + private ListJobTriggersPagedResponse(ListJobTriggersPage page) { + super(page, ListJobTriggersFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListJobTriggersPage + extends AbstractPage< + ListJobTriggersRequest, ListJobTriggersResponse, JobTrigger, ListJobTriggersPage> { + + private ListJobTriggersPage( + PageContext context, + ListJobTriggersResponse response) { + super(context, response); + } + + private static ListJobTriggersPage createEmptyPage() { + return new ListJobTriggersPage(null, null); + } + + @Override + protected ListJobTriggersPage createPage( + PageContext context, + ListJobTriggersResponse response) { + return new ListJobTriggersPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListJobTriggersFixedSizeCollection + extends AbstractFixedSizeCollection< + ListJobTriggersRequest, ListJobTriggersResponse, JobTrigger, ListJobTriggersPage, + ListJobTriggersFixedSizeCollection> { + + private ListJobTriggersFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListJobTriggersFixedSizeCollection createEmptyCollection() { + return new ListJobTriggersFixedSizeCollection(null, 0); + } + + @Override + protected ListJobTriggersFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListJobTriggersFixedSizeCollection(pages, collectionSize); + } + } +} diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceSettings.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceSettings.java new file mode 100644 index 000000000000..7167697f9b28 --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/DlpServiceSettings.java @@ -0,0 +1,500 @@ +/* + * Copyright 2018 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.cloud.dlp.v2; + +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDeidentifyTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDlpJobsPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListInspectTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListJobTriggersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.dlp.v2.stub.DlpServiceStubSettings; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link DlpServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (dlp.googleapis.com) and default port (443) are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 inspectContent to 30 seconds: + * + *

+ * 
+ * DlpServiceSettings.Builder dlpServiceSettingsBuilder =
+ *     DlpServiceSettings.newBuilder();
+ * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * DlpServiceSettings dlpServiceSettings = dlpServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class DlpServiceSettings extends ClientSettings { + /** Returns the object with the settings used for calls to inspectContent. */ + public UnaryCallSettings inspectContentSettings() { + return ((DlpServiceStubSettings) getStubSettings()).inspectContentSettings(); + } + + /** Returns the object with the settings used for calls to redactImage. */ + public UnaryCallSettings redactImageSettings() { + return ((DlpServiceStubSettings) getStubSettings()).redactImageSettings(); + } + + /** Returns the object with the settings used for calls to deidentifyContent. */ + public UnaryCallSettings + deidentifyContentSettings() { + return ((DlpServiceStubSettings) getStubSettings()).deidentifyContentSettings(); + } + + /** Returns the object with the settings used for calls to reidentifyContent. */ + public UnaryCallSettings + reidentifyContentSettings() { + return ((DlpServiceStubSettings) getStubSettings()).reidentifyContentSettings(); + } + + /** Returns the object with the settings used for calls to listInfoTypes. */ + public UnaryCallSettings listInfoTypesSettings() { + return ((DlpServiceStubSettings) getStubSettings()).listInfoTypesSettings(); + } + + /** Returns the object with the settings used for calls to createInspectTemplate. */ + public UnaryCallSettings + createInspectTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).createInspectTemplateSettings(); + } + + /** Returns the object with the settings used for calls to updateInspectTemplate. */ + public UnaryCallSettings + updateInspectTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).updateInspectTemplateSettings(); + } + + /** Returns the object with the settings used for calls to getInspectTemplate. */ + public UnaryCallSettings + getInspectTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).getInspectTemplateSettings(); + } + + /** Returns the object with the settings used for calls to listInspectTemplates. */ + public PagedCallSettings< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings() { + return ((DlpServiceStubSettings) getStubSettings()).listInspectTemplatesSettings(); + } + + /** Returns the object with the settings used for calls to deleteInspectTemplate. */ + public UnaryCallSettings deleteInspectTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).deleteInspectTemplateSettings(); + } + + /** Returns the object with the settings used for calls to createDeidentifyTemplate. */ + public UnaryCallSettings + createDeidentifyTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).createDeidentifyTemplateSettings(); + } + + /** Returns the object with the settings used for calls to updateDeidentifyTemplate. */ + public UnaryCallSettings + updateDeidentifyTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).updateDeidentifyTemplateSettings(); + } + + /** Returns the object with the settings used for calls to getDeidentifyTemplate. */ + public UnaryCallSettings + getDeidentifyTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).getDeidentifyTemplateSettings(); + } + + /** Returns the object with the settings used for calls to listDeidentifyTemplates. */ + public PagedCallSettings< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings() { + return ((DlpServiceStubSettings) getStubSettings()).listDeidentifyTemplatesSettings(); + } + + /** Returns the object with the settings used for calls to deleteDeidentifyTemplate. */ + public UnaryCallSettings + deleteDeidentifyTemplateSettings() { + return ((DlpServiceStubSettings) getStubSettings()).deleteDeidentifyTemplateSettings(); + } + + /** Returns the object with the settings used for calls to createDlpJob. */ + public UnaryCallSettings createDlpJobSettings() { + return ((DlpServiceStubSettings) getStubSettings()).createDlpJobSettings(); + } + + /** Returns the object with the settings used for calls to listDlpJobs. */ + public PagedCallSettings + listDlpJobsSettings() { + return ((DlpServiceStubSettings) getStubSettings()).listDlpJobsSettings(); + } + + /** Returns the object with the settings used for calls to getDlpJob. */ + public UnaryCallSettings getDlpJobSettings() { + return ((DlpServiceStubSettings) getStubSettings()).getDlpJobSettings(); + } + + /** Returns the object with the settings used for calls to deleteDlpJob. */ + public UnaryCallSettings deleteDlpJobSettings() { + return ((DlpServiceStubSettings) getStubSettings()).deleteDlpJobSettings(); + } + + /** Returns the object with the settings used for calls to cancelDlpJob. */ + public UnaryCallSettings cancelDlpJobSettings() { + return ((DlpServiceStubSettings) getStubSettings()).cancelDlpJobSettings(); + } + + /** Returns the object with the settings used for calls to listJobTriggers. */ + public PagedCallSettings< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings() { + return ((DlpServiceStubSettings) getStubSettings()).listJobTriggersSettings(); + } + + /** Returns the object with the settings used for calls to getJobTrigger. */ + public UnaryCallSettings getJobTriggerSettings() { + return ((DlpServiceStubSettings) getStubSettings()).getJobTriggerSettings(); + } + + /** Returns the object with the settings used for calls to deleteJobTrigger. */ + public UnaryCallSettings deleteJobTriggerSettings() { + return ((DlpServiceStubSettings) getStubSettings()).deleteJobTriggerSettings(); + } + + /** Returns the object with the settings used for calls to updateJobTrigger. */ + public UnaryCallSettings updateJobTriggerSettings() { + return ((DlpServiceStubSettings) getStubSettings()).updateJobTriggerSettings(); + } + + /** Returns the object with the settings used for calls to createJobTrigger. */ + public UnaryCallSettings createJobTriggerSettings() { + return ((DlpServiceStubSettings) getStubSettings()).createJobTriggerSettings(); + } + + public static final DlpServiceSettings create(DlpServiceStubSettings stub) throws IOException { + return new DlpServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return DlpServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return DlpServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DlpServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return DlpServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return DlpServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return DlpServiceStubSettings.defaultTransportChannelProvider(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return DlpServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected DlpServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for DlpServiceSettings. */ + public static class Builder extends ClientSettings.Builder { + protected Builder() throws IOException { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(DlpServiceStubSettings.newBuilder(clientContext)); + } + + private static Builder createDefault() { + return new Builder(DlpServiceStubSettings.newBuilder()); + } + + protected Builder(DlpServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(DlpServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + public DlpServiceStubSettings.Builder getStubSettingsBuilder() { + return ((DlpServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to inspectContent. */ + public UnaryCallSettings.Builder + inspectContentSettings() { + return getStubSettingsBuilder().inspectContentSettings(); + } + + /** Returns the builder for the settings used for calls to redactImage. */ + public UnaryCallSettings.Builder + redactImageSettings() { + return getStubSettingsBuilder().redactImageSettings(); + } + + /** Returns the builder for the settings used for calls to deidentifyContent. */ + public UnaryCallSettings.Builder + deidentifyContentSettings() { + return getStubSettingsBuilder().deidentifyContentSettings(); + } + + /** Returns the builder for the settings used for calls to reidentifyContent. */ + public UnaryCallSettings.Builder + reidentifyContentSettings() { + return getStubSettingsBuilder().reidentifyContentSettings(); + } + + /** Returns the builder for the settings used for calls to listInfoTypes. */ + public UnaryCallSettings.Builder + listInfoTypesSettings() { + return getStubSettingsBuilder().listInfoTypesSettings(); + } + + /** Returns the builder for the settings used for calls to createInspectTemplate. */ + public UnaryCallSettings.Builder + createInspectTemplateSettings() { + return getStubSettingsBuilder().createInspectTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to updateInspectTemplate. */ + public UnaryCallSettings.Builder + updateInspectTemplateSettings() { + return getStubSettingsBuilder().updateInspectTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to getInspectTemplate. */ + public UnaryCallSettings.Builder + getInspectTemplateSettings() { + return getStubSettingsBuilder().getInspectTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to listInspectTemplates. */ + public PagedCallSettings.Builder< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings() { + return getStubSettingsBuilder().listInspectTemplatesSettings(); + } + + /** Returns the builder for the settings used for calls to deleteInspectTemplate. */ + public UnaryCallSettings.Builder + deleteInspectTemplateSettings() { + return getStubSettingsBuilder().deleteInspectTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to createDeidentifyTemplate. */ + public UnaryCallSettings.Builder + createDeidentifyTemplateSettings() { + return getStubSettingsBuilder().createDeidentifyTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to updateDeidentifyTemplate. */ + public UnaryCallSettings.Builder + updateDeidentifyTemplateSettings() { + return getStubSettingsBuilder().updateDeidentifyTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to getDeidentifyTemplate. */ + public UnaryCallSettings.Builder + getDeidentifyTemplateSettings() { + return getStubSettingsBuilder().getDeidentifyTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to listDeidentifyTemplates. */ + public PagedCallSettings.Builder< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings() { + return getStubSettingsBuilder().listDeidentifyTemplatesSettings(); + } + + /** Returns the builder for the settings used for calls to deleteDeidentifyTemplate. */ + public UnaryCallSettings.Builder + deleteDeidentifyTemplateSettings() { + return getStubSettingsBuilder().deleteDeidentifyTemplateSettings(); + } + + /** Returns the builder for the settings used for calls to createDlpJob. */ + public UnaryCallSettings.Builder createDlpJobSettings() { + return getStubSettingsBuilder().createDlpJobSettings(); + } + + /** Returns the builder for the settings used for calls to listDlpJobs. */ + public PagedCallSettings.Builder< + ListDlpJobsRequest, ListDlpJobsResponse, ListDlpJobsPagedResponse> + listDlpJobsSettings() { + return getStubSettingsBuilder().listDlpJobsSettings(); + } + + /** Returns the builder for the settings used for calls to getDlpJob. */ + public UnaryCallSettings.Builder getDlpJobSettings() { + return getStubSettingsBuilder().getDlpJobSettings(); + } + + /** Returns the builder for the settings used for calls to deleteDlpJob. */ + public UnaryCallSettings.Builder deleteDlpJobSettings() { + return getStubSettingsBuilder().deleteDlpJobSettings(); + } + + /** Returns the builder for the settings used for calls to cancelDlpJob. */ + public UnaryCallSettings.Builder cancelDlpJobSettings() { + return getStubSettingsBuilder().cancelDlpJobSettings(); + } + + /** Returns the builder for the settings used for calls to listJobTriggers. */ + public PagedCallSettings.Builder< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings() { + return getStubSettingsBuilder().listJobTriggersSettings(); + } + + /** Returns the builder for the settings used for calls to getJobTrigger. */ + public UnaryCallSettings.Builder getJobTriggerSettings() { + return getStubSettingsBuilder().getJobTriggerSettings(); + } + + /** Returns the builder for the settings used for calls to deleteJobTrigger. */ + public UnaryCallSettings.Builder deleteJobTriggerSettings() { + return getStubSettingsBuilder().deleteJobTriggerSettings(); + } + + /** Returns the builder for the settings used for calls to updateJobTrigger. */ + public UnaryCallSettings.Builder + updateJobTriggerSettings() { + return getStubSettingsBuilder().updateJobTriggerSettings(); + } + + /** Returns the builder for the settings used for calls to createJobTrigger. */ + public UnaryCallSettings.Builder + createJobTriggerSettings() { + return getStubSettingsBuilder().createJobTriggerSettings(); + } + + @Override + public DlpServiceSettings build() throws IOException { + return new DlpServiceSettings(this); + } + } +} diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/package-info.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/package-info.java new file mode 100644 index 000000000000..9bd2418f55e9 --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/package-info.java @@ -0,0 +1,43 @@ +/* + * Copyright 2018 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. + */ + +/** + * A client to DLP API. + * + *

The interfaces provided are listed below, along with usage samples. + * + *

================ DlpServiceClient ================ + * + *

Service Description: The DLP API is a service that allows clients to detect the presence of + * Personally Identifiable Information (PII) and other privacy-sensitive data in user-supplied, + * unstructured data streams, like text blocks or images. The service also includes methods for + * sensitive data redaction and scheduling of data scans on Google Cloud Platform based data sets. + * + *

Sample for DlpServiceClient: + * + *

+ * 
+ * try (DlpServiceClient dlpServiceClient = DlpServiceClient.create()) {
+ *   ProjectName parent = ProjectName.of("[PROJECT]");
+ *   InspectContentRequest request = InspectContentRequest.newBuilder()
+ *     .setParent(parent.toString())
+ *     .build();
+ *   InspectContentResponse response = dlpServiceClient.inspectContent(request);
+ * }
+ * 
+ * 
+ */ +package com.google.cloud.dlp.v2; diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStub.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStub.java new file mode 100644 index 000000000000..b238def9b10a --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStub.java @@ -0,0 +1,205 @@ +/* + * Copyright 2018 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.cloud.dlp.v2.stub; + +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDeidentifyTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDlpJobsPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListInspectTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListJobTriggersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Base stub class for DLP API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public abstract class DlpServiceStub implements BackgroundResource { + + public UnaryCallable inspectContentCallable() { + throw new UnsupportedOperationException("Not implemented: inspectContentCallable()"); + } + + public UnaryCallable redactImageCallable() { + throw new UnsupportedOperationException("Not implemented: redactImageCallable()"); + } + + public UnaryCallable + deidentifyContentCallable() { + throw new UnsupportedOperationException("Not implemented: deidentifyContentCallable()"); + } + + public UnaryCallable + reidentifyContentCallable() { + throw new UnsupportedOperationException("Not implemented: reidentifyContentCallable()"); + } + + public UnaryCallable listInfoTypesCallable() { + throw new UnsupportedOperationException("Not implemented: listInfoTypesCallable()"); + } + + public UnaryCallable + createInspectTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: createInspectTemplateCallable()"); + } + + public UnaryCallable + updateInspectTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: updateInspectTemplateCallable()"); + } + + public UnaryCallable getInspectTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: getInspectTemplateCallable()"); + } + + public UnaryCallable + listInspectTemplatesPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listInspectTemplatesPagedCallable()"); + } + + public UnaryCallable + listInspectTemplatesCallable() { + throw new UnsupportedOperationException("Not implemented: listInspectTemplatesCallable()"); + } + + public UnaryCallable deleteInspectTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: deleteInspectTemplateCallable()"); + } + + public UnaryCallable + createDeidentifyTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: createDeidentifyTemplateCallable()"); + } + + public UnaryCallable + updateDeidentifyTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: updateDeidentifyTemplateCallable()"); + } + + public UnaryCallable + getDeidentifyTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: getDeidentifyTemplateCallable()"); + } + + public UnaryCallable + listDeidentifyTemplatesPagedCallable() { + throw new UnsupportedOperationException( + "Not implemented: listDeidentifyTemplatesPagedCallable()"); + } + + public UnaryCallable + listDeidentifyTemplatesCallable() { + throw new UnsupportedOperationException("Not implemented: listDeidentifyTemplatesCallable()"); + } + + public UnaryCallable deleteDeidentifyTemplateCallable() { + throw new UnsupportedOperationException("Not implemented: deleteDeidentifyTemplateCallable()"); + } + + public UnaryCallable createDlpJobCallable() { + throw new UnsupportedOperationException("Not implemented: createDlpJobCallable()"); + } + + public UnaryCallable listDlpJobsPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listDlpJobsPagedCallable()"); + } + + public UnaryCallable listDlpJobsCallable() { + throw new UnsupportedOperationException("Not implemented: listDlpJobsCallable()"); + } + + public UnaryCallable getDlpJobCallable() { + throw new UnsupportedOperationException("Not implemented: getDlpJobCallable()"); + } + + public UnaryCallable deleteDlpJobCallable() { + throw new UnsupportedOperationException("Not implemented: deleteDlpJobCallable()"); + } + + public UnaryCallable cancelDlpJobCallable() { + throw new UnsupportedOperationException("Not implemented: cancelDlpJobCallable()"); + } + + public UnaryCallable + listJobTriggersPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listJobTriggersPagedCallable()"); + } + + public UnaryCallable listJobTriggersCallable() { + throw new UnsupportedOperationException("Not implemented: listJobTriggersCallable()"); + } + + public UnaryCallable getJobTriggerCallable() { + throw new UnsupportedOperationException("Not implemented: getJobTriggerCallable()"); + } + + public UnaryCallable deleteJobTriggerCallable() { + throw new UnsupportedOperationException("Not implemented: deleteJobTriggerCallable()"); + } + + public UnaryCallable updateJobTriggerCallable() { + throw new UnsupportedOperationException("Not implemented: updateJobTriggerCallable()"); + } + + public UnaryCallable createJobTriggerCallable() { + throw new UnsupportedOperationException("Not implemented: createJobTriggerCallable()"); + } +} diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStubSettings.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStubSettings.java new file mode 100644 index 000000000000..72a5bc039c08 --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/DlpServiceStubSettings.java @@ -0,0 +1,1190 @@ +/* + * Copyright 2018 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.cloud.dlp.v2.stub; + +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDeidentifyTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDlpJobsPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListInspectTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListJobTriggersPagedResponse; + +import com.google.api.core.ApiFunction; +import com.google.api.core.ApiFuture; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiCallContext; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.PageContext; +import com.google.api.gax.rpc.PagedCallSettings; +import com.google.api.gax.rpc.PagedListDescriptor; +import com.google.api.gax.rpc.PagedListResponseFactory; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.threeten.bp.Duration; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link DlpServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (dlp.googleapis.com) and default port (443) are used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 inspectContent to 30 seconds: + * + *

+ * 
+ * DlpServiceStubSettings.Builder dlpServiceSettingsBuilder =
+ *     DlpServiceStubSettings.newBuilder();
+ * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * DlpServiceStubSettings dlpServiceSettings = dlpServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class DlpServiceStubSettings extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings + inspectContentSettings; + private final UnaryCallSettings redactImageSettings; + private final UnaryCallSettings + deidentifyContentSettings; + private final UnaryCallSettings + reidentifyContentSettings; + private final UnaryCallSettings + listInfoTypesSettings; + private final UnaryCallSettings + createInspectTemplateSettings; + private final UnaryCallSettings + updateInspectTemplateSettings; + private final UnaryCallSettings + getInspectTemplateSettings; + private final PagedCallSettings< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings; + private final UnaryCallSettings + deleteInspectTemplateSettings; + private final UnaryCallSettings + createDeidentifyTemplateSettings; + private final UnaryCallSettings + updateDeidentifyTemplateSettings; + private final UnaryCallSettings + getDeidentifyTemplateSettings; + private final PagedCallSettings< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings; + private final UnaryCallSettings + deleteDeidentifyTemplateSettings; + private final UnaryCallSettings createDlpJobSettings; + private final PagedCallSettings + listDlpJobsSettings; + private final UnaryCallSettings getDlpJobSettings; + private final UnaryCallSettings deleteDlpJobSettings; + private final UnaryCallSettings cancelDlpJobSettings; + private final PagedCallSettings< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings; + private final UnaryCallSettings getJobTriggerSettings; + private final UnaryCallSettings deleteJobTriggerSettings; + private final UnaryCallSettings updateJobTriggerSettings; + private final UnaryCallSettings createJobTriggerSettings; + + /** Returns the object with the settings used for calls to inspectContent. */ + public UnaryCallSettings inspectContentSettings() { + return inspectContentSettings; + } + + /** Returns the object with the settings used for calls to redactImage. */ + public UnaryCallSettings redactImageSettings() { + return redactImageSettings; + } + + /** Returns the object with the settings used for calls to deidentifyContent. */ + public UnaryCallSettings + deidentifyContentSettings() { + return deidentifyContentSettings; + } + + /** Returns the object with the settings used for calls to reidentifyContent. */ + public UnaryCallSettings + reidentifyContentSettings() { + return reidentifyContentSettings; + } + + /** Returns the object with the settings used for calls to listInfoTypes. */ + public UnaryCallSettings listInfoTypesSettings() { + return listInfoTypesSettings; + } + + /** Returns the object with the settings used for calls to createInspectTemplate. */ + public UnaryCallSettings + createInspectTemplateSettings() { + return createInspectTemplateSettings; + } + + /** Returns the object with the settings used for calls to updateInspectTemplate. */ + public UnaryCallSettings + updateInspectTemplateSettings() { + return updateInspectTemplateSettings; + } + + /** Returns the object with the settings used for calls to getInspectTemplate. */ + public UnaryCallSettings + getInspectTemplateSettings() { + return getInspectTemplateSettings; + } + + /** Returns the object with the settings used for calls to listInspectTemplates. */ + public PagedCallSettings< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings() { + return listInspectTemplatesSettings; + } + + /** Returns the object with the settings used for calls to deleteInspectTemplate. */ + public UnaryCallSettings deleteInspectTemplateSettings() { + return deleteInspectTemplateSettings; + } + + /** Returns the object with the settings used for calls to createDeidentifyTemplate. */ + public UnaryCallSettings + createDeidentifyTemplateSettings() { + return createDeidentifyTemplateSettings; + } + + /** Returns the object with the settings used for calls to updateDeidentifyTemplate. */ + public UnaryCallSettings + updateDeidentifyTemplateSettings() { + return updateDeidentifyTemplateSettings; + } + + /** Returns the object with the settings used for calls to getDeidentifyTemplate. */ + public UnaryCallSettings + getDeidentifyTemplateSettings() { + return getDeidentifyTemplateSettings; + } + + /** Returns the object with the settings used for calls to listDeidentifyTemplates. */ + public PagedCallSettings< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings() { + return listDeidentifyTemplatesSettings; + } + + /** Returns the object with the settings used for calls to deleteDeidentifyTemplate. */ + public UnaryCallSettings + deleteDeidentifyTemplateSettings() { + return deleteDeidentifyTemplateSettings; + } + + /** Returns the object with the settings used for calls to createDlpJob. */ + public UnaryCallSettings createDlpJobSettings() { + return createDlpJobSettings; + } + + /** Returns the object with the settings used for calls to listDlpJobs. */ + public PagedCallSettings + listDlpJobsSettings() { + return listDlpJobsSettings; + } + + /** Returns the object with the settings used for calls to getDlpJob. */ + public UnaryCallSettings getDlpJobSettings() { + return getDlpJobSettings; + } + + /** Returns the object with the settings used for calls to deleteDlpJob. */ + public UnaryCallSettings deleteDlpJobSettings() { + return deleteDlpJobSettings; + } + + /** Returns the object with the settings used for calls to cancelDlpJob. */ + public UnaryCallSettings cancelDlpJobSettings() { + return cancelDlpJobSettings; + } + + /** Returns the object with the settings used for calls to listJobTriggers. */ + public PagedCallSettings< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings() { + return listJobTriggersSettings; + } + + /** Returns the object with the settings used for calls to getJobTrigger. */ + public UnaryCallSettings getJobTriggerSettings() { + return getJobTriggerSettings; + } + + /** Returns the object with the settings used for calls to deleteJobTrigger. */ + public UnaryCallSettings deleteJobTriggerSettings() { + return deleteJobTriggerSettings; + } + + /** Returns the object with the settings used for calls to updateJobTrigger. */ + public UnaryCallSettings updateJobTriggerSettings() { + return updateJobTriggerSettings; + } + + /** Returns the object with the settings used for calls to createJobTrigger. */ + public UnaryCallSettings createJobTriggerSettings() { + return createJobTriggerSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public DlpServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcDlpServiceStub.create(this); + } else { + throw new UnsupportedOperationException( + "Transport not supported: " + getTransportChannelProvider().getTransportName()); + } + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "dlp.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(DlpServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected DlpServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + inspectContentSettings = settingsBuilder.inspectContentSettings().build(); + redactImageSettings = settingsBuilder.redactImageSettings().build(); + deidentifyContentSettings = settingsBuilder.deidentifyContentSettings().build(); + reidentifyContentSettings = settingsBuilder.reidentifyContentSettings().build(); + listInfoTypesSettings = settingsBuilder.listInfoTypesSettings().build(); + createInspectTemplateSettings = settingsBuilder.createInspectTemplateSettings().build(); + updateInspectTemplateSettings = settingsBuilder.updateInspectTemplateSettings().build(); + getInspectTemplateSettings = settingsBuilder.getInspectTemplateSettings().build(); + listInspectTemplatesSettings = settingsBuilder.listInspectTemplatesSettings().build(); + deleteInspectTemplateSettings = settingsBuilder.deleteInspectTemplateSettings().build(); + createDeidentifyTemplateSettings = settingsBuilder.createDeidentifyTemplateSettings().build(); + updateDeidentifyTemplateSettings = settingsBuilder.updateDeidentifyTemplateSettings().build(); + getDeidentifyTemplateSettings = settingsBuilder.getDeidentifyTemplateSettings().build(); + listDeidentifyTemplatesSettings = settingsBuilder.listDeidentifyTemplatesSettings().build(); + deleteDeidentifyTemplateSettings = settingsBuilder.deleteDeidentifyTemplateSettings().build(); + createDlpJobSettings = settingsBuilder.createDlpJobSettings().build(); + listDlpJobsSettings = settingsBuilder.listDlpJobsSettings().build(); + getDlpJobSettings = settingsBuilder.getDlpJobSettings().build(); + deleteDlpJobSettings = settingsBuilder.deleteDlpJobSettings().build(); + cancelDlpJobSettings = settingsBuilder.cancelDlpJobSettings().build(); + listJobTriggersSettings = settingsBuilder.listJobTriggersSettings().build(); + getJobTriggerSettings = settingsBuilder.getJobTriggerSettings().build(); + deleteJobTriggerSettings = settingsBuilder.deleteJobTriggerSettings().build(); + updateJobTriggerSettings = settingsBuilder.updateJobTriggerSettings().build(); + createJobTriggerSettings = settingsBuilder.createJobTriggerSettings().build(); + } + + private static final PagedListDescriptor< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate> + LIST_INSPECT_TEMPLATES_PAGE_STR_DESC = + new PagedListDescriptor< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListInspectTemplatesRequest injectToken( + ListInspectTemplatesRequest payload, String token) { + return ListInspectTemplatesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListInspectTemplatesRequest injectPageSize( + ListInspectTemplatesRequest payload, int pageSize) { + return ListInspectTemplatesRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListInspectTemplatesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListInspectTemplatesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources( + ListInspectTemplatesResponse payload) { + return payload.getInspectTemplatesList(); + } + }; + + private static final PagedListDescriptor< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, DeidentifyTemplate> + LIST_DEIDENTIFY_TEMPLATES_PAGE_STR_DESC = + new PagedListDescriptor< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + DeidentifyTemplate>() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListDeidentifyTemplatesRequest injectToken( + ListDeidentifyTemplatesRequest payload, String token) { + return ListDeidentifyTemplatesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListDeidentifyTemplatesRequest injectPageSize( + ListDeidentifyTemplatesRequest payload, int pageSize) { + return ListDeidentifyTemplatesRequest.newBuilder(payload) + .setPageSize(pageSize) + .build(); + } + + @Override + public Integer extractPageSize(ListDeidentifyTemplatesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListDeidentifyTemplatesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources( + ListDeidentifyTemplatesResponse payload) { + return payload.getDeidentifyTemplatesList(); + } + }; + + private static final PagedListDescriptor + LIST_DLP_JOBS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListDlpJobsRequest injectToken(ListDlpJobsRequest payload, String token) { + return ListDlpJobsRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListDlpJobsRequest injectPageSize(ListDlpJobsRequest payload, int pageSize) { + return ListDlpJobsRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListDlpJobsRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListDlpJobsResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListDlpJobsResponse payload) { + return payload.getJobsList(); + } + }; + + private static final PagedListDescriptor< + ListJobTriggersRequest, ListJobTriggersResponse, JobTrigger> + LIST_JOB_TRIGGERS_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListJobTriggersRequest injectToken( + ListJobTriggersRequest payload, String token) { + return ListJobTriggersRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListJobTriggersRequest injectPageSize( + ListJobTriggersRequest payload, int pageSize) { + return ListJobTriggersRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListJobTriggersRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListJobTriggersResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListJobTriggersResponse payload) { + return payload.getJobTriggersList(); + } + }; + + private static final PagedListResponseFactory< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + LIST_INSPECT_TEMPLATES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListInspectTemplatesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, InspectTemplate> + pageContext = + PageContext.create( + callable, LIST_INSPECT_TEMPLATES_PAGE_STR_DESC, request, context); + return ListInspectTemplatesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + LIST_DEIDENTIFY_TEMPLATES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable + callable, + ListDeidentifyTemplatesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + DeidentifyTemplate> + pageContext = + PageContext.create( + callable, LIST_DEIDENTIFY_TEMPLATES_PAGE_STR_DESC, request, context); + return ListDeidentifyTemplatesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListDlpJobsRequest, ListDlpJobsResponse, ListDlpJobsPagedResponse> + LIST_DLP_JOBS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListDlpJobsRequest, ListDlpJobsResponse, ListDlpJobsPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListDlpJobsRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_DLP_JOBS_PAGE_STR_DESC, request, context); + return ListDlpJobsPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + private static final PagedListResponseFactory< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + LIST_JOB_TRIGGERS_PAGE_STR_FACT = + new PagedListResponseFactory< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListJobTriggersRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext pageContext = + PageContext.create(callable, LIST_JOB_TRIGGERS_PAGE_STR_DESC, request, context); + return ListJobTriggersPagedResponse.createAsync(pageContext, futureResponse); + } + }; + + /** Builder for DlpServiceStubSettings. */ + public static class Builder extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + + private final UnaryCallSettings.Builder + inspectContentSettings; + private final UnaryCallSettings.Builder + redactImageSettings; + private final UnaryCallSettings.Builder + deidentifyContentSettings; + private final UnaryCallSettings.Builder + reidentifyContentSettings; + private final UnaryCallSettings.Builder + listInfoTypesSettings; + private final UnaryCallSettings.Builder + createInspectTemplateSettings; + private final UnaryCallSettings.Builder + updateInspectTemplateSettings; + private final UnaryCallSettings.Builder + getInspectTemplateSettings; + private final PagedCallSettings.Builder< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings; + private final UnaryCallSettings.Builder + deleteInspectTemplateSettings; + private final UnaryCallSettings.Builder + createDeidentifyTemplateSettings; + private final UnaryCallSettings.Builder + updateDeidentifyTemplateSettings; + private final UnaryCallSettings.Builder + getDeidentifyTemplateSettings; + private final PagedCallSettings.Builder< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings; + private final UnaryCallSettings.Builder + deleteDeidentifyTemplateSettings; + private final UnaryCallSettings.Builder createDlpJobSettings; + private final PagedCallSettings.Builder< + ListDlpJobsRequest, ListDlpJobsResponse, ListDlpJobsPagedResponse> + listDlpJobsSettings; + private final UnaryCallSettings.Builder getDlpJobSettings; + private final UnaryCallSettings.Builder deleteDlpJobSettings; + private final UnaryCallSettings.Builder cancelDlpJobSettings; + private final PagedCallSettings.Builder< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings; + private final UnaryCallSettings.Builder getJobTriggerSettings; + private final UnaryCallSettings.Builder + deleteJobTriggerSettings; + private final UnaryCallSettings.Builder + updateJobTriggerSettings; + private final UnaryCallSettings.Builder + createJobTriggerSettings; + + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "idempotent", + ImmutableSet.copyOf( + Lists.newArrayList( + StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); + definitions.put("non_idempotent", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(100L)) + .setRetryDelayMultiplier(1.3) + .setMaxRetryDelay(Duration.ofMillis(60000L)) + .setInitialRpcTimeout(Duration.ofMillis(20000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ofMillis(20000L)) + .setTotalTimeout(Duration.ofMillis(600000L)) + .build(); + definitions.put("default", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + inspectContentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + redactImageSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + deidentifyContentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + reidentifyContentSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + listInfoTypesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + createInspectTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + updateInspectTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + getInspectTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + listInspectTemplatesSettings = + PagedCallSettings.newBuilder(LIST_INSPECT_TEMPLATES_PAGE_STR_FACT); + + deleteInspectTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + createDeidentifyTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + updateDeidentifyTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + getDeidentifyTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + listDeidentifyTemplatesSettings = + PagedCallSettings.newBuilder(LIST_DEIDENTIFY_TEMPLATES_PAGE_STR_FACT); + + deleteDeidentifyTemplateSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + createDlpJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + listDlpJobsSettings = PagedCallSettings.newBuilder(LIST_DLP_JOBS_PAGE_STR_FACT); + + getDlpJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + deleteDlpJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + cancelDlpJobSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + listJobTriggersSettings = PagedCallSettings.newBuilder(LIST_JOB_TRIGGERS_PAGE_STR_FACT); + + getJobTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + deleteJobTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + updateJobTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + createJobTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + inspectContentSettings, + redactImageSettings, + deidentifyContentSettings, + reidentifyContentSettings, + listInfoTypesSettings, + createInspectTemplateSettings, + updateInspectTemplateSettings, + getInspectTemplateSettings, + listInspectTemplatesSettings, + deleteInspectTemplateSettings, + createDeidentifyTemplateSettings, + updateDeidentifyTemplateSettings, + getDeidentifyTemplateSettings, + listDeidentifyTemplatesSettings, + deleteDeidentifyTemplateSettings, + createDlpJobSettings, + listDlpJobsSettings, + getDlpJobSettings, + deleteDlpJobSettings, + cancelDlpJobSettings, + listJobTriggersSettings, + getJobTriggerSettings, + deleteJobTriggerSettings, + updateJobTriggerSettings, + createJobTriggerSettings); + + initDefaults(this); + } + + private static Builder createDefault() { + Builder builder = new Builder((ClientContext) null); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + + builder + .inspectContentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .redactImageSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deidentifyContentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .reidentifyContentSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .listInfoTypesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .createInspectTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .updateInspectTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .getInspectTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .listInspectTemplatesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deleteInspectTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .createDeidentifyTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .updateDeidentifyTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .getDeidentifyTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .listDeidentifyTemplatesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deleteDeidentifyTemplateSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .createDlpJobSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .listDlpJobsSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .getDlpJobSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deleteDlpJobSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .cancelDlpJobSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .listJobTriggersSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .getJobTriggerSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .deleteJobTriggerSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .updateJobTriggerSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + builder + .createJobTriggerSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("non_idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + + return builder; + } + + protected Builder(DlpServiceStubSettings settings) { + super(settings); + + inspectContentSettings = settings.inspectContentSettings.toBuilder(); + redactImageSettings = settings.redactImageSettings.toBuilder(); + deidentifyContentSettings = settings.deidentifyContentSettings.toBuilder(); + reidentifyContentSettings = settings.reidentifyContentSettings.toBuilder(); + listInfoTypesSettings = settings.listInfoTypesSettings.toBuilder(); + createInspectTemplateSettings = settings.createInspectTemplateSettings.toBuilder(); + updateInspectTemplateSettings = settings.updateInspectTemplateSettings.toBuilder(); + getInspectTemplateSettings = settings.getInspectTemplateSettings.toBuilder(); + listInspectTemplatesSettings = settings.listInspectTemplatesSettings.toBuilder(); + deleteInspectTemplateSettings = settings.deleteInspectTemplateSettings.toBuilder(); + createDeidentifyTemplateSettings = settings.createDeidentifyTemplateSettings.toBuilder(); + updateDeidentifyTemplateSettings = settings.updateDeidentifyTemplateSettings.toBuilder(); + getDeidentifyTemplateSettings = settings.getDeidentifyTemplateSettings.toBuilder(); + listDeidentifyTemplatesSettings = settings.listDeidentifyTemplatesSettings.toBuilder(); + deleteDeidentifyTemplateSettings = settings.deleteDeidentifyTemplateSettings.toBuilder(); + createDlpJobSettings = settings.createDlpJobSettings.toBuilder(); + listDlpJobsSettings = settings.listDlpJobsSettings.toBuilder(); + getDlpJobSettings = settings.getDlpJobSettings.toBuilder(); + deleteDlpJobSettings = settings.deleteDlpJobSettings.toBuilder(); + cancelDlpJobSettings = settings.cancelDlpJobSettings.toBuilder(); + listJobTriggersSettings = settings.listJobTriggersSettings.toBuilder(); + getJobTriggerSettings = settings.getJobTriggerSettings.toBuilder(); + deleteJobTriggerSettings = settings.deleteJobTriggerSettings.toBuilder(); + updateJobTriggerSettings = settings.updateJobTriggerSettings.toBuilder(); + createJobTriggerSettings = settings.createJobTriggerSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of( + inspectContentSettings, + redactImageSettings, + deidentifyContentSettings, + reidentifyContentSettings, + listInfoTypesSettings, + createInspectTemplateSettings, + updateInspectTemplateSettings, + getInspectTemplateSettings, + listInspectTemplatesSettings, + deleteInspectTemplateSettings, + createDeidentifyTemplateSettings, + updateDeidentifyTemplateSettings, + getDeidentifyTemplateSettings, + listDeidentifyTemplatesSettings, + deleteDeidentifyTemplateSettings, + createDlpJobSettings, + listDlpJobsSettings, + getDlpJobSettings, + deleteDlpJobSettings, + cancelDlpJobSettings, + listJobTriggersSettings, + getJobTriggerSettings, + deleteJobTriggerSettings, + updateJobTriggerSettings, + createJobTriggerSettings); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to inspectContent. */ + public UnaryCallSettings.Builder + inspectContentSettings() { + return inspectContentSettings; + } + + /** Returns the builder for the settings used for calls to redactImage. */ + public UnaryCallSettings.Builder + redactImageSettings() { + return redactImageSettings; + } + + /** Returns the builder for the settings used for calls to deidentifyContent. */ + public UnaryCallSettings.Builder + deidentifyContentSettings() { + return deidentifyContentSettings; + } + + /** Returns the builder for the settings used for calls to reidentifyContent. */ + public UnaryCallSettings.Builder + reidentifyContentSettings() { + return reidentifyContentSettings; + } + + /** Returns the builder for the settings used for calls to listInfoTypes. */ + public UnaryCallSettings.Builder + listInfoTypesSettings() { + return listInfoTypesSettings; + } + + /** Returns the builder for the settings used for calls to createInspectTemplate. */ + public UnaryCallSettings.Builder + createInspectTemplateSettings() { + return createInspectTemplateSettings; + } + + /** Returns the builder for the settings used for calls to updateInspectTemplate. */ + public UnaryCallSettings.Builder + updateInspectTemplateSettings() { + return updateInspectTemplateSettings; + } + + /** Returns the builder for the settings used for calls to getInspectTemplate. */ + public UnaryCallSettings.Builder + getInspectTemplateSettings() { + return getInspectTemplateSettings; + } + + /** Returns the builder for the settings used for calls to listInspectTemplates. */ + public PagedCallSettings.Builder< + ListInspectTemplatesRequest, ListInspectTemplatesResponse, + ListInspectTemplatesPagedResponse> + listInspectTemplatesSettings() { + return listInspectTemplatesSettings; + } + + /** Returns the builder for the settings used for calls to deleteInspectTemplate. */ + public UnaryCallSettings.Builder + deleteInspectTemplateSettings() { + return deleteInspectTemplateSettings; + } + + /** Returns the builder for the settings used for calls to createDeidentifyTemplate. */ + public UnaryCallSettings.Builder + createDeidentifyTemplateSettings() { + return createDeidentifyTemplateSettings; + } + + /** Returns the builder for the settings used for calls to updateDeidentifyTemplate. */ + public UnaryCallSettings.Builder + updateDeidentifyTemplateSettings() { + return updateDeidentifyTemplateSettings; + } + + /** Returns the builder for the settings used for calls to getDeidentifyTemplate. */ + public UnaryCallSettings.Builder + getDeidentifyTemplateSettings() { + return getDeidentifyTemplateSettings; + } + + /** Returns the builder for the settings used for calls to listDeidentifyTemplates. */ + public PagedCallSettings.Builder< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse, + ListDeidentifyTemplatesPagedResponse> + listDeidentifyTemplatesSettings() { + return listDeidentifyTemplatesSettings; + } + + /** Returns the builder for the settings used for calls to deleteDeidentifyTemplate. */ + public UnaryCallSettings.Builder + deleteDeidentifyTemplateSettings() { + return deleteDeidentifyTemplateSettings; + } + + /** Returns the builder for the settings used for calls to createDlpJob. */ + public UnaryCallSettings.Builder createDlpJobSettings() { + return createDlpJobSettings; + } + + /** Returns the builder for the settings used for calls to listDlpJobs. */ + public PagedCallSettings.Builder< + ListDlpJobsRequest, ListDlpJobsResponse, ListDlpJobsPagedResponse> + listDlpJobsSettings() { + return listDlpJobsSettings; + } + + /** Returns the builder for the settings used for calls to getDlpJob. */ + public UnaryCallSettings.Builder getDlpJobSettings() { + return getDlpJobSettings; + } + + /** Returns the builder for the settings used for calls to deleteDlpJob. */ + public UnaryCallSettings.Builder deleteDlpJobSettings() { + return deleteDlpJobSettings; + } + + /** Returns the builder for the settings used for calls to cancelDlpJob. */ + public UnaryCallSettings.Builder cancelDlpJobSettings() { + return cancelDlpJobSettings; + } + + /** Returns the builder for the settings used for calls to listJobTriggers. */ + public PagedCallSettings.Builder< + ListJobTriggersRequest, ListJobTriggersResponse, ListJobTriggersPagedResponse> + listJobTriggersSettings() { + return listJobTriggersSettings; + } + + /** Returns the builder for the settings used for calls to getJobTrigger. */ + public UnaryCallSettings.Builder getJobTriggerSettings() { + return getJobTriggerSettings; + } + + /** Returns the builder for the settings used for calls to deleteJobTrigger. */ + public UnaryCallSettings.Builder deleteJobTriggerSettings() { + return deleteJobTriggerSettings; + } + + /** Returns the builder for the settings used for calls to updateJobTrigger. */ + public UnaryCallSettings.Builder + updateJobTriggerSettings() { + return updateJobTriggerSettings; + } + + /** Returns the builder for the settings used for calls to createJobTrigger. */ + public UnaryCallSettings.Builder + createJobTriggerSettings() { + return createJobTriggerSettings; + } + + @Override + public DlpServiceStubSettings build() throws IOException { + return new DlpServiceStubSettings(this); + } + } +} diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/GrpcDlpServiceStub.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/GrpcDlpServiceStub.java new file mode 100644 index 000000000000..b11a8f632b1b --- /dev/null +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2/stub/GrpcDlpServiceStub.java @@ -0,0 +1,768 @@ +/* + * Copyright 2018 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.cloud.dlp.v2.stub; + +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDeidentifyTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListDlpJobsPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListInspectTemplatesPagedResponse; +import static com.google.cloud.dlp.v2.DlpServiceClient.ListJobTriggersPagedResponse; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * gRPC stub implementation for DLP API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public class GrpcDlpServiceStub extends DlpServiceStub { + + private static final MethodDescriptor + inspectContentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/InspectContent") + .setRequestMarshaller( + ProtoUtils.marshaller(InspectContentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(InspectContentResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + redactImageMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/RedactImage") + .setRequestMarshaller(ProtoUtils.marshaller(RedactImageRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(RedactImageResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + deidentifyContentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/DeidentifyContent") + .setRequestMarshaller( + ProtoUtils.marshaller(DeidentifyContentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(DeidentifyContentResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + reidentifyContentMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ReidentifyContent") + .setRequestMarshaller( + ProtoUtils.marshaller(ReidentifyContentRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ReidentifyContentResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + listInfoTypesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ListInfoTypes") + .setRequestMarshaller( + ProtoUtils.marshaller(ListInfoTypesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListInfoTypesResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + createInspectTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/CreateInspectTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateInspectTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(InspectTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor + updateInspectTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/UpdateInspectTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateInspectTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(InspectTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor + getInspectTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/GetInspectTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(GetInspectTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(InspectTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor + listInspectTemplatesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ListInspectTemplates") + .setRequestMarshaller( + ProtoUtils.marshaller(ListInspectTemplatesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListInspectTemplatesResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + deleteInspectTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/DeleteInspectTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteInspectTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + private static final MethodDescriptor + createDeidentifyTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/CreateDeidentifyTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateDeidentifyTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(DeidentifyTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor + updateDeidentifyTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/UpdateDeidentifyTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateDeidentifyTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(DeidentifyTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor + getDeidentifyTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/GetDeidentifyTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(GetDeidentifyTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(DeidentifyTemplate.getDefaultInstance())) + .build(); + private static final MethodDescriptor< + ListDeidentifyTemplatesRequest, ListDeidentifyTemplatesResponse> + listDeidentifyTemplatesMethodDescriptor = + MethodDescriptor + .newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ListDeidentifyTemplates") + .setRequestMarshaller( + ProtoUtils.marshaller(ListDeidentifyTemplatesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListDeidentifyTemplatesResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + deleteDeidentifyTemplateMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/DeleteDeidentifyTemplate") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteDeidentifyTemplateRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + private static final MethodDescriptor createDlpJobMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/CreateDlpJob") + .setRequestMarshaller(ProtoUtils.marshaller(CreateDlpJobRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(DlpJob.getDefaultInstance())) + .build(); + private static final MethodDescriptor + listDlpJobsMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ListDlpJobs") + .setRequestMarshaller(ProtoUtils.marshaller(ListDlpJobsRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListDlpJobsResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor getDlpJobMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/GetDlpJob") + .setRequestMarshaller(ProtoUtils.marshaller(GetDlpJobRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(DlpJob.getDefaultInstance())) + .build(); + private static final MethodDescriptor deleteDlpJobMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/DeleteDlpJob") + .setRequestMarshaller(ProtoUtils.marshaller(DeleteDlpJobRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + private static final MethodDescriptor cancelDlpJobMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/CancelDlpJob") + .setRequestMarshaller(ProtoUtils.marshaller(CancelDlpJobRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + private static final MethodDescriptor + listJobTriggersMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/ListJobTriggers") + .setRequestMarshaller( + ProtoUtils.marshaller(ListJobTriggersRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListJobTriggersResponse.getDefaultInstance())) + .build(); + private static final MethodDescriptor + getJobTriggerMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/GetJobTrigger") + .setRequestMarshaller( + ProtoUtils.marshaller(GetJobTriggerRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(JobTrigger.getDefaultInstance())) + .build(); + private static final MethodDescriptor + deleteJobTriggerMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/DeleteJobTrigger") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteJobTriggerRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + private static final MethodDescriptor + updateJobTriggerMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/UpdateJobTrigger") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateJobTriggerRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(JobTrigger.getDefaultInstance())) + .build(); + private static final MethodDescriptor + createJobTriggerMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.privacy.dlp.v2.DlpService/CreateJobTrigger") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateJobTriggerRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(JobTrigger.getDefaultInstance())) + .build(); + + private final BackgroundResource backgroundResources; + + private final UnaryCallable inspectContentCallable; + private final UnaryCallable redactImageCallable; + private final UnaryCallable + deidentifyContentCallable; + private final UnaryCallable + reidentifyContentCallable; + private final UnaryCallable listInfoTypesCallable; + private final UnaryCallable + createInspectTemplateCallable; + private final UnaryCallable + updateInspectTemplateCallable; + private final UnaryCallable + getInspectTemplateCallable; + private final UnaryCallable + listInspectTemplatesCallable; + private final UnaryCallable + listInspectTemplatesPagedCallable; + private final UnaryCallable deleteInspectTemplateCallable; + private final UnaryCallable + createDeidentifyTemplateCallable; + private final UnaryCallable + updateDeidentifyTemplateCallable; + private final UnaryCallable + getDeidentifyTemplateCallable; + private final UnaryCallable + listDeidentifyTemplatesCallable; + private final UnaryCallable + listDeidentifyTemplatesPagedCallable; + private final UnaryCallable + deleteDeidentifyTemplateCallable; + private final UnaryCallable createDlpJobCallable; + private final UnaryCallable listDlpJobsCallable; + private final UnaryCallable + listDlpJobsPagedCallable; + private final UnaryCallable getDlpJobCallable; + private final UnaryCallable deleteDlpJobCallable; + private final UnaryCallable cancelDlpJobCallable; + private final UnaryCallable + listJobTriggersCallable; + private final UnaryCallable + listJobTriggersPagedCallable; + private final UnaryCallable getJobTriggerCallable; + private final UnaryCallable deleteJobTriggerCallable; + private final UnaryCallable updateJobTriggerCallable; + private final UnaryCallable createJobTriggerCallable; + + public static final GrpcDlpServiceStub create(DlpServiceStubSettings settings) + throws IOException { + return new GrpcDlpServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcDlpServiceStub create(ClientContext clientContext) throws IOException { + return new GrpcDlpServiceStub(DlpServiceStubSettings.newBuilder().build(), clientContext); + } + + /** + * Constructs an instance of GrpcDlpServiceStub, 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 GrpcDlpServiceStub(DlpServiceStubSettings settings, ClientContext clientContext) + throws IOException { + + GrpcCallSettings + inspectContentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(inspectContentMethodDescriptor) + .build(); + GrpcCallSettings redactImageTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(redactImageMethodDescriptor) + .build(); + GrpcCallSettings + deidentifyContentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deidentifyContentMethodDescriptor) + .build(); + GrpcCallSettings + reidentifyContentTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(reidentifyContentMethodDescriptor) + .build(); + GrpcCallSettings listInfoTypesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listInfoTypesMethodDescriptor) + .build(); + GrpcCallSettings + createInspectTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createInspectTemplateMethodDescriptor) + .build(); + GrpcCallSettings + updateInspectTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateInspectTemplateMethodDescriptor) + .build(); + GrpcCallSettings + getInspectTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getInspectTemplateMethodDescriptor) + .build(); + GrpcCallSettings + listInspectTemplatesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listInspectTemplatesMethodDescriptor) + .build(); + GrpcCallSettings deleteInspectTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteInspectTemplateMethodDescriptor) + .build(); + GrpcCallSettings + createDeidentifyTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createDeidentifyTemplateMethodDescriptor) + .build(); + GrpcCallSettings + updateDeidentifyTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateDeidentifyTemplateMethodDescriptor) + .build(); + GrpcCallSettings + getDeidentifyTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getDeidentifyTemplateMethodDescriptor) + .build(); + GrpcCallSettings + listDeidentifyTemplatesTransportSettings = + GrpcCallSettings + .newBuilder() + .setMethodDescriptor(listDeidentifyTemplatesMethodDescriptor) + .build(); + GrpcCallSettings + deleteDeidentifyTemplateTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteDeidentifyTemplateMethodDescriptor) + .build(); + GrpcCallSettings createDlpJobTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createDlpJobMethodDescriptor) + .build(); + GrpcCallSettings listDlpJobsTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listDlpJobsMethodDescriptor) + .build(); + GrpcCallSettings getDlpJobTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getDlpJobMethodDescriptor) + .build(); + GrpcCallSettings deleteDlpJobTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteDlpJobMethodDescriptor) + .build(); + GrpcCallSettings cancelDlpJobTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(cancelDlpJobMethodDescriptor) + .build(); + GrpcCallSettings + listJobTriggersTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listJobTriggersMethodDescriptor) + .build(); + GrpcCallSettings getJobTriggerTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getJobTriggerMethodDescriptor) + .build(); + GrpcCallSettings deleteJobTriggerTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteJobTriggerMethodDescriptor) + .build(); + GrpcCallSettings updateJobTriggerTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateJobTriggerMethodDescriptor) + .build(); + GrpcCallSettings createJobTriggerTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createJobTriggerMethodDescriptor) + .build(); + + this.inspectContentCallable = + GrpcCallableFactory.createUnaryCallable( + inspectContentTransportSettings, settings.inspectContentSettings(), clientContext); + this.redactImageCallable = + GrpcCallableFactory.createUnaryCallable( + redactImageTransportSettings, settings.redactImageSettings(), clientContext); + this.deidentifyContentCallable = + GrpcCallableFactory.createUnaryCallable( + deidentifyContentTransportSettings, + settings.deidentifyContentSettings(), + clientContext); + this.reidentifyContentCallable = + GrpcCallableFactory.createUnaryCallable( + reidentifyContentTransportSettings, + settings.reidentifyContentSettings(), + clientContext); + this.listInfoTypesCallable = + GrpcCallableFactory.createUnaryCallable( + listInfoTypesTransportSettings, settings.listInfoTypesSettings(), clientContext); + this.createInspectTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + createInspectTemplateTransportSettings, + settings.createInspectTemplateSettings(), + clientContext); + this.updateInspectTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + updateInspectTemplateTransportSettings, + settings.updateInspectTemplateSettings(), + clientContext); + this.getInspectTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + getInspectTemplateTransportSettings, + settings.getInspectTemplateSettings(), + clientContext); + this.listInspectTemplatesCallable = + GrpcCallableFactory.createUnaryCallable( + listInspectTemplatesTransportSettings, + settings.listInspectTemplatesSettings(), + clientContext); + this.listInspectTemplatesPagedCallable = + GrpcCallableFactory.createPagedCallable( + listInspectTemplatesTransportSettings, + settings.listInspectTemplatesSettings(), + clientContext); + this.deleteInspectTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + deleteInspectTemplateTransportSettings, + settings.deleteInspectTemplateSettings(), + clientContext); + this.createDeidentifyTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + createDeidentifyTemplateTransportSettings, + settings.createDeidentifyTemplateSettings(), + clientContext); + this.updateDeidentifyTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + updateDeidentifyTemplateTransportSettings, + settings.updateDeidentifyTemplateSettings(), + clientContext); + this.getDeidentifyTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + getDeidentifyTemplateTransportSettings, + settings.getDeidentifyTemplateSettings(), + clientContext); + this.listDeidentifyTemplatesCallable = + GrpcCallableFactory.createUnaryCallable( + listDeidentifyTemplatesTransportSettings, + settings.listDeidentifyTemplatesSettings(), + clientContext); + this.listDeidentifyTemplatesPagedCallable = + GrpcCallableFactory.createPagedCallable( + listDeidentifyTemplatesTransportSettings, + settings.listDeidentifyTemplatesSettings(), + clientContext); + this.deleteDeidentifyTemplateCallable = + GrpcCallableFactory.createUnaryCallable( + deleteDeidentifyTemplateTransportSettings, + settings.deleteDeidentifyTemplateSettings(), + clientContext); + this.createDlpJobCallable = + GrpcCallableFactory.createUnaryCallable( + createDlpJobTransportSettings, settings.createDlpJobSettings(), clientContext); + this.listDlpJobsCallable = + GrpcCallableFactory.createUnaryCallable( + listDlpJobsTransportSettings, settings.listDlpJobsSettings(), clientContext); + this.listDlpJobsPagedCallable = + GrpcCallableFactory.createPagedCallable( + listDlpJobsTransportSettings, settings.listDlpJobsSettings(), clientContext); + this.getDlpJobCallable = + GrpcCallableFactory.createUnaryCallable( + getDlpJobTransportSettings, settings.getDlpJobSettings(), clientContext); + this.deleteDlpJobCallable = + GrpcCallableFactory.createUnaryCallable( + deleteDlpJobTransportSettings, settings.deleteDlpJobSettings(), clientContext); + this.cancelDlpJobCallable = + GrpcCallableFactory.createUnaryCallable( + cancelDlpJobTransportSettings, settings.cancelDlpJobSettings(), clientContext); + this.listJobTriggersCallable = + GrpcCallableFactory.createUnaryCallable( + listJobTriggersTransportSettings, settings.listJobTriggersSettings(), clientContext); + this.listJobTriggersPagedCallable = + GrpcCallableFactory.createPagedCallable( + listJobTriggersTransportSettings, settings.listJobTriggersSettings(), clientContext); + this.getJobTriggerCallable = + GrpcCallableFactory.createUnaryCallable( + getJobTriggerTransportSettings, settings.getJobTriggerSettings(), clientContext); + this.deleteJobTriggerCallable = + GrpcCallableFactory.createUnaryCallable( + deleteJobTriggerTransportSettings, settings.deleteJobTriggerSettings(), clientContext); + this.updateJobTriggerCallable = + GrpcCallableFactory.createUnaryCallable( + updateJobTriggerTransportSettings, settings.updateJobTriggerSettings(), clientContext); + this.createJobTriggerCallable = + GrpcCallableFactory.createUnaryCallable( + createJobTriggerTransportSettings, settings.createJobTriggerSettings(), clientContext); + + backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public UnaryCallable inspectContentCallable() { + return inspectContentCallable; + } + + public UnaryCallable redactImageCallable() { + return redactImageCallable; + } + + public UnaryCallable + deidentifyContentCallable() { + return deidentifyContentCallable; + } + + public UnaryCallable + reidentifyContentCallable() { + return reidentifyContentCallable; + } + + public UnaryCallable listInfoTypesCallable() { + return listInfoTypesCallable; + } + + public UnaryCallable + createInspectTemplateCallable() { + return createInspectTemplateCallable; + } + + public UnaryCallable + updateInspectTemplateCallable() { + return updateInspectTemplateCallable; + } + + public UnaryCallable getInspectTemplateCallable() { + return getInspectTemplateCallable; + } + + public UnaryCallable + listInspectTemplatesPagedCallable() { + return listInspectTemplatesPagedCallable; + } + + public UnaryCallable + listInspectTemplatesCallable() { + return listInspectTemplatesCallable; + } + + public UnaryCallable deleteInspectTemplateCallable() { + return deleteInspectTemplateCallable; + } + + public UnaryCallable + createDeidentifyTemplateCallable() { + return createDeidentifyTemplateCallable; + } + + public UnaryCallable + updateDeidentifyTemplateCallable() { + return updateDeidentifyTemplateCallable; + } + + public UnaryCallable + getDeidentifyTemplateCallable() { + return getDeidentifyTemplateCallable; + } + + public UnaryCallable + listDeidentifyTemplatesPagedCallable() { + return listDeidentifyTemplatesPagedCallable; + } + + public UnaryCallable + listDeidentifyTemplatesCallable() { + return listDeidentifyTemplatesCallable; + } + + public UnaryCallable deleteDeidentifyTemplateCallable() { + return deleteDeidentifyTemplateCallable; + } + + public UnaryCallable createDlpJobCallable() { + return createDlpJobCallable; + } + + public UnaryCallable listDlpJobsPagedCallable() { + return listDlpJobsPagedCallable; + } + + public UnaryCallable listDlpJobsCallable() { + return listDlpJobsCallable; + } + + public UnaryCallable getDlpJobCallable() { + return getDlpJobCallable; + } + + public UnaryCallable deleteDlpJobCallable() { + return deleteDlpJobCallable; + } + + public UnaryCallable cancelDlpJobCallable() { + return cancelDlpJobCallable; + } + + public UnaryCallable + listJobTriggersPagedCallable() { + return listJobTriggersPagedCallable; + } + + public UnaryCallable listJobTriggersCallable() { + return listJobTriggersCallable; + } + + public UnaryCallable getJobTriggerCallable() { + return getJobTriggerCallable; + } + + public UnaryCallable deleteJobTriggerCallable() { + return deleteJobTriggerCallable; + } + + public UnaryCallable updateJobTriggerCallable() { + return updateJobTriggerCallable; + } + + public UnaryCallable createJobTriggerCallable() { + return createJobTriggerCallable; + } + + @Override + public final void close() throws Exception { + shutdown(); + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/DlpServiceSettings.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/DlpServiceSettings.java index 4c9c53ff5312..d93f1eae39b3 100644 --- a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/DlpServiceSettings.java +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/DlpServiceSettings.java @@ -70,7 +70,7 @@ * * DlpServiceSettings.Builder dlpServiceSettingsBuilder = * DlpServiceSettings.newBuilder(); - * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettingsBuilder() + * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * DlpServiceSettings dlpServiceSettings = dlpServiceSettingsBuilder.build(); * diff --git a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/stub/DlpServiceStubSettings.java b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/stub/DlpServiceStubSettings.java index efb18ae9b16c..22dbfeee6ee7 100644 --- a/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/stub/DlpServiceStubSettings.java +++ b/google-cloud-dlp/src/main/java/com/google/cloud/dlp/v2beta1/stub/DlpServiceStubSettings.java @@ -82,7 +82,7 @@ * * DlpServiceStubSettings.Builder dlpServiceSettingsBuilder = * DlpServiceStubSettings.newBuilder(); - * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettingsBuilder() + * dlpServiceSettingsBuilder.inspectContentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * DlpServiceStubSettings dlpServiceSettings = dlpServiceSettingsBuilder.build(); * diff --git a/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/DlpServiceClientTest.java b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/DlpServiceClientTest.java new file mode 100644 index 000000000000..c9972fde0df6 --- /dev/null +++ b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/DlpServiceClientTest.java @@ -0,0 +1,65 @@ +/* + * Copyright 2018 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.cloud.dlp.v2; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import java.io.IOException; +import java.util.Arrays; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; + +@javax.annotation.Generated("by GAPIC") +public class DlpServiceClientTest { + private static MockDlpService mockDlpService; + private static MockServiceHelper serviceHelper; + private DlpServiceClient client; + private LocalChannelProvider channelProvider; + + @BeforeClass + public static void startStaticServer() { + mockDlpService = new MockDlpService(); + serviceHelper = + new MockServiceHelper("in-process-1", Arrays.asList(mockDlpService)); + serviceHelper.start(); + } + + @AfterClass + public static void stopServer() { + serviceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + serviceHelper.reset(); + channelProvider = serviceHelper.createChannelProvider(); + DlpServiceSettings settings = + DlpServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = DlpServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } +} diff --git a/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpService.java b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpService.java new file mode 100644 index 000000000000..d321a1b2ef35 --- /dev/null +++ b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 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.cloud.dlp.v2; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.ServerServiceDefinition; +import java.util.List; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockDlpService implements MockGrpcService { + private final MockDlpServiceImpl serviceImpl; + + public MockDlpService() { + serviceImpl = new MockDlpServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(GeneratedMessageV3 response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpServiceImpl.java b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpServiceImpl.java new file mode 100644 index 000000000000..f8dd8118173f --- /dev/null +++ b/google-cloud-dlp/src/test/java/com/google/cloud/dlp/v2/MockDlpServiceImpl.java @@ -0,0 +1,474 @@ +/* + * Copyright 2018 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.cloud.dlp.v2; + +import com.google.api.core.BetaApi; +import com.google.privacy.dlp.v2.CancelDlpJobRequest; +import com.google.privacy.dlp.v2.CreateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.CreateDlpJobRequest; +import com.google.privacy.dlp.v2.CreateInspectTemplateRequest; +import com.google.privacy.dlp.v2.CreateJobTriggerRequest; +import com.google.privacy.dlp.v2.DeidentifyContentRequest; +import com.google.privacy.dlp.v2.DeidentifyContentResponse; +import com.google.privacy.dlp.v2.DeidentifyTemplate; +import com.google.privacy.dlp.v2.DeleteDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.DeleteDlpJobRequest; +import com.google.privacy.dlp.v2.DeleteInspectTemplateRequest; +import com.google.privacy.dlp.v2.DeleteJobTriggerRequest; +import com.google.privacy.dlp.v2.DlpJob; +import com.google.privacy.dlp.v2.DlpServiceGrpc.DlpServiceImplBase; +import com.google.privacy.dlp.v2.GetDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.GetDlpJobRequest; +import com.google.privacy.dlp.v2.GetInspectTemplateRequest; +import com.google.privacy.dlp.v2.GetJobTriggerRequest; +import com.google.privacy.dlp.v2.InspectContentRequest; +import com.google.privacy.dlp.v2.InspectContentResponse; +import com.google.privacy.dlp.v2.InspectTemplate; +import com.google.privacy.dlp.v2.JobTrigger; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesRequest; +import com.google.privacy.dlp.v2.ListDeidentifyTemplatesResponse; +import com.google.privacy.dlp.v2.ListDlpJobsRequest; +import com.google.privacy.dlp.v2.ListDlpJobsResponse; +import com.google.privacy.dlp.v2.ListInfoTypesRequest; +import com.google.privacy.dlp.v2.ListInfoTypesResponse; +import com.google.privacy.dlp.v2.ListInspectTemplatesRequest; +import com.google.privacy.dlp.v2.ListInspectTemplatesResponse; +import com.google.privacy.dlp.v2.ListJobTriggersRequest; +import com.google.privacy.dlp.v2.ListJobTriggersResponse; +import com.google.privacy.dlp.v2.RedactImageRequest; +import com.google.privacy.dlp.v2.RedactImageResponse; +import com.google.privacy.dlp.v2.ReidentifyContentRequest; +import com.google.privacy.dlp.v2.ReidentifyContentResponse; +import com.google.privacy.dlp.v2.UpdateDeidentifyTemplateRequest; +import com.google.privacy.dlp.v2.UpdateInspectTemplateRequest; +import com.google.privacy.dlp.v2.UpdateJobTriggerRequest; +import com.google.protobuf.Empty; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockDlpServiceImpl extends DlpServiceImplBase { + private ArrayList requests; + private Queue responses; + + public MockDlpServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(GeneratedMessageV3 response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void inspectContent( + InspectContentRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof InspectContentResponse) { + requests.add(request); + responseObserver.onNext((InspectContentResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void redactImage( + RedactImageRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof RedactImageResponse) { + requests.add(request); + responseObserver.onNext((RedactImageResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deidentifyContent( + DeidentifyContentRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DeidentifyContentResponse) { + requests.add(request); + responseObserver.onNext((DeidentifyContentResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void reidentifyContent( + ReidentifyContentRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ReidentifyContentResponse) { + requests.add(request); + responseObserver.onNext((ReidentifyContentResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void listInfoTypes( + ListInfoTypesRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListInfoTypesResponse) { + requests.add(request); + responseObserver.onNext((ListInfoTypesResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void createInspectTemplate( + CreateInspectTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof InspectTemplate) { + requests.add(request); + responseObserver.onNext((InspectTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void updateInspectTemplate( + UpdateInspectTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof InspectTemplate) { + requests.add(request); + responseObserver.onNext((InspectTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void getInspectTemplate( + GetInspectTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof InspectTemplate) { + requests.add(request); + responseObserver.onNext((InspectTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void listInspectTemplates( + ListInspectTemplatesRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListInspectTemplatesResponse) { + requests.add(request); + responseObserver.onNext((ListInspectTemplatesResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deleteInspectTemplate( + DeleteInspectTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void createDeidentifyTemplate( + CreateDeidentifyTemplateRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DeidentifyTemplate) { + requests.add(request); + responseObserver.onNext((DeidentifyTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void updateDeidentifyTemplate( + UpdateDeidentifyTemplateRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DeidentifyTemplate) { + requests.add(request); + responseObserver.onNext((DeidentifyTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void getDeidentifyTemplate( + GetDeidentifyTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DeidentifyTemplate) { + requests.add(request); + responseObserver.onNext((DeidentifyTemplate) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void listDeidentifyTemplates( + ListDeidentifyTemplatesRequest request, + StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListDeidentifyTemplatesResponse) { + requests.add(request); + responseObserver.onNext((ListDeidentifyTemplatesResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deleteDeidentifyTemplate( + DeleteDeidentifyTemplateRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void createJobTrigger( + CreateJobTriggerRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof JobTrigger) { + requests.add(request); + responseObserver.onNext((JobTrigger) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void updateJobTrigger( + UpdateJobTriggerRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof JobTrigger) { + requests.add(request); + responseObserver.onNext((JobTrigger) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void getJobTrigger( + GetJobTriggerRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof JobTrigger) { + requests.add(request); + responseObserver.onNext((JobTrigger) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void listJobTriggers( + ListJobTriggersRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListJobTriggersResponse) { + requests.add(request); + responseObserver.onNext((ListJobTriggersResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deleteJobTrigger( + DeleteJobTriggerRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void createDlpJob(CreateDlpJobRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DlpJob) { + requests.add(request); + responseObserver.onNext((DlpJob) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void listDlpJobs( + ListDlpJobsRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof ListDlpJobsResponse) { + requests.add(request); + responseObserver.onNext((ListDlpJobsResponse) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void getDlpJob(GetDlpJobRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof DlpJob) { + requests.add(request); + responseObserver.onNext((DlpJob) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void deleteDlpJob(DeleteDlpJobRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } + + @Override + public void cancelDlpJob(CancelDlpJobRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext((Empty) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } +} diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorGroupServiceSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorGroupServiceSettings.java index b3c948dc5491..d57dc10e4d7d 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorGroupServiceSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorGroupServiceSettings.java @@ -54,7 +54,7 @@ * * ErrorGroupServiceSettings.Builder errorGroupServiceSettingsBuilder = * ErrorGroupServiceSettings.newBuilder(); - * errorGroupServiceSettingsBuilder.getGroupSettings().getRetrySettingsBuilder() + * errorGroupServiceSettingsBuilder.getGroupSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ErrorGroupServiceSettings errorGroupServiceSettings = errorGroupServiceSettingsBuilder.build(); * diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorStatsServiceSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorStatsServiceSettings.java index 2ad1e868cb8c..a41f0beeef00 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorStatsServiceSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ErrorStatsServiceSettings.java @@ -61,7 +61,7 @@ * * ErrorStatsServiceSettings.Builder errorStatsServiceSettingsBuilder = * ErrorStatsServiceSettings.newBuilder(); - * errorStatsServiceSettingsBuilder.deleteEventsSettings().getRetrySettingsBuilder() + * errorStatsServiceSettingsBuilder.deleteEventsSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ErrorStatsServiceSettings errorStatsServiceSettings = errorStatsServiceSettingsBuilder.build(); * diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ReportErrorsServiceSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ReportErrorsServiceSettings.java index 6c873b0200e2..7dde70553e04 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ReportErrorsServiceSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/ReportErrorsServiceSettings.java @@ -53,7 +53,7 @@ * * ReportErrorsServiceSettings.Builder reportErrorsServiceSettingsBuilder = * ReportErrorsServiceSettings.newBuilder(); - * reportErrorsServiceSettingsBuilder.reportErrorEventSettings().getRetrySettingsBuilder() + * reportErrorsServiceSettingsBuilder.reportErrorEventSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ReportErrorsServiceSettings reportErrorsServiceSettings = reportErrorsServiceSettingsBuilder.build(); * diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorGroupServiceStubSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorGroupServiceStubSettings.java index 671cec904f92..bb54687561c7 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorGroupServiceStubSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorGroupServiceStubSettings.java @@ -63,7 +63,7 @@ * * ErrorGroupServiceStubSettings.Builder errorGroupServiceSettingsBuilder = * ErrorGroupServiceStubSettings.newBuilder(); - * errorGroupServiceSettingsBuilder.getGroupSettings().getRetrySettingsBuilder() + * errorGroupServiceSettingsBuilder.getGroupSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ErrorGroupServiceStubSettings errorGroupServiceSettings = errorGroupServiceSettingsBuilder.build(); * diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorStatsServiceStubSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorStatsServiceStubSettings.java index f5b844ee910b..5ab1fd7de5e5 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorStatsServiceStubSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ErrorStatsServiceStubSettings.java @@ -78,7 +78,7 @@ * * ErrorStatsServiceStubSettings.Builder errorStatsServiceSettingsBuilder = * ErrorStatsServiceStubSettings.newBuilder(); - * errorStatsServiceSettingsBuilder.deleteEventsSettings().getRetrySettingsBuilder() + * errorStatsServiceSettingsBuilder.deleteEventsSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ErrorStatsServiceStubSettings errorStatsServiceSettings = errorStatsServiceSettingsBuilder.build(); * diff --git a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ReportErrorsServiceStubSettings.java b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ReportErrorsServiceStubSettings.java index d7056afa25a4..344330372bae 100644 --- a/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ReportErrorsServiceStubSettings.java +++ b/google-cloud-errorreporting/src/main/java/com/google/cloud/errorreporting/v1beta1/stub/ReportErrorsServiceStubSettings.java @@ -62,7 +62,7 @@ * * ReportErrorsServiceStubSettings.Builder reportErrorsServiceSettingsBuilder = * ReportErrorsServiceStubSettings.newBuilder(); - * reportErrorsServiceSettingsBuilder.reportErrorEventSettings().getRetrySettingsBuilder() + * reportErrorsServiceSettingsBuilder.reportErrorEventSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ReportErrorsServiceStubSettings reportErrorsServiceSettings = reportErrorsServiceSettingsBuilder.build(); * diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreSettings.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreSettings.java index 4a539e8bd850..f243c97f5b2e 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreSettings.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/FirestoreSettings.java @@ -79,7 +79,7 @@ * * FirestoreSettings.Builder firestoreSettingsBuilder = * FirestoreSettings.newBuilder(); - * firestoreSettingsBuilder.updateDocumentSettings().getRetrySettingsBuilder() + * firestoreSettingsBuilder.updateDocumentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * FirestoreSettings firestoreSettings = firestoreSettingsBuilder.build(); * diff --git a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStubSettings.java b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStubSettings.java index 2ac69b5b6407..7874328df33c 100644 --- a/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStubSettings.java +++ b/google-cloud-firestore/src/main/java/com/google/cloud/firestore/v1beta1/stub/FirestoreStubSettings.java @@ -94,7 +94,7 @@ * * FirestoreStubSettings.Builder firestoreSettingsBuilder = * FirestoreStubSettings.newBuilder(); - * firestoreSettingsBuilder.updateDocumentSettings().getRetrySettingsBuilder() + * firestoreSettingsBuilder.updateDocumentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * FirestoreStubSettings firestoreSettings = firestoreSettingsBuilder.build(); * diff --git a/google-cloud-language/src/main/java/com/google/cloud/language/v1/LanguageServiceSettings.java b/google-cloud-language/src/main/java/com/google/cloud/language/v1/LanguageServiceSettings.java index 374dc93a8e7c..7c855f2cd83f 100644 --- a/google-cloud-language/src/main/java/com/google/cloud/language/v1/LanguageServiceSettings.java +++ b/google-cloud-language/src/main/java/com/google/cloud/language/v1/LanguageServiceSettings.java @@ -50,7 +50,7 @@ * * LanguageServiceSettings.Builder languageServiceSettingsBuilder = * LanguageServiceSettings.newBuilder(); - * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettingsBuilder() + * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LanguageServiceSettings languageServiceSettings = languageServiceSettingsBuilder.build(); * diff --git a/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/LanguageServiceStubSettings.java b/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/LanguageServiceStubSettings.java index af452951d375..b279a9e1705d 100644 --- a/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/LanguageServiceStubSettings.java +++ b/google-cloud-language/src/main/java/com/google/cloud/language/v1/stub/LanguageServiceStubSettings.java @@ -71,7 +71,7 @@ * * LanguageServiceStubSettings.Builder languageServiceSettingsBuilder = * LanguageServiceStubSettings.newBuilder(); - * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettingsBuilder() + * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LanguageServiceStubSettings languageServiceSettings = languageServiceSettingsBuilder.build(); * diff --git a/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/LanguageServiceSettings.java b/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/LanguageServiceSettings.java index 51c8f87f56a3..ab0f59c85084 100644 --- a/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/LanguageServiceSettings.java +++ b/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/LanguageServiceSettings.java @@ -50,7 +50,7 @@ * * LanguageServiceSettings.Builder languageServiceSettingsBuilder = * LanguageServiceSettings.newBuilder(); - * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettingsBuilder() + * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LanguageServiceSettings languageServiceSettings = languageServiceSettingsBuilder.build(); * diff --git a/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/LanguageServiceStubSettings.java b/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/LanguageServiceStubSettings.java index 5cbc116ac478..4f1a991a92e1 100644 --- a/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/LanguageServiceStubSettings.java +++ b/google-cloud-language/src/main/java/com/google/cloud/language/v1beta2/stub/LanguageServiceStubSettings.java @@ -71,7 +71,7 @@ * * LanguageServiceStubSettings.Builder languageServiceSettingsBuilder = * LanguageServiceStubSettings.newBuilder(); - * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettingsBuilder() + * languageServiceSettingsBuilder.analyzeSentimentSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LanguageServiceStubSettings languageServiceSettings = languageServiceSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/ConfigSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/ConfigSettings.java index 0874112c0258..4cdc24d28b25 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/ConfigSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/ConfigSettings.java @@ -69,7 +69,7 @@ * * ConfigSettings.Builder configSettingsBuilder = * ConfigSettings.newBuilder(); - * configSettingsBuilder.getSinkSettings().getRetrySettingsBuilder() + * configSettingsBuilder.getSinkSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ConfigSettings configSettings = configSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/LoggingSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/LoggingSettings.java index d0ba254b9965..a547c2525a4d 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/LoggingSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/LoggingSettings.java @@ -66,7 +66,7 @@ * * LoggingSettings.Builder loggingSettingsBuilder = * LoggingSettings.newBuilder(); - * loggingSettingsBuilder.deleteLogSettings().getRetrySettingsBuilder() + * loggingSettingsBuilder.deleteLogSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LoggingSettings loggingSettings = loggingSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/MetricsSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/MetricsSettings.java index 5887f84bc1ac..c8d72d51d5e7 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/MetricsSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/MetricsSettings.java @@ -61,7 +61,7 @@ * * MetricsSettings.Builder metricsSettingsBuilder = * MetricsSettings.newBuilder(); - * metricsSettingsBuilder.getLogMetricSettings().getRetrySettingsBuilder() + * metricsSettingsBuilder.getLogMetricSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * MetricsSettings metricsSettings = metricsSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java index ab82fef0e20b..872ab54f9731 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/ConfigServiceV2StubSettings.java @@ -84,7 +84,7 @@ * * ConfigServiceV2StubSettings.Builder configSettingsBuilder = * ConfigServiceV2StubSettings.newBuilder(); - * configSettingsBuilder.getSinkSettings().getRetrySettingsBuilder() + * configSettingsBuilder.getSinkSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ConfigServiceV2StubSettings configSettings = configSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java index f2b347a97d8a..9f165f9224d9 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/LoggingServiceV2StubSettings.java @@ -91,7 +91,7 @@ * * LoggingServiceV2StubSettings.Builder loggingSettingsBuilder = * LoggingServiceV2StubSettings.newBuilder(); - * loggingSettingsBuilder.deleteLogSettings().getRetrySettingsBuilder() + * loggingSettingsBuilder.deleteLogSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * LoggingServiceV2StubSettings loggingSettings = loggingSettingsBuilder.build(); * diff --git a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java index 9d8fbe8f9549..e1049f1ef1be 100644 --- a/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java +++ b/google-cloud-logging/src/main/java/com/google/cloud/logging/v2/stub/MetricsServiceV2StubSettings.java @@ -76,7 +76,7 @@ * * MetricsServiceV2StubSettings.Builder metricsSettingsBuilder = * MetricsServiceV2StubSettings.newBuilder(); - * metricsSettingsBuilder.getLogMetricSettings().getRetrySettingsBuilder() + * metricsSettingsBuilder.getLogMetricSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * MetricsServiceV2StubSettings metricsSettings = metricsSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/AlertPolicyServiceSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/AlertPolicyServiceSettings.java index 8021727dbcf6..21f56fb6eea7 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/AlertPolicyServiceSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/AlertPolicyServiceSettings.java @@ -61,7 +61,7 @@ * * AlertPolicyServiceSettings.Builder alertPolicyServiceSettingsBuilder = * AlertPolicyServiceSettings.newBuilder(); - * alertPolicyServiceSettingsBuilder.getAlertPolicySettings().getRetrySettingsBuilder() + * alertPolicyServiceSettingsBuilder.getAlertPolicySettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AlertPolicyServiceSettings alertPolicyServiceSettings = alertPolicyServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/GroupServiceSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/GroupServiceSettings.java index c22bf0d7adca..86b4a4e9040a 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/GroupServiceSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/GroupServiceSettings.java @@ -64,7 +64,7 @@ * * GroupServiceSettings.Builder groupServiceSettingsBuilder = * GroupServiceSettings.newBuilder(); - * groupServiceSettingsBuilder.getGroupSettings().getRetrySettingsBuilder() + * groupServiceSettingsBuilder.getGroupSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * GroupServiceSettings groupServiceSettings = groupServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/MetricServiceSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/MetricServiceSettings.java index 6e44667a69de..6e69ced8d8d0 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/MetricServiceSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/MetricServiceSettings.java @@ -69,7 +69,7 @@ * * MetricServiceSettings.Builder metricServiceSettingsBuilder = * MetricServiceSettings.newBuilder(); - * metricServiceSettingsBuilder.getMonitoredResourceDescriptorSettings().getRetrySettingsBuilder() + * metricServiceSettingsBuilder.getMonitoredResourceDescriptorSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * MetricServiceSettings metricServiceSettings = metricServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/NotificationChannelServiceSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/NotificationChannelServiceSettings.java index 532523aca84b..77ab4b0d8f25 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/NotificationChannelServiceSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/NotificationChannelServiceSettings.java @@ -66,7 +66,7 @@ * * NotificationChannelServiceSettings.Builder notificationChannelServiceSettingsBuilder = * NotificationChannelServiceSettings.newBuilder(); - * notificationChannelServiceSettingsBuilder.getNotificationChannelDescriptorSettings().getRetrySettingsBuilder() + * notificationChannelServiceSettingsBuilder.getNotificationChannelDescriptorSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * NotificationChannelServiceSettings notificationChannelServiceSettings = notificationChannelServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/UptimeCheckServiceSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/UptimeCheckServiceSettings.java index 3538d2d12cc4..a02cc3768fb2 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/UptimeCheckServiceSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/UptimeCheckServiceSettings.java @@ -64,7 +64,7 @@ * * UptimeCheckServiceSettings.Builder uptimeCheckServiceSettingsBuilder = * UptimeCheckServiceSettings.newBuilder(); - * uptimeCheckServiceSettingsBuilder.getUptimeCheckConfigSettings().getRetrySettingsBuilder() + * uptimeCheckServiceSettingsBuilder.getUptimeCheckConfigSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * UptimeCheckServiceSettings uptimeCheckServiceSettings = uptimeCheckServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/AlertPolicyServiceStubSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/AlertPolicyServiceStubSettings.java index 2774f0ff7a16..7f7e9599ca4f 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/AlertPolicyServiceStubSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/AlertPolicyServiceStubSettings.java @@ -76,7 +76,7 @@ * * AlertPolicyServiceStubSettings.Builder alertPolicyServiceSettingsBuilder = * AlertPolicyServiceStubSettings.newBuilder(); - * alertPolicyServiceSettingsBuilder.getAlertPolicySettings().getRetrySettingsBuilder() + * alertPolicyServiceSettingsBuilder.getAlertPolicySettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * AlertPolicyServiceStubSettings alertPolicyServiceSettings = alertPolicyServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/GroupServiceStubSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/GroupServiceStubSettings.java index fa3d1772cac8..e6877dcc6d40 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/GroupServiceStubSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/GroupServiceStubSettings.java @@ -80,7 +80,7 @@ * * GroupServiceStubSettings.Builder groupServiceSettingsBuilder = * GroupServiceStubSettings.newBuilder(); - * groupServiceSettingsBuilder.getGroupSettings().getRetrySettingsBuilder() + * groupServiceSettingsBuilder.getGroupSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * GroupServiceStubSettings groupServiceSettings = groupServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/MetricServiceStubSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/MetricServiceStubSettings.java index bb72d7eaa467..2ea5277faee3 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/MetricServiceStubSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/MetricServiceStubSettings.java @@ -85,7 +85,7 @@ * * MetricServiceStubSettings.Builder metricServiceSettingsBuilder = * MetricServiceStubSettings.newBuilder(); - * metricServiceSettingsBuilder.getMonitoredResourceDescriptorSettings().getRetrySettingsBuilder() + * metricServiceSettingsBuilder.getMonitoredResourceDescriptorSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * MetricServiceStubSettings metricServiceSettings = metricServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/NotificationChannelServiceStubSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/NotificationChannelServiceStubSettings.java index e1bc8ffb9d53..b2fa1a19ca8e 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/NotificationChannelServiceStubSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/NotificationChannelServiceStubSettings.java @@ -81,7 +81,7 @@ * * NotificationChannelServiceStubSettings.Builder notificationChannelServiceSettingsBuilder = * NotificationChannelServiceStubSettings.newBuilder(); - * notificationChannelServiceSettingsBuilder.getNotificationChannelDescriptorSettings().getRetrySettingsBuilder() + * notificationChannelServiceSettingsBuilder.getNotificationChannelDescriptorSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * NotificationChannelServiceStubSettings notificationChannelServiceSettings = notificationChannelServiceSettingsBuilder.build(); * diff --git a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/UptimeCheckServiceStubSettings.java b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/UptimeCheckServiceStubSettings.java index 321e00afb021..135f93dfdb99 100644 --- a/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/UptimeCheckServiceStubSettings.java +++ b/google-cloud-monitoring/src/main/java/com/google/cloud/monitoring/v3/stub/UptimeCheckServiceStubSettings.java @@ -80,7 +80,7 @@ * * UptimeCheckServiceStubSettings.Builder uptimeCheckServiceSettingsBuilder = * UptimeCheckServiceStubSettings.newBuilder(); - * uptimeCheckServiceSettingsBuilder.getUptimeCheckConfigSettings().getRetrySettingsBuilder() + * uptimeCheckServiceSettingsBuilder.getUptimeCheckConfigSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * UptimeCheckServiceStubSettings uptimeCheckServiceSettings = uptimeCheckServiceSettingsBuilder.build(); * diff --git a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceSettings.java b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceSettings.java index 53d7d997598f..ccd0f67db49d 100644 --- a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceSettings.java +++ b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/OsLoginServiceSettings.java @@ -52,7 +52,7 @@ * * OsLoginServiceSettings.Builder osLoginServiceSettingsBuilder = * OsLoginServiceSettings.newBuilder(); - * osLoginServiceSettingsBuilder.deletePosixAccountSettings().getRetrySettingsBuilder() + * osLoginServiceSettingsBuilder.deletePosixAccountSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * OsLoginServiceSettings osLoginServiceSettings = osLoginServiceSettingsBuilder.build(); * diff --git a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java index 1fd31fa9544d..f192da078b1d 100644 --- a/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java +++ b/google-cloud-os-login/src/main/java/com/google/cloud/oslogin/v1/stub/OsLoginServiceStubSettings.java @@ -69,7 +69,7 @@ * * OsLoginServiceStubSettings.Builder osLoginServiceSettingsBuilder = * OsLoginServiceStubSettings.newBuilder(); - * osLoginServiceSettingsBuilder.deletePosixAccountSettings().getRetrySettingsBuilder() + * osLoginServiceSettingsBuilder.deletePosixAccountSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * OsLoginServiceStubSettings osLoginServiceSettings = osLoginServiceSettingsBuilder.build(); * diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminSettings.java index fcb1d2ff7254..cb08ae52f7c2 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminSettings.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/SubscriptionAdminSettings.java @@ -82,7 +82,7 @@ * * SubscriptionAdminSettings.Builder subscriptionAdminSettingsBuilder = * SubscriptionAdminSettings.newBuilder(); - * subscriptionAdminSettingsBuilder.createSubscriptionSettings().getRetrySettingsBuilder() + * subscriptionAdminSettingsBuilder.createSubscriptionSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SubscriptionAdminSettings subscriptionAdminSettings = subscriptionAdminSettingsBuilder.build(); * diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/TopicAdminSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/TopicAdminSettings.java index 37449df10e56..a0a766b50360 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/TopicAdminSettings.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/TopicAdminSettings.java @@ -71,7 +71,7 @@ * * TopicAdminSettings.Builder topicAdminSettingsBuilder = * TopicAdminSettings.newBuilder(); - * topicAdminSettingsBuilder.createTopicSettings().getRetrySettingsBuilder() + * topicAdminSettingsBuilder.createTopicSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * TopicAdminSettings topicAdminSettings = topicAdminSettingsBuilder.build(); * diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java index d4d36ebe3a3e..b736d918c6d7 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/PublisherStubSettings.java @@ -95,7 +95,7 @@ * * PublisherStubSettings.Builder topicAdminSettingsBuilder = * PublisherStubSettings.newBuilder(); - * topicAdminSettingsBuilder.createTopicSettings().getRetrySettingsBuilder() + * topicAdminSettingsBuilder.createTopicSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * PublisherStubSettings topicAdminSettings = topicAdminSettingsBuilder.build(); * diff --git a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java index 2e8b8a124f1a..aca2c9143111 100644 --- a/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java +++ b/google-cloud-pubsub/src/main/java/com/google/cloud/pubsub/v1/stub/SubscriberStubSettings.java @@ -97,7 +97,7 @@ * * SubscriberStubSettings.Builder subscriptionAdminSettingsBuilder = * SubscriberStubSettings.newBuilder(); - * subscriptionAdminSettingsBuilder.createSubscriptionSettings().getRetrySettingsBuilder() + * subscriptionAdminSettingsBuilder.createSubscriptionSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SubscriberStubSettings subscriptionAdminSettings = subscriptionAdminSettingsBuilder.build(); * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java index bb610859fd94..c8caa2d9c2f4 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/SpannerSettings.java @@ -73,7 +73,7 @@ * * SpannerSettings.Builder spannerSettingsBuilder = * SpannerSettings.newBuilder(); - * spannerSettingsBuilder.createSessionSettings().getRetrySettingsBuilder() + * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpannerSettings spannerSettings = spannerSettingsBuilder.build(); * diff --git a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java index d1174b60fb79..e7dcf5acafc9 100644 --- a/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java +++ b/google-cloud-spanner/src/main/java/com/google/cloud/spanner/v1/stub/SpannerStubSettings.java @@ -88,7 +88,7 @@ * * SpannerStubSettings.Builder spannerSettingsBuilder = * SpannerStubSettings.newBuilder(); - * spannerSettingsBuilder.createSessionSettings().getRetrySettingsBuilder() + * spannerSettingsBuilder.createSessionSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpannerStubSettings spannerSettings = spannerSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechSettings.java index 0db7385c7ccf..527567dec43f 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/SpeechSettings.java @@ -53,7 +53,7 @@ * * SpeechSettings.Builder speechSettingsBuilder = * SpeechSettings.newBuilder(); - * speechSettingsBuilder.recognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.recognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/SpeechStubSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/SpeechStubSettings.java index 881be28213ef..d1c0d7b97bfd 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/SpeechStubSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1/stub/SpeechStubSettings.java @@ -72,7 +72,7 @@ * * SpeechStubSettings.Builder speechSettingsBuilder = * SpeechStubSettings.newBuilder(); - * speechSettingsBuilder.recognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.recognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechStubSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/SpeechSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/SpeechSettings.java index aeaf17479eec..456b937eafbc 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/SpeechSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/SpeechSettings.java @@ -53,7 +53,7 @@ * * SpeechSettings.Builder speechSettingsBuilder = * SpeechSettings.newBuilder(); - * speechSettingsBuilder.syncRecognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.syncRecognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/stub/SpeechStubSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/stub/SpeechStubSettings.java index 8bfdfda90112..6f393bb761d7 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/stub/SpeechStubSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1beta1/stub/SpeechStubSettings.java @@ -72,7 +72,7 @@ * * SpeechStubSettings.Builder speechSettingsBuilder = * SpeechStubSettings.newBuilder(); - * speechSettingsBuilder.syncRecognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.syncRecognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechStubSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/SpeechSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/SpeechSettings.java index 00f80d1b1083..2c374665b091 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/SpeechSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/SpeechSettings.java @@ -53,7 +53,7 @@ * * SpeechSettings.Builder speechSettingsBuilder = * SpeechSettings.newBuilder(); - * speechSettingsBuilder.recognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.recognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/SpeechStubSettings.java b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/SpeechStubSettings.java index ca004e3de399..f94301f3bbf0 100644 --- a/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/SpeechStubSettings.java +++ b/google-cloud-speech/src/main/java/com/google/cloud/speech/v1p1beta1/stub/SpeechStubSettings.java @@ -72,7 +72,7 @@ * * SpeechStubSettings.Builder speechSettingsBuilder = * SpeechStubSettings.newBuilder(); - * speechSettingsBuilder.recognizeSettings().getRetrySettingsBuilder() + * speechSettingsBuilder.recognizeSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * SpeechStubSettings speechSettings = speechSettingsBuilder.build(); * diff --git a/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/TraceServiceSettings.java b/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/TraceServiceSettings.java index 23b223063e45..c3c5b3e02232 100644 --- a/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/TraceServiceSettings.java +++ b/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/TraceServiceSettings.java @@ -59,7 +59,7 @@ * * TraceServiceSettings.Builder traceServiceSettingsBuilder = * TraceServiceSettings.newBuilder(); - * traceServiceSettingsBuilder.patchTracesSettings().getRetrySettingsBuilder() + * traceServiceSettingsBuilder.patchTracesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * TraceServiceSettings traceServiceSettings = traceServiceSettingsBuilder.build(); * diff --git a/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/TraceServiceStubSettings.java b/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/TraceServiceStubSettings.java index 21e2a70b271f..1e33c8bf3687 100644 --- a/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/TraceServiceStubSettings.java +++ b/google-cloud-trace/src/main/java/com/google/cloud/trace/v1/stub/TraceServiceStubSettings.java @@ -74,7 +74,7 @@ * * TraceServiceStubSettings.Builder traceServiceSettingsBuilder = * TraceServiceStubSettings.newBuilder(); - * traceServiceSettingsBuilder.patchTracesSettings().getRetrySettingsBuilder() + * traceServiceSettingsBuilder.patchTracesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * TraceServiceStubSettings traceServiceSettings = traceServiceSettingsBuilder.build(); * diff --git a/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/TraceServiceSettings.java b/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/TraceServiceSettings.java index 9be90ca9432c..56f0d660d45b 100644 --- a/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/TraceServiceSettings.java +++ b/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/TraceServiceSettings.java @@ -53,7 +53,7 @@ * * TraceServiceSettings.Builder traceServiceSettingsBuilder = * TraceServiceSettings.newBuilder(); - * traceServiceSettingsBuilder.batchWriteSpansSettings().getRetrySettingsBuilder() + * traceServiceSettingsBuilder.batchWriteSpansSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * TraceServiceSettings traceServiceSettings = traceServiceSettingsBuilder.build(); * diff --git a/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/TraceServiceStubSettings.java b/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/TraceServiceStubSettings.java index 96781b9f742e..c58853d9799f 100644 --- a/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/TraceServiceStubSettings.java +++ b/google-cloud-trace/src/main/java/com/google/cloud/trace/v2/stub/TraceServiceStubSettings.java @@ -62,7 +62,7 @@ * * TraceServiceStubSettings.Builder traceServiceSettingsBuilder = * TraceServiceStubSettings.newBuilder(); - * traceServiceSettingsBuilder.batchWriteSpansSettings().getRetrySettingsBuilder() + * traceServiceSettingsBuilder.batchWriteSpansSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * TraceServiceStubSettings traceServiceSettings = traceServiceSettingsBuilder.build(); * diff --git a/google-cloud-video-intelligence/pom.xml b/google-cloud-video-intelligence/pom.xml index 5d34dfd57fad..604f8be4bd81 100644 --- a/google-cloud-video-intelligence/pom.xml +++ b/google-cloud-video-intelligence/pom.xml @@ -38,6 +38,10 @@ com.google.api.grpc proto-google-cloud-video-intelligence-v1 + + com.google.api.grpc + proto-google-cloud-video-intelligence-v1p1beta1 + io.grpc grpc-netty-shaded @@ -86,6 +90,11 @@ grpc-google-cloud-video-intelligence-v1 test + + com.google.api.grpc + grpc-google-cloud-video-intelligence-v1p1beta1 + test + com.google.api gax-grpc diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClient.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClient.java new file mode 100644 index 000000000000..197f5be8f5cc --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClient.java @@ -0,0 +1,321 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1.stub.VideoIntelligenceServiceStub; +import com.google.cloud.videointelligence.v1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import com.google.longrunning.OperationsClient; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND SERVICE +/** + * Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+ * }
+ * 
+ * 
+ * + *

Note: close() needs to be called on the videoIntelligenceServiceClient 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: + * + *

    + *
  1. 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. + *
  2. 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. + *
  3. 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 + * VideoIntelligenceServiceSettings to create(). For example: + * + *

To customize credentials: + * + *

+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ * + * To customize the endpoint: + * + *
+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceClient implements BackgroundResource { + private final VideoIntelligenceServiceSettings settings; + private final VideoIntelligenceServiceStub stub; + private final OperationsClient operationsClient; + + /** Constructs an instance of VideoIntelligenceServiceClient with default settings. */ + public static final VideoIntelligenceServiceClient create() throws IOException { + return create(VideoIntelligenceServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient create( + VideoIntelligenceServiceSettings settings) throws IOException { + return new VideoIntelligenceServiceClient(settings); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, using the given stub for making + * calls. This is for advanced usage - prefer to use VideoIntelligenceServiceSettings}. + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final VideoIntelligenceServiceClient create(VideoIntelligenceServiceStub stub) { + return new VideoIntelligenceServiceClient(stub); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient(VideoIntelligenceServiceSettings settings) + throws IOException { + this.settings = settings; + this.stub = ((VideoIntelligenceServiceStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected VideoIntelligenceServiceClient(VideoIntelligenceServiceStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + public final VideoIntelligenceServiceSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getOperationsClient() { + return operationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+   * }
+   * 
+ * + * @param inputUri Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which must be specified in + * the following format: `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video URI may include + * wildcards in `object-id`, and thus identify multiple videos. Supported wildcards: '*' + * to match 0 or more characters; '?' to match 1 character. If unset, the input video should + * be embedded in the request as `input_content`. If set, `input_content` should be unset. + * @param features Requested video annotation features. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture annotateVideoAsync( + String inputUri, List features) { + + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder().setInputUri(inputUri).addAllFeatures(features).build(); + return annotateVideoAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(request).get();
+   * }
+   * 
+ * + * @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 OperationFuture annotateVideoAsync( + AnnotateVideoRequest request) { + return annotateVideoOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   OperationFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoOperationCallable().futureCall(request);
+   *   // Do something
+   *   AnnotateVideoResponse response = future.get();
+   * }
+   * 
+ */ + public final OperationCallable + annotateVideoOperationCallable() { + return stub.annotateVideoOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   ApiFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoCallable().futureCall(request);
+   *   // Do something
+   *   Operation response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable annotateVideoCallable() { + return stub.annotateVideoCallable(); + } + + @Override + public final void close() throws Exception { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSettings.java new file mode 100644 index 000000000000..ad9008306598 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSettings.java @@ -0,0 +1,192 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceSettings + extends ClientSettings { + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()).annotateVideoSettings(); + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()) + .annotateVideoOperationSettings(); + } + + public static final VideoIntelligenceServiceSettings create( + VideoIntelligenceServiceStubSettings stub) throws IOException { + return new VideoIntelligenceServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return VideoIntelligenceServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return VideoIntelligenceServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return VideoIntelligenceServiceStubSettings.defaultTransportChannelProvider(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for VideoIntelligenceServiceSettings. */ + public static class Builder + extends ClientSettings.Builder { + protected Builder() throws IOException { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(VideoIntelligenceServiceStubSettings.newBuilder(clientContext)); + } + + private static Builder createDefault() { + return new Builder(VideoIntelligenceServiceStubSettings.newBuilder()); + } + + protected Builder(VideoIntelligenceServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(VideoIntelligenceServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + public VideoIntelligenceServiceStubSettings.Builder getStubSettingsBuilder() { + return ((VideoIntelligenceServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return getStubSettingsBuilder().annotateVideoSettings(); + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return getStubSettingsBuilder().annotateVideoOperationSettings(); + } + + @Override + public VideoIntelligenceServiceSettings build() throws IOException { + return new VideoIntelligenceServiceSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/package-info.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/package-info.java new file mode 100644 index 000000000000..4db37157b399 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/package-info.java @@ -0,0 +1,39 @@ +/* + * Copyright 2018 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. + */ + +/** + * A client to Cloud Video Intelligence API. + * + *

The interfaces provided are listed below, along with usage samples. + * + *

============================== VideoIntelligenceServiceClient ============================== + * + *

Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

Sample for VideoIntelligenceServiceClient: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features);
+ * }
+ * 
+ * 
+ */ +package com.google.cloud.videointelligence.v1; diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/GrpcVideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/GrpcVideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..f2c4bd849371 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/GrpcVideoIntelligenceServiceStub.java @@ -0,0 +1,147 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * gRPC stub implementation for Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public class GrpcVideoIntelligenceServiceStub extends VideoIntelligenceServiceStub { + + private static final MethodDescriptor + annotateVideoMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.videointelligence.v1.VideoIntelligenceService/AnnotateVideo") + .setRequestMarshaller( + ProtoUtils.marshaller(AnnotateVideoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .build(); + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + + private final UnaryCallable annotateVideoCallable; + private final OperationCallable< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationCallable; + + public static final GrpcVideoIntelligenceServiceStub create( + VideoIntelligenceServiceStubSettings settings) throws IOException { + return new GrpcVideoIntelligenceServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcVideoIntelligenceServiceStub create(ClientContext clientContext) + throws IOException { + return new GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings.newBuilder().build(), clientContext); + } + + /** + * Constructs an instance of GrpcVideoIntelligenceServiceStub, 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 GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this.operationsStub = GrpcOperationsStub.create(clientContext); + + GrpcCallSettings annotateVideoTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(annotateVideoMethodDescriptor) + .build(); + + this.annotateVideoCallable = + GrpcCallableFactory.createUnaryCallable( + annotateVideoTransportSettings, settings.annotateVideoSettings(), clientContext); + this.annotateVideoOperationCallable = + GrpcCallableFactory.createOperationCallable( + annotateVideoTransportSettings, + settings.annotateVideoOperationSettings(), + clientContext, + this.operationsStub); + + backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + public OperationCallable + annotateVideoOperationCallable() { + return annotateVideoOperationCallable; + } + + public UnaryCallable annotateVideoCallable() { + return annotateVideoCallable; + } + + @Override + public final void close() throws Exception { + shutdown(); + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..b322f92bbfd2 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStub.java @@ -0,0 +1,51 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Base stub class for Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public abstract class VideoIntelligenceServiceStub implements BackgroundResource { + + public OperationsStub getOperationsStub() { + throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); + } + + public OperationCallable + annotateVideoOperationCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoOperationCallable()"); + } + + public UnaryCallable annotateVideoCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoCallable()"); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStubSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStubSettings.java new file mode 100644 index 000000000000..88b2f426bf36 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1/stub/VideoIntelligenceServiceStubSettings.java @@ -0,0 +1,318 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1.stub; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1.AnnotateVideoResponse; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.threeten.bp.Duration; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceStubSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceStubSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceStubSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceStubSettings + extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings annotateVideoSettings; + private final OperationCallSettings< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcVideoIntelligenceServiceStub.create(this); + } else { + throw new UnsupportedOperationException( + "Transport not supported: " + getTransportChannelProvider().getTransportName()); + } + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "videointelligence.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(VideoIntelligenceServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + annotateVideoSettings = settingsBuilder.annotateVideoSettings().build(); + annotateVideoOperationSettings = settingsBuilder.annotateVideoOperationSettings().build(); + } + + /** Builder for VideoIntelligenceServiceStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + + private final UnaryCallSettings.Builder annotateVideoSettings; + private final OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "idempotent", + ImmutableSet.copyOf( + Lists.newArrayList( + StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); + definitions.put("non_idempotent", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(2.5) + .setMaxRetryDelay(Duration.ofMillis(120000L)) + .setInitialRpcTimeout(Duration.ofMillis(120000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ofMillis(120000L)) + .setTotalTimeout(Duration.ofMillis(600000L)) + .build(); + definitions.put("default", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + annotateVideoSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + annotateVideoOperationSettings = OperationCallSettings.newBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + + initDefaults(this); + } + + private static Builder createDefault() { + Builder builder = new Builder((ClientContext) null); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + + builder + .annotateVideoSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .annotateVideoOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(20000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) // ignored + .setRpcTimeoutMultiplier(1.0) // ignored + .setMaxRpcTimeout(Duration.ZERO) // ignored + .setTotalTimeout(Duration.ofMillis(86400000L)) + .build())); + + return builder; + } + + protected Builder(VideoIntelligenceServiceStubSettings settings) { + super(settings); + + annotateVideoSettings = settings.annotateVideoSettings.toBuilder(); + annotateVideoOperationSettings = settings.annotateVideoOperationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @Override + public VideoIntelligenceServiceStubSettings build() throws IOException { + return new VideoIntelligenceServiceStubSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClient.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClient.java new file mode 100644 index 000000000000..131e92b0574e --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClient.java @@ -0,0 +1,321 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta1.stub.VideoIntelligenceServiceStub; +import com.google.cloud.videointelligence.v1beta1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import com.google.longrunning.OperationsClient; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND SERVICE +/** + * Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+ * }
+ * 
+ * 
+ * + *

Note: close() needs to be called on the videoIntelligenceServiceClient 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: + * + *

    + *
  1. 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. + *
  2. 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. + *
  3. 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 + * VideoIntelligenceServiceSettings to create(). For example: + * + *

To customize credentials: + * + *

+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ * + * To customize the endpoint: + * + *
+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceClient implements BackgroundResource { + private final VideoIntelligenceServiceSettings settings; + private final VideoIntelligenceServiceStub stub; + private final OperationsClient operationsClient; + + /** Constructs an instance of VideoIntelligenceServiceClient with default settings. */ + public static final VideoIntelligenceServiceClient create() throws IOException { + return create(VideoIntelligenceServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient create( + VideoIntelligenceServiceSettings settings) throws IOException { + return new VideoIntelligenceServiceClient(settings); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, using the given stub for making + * calls. This is for advanced usage - prefer to use VideoIntelligenceServiceSettings}. + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final VideoIntelligenceServiceClient create(VideoIntelligenceServiceStub stub) { + return new VideoIntelligenceServiceClient(stub); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient(VideoIntelligenceServiceSettings settings) + throws IOException { + this.settings = settings; + this.stub = ((VideoIntelligenceServiceStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected VideoIntelligenceServiceClient(VideoIntelligenceServiceStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + public final VideoIntelligenceServiceSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getOperationsClient() { + return operationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+   * }
+   * 
+ * + * @param inputUri Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which must be specified in + * the following format: `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video URI may include + * wildcards in `object-id`, and thus identify multiple videos. Supported wildcards: '*' + * to match 0 or more characters; '?' to match 1 character. If unset, the input video should + * be embedded in the request as `input_content`. If set, `input_content` should be unset. + * @param features Requested video annotation features. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture annotateVideoAsync( + String inputUri, List features) { + + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder().setInputUri(inputUri).addAllFeatures(features).build(); + return annotateVideoAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(request).get();
+   * }
+   * 
+ * + * @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 OperationFuture annotateVideoAsync( + AnnotateVideoRequest request) { + return annotateVideoOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   OperationFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoOperationCallable().futureCall(request);
+   *   // Do something
+   *   AnnotateVideoResponse response = future.get();
+   * }
+   * 
+ */ + public final OperationCallable + annotateVideoOperationCallable() { + return stub.annotateVideoOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   ApiFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoCallable().futureCall(request);
+   *   // Do something
+   *   Operation response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable annotateVideoCallable() { + return stub.annotateVideoCallable(); + } + + @Override + public final void close() throws Exception { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceSettings.java new file mode 100644 index 000000000000..dea9309efe19 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceSettings.java @@ -0,0 +1,192 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1beta1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceSettings + extends ClientSettings { + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()).annotateVideoSettings(); + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()) + .annotateVideoOperationSettings(); + } + + public static final VideoIntelligenceServiceSettings create( + VideoIntelligenceServiceStubSettings stub) throws IOException { + return new VideoIntelligenceServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return VideoIntelligenceServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return VideoIntelligenceServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return VideoIntelligenceServiceStubSettings.defaultTransportChannelProvider(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for VideoIntelligenceServiceSettings. */ + public static class Builder + extends ClientSettings.Builder { + protected Builder() throws IOException { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(VideoIntelligenceServiceStubSettings.newBuilder(clientContext)); + } + + private static Builder createDefault() { + return new Builder(VideoIntelligenceServiceStubSettings.newBuilder()); + } + + protected Builder(VideoIntelligenceServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(VideoIntelligenceServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + public VideoIntelligenceServiceStubSettings.Builder getStubSettingsBuilder() { + return ((VideoIntelligenceServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return getStubSettingsBuilder().annotateVideoSettings(); + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return getStubSettingsBuilder().annotateVideoOperationSettings(); + } + + @Override + public VideoIntelligenceServiceSettings build() throws IOException { + return new VideoIntelligenceServiceSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/package-info.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/package-info.java new file mode 100644 index 000000000000..5b481c51c40b --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/package-info.java @@ -0,0 +1,39 @@ +/* + * Copyright 2018 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. + */ + +/** + * A client to Google Cloud Video Intelligence API. + * + *

The interfaces provided are listed below, along with usage samples. + * + *

============================== VideoIntelligenceServiceClient ============================== + * + *

Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

Sample for VideoIntelligenceServiceClient: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features);
+ * }
+ * 
+ * 
+ */ +package com.google.cloud.videointelligence.v1beta1; diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/GrpcVideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/GrpcVideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..1329acdf7efd --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/GrpcVideoIntelligenceServiceStub.java @@ -0,0 +1,147 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * gRPC stub implementation for Google Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public class GrpcVideoIntelligenceServiceStub extends VideoIntelligenceServiceStub { + + private static final MethodDescriptor + annotateVideoMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.videointelligence.v1beta1.VideoIntelligenceService/AnnotateVideo") + .setRequestMarshaller( + ProtoUtils.marshaller(AnnotateVideoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .build(); + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + + private final UnaryCallable annotateVideoCallable; + private final OperationCallable< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationCallable; + + public static final GrpcVideoIntelligenceServiceStub create( + VideoIntelligenceServiceStubSettings settings) throws IOException { + return new GrpcVideoIntelligenceServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcVideoIntelligenceServiceStub create(ClientContext clientContext) + throws IOException { + return new GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings.newBuilder().build(), clientContext); + } + + /** + * Constructs an instance of GrpcVideoIntelligenceServiceStub, 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 GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this.operationsStub = GrpcOperationsStub.create(clientContext); + + GrpcCallSettings annotateVideoTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(annotateVideoMethodDescriptor) + .build(); + + this.annotateVideoCallable = + GrpcCallableFactory.createUnaryCallable( + annotateVideoTransportSettings, settings.annotateVideoSettings(), clientContext); + this.annotateVideoOperationCallable = + GrpcCallableFactory.createOperationCallable( + annotateVideoTransportSettings, + settings.annotateVideoOperationSettings(), + clientContext, + this.operationsStub); + + backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + public OperationCallable + annotateVideoOperationCallable() { + return annotateVideoOperationCallable; + } + + public UnaryCallable annotateVideoCallable() { + return annotateVideoCallable; + } + + @Override + public final void close() throws Exception { + shutdown(); + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..c7d49c7ca3fb --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStub.java @@ -0,0 +1,51 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Base stub class for Google Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public abstract class VideoIntelligenceServiceStub implements BackgroundResource { + + public OperationsStub getOperationsStub() { + throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); + } + + public OperationCallable + annotateVideoOperationCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoOperationCallable()"); + } + + public UnaryCallable annotateVideoCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoCallable()"); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStubSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStubSettings.java new file mode 100644 index 000000000000..4da697fb1e53 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta1/stub/VideoIntelligenceServiceStubSettings.java @@ -0,0 +1,318 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1.stub; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta1.AnnotateVideoResponse; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.threeten.bp.Duration; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceStubSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceStubSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceStubSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceStubSettings + extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings annotateVideoSettings; + private final OperationCallSettings< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcVideoIntelligenceServiceStub.create(this); + } else { + throw new UnsupportedOperationException( + "Transport not supported: " + getTransportChannelProvider().getTransportName()); + } + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "videointelligence.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(VideoIntelligenceServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + annotateVideoSettings = settingsBuilder.annotateVideoSettings().build(); + annotateVideoOperationSettings = settingsBuilder.annotateVideoOperationSettings().build(); + } + + /** Builder for VideoIntelligenceServiceStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + + private final UnaryCallSettings.Builder annotateVideoSettings; + private final OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "idempotent", + ImmutableSet.copyOf( + Lists.newArrayList( + StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); + definitions.put("non_idempotent", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(2.5) + .setMaxRetryDelay(Duration.ofMillis(120000L)) + .setInitialRpcTimeout(Duration.ofMillis(120000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ofMillis(120000L)) + .setTotalTimeout(Duration.ofMillis(600000L)) + .build(); + definitions.put("default", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + annotateVideoSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + annotateVideoOperationSettings = OperationCallSettings.newBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + + initDefaults(this); + } + + private static Builder createDefault() { + Builder builder = new Builder((ClientContext) null); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + + builder + .annotateVideoSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .annotateVideoOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(20000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) // ignored + .setRpcTimeoutMultiplier(1.0) // ignored + .setMaxRpcTimeout(Duration.ZERO) // ignored + .setTotalTimeout(Duration.ofMillis(86400000L)) + .build())); + + return builder; + } + + protected Builder(VideoIntelligenceServiceStubSettings settings) { + super(settings); + + annotateVideoSettings = settings.annotateVideoSettings.toBuilder(); + annotateVideoOperationSettings = settings.annotateVideoOperationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @Override + public VideoIntelligenceServiceStubSettings build() throws IOException { + return new VideoIntelligenceServiceStubSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClient.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClient.java new file mode 100644 index 000000000000..fd8bd71161ec --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClient.java @@ -0,0 +1,321 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta2.stub.VideoIntelligenceServiceStub; +import com.google.cloud.videointelligence.v1beta2.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import com.google.longrunning.OperationsClient; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND SERVICE +/** + * Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+ * }
+ * 
+ * 
+ * + *

Note: close() needs to be called on the videoIntelligenceServiceClient 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: + * + *

    + *
  1. 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. + *
  2. 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. + *
  3. 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 + * VideoIntelligenceServiceSettings to create(). For example: + * + *

To customize credentials: + * + *

+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ * + * To customize the endpoint: + * + *
+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceClient implements BackgroundResource { + private final VideoIntelligenceServiceSettings settings; + private final VideoIntelligenceServiceStub stub; + private final OperationsClient operationsClient; + + /** Constructs an instance of VideoIntelligenceServiceClient with default settings. */ + public static final VideoIntelligenceServiceClient create() throws IOException { + return create(VideoIntelligenceServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient create( + VideoIntelligenceServiceSettings settings) throws IOException { + return new VideoIntelligenceServiceClient(settings); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, using the given stub for making + * calls. This is for advanced usage - prefer to use VideoIntelligenceServiceSettings}. + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final VideoIntelligenceServiceClient create(VideoIntelligenceServiceStub stub) { + return new VideoIntelligenceServiceClient(stub); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient(VideoIntelligenceServiceSettings settings) + throws IOException { + this.settings = settings; + this.stub = ((VideoIntelligenceServiceStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected VideoIntelligenceServiceClient(VideoIntelligenceServiceStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + public final VideoIntelligenceServiceSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getOperationsClient() { + return operationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+   * }
+   * 
+ * + * @param inputUri Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which must be specified in + * the following format: `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video URI may include + * wildcards in `object-id`, and thus identify multiple videos. Supported wildcards: '*' + * to match 0 or more characters; '?' to match 1 character. If unset, the input video should + * be embedded in the request as `input_content`. If set, `input_content` should be unset. + * @param features Requested video annotation features. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture annotateVideoAsync( + String inputUri, List features) { + + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder().setInputUri(inputUri).addAllFeatures(features).build(); + return annotateVideoAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(request).get();
+   * }
+   * 
+ * + * @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 OperationFuture annotateVideoAsync( + AnnotateVideoRequest request) { + return annotateVideoOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   OperationFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoOperationCallable().futureCall(request);
+   *   // Do something
+   *   AnnotateVideoResponse response = future.get();
+   * }
+   * 
+ */ + public final OperationCallable + annotateVideoOperationCallable() { + return stub.annotateVideoOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   ApiFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoCallable().futureCall(request);
+   *   // Do something
+   *   Operation response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable annotateVideoCallable() { + return stub.annotateVideoCallable(); + } + + @Override + public final void close() throws Exception { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceSettings.java new file mode 100644 index 000000000000..3cfb898fd5a2 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceSettings.java @@ -0,0 +1,192 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1beta2.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceSettings + extends ClientSettings { + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()).annotateVideoSettings(); + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()) + .annotateVideoOperationSettings(); + } + + public static final VideoIntelligenceServiceSettings create( + VideoIntelligenceServiceStubSettings stub) throws IOException { + return new VideoIntelligenceServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return VideoIntelligenceServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return VideoIntelligenceServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return VideoIntelligenceServiceStubSettings.defaultTransportChannelProvider(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for VideoIntelligenceServiceSettings. */ + public static class Builder + extends ClientSettings.Builder { + protected Builder() throws IOException { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(VideoIntelligenceServiceStubSettings.newBuilder(clientContext)); + } + + private static Builder createDefault() { + return new Builder(VideoIntelligenceServiceStubSettings.newBuilder()); + } + + protected Builder(VideoIntelligenceServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(VideoIntelligenceServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + public VideoIntelligenceServiceStubSettings.Builder getStubSettingsBuilder() { + return ((VideoIntelligenceServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return getStubSettingsBuilder().annotateVideoSettings(); + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return getStubSettingsBuilder().annotateVideoOperationSettings(); + } + + @Override + public VideoIntelligenceServiceSettings build() throws IOException { + return new VideoIntelligenceServiceSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/package-info.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/package-info.java new file mode 100644 index 000000000000..5dc0160f8d7e --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/package-info.java @@ -0,0 +1,39 @@ +/* + * Copyright 2018 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. + */ + +/** + * A client to Google Cloud Video Intelligence API. + * + *

The interfaces provided are listed below, along with usage samples. + * + *

============================== VideoIntelligenceServiceClient ============================== + * + *

Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

Sample for VideoIntelligenceServiceClient: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features);
+ * }
+ * 
+ * 
+ */ +package com.google.cloud.videointelligence.v1beta2; diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/GrpcVideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/GrpcVideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..ba2685392268 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/GrpcVideoIntelligenceServiceStub.java @@ -0,0 +1,147 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * gRPC stub implementation for Google Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public class GrpcVideoIntelligenceServiceStub extends VideoIntelligenceServiceStub { + + private static final MethodDescriptor + annotateVideoMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.videointelligence.v1beta2.VideoIntelligenceService/AnnotateVideo") + .setRequestMarshaller( + ProtoUtils.marshaller(AnnotateVideoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .build(); + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + + private final UnaryCallable annotateVideoCallable; + private final OperationCallable< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationCallable; + + public static final GrpcVideoIntelligenceServiceStub create( + VideoIntelligenceServiceStubSettings settings) throws IOException { + return new GrpcVideoIntelligenceServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcVideoIntelligenceServiceStub create(ClientContext clientContext) + throws IOException { + return new GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings.newBuilder().build(), clientContext); + } + + /** + * Constructs an instance of GrpcVideoIntelligenceServiceStub, 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 GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this.operationsStub = GrpcOperationsStub.create(clientContext); + + GrpcCallSettings annotateVideoTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(annotateVideoMethodDescriptor) + .build(); + + this.annotateVideoCallable = + GrpcCallableFactory.createUnaryCallable( + annotateVideoTransportSettings, settings.annotateVideoSettings(), clientContext); + this.annotateVideoOperationCallable = + GrpcCallableFactory.createOperationCallable( + annotateVideoTransportSettings, + settings.annotateVideoOperationSettings(), + clientContext, + this.operationsStub); + + backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + public OperationCallable + annotateVideoOperationCallable() { + return annotateVideoOperationCallable; + } + + public UnaryCallable annotateVideoCallable() { + return annotateVideoCallable; + } + + @Override + public final void close() throws Exception { + shutdown(); + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..6cf5324f40bb --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStub.java @@ -0,0 +1,51 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Base stub class for Google Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public abstract class VideoIntelligenceServiceStub implements BackgroundResource { + + public OperationsStub getOperationsStub() { + throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); + } + + public OperationCallable + annotateVideoOperationCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoOperationCallable()"); + } + + public UnaryCallable annotateVideoCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoCallable()"); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStubSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStubSettings.java new file mode 100644 index 000000000000..2e37558e95a2 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1beta2/stub/VideoIntelligenceServiceStubSettings.java @@ -0,0 +1,318 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2.stub; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1beta2.AnnotateVideoResponse; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.threeten.bp.Duration; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceStubSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceStubSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceStubSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceStubSettings + extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings annotateVideoSettings; + private final OperationCallSettings< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcVideoIntelligenceServiceStub.create(this); + } else { + throw new UnsupportedOperationException( + "Transport not supported: " + getTransportChannelProvider().getTransportName()); + } + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "videointelligence.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(VideoIntelligenceServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + annotateVideoSettings = settingsBuilder.annotateVideoSettings().build(); + annotateVideoOperationSettings = settingsBuilder.annotateVideoOperationSettings().build(); + } + + /** Builder for VideoIntelligenceServiceStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + + private final UnaryCallSettings.Builder annotateVideoSettings; + private final OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "idempotent", + ImmutableSet.copyOf( + Lists.newArrayList( + StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); + definitions.put("non_idempotent", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(2.5) + .setMaxRetryDelay(Duration.ofMillis(120000L)) + .setInitialRpcTimeout(Duration.ofMillis(120000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ofMillis(120000L)) + .setTotalTimeout(Duration.ofMillis(600000L)) + .build(); + definitions.put("default", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + annotateVideoSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + annotateVideoOperationSettings = OperationCallSettings.newBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + + initDefaults(this); + } + + private static Builder createDefault() { + Builder builder = new Builder((ClientContext) null); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + + builder + .annotateVideoSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .annotateVideoOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(20000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) // ignored + .setRpcTimeoutMultiplier(1.0) // ignored + .setMaxRpcTimeout(Duration.ZERO) // ignored + .setTotalTimeout(Duration.ofMillis(86400000L)) + .build())); + + return builder; + } + + protected Builder(VideoIntelligenceServiceStubSettings settings) { + super(settings); + + annotateVideoSettings = settings.annotateVideoSettings.toBuilder(); + annotateVideoOperationSettings = settings.annotateVideoOperationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @Override + public VideoIntelligenceServiceStubSettings build() throws IOException { + return new VideoIntelligenceServiceStubSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClient.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClient.java new file mode 100644 index 000000000000..4ed72db6307d --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClient.java @@ -0,0 +1,321 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.longrunning.OperationFuture; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1p1beta1.stub.VideoIntelligenceServiceStub; +import com.google.cloud.videointelligence.v1p1beta1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import com.google.longrunning.OperationsClient; +import java.io.IOException; +import java.util.List; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND SERVICE +/** + * Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

This class provides the ability to make remote calls to the backing service through method + * calls that map to API methods. Sample code to get started: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+ * }
+ * 
+ * 
+ * + *

Note: close() needs to be called on the videoIntelligenceServiceClient 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: + * + *

    + *
  1. 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. + *
  2. 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. + *
  3. 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 + * VideoIntelligenceServiceSettings to create(). For example: + * + *

To customize credentials: + * + *

+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder()
+ *         .setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
+ *         .build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ * + * To customize the endpoint: + * + *
+ * 
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings =
+ *     VideoIntelligenceServiceSettings.newBuilder().setEndpoint(myEndpoint).build();
+ * VideoIntelligenceServiceClient videoIntelligenceServiceClient =
+ *     VideoIntelligenceServiceClient.create(videoIntelligenceServiceSettings);
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceClient implements BackgroundResource { + private final VideoIntelligenceServiceSettings settings; + private final VideoIntelligenceServiceStub stub; + private final OperationsClient operationsClient; + + /** Constructs an instance of VideoIntelligenceServiceClient with default settings. */ + public static final VideoIntelligenceServiceClient create() throws IOException { + return create(VideoIntelligenceServiceSettings.newBuilder().build()); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient create( + VideoIntelligenceServiceSettings settings) throws IOException { + return new VideoIntelligenceServiceClient(settings); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, using the given stub for making + * calls. This is for advanced usage - prefer to use VideoIntelligenceServiceSettings}. + */ + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public static final VideoIntelligenceServiceClient create(VideoIntelligenceServiceStub stub) { + return new VideoIntelligenceServiceClient(stub); + } + + /** + * Constructs an instance of VideoIntelligenceServiceClient, 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 VideoIntelligenceServiceClient(VideoIntelligenceServiceSettings settings) + throws IOException { + this.settings = settings; + this.stub = ((VideoIntelligenceServiceStubSettings) settings.getStubSettings()).createStub(); + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + protected VideoIntelligenceServiceClient(VideoIntelligenceServiceStub stub) { + this.settings = null; + this.stub = stub; + this.operationsClient = OperationsClient.create(this.stub.getOperationsStub()); + } + + public final VideoIntelligenceServiceSettings getSettings() { + return settings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub getStub() { + return stub; + } + + /** + * Returns the OperationsClient that can be used to query the status of a long-running operation + * returned by another API method call. + */ + public final OperationsClient getOperationsClient() { + return operationsClient; + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features).get();
+   * }
+   * 
+ * + * @param inputUri Input video location. Currently, only [Google Cloud + * Storage](https://cloud.google.com/storage/) URIs are supported, which must be specified in + * the following format: `gs://bucket-id/object-id` (other URI formats return + * [google.rpc.Code.INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]). For more + * information, see [Request URIs](/storage/docs/reference-uris). A video URI may include + * wildcards in `object-id`, and thus identify multiple videos. Supported wildcards: '*' + * to match 0 or more characters; '?' to match 1 character. If unset, the input video should + * be embedded in the request as `input_content`. If set, `input_content` should be unset. + * @param features Requested video annotation features. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture annotateVideoAsync( + String inputUri, List features) { + + AnnotateVideoRequest request = + AnnotateVideoRequest.newBuilder().setInputUri(inputUri).addAllFeatures(features).build(); + return annotateVideoAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(request).get();
+   * }
+   * 
+ * + * @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 OperationFuture annotateVideoAsync( + AnnotateVideoRequest request) { + return annotateVideoOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   OperationFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoOperationCallable().futureCall(request);
+   *   // Do something
+   *   AnnotateVideoResponse response = future.get();
+   * }
+   * 
+ */ + public final OperationCallable + annotateVideoOperationCallable() { + return stub.annotateVideoOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD + /** + * Performs asynchronous video annotation. Progress and results can be retrieved through the + * `google.longrunning.Operations` interface. `Operation.metadata` contains + * `AnnotateVideoProgress` (progress). `Operation.response` contains `AnnotateVideoResponse` + * (results). + * + *

Sample code: + * + *


+   * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+   *   String inputUri = "gs://demomaker/cat.mp4";
+   *   Feature featuresElement = Feature.LABEL_DETECTION;
+   *   List<Feature> features = Arrays.asList(featuresElement);
+   *   AnnotateVideoRequest request = AnnotateVideoRequest.newBuilder()
+   *     .setInputUri(inputUri)
+   *     .addAllFeatures(features)
+   *     .build();
+   *   ApiFuture<Operation> future = videoIntelligenceServiceClient.annotateVideoCallable().futureCall(request);
+   *   // Do something
+   *   Operation response = future.get();
+   * }
+   * 
+ */ + public final UnaryCallable annotateVideoCallable() { + return stub.annotateVideoCallable(); + } + + @Override + public final void close() throws Exception { + stub.close(); + } + + @Override + public void shutdown() { + stub.shutdown(); + } + + @Override + public boolean isShutdown() { + return stub.isShutdown(); + } + + @Override + public boolean isTerminated() { + return stub.isTerminated(); + } + + @Override + public void shutdownNow() { + stub.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return stub.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSettings.java new file mode 100644 index 000000000000..525ad55d8814 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSettings.java @@ -0,0 +1,192 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.ClientSettings; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1p1beta1.stub.VideoIntelligenceServiceStubSettings; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceClient}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceSettings + extends ClientSettings { + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()).annotateVideoSettings(); + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return ((VideoIntelligenceServiceStubSettings) getStubSettings()) + .annotateVideoOperationSettings(); + } + + public static final VideoIntelligenceServiceSettings create( + VideoIntelligenceServiceStubSettings stub) throws IOException { + return new VideoIntelligenceServiceSettings.Builder(stub.toBuilder()).build(); + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultExecutorProviderBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return VideoIntelligenceServiceStubSettings.getDefaultEndpoint(); + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return VideoIntelligenceServiceStubSettings.getDefaultServiceScopes(); + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultCredentialsProviderBuilder(); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultGrpcTransportProviderBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return VideoIntelligenceServiceStubSettings.defaultTransportChannelProvider(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return VideoIntelligenceServiceStubSettings.defaultApiClientHeaderProviderBuilder(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + } + + /** Builder for VideoIntelligenceServiceSettings. */ + public static class Builder + extends ClientSettings.Builder { + protected Builder() throws IOException { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(VideoIntelligenceServiceStubSettings.newBuilder(clientContext)); + } + + private static Builder createDefault() { + return new Builder(VideoIntelligenceServiceStubSettings.newBuilder()); + } + + protected Builder(VideoIntelligenceServiceSettings settings) { + super(settings.getStubSettings().toBuilder()); + } + + protected Builder(VideoIntelligenceServiceStubSettings.Builder stubSettings) { + super(stubSettings); + } + + public VideoIntelligenceServiceStubSettings.Builder getStubSettingsBuilder() { + return ((VideoIntelligenceServiceStubSettings.Builder) getStubSettings()); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods( + getStubSettingsBuilder().unaryMethodSettingsBuilders(), settingsUpdater); + return this; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return getStubSettingsBuilder().annotateVideoSettings(); + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return getStubSettingsBuilder().annotateVideoOperationSettings(); + } + + @Override + public VideoIntelligenceServiceSettings build() throws IOException { + return new VideoIntelligenceServiceSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/package-info.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/package-info.java new file mode 100644 index 000000000000..c0778efbf06a --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/package-info.java @@ -0,0 +1,39 @@ +/* + * Copyright 2018 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. + */ + +/** + * A client to Cloud Video Intelligence API. + * + *

The interfaces provided are listed below, along with usage samples. + * + *

============================== VideoIntelligenceServiceClient ============================== + * + *

Service Description: Service that implements Google Cloud Video Intelligence API. + * + *

Sample for VideoIntelligenceServiceClient: + * + *

+ * 
+ * try (VideoIntelligenceServiceClient videoIntelligenceServiceClient = VideoIntelligenceServiceClient.create()) {
+ *   String inputUri = "gs://demomaker/cat.mp4";
+ *   Feature featuresElement = Feature.LABEL_DETECTION;
+ *   List<Feature> features = Arrays.asList(featuresElement);
+ *   AnnotateVideoResponse response = videoIntelligenceServiceClient.annotateVideoAsync(inputUri, features);
+ * }
+ * 
+ * 
+ */ +package com.google.cloud.videointelligence.v1p1beta1; diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/GrpcVideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/GrpcVideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..2cfbe46fb35a --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/GrpcVideoIntelligenceServiceStub.java @@ -0,0 +1,147 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.core.BackgroundResourceAggregation; +import com.google.api.gax.grpc.GrpcCallSettings; +import com.google.api.gax.grpc.GrpcCallableFactory; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.GrpcOperationsStub; +import io.grpc.MethodDescriptor; +import io.grpc.protobuf.ProtoUtils; +import java.io.IOException; +import java.util.concurrent.TimeUnit; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * gRPC stub implementation for Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public class GrpcVideoIntelligenceServiceStub extends VideoIntelligenceServiceStub { + + private static final MethodDescriptor + annotateVideoMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + "google.cloud.videointelligence.v1p1beta1.VideoIntelligenceService/AnnotateVideo") + .setRequestMarshaller( + ProtoUtils.marshaller(AnnotateVideoRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .build(); + + private final BackgroundResource backgroundResources; + private final GrpcOperationsStub operationsStub; + + private final UnaryCallable annotateVideoCallable; + private final OperationCallable< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationCallable; + + public static final GrpcVideoIntelligenceServiceStub create( + VideoIntelligenceServiceStubSettings settings) throws IOException { + return new GrpcVideoIntelligenceServiceStub(settings, ClientContext.create(settings)); + } + + public static final GrpcVideoIntelligenceServiceStub create(ClientContext clientContext) + throws IOException { + return new GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings.newBuilder().build(), clientContext); + } + + /** + * Constructs an instance of GrpcVideoIntelligenceServiceStub, 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 GrpcVideoIntelligenceServiceStub( + VideoIntelligenceServiceStubSettings settings, ClientContext clientContext) + throws IOException { + this.operationsStub = GrpcOperationsStub.create(clientContext); + + GrpcCallSettings annotateVideoTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(annotateVideoMethodDescriptor) + .build(); + + this.annotateVideoCallable = + GrpcCallableFactory.createUnaryCallable( + annotateVideoTransportSettings, settings.annotateVideoSettings(), clientContext); + this.annotateVideoOperationCallable = + GrpcCallableFactory.createOperationCallable( + annotateVideoTransportSettings, + settings.annotateVideoOperationSettings(), + clientContext, + this.operationsStub); + + backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); + } + + public GrpcOperationsStub getOperationsStub() { + return operationsStub; + } + + public OperationCallable + annotateVideoOperationCallable() { + return annotateVideoOperationCallable; + } + + public UnaryCallable annotateVideoCallable() { + return annotateVideoCallable; + } + + @Override + public final void close() throws Exception { + shutdown(); + } + + @Override + public void shutdown() { + backgroundResources.shutdown(); + } + + @Override + public boolean isShutdown() { + return backgroundResources.isShutdown(); + } + + @Override + public boolean isTerminated() { + return backgroundResources.isTerminated(); + } + + @Override + public void shutdownNow() { + backgroundResources.shutdownNow(); + } + + @Override + public boolean awaitTermination(long duration, TimeUnit unit) throws InterruptedException { + return backgroundResources.awaitTermination(duration, unit); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStub.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStub.java new file mode 100644 index 000000000000..0e86413ad8f4 --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStub.java @@ -0,0 +1,51 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1.stub; + +import com.google.api.core.BetaApi; +import com.google.api.gax.core.BackgroundResource; +import com.google.api.gax.rpc.OperationCallable; +import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; +import com.google.longrunning.Operation; +import com.google.longrunning.stub.OperationsStub; +import javax.annotation.Generated; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Base stub class for Cloud Video Intelligence API. + * + *

This class is for advanced usage and reflects the underlying API directly. + */ +@Generated("by GAPIC v0.0.5") +@BetaApi("A restructuring of stub classes is planned, so this may break in the future") +public abstract class VideoIntelligenceServiceStub implements BackgroundResource { + + public OperationsStub getOperationsStub() { + throw new UnsupportedOperationException("Not implemented: getOperationsStub()"); + } + + public OperationCallable + annotateVideoOperationCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoOperationCallable()"); + } + + public UnaryCallable annotateVideoCallable() { + throw new UnsupportedOperationException("Not implemented: annotateVideoCallable()"); + } +} diff --git a/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStubSettings.java b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStubSettings.java new file mode 100644 index 000000000000..fc1f951a9aec --- /dev/null +++ b/google-cloud-videointelligence/src/main/java/com/google/cloud/videointelligence/v1p1beta1/stub/VideoIntelligenceServiceStubSettings.java @@ -0,0 +1,318 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1.stub; + +import com.google.api.core.ApiFunction; +import com.google.api.core.BetaApi; +import com.google.api.gax.core.GaxProperties; +import com.google.api.gax.core.GoogleCredentialsProvider; +import com.google.api.gax.core.InstantiatingExecutorProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.GrpcTransportChannel; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; +import com.google.api.gax.grpc.ProtoOperationTransformers; +import com.google.api.gax.longrunning.OperationSnapshot; +import com.google.api.gax.longrunning.OperationTimedPollAlgorithm; +import com.google.api.gax.retrying.RetrySettings; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.ClientContext; +import com.google.api.gax.rpc.OperationCallSettings; +import com.google.api.gax.rpc.StatusCode; +import com.google.api.gax.rpc.StubSettings; +import com.google.api.gax.rpc.TransportChannelProvider; +import com.google.api.gax.rpc.UnaryCallSettings; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoProgress; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoRequest; +import com.google.cloud.videointelligence.v1p1beta1.AnnotateVideoResponse; +import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import com.google.longrunning.Operation; +import java.io.IOException; +import java.util.List; +import javax.annotation.Generated; +import org.threeten.bp.Duration; + +// AUTO-GENERATED DOCUMENTATION AND CLASS +/** + * Settings class to configure an instance of {@link VideoIntelligenceServiceStub}. + * + *

The default instance has everything set to sensible defaults: + * + *

    + *
  • The default service address (videointelligence.googleapis.com) and default port (443) are + * used. + *
  • Credentials are acquired automatically through Application Default Credentials. + *
  • Retries are configured for idempotent methods but not for non-idempotent methods. + *
+ * + *

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 annotateVideoAsync to 30 seconds: + * + *

+ * 
+ * VideoIntelligenceServiceStubSettings.Builder videoIntelligenceServiceSettingsBuilder =
+ *     VideoIntelligenceServiceStubSettings.newBuilder();
+ * videoIntelligenceServiceSettingsBuilder.annotateVideoSettings().getRetrySettings().toBuilder()
+ *     .setTotalTimeout(Duration.ofSeconds(30));
+ * VideoIntelligenceServiceStubSettings videoIntelligenceServiceSettings = videoIntelligenceServiceSettingsBuilder.build();
+ * 
+ * 
+ */ +@Generated("by GAPIC v0.0.5") +@BetaApi +public class VideoIntelligenceServiceStubSettings + extends StubSettings { + /** The default scopes of the service. */ + private static final ImmutableList DEFAULT_SERVICE_SCOPES = + ImmutableList.builder().add("https://www.googleapis.com/auth/cloud-platform").build(); + + private final UnaryCallSettings annotateVideoSettings; + private final OperationCallSettings< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + /** Returns the object with the settings used for calls to annotateVideo. */ + public UnaryCallSettings annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the object with the settings used for calls to annotateVideo. */ + public OperationCallSettings + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") + public VideoIntelligenceServiceStub createStub() throws IOException { + if (getTransportChannelProvider() + .getTransportName() + .equals(GrpcTransportChannel.getGrpcTransportName())) { + return GrpcVideoIntelligenceServiceStub.create(this); + } else { + throw new UnsupportedOperationException( + "Transport not supported: " + getTransportChannelProvider().getTransportName()); + } + } + + /** Returns a builder for the default ExecutorProvider for this service. */ + public static InstantiatingExecutorProvider.Builder defaultExecutorProviderBuilder() { + return InstantiatingExecutorProvider.newBuilder(); + } + + /** Returns the default service endpoint. */ + public static String getDefaultEndpoint() { + return "videointelligence.googleapis.com:443"; + } + + /** Returns the default service scopes. */ + public static List getDefaultServiceScopes() { + return DEFAULT_SERVICE_SCOPES; + } + + /** Returns a builder for the default credentials for this service. */ + public static GoogleCredentialsProvider.Builder defaultCredentialsProviderBuilder() { + return GoogleCredentialsProvider.newBuilder().setScopesToApply(DEFAULT_SERVICE_SCOPES); + } + + /** Returns a builder for the default ChannelProvider for this service. */ + public static InstantiatingGrpcChannelProvider.Builder defaultGrpcTransportProviderBuilder() { + return InstantiatingGrpcChannelProvider.newBuilder(); + } + + public static TransportChannelProvider defaultTransportChannelProvider() { + return defaultGrpcTransportProviderBuilder().build(); + } + + @BetaApi("The surface for customizing headers is not stable yet and may change in the future.") + public static ApiClientHeaderProvider.Builder defaultApiClientHeaderProviderBuilder() { + return ApiClientHeaderProvider.newBuilder() + .setGeneratedLibToken( + "gapic", GaxProperties.getLibraryVersion(VideoIntelligenceServiceStubSettings.class)) + .setTransportToken( + GaxGrpcProperties.getGrpcTokenName(), GaxGrpcProperties.getGrpcVersion()); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder() { + return Builder.createDefault(); + } + + /** Returns a new builder for this class. */ + public static Builder newBuilder(ClientContext clientContext) { + return new Builder(clientContext); + } + + /** Returns a builder containing all the values of this settings class. */ + public Builder toBuilder() { + return new Builder(this); + } + + protected VideoIntelligenceServiceStubSettings(Builder settingsBuilder) throws IOException { + super(settingsBuilder); + + annotateVideoSettings = settingsBuilder.annotateVideoSettings().build(); + annotateVideoOperationSettings = settingsBuilder.annotateVideoOperationSettings().build(); + } + + /** Builder for VideoIntelligenceServiceStubSettings. */ + public static class Builder + extends StubSettings.Builder { + private final ImmutableList> unaryMethodSettingsBuilders; + + private final UnaryCallSettings.Builder annotateVideoSettings; + private final OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings; + + private static final ImmutableMap> + RETRYABLE_CODE_DEFINITIONS; + + static { + ImmutableMap.Builder> definitions = + ImmutableMap.builder(); + definitions.put( + "idempotent", + ImmutableSet.copyOf( + Lists.newArrayList( + StatusCode.Code.DEADLINE_EXCEEDED, StatusCode.Code.UNAVAILABLE))); + definitions.put("non_idempotent", ImmutableSet.copyOf(Lists.newArrayList())); + RETRYABLE_CODE_DEFINITIONS = definitions.build(); + } + + private static final ImmutableMap RETRY_PARAM_DEFINITIONS; + + static { + ImmutableMap.Builder definitions = ImmutableMap.builder(); + RetrySettings settings = null; + settings = + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(1000L)) + .setRetryDelayMultiplier(2.5) + .setMaxRetryDelay(Duration.ofMillis(120000L)) + .setInitialRpcTimeout(Duration.ofMillis(120000L)) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ofMillis(120000L)) + .setTotalTimeout(Duration.ofMillis(600000L)) + .build(); + definitions.put("default", settings); + RETRY_PARAM_DEFINITIONS = definitions.build(); + } + + protected Builder() { + this((ClientContext) null); + } + + protected Builder(ClientContext clientContext) { + super(clientContext); + + annotateVideoSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + + annotateVideoOperationSettings = OperationCallSettings.newBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + + initDefaults(this); + } + + private static Builder createDefault() { + Builder builder = new Builder((ClientContext) null); + builder.setTransportChannelProvider(defaultTransportChannelProvider()); + builder.setCredentialsProvider(defaultCredentialsProviderBuilder().build()); + builder.setInternalHeaderProvider(defaultApiClientHeaderProviderBuilder().build()); + builder.setEndpoint(getDefaultEndpoint()); + return initDefaults(builder); + } + + private static Builder initDefaults(Builder builder) { + + builder + .annotateVideoSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")); + builder + .annotateVideoOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("idempotent")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("default")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(AnnotateVideoResponse.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(AnnotateVideoProgress.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(20000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) // ignored + .setRpcTimeoutMultiplier(1.0) // ignored + .setMaxRpcTimeout(Duration.ZERO) // ignored + .setTotalTimeout(Duration.ofMillis(86400000L)) + .build())); + + return builder; + } + + protected Builder(VideoIntelligenceServiceStubSettings settings) { + super(settings); + + annotateVideoSettings = settings.annotateVideoSettings.toBuilder(); + annotateVideoOperationSettings = settings.annotateVideoOperationSettings.toBuilder(); + + unaryMethodSettingsBuilders = + ImmutableList.>of(annotateVideoSettings); + } + + /** + * Applies the given settings updater function to all of the unary API methods in this service. + * + *

Note: This method does not support applying settings to streaming methods. + */ + public Builder applyToAllUnaryMethods( + ApiFunction, Void> settingsUpdater) throws Exception { + super.applyToAllUnaryMethods(unaryMethodSettingsBuilders, settingsUpdater); + return this; + } + + public ImmutableList> unaryMethodSettingsBuilders() { + return unaryMethodSettingsBuilders; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public UnaryCallSettings.Builder annotateVideoSettings() { + return annotateVideoSettings; + } + + /** Returns the builder for the settings used for calls to annotateVideo. */ + public OperationCallSettings.Builder< + AnnotateVideoRequest, AnnotateVideoResponse, AnnotateVideoProgress> + annotateVideoOperationSettings() { + return annotateVideoOperationSettings; + } + + @Override + public VideoIntelligenceServiceStubSettings build() throws IOException { + return new VideoIntelligenceServiceStubSettings(this); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceService.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceService.java new file mode 100644 index 000000000000..33b0177dd3dc --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.ServerServiceDefinition; +import java.util.List; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceService implements MockGrpcService { + private final MockVideoIntelligenceServiceImpl serviceImpl; + + public MockVideoIntelligenceService() { + serviceImpl = new MockVideoIntelligenceServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(GeneratedMessageV3 response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceServiceImpl.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceServiceImpl.java new file mode 100644 index 000000000000..b63e560e83b7 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/MockVideoIntelligenceServiceImpl.java @@ -0,0 +1,74 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.api.core.BetaApi; +import com.google.cloud.videointelligence.v1.VideoIntelligenceServiceGrpc.VideoIntelligenceServiceImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceServiceImpl extends VideoIntelligenceServiceImplBase { + private ArrayList requests; + private Queue responses; + + public MockVideoIntelligenceServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(GeneratedMessageV3 response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void annotateVideo( + AnnotateVideoRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext((Operation) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClientTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClientTest.java new file mode 100644 index 000000000000..f1adc0ba63e3 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceClientTest.java @@ -0,0 +1,130 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.Status; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ExecutionException; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceClientTest { + private static MockVideoIntelligenceService mockVideoIntelligenceService; + private static MockServiceHelper serviceHelper; + private VideoIntelligenceServiceClient client; + private LocalChannelProvider channelProvider; + + @BeforeClass + public static void startStaticServer() { + mockVideoIntelligenceService = new MockVideoIntelligenceService(); + serviceHelper = + new MockServiceHelper( + "in-process-1", Arrays.asList(mockVideoIntelligenceService)); + serviceHelper.start(); + } + + @AfterClass + public static void stopServer() { + serviceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + serviceHelper.reset(); + channelProvider = serviceHelper.createChannelProvider(); + VideoIntelligenceServiceSettings settings = + VideoIntelligenceServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = VideoIntelligenceServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoTest() throws Exception { + AnnotateVideoResponse expectedResponse = AnnotateVideoResponse.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("annotateVideoTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockVideoIntelligenceService.addResponse(resultOperation); + + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse actualResponse = client.annotateVideoAsync(inputUri, features).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockVideoIntelligenceService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AnnotateVideoRequest actualRequest = (AnnotateVideoRequest) actualRequests.get(0); + + Assert.assertEquals(inputUri, actualRequest.getInputUri()); + Assert.assertEquals(features, actualRequest.getFeaturesList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockVideoIntelligenceService.addException(exception); + + try { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + client.annotateVideoAsync(inputUri, features).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSmokeTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSmokeTest.java new file mode 100644 index 000000000000..2e27a796679a --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1/VideoIntelligenceServiceSmokeTest.java @@ -0,0 +1,60 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1; + +import com.google.common.base.Preconditions; +import java.util.Arrays; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceSmokeTest { + private static final String PROJECT_ENV_NAME = "GOOGLE_CLOUD_PROJECT"; + private static final String LEGACY_PROJECT_ENV_NAME = "GCLOUD_PROJECT"; + + public static void main(String args[]) { + Logger.getLogger("").setLevel(Level.WARNING); + try { + executeNoCatch(); + System.out.println("OK"); + } catch (Exception e) { + System.err.println("Failed with exception:"); + e.printStackTrace(System.err); + System.exit(1); + } + } + + public static void executeNoCatch() throws Exception { + try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse response = client.annotateVideoAsync(inputUri, features).get(); + } + } + + private static String getProjectId() { + String projectId = System.getProperty(PROJECT_ENV_NAME, System.getenv(PROJECT_ENV_NAME)); + if (projectId == null) { + projectId = + System.getProperty(LEGACY_PROJECT_ENV_NAME, System.getenv(LEGACY_PROJECT_ENV_NAME)); + } + Preconditions.checkArgument(projectId != null, "A project ID is required."); + return projectId; + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceService.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceService.java new file mode 100644 index 000000000000..18332772c708 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.ServerServiceDefinition; +import java.util.List; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceService implements MockGrpcService { + private final MockVideoIntelligenceServiceImpl serviceImpl; + + public MockVideoIntelligenceService() { + serviceImpl = new MockVideoIntelligenceServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(GeneratedMessageV3 response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceServiceImpl.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceServiceImpl.java new file mode 100644 index 000000000000..f1934809a439 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/MockVideoIntelligenceServiceImpl.java @@ -0,0 +1,74 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1; + +import com.google.api.core.BetaApi; +import com.google.cloud.videointelligence.v1beta1.VideoIntelligenceServiceGrpc.VideoIntelligenceServiceImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceServiceImpl extends VideoIntelligenceServiceImplBase { + private ArrayList requests; + private Queue responses; + + public MockVideoIntelligenceServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(GeneratedMessageV3 response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void annotateVideo( + AnnotateVideoRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext((Operation) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClientTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClientTest.java new file mode 100644 index 000000000000..33a2b13ea1d6 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta1/VideoIntelligenceServiceClientTest.java @@ -0,0 +1,130 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta1; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.Status; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ExecutionException; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceClientTest { + private static MockVideoIntelligenceService mockVideoIntelligenceService; + private static MockServiceHelper serviceHelper; + private VideoIntelligenceServiceClient client; + private LocalChannelProvider channelProvider; + + @BeforeClass + public static void startStaticServer() { + mockVideoIntelligenceService = new MockVideoIntelligenceService(); + serviceHelper = + new MockServiceHelper( + "in-process-1", Arrays.asList(mockVideoIntelligenceService)); + serviceHelper.start(); + } + + @AfterClass + public static void stopServer() { + serviceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + serviceHelper.reset(); + channelProvider = serviceHelper.createChannelProvider(); + VideoIntelligenceServiceSettings settings = + VideoIntelligenceServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = VideoIntelligenceServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoTest() throws Exception { + AnnotateVideoResponse expectedResponse = AnnotateVideoResponse.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("annotateVideoTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockVideoIntelligenceService.addResponse(resultOperation); + + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse actualResponse = client.annotateVideoAsync(inputUri, features).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockVideoIntelligenceService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AnnotateVideoRequest actualRequest = (AnnotateVideoRequest) actualRequests.get(0); + + Assert.assertEquals(inputUri, actualRequest.getInputUri()); + Assert.assertEquals(features, actualRequest.getFeaturesList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockVideoIntelligenceService.addException(exception); + + try { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + client.annotateVideoAsync(inputUri, features).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceService.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceService.java new file mode 100644 index 000000000000..b104697c373d --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.ServerServiceDefinition; +import java.util.List; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceService implements MockGrpcService { + private final MockVideoIntelligenceServiceImpl serviceImpl; + + public MockVideoIntelligenceService() { + serviceImpl = new MockVideoIntelligenceServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(GeneratedMessageV3 response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceServiceImpl.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceServiceImpl.java new file mode 100644 index 000000000000..fb7ae0972e36 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/MockVideoIntelligenceServiceImpl.java @@ -0,0 +1,74 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2; + +import com.google.api.core.BetaApi; +import com.google.cloud.videointelligence.v1beta2.VideoIntelligenceServiceGrpc.VideoIntelligenceServiceImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceServiceImpl extends VideoIntelligenceServiceImplBase { + private ArrayList requests; + private Queue responses; + + public MockVideoIntelligenceServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(GeneratedMessageV3 response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void annotateVideo( + AnnotateVideoRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext((Operation) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClientTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClientTest.java new file mode 100644 index 000000000000..ee40b26b3db9 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1beta2/VideoIntelligenceServiceClientTest.java @@ -0,0 +1,130 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1beta2; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.Status; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ExecutionException; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceClientTest { + private static MockVideoIntelligenceService mockVideoIntelligenceService; + private static MockServiceHelper serviceHelper; + private VideoIntelligenceServiceClient client; + private LocalChannelProvider channelProvider; + + @BeforeClass + public static void startStaticServer() { + mockVideoIntelligenceService = new MockVideoIntelligenceService(); + serviceHelper = + new MockServiceHelper( + "in-process-1", Arrays.asList(mockVideoIntelligenceService)); + serviceHelper.start(); + } + + @AfterClass + public static void stopServer() { + serviceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + serviceHelper.reset(); + channelProvider = serviceHelper.createChannelProvider(); + VideoIntelligenceServiceSettings settings = + VideoIntelligenceServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = VideoIntelligenceServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoTest() throws Exception { + AnnotateVideoResponse expectedResponse = AnnotateVideoResponse.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("annotateVideoTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockVideoIntelligenceService.addResponse(resultOperation); + + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse actualResponse = client.annotateVideoAsync(inputUri, features).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockVideoIntelligenceService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AnnotateVideoRequest actualRequest = (AnnotateVideoRequest) actualRequests.get(0); + + Assert.assertEquals(inputUri, actualRequest.getInputUri()); + Assert.assertEquals(features, actualRequest.getFeaturesList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockVideoIntelligenceService.addException(exception); + + try { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + client.annotateVideoAsync(inputUri, features).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceService.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceService.java new file mode 100644 index 000000000000..ad7eb61ca408 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceService.java @@ -0,0 +1,57 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.api.core.BetaApi; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.ServerServiceDefinition; +import java.util.List; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceService implements MockGrpcService { + private final MockVideoIntelligenceServiceImpl serviceImpl; + + public MockVideoIntelligenceService() { + serviceImpl = new MockVideoIntelligenceServiceImpl(); + } + + @Override + public List getRequests() { + return serviceImpl.getRequests(); + } + + @Override + public void addResponse(GeneratedMessageV3 response) { + serviceImpl.addResponse(response); + } + + @Override + public void addException(Exception exception) { + serviceImpl.addException(exception); + } + + @Override + public ServerServiceDefinition getServiceDefinition() { + return serviceImpl.bindService(); + } + + @Override + public void reset() { + serviceImpl.reset(); + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceServiceImpl.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceServiceImpl.java new file mode 100644 index 000000000000..25f2f6c3cdac --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/MockVideoIntelligenceServiceImpl.java @@ -0,0 +1,74 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.api.core.BetaApi; +import com.google.cloud.videointelligence.v1p1beta1.VideoIntelligenceServiceGrpc.VideoIntelligenceServiceImplBase; +import com.google.longrunning.Operation; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.stub.StreamObserver; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +@javax.annotation.Generated("by GAPIC") +@BetaApi +public class MockVideoIntelligenceServiceImpl extends VideoIntelligenceServiceImplBase { + private ArrayList requests; + private Queue responses; + + public MockVideoIntelligenceServiceImpl() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + public List getRequests() { + return requests; + } + + public void addResponse(GeneratedMessageV3 response) { + responses.add(response); + } + + public void setResponses(List responses) { + this.responses = new LinkedList(responses); + } + + public void addException(Exception exception) { + responses.add(exception); + } + + public void reset() { + requests = new ArrayList<>(); + responses = new LinkedList<>(); + } + + @Override + public void annotateVideo( + AnnotateVideoRequest request, StreamObserver responseObserver) { + Object response = responses.remove(); + if (response instanceof Operation) { + requests.add(request); + responseObserver.onNext((Operation) response); + responseObserver.onCompleted(); + } else if (response instanceof Exception) { + responseObserver.onError((Exception) response); + } else { + responseObserver.onError(new IllegalArgumentException("Unrecognized response type")); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClientTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClientTest.java new file mode 100644 index 000000000000..e0e7381b8def --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceClientTest.java @@ -0,0 +1,130 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.api.gax.core.NoCredentialsProvider; +import com.google.api.gax.grpc.GaxGrpcProperties; +import com.google.api.gax.grpc.testing.LocalChannelProvider; +import com.google.api.gax.grpc.testing.MockGrpcService; +import com.google.api.gax.grpc.testing.MockServiceHelper; +import com.google.api.gax.rpc.ApiClientHeaderProvider; +import com.google.api.gax.rpc.InvalidArgumentException; +import com.google.api.gax.rpc.StatusCode; +import com.google.longrunning.Operation; +import com.google.protobuf.Any; +import com.google.protobuf.GeneratedMessageV3; +import io.grpc.Status; +import io.grpc.StatusRuntimeException; +import java.io.IOException; +import java.util.Arrays; +import java.util.List; +import java.util.concurrent.ExecutionException; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceClientTest { + private static MockVideoIntelligenceService mockVideoIntelligenceService; + private static MockServiceHelper serviceHelper; + private VideoIntelligenceServiceClient client; + private LocalChannelProvider channelProvider; + + @BeforeClass + public static void startStaticServer() { + mockVideoIntelligenceService = new MockVideoIntelligenceService(); + serviceHelper = + new MockServiceHelper( + "in-process-1", Arrays.asList(mockVideoIntelligenceService)); + serviceHelper.start(); + } + + @AfterClass + public static void stopServer() { + serviceHelper.stop(); + } + + @Before + public void setUp() throws IOException { + serviceHelper.reset(); + channelProvider = serviceHelper.createChannelProvider(); + VideoIntelligenceServiceSettings settings = + VideoIntelligenceServiceSettings.newBuilder() + .setTransportChannelProvider(channelProvider) + .setCredentialsProvider(NoCredentialsProvider.create()) + .build(); + client = VideoIntelligenceServiceClient.create(settings); + } + + @After + public void tearDown() throws Exception { + client.close(); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoTest() throws Exception { + AnnotateVideoResponse expectedResponse = AnnotateVideoResponse.newBuilder().build(); + Operation resultOperation = + Operation.newBuilder() + .setName("annotateVideoTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockVideoIntelligenceService.addResponse(resultOperation); + + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse actualResponse = client.annotateVideoAsync(inputUri, features).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockVideoIntelligenceService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + AnnotateVideoRequest actualRequest = (AnnotateVideoRequest) actualRequests.get(0); + + Assert.assertEquals(inputUri, actualRequest.getInputUri()); + Assert.assertEquals(features, actualRequest.getFeaturesList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + @SuppressWarnings("all") + public void annotateVideoExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(Status.INVALID_ARGUMENT); + mockVideoIntelligenceService.addException(exception); + + try { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + client.annotateVideoAsync(inputUri, features).get(); + Assert.fail("No exception raised"); + } catch (ExecutionException e) { + Assert.assertEquals(InvalidArgumentException.class, e.getCause().getClass()); + InvalidArgumentException apiException = (InvalidArgumentException) e.getCause(); + Assert.assertEquals(StatusCode.Code.INVALID_ARGUMENT, apiException.getStatusCode().getCode()); + } + } +} diff --git a/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSmokeTest.java b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSmokeTest.java new file mode 100644 index 000000000000..a202c86e0665 --- /dev/null +++ b/google-cloud-videointelligence/src/test/java/com/google/cloud/videointelligence/v1p1beta1/VideoIntelligenceServiceSmokeTest.java @@ -0,0 +1,60 @@ +/* + * Copyright 2018 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.cloud.videointelligence.v1p1beta1; + +import com.google.common.base.Preconditions; +import java.util.Arrays; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; + +@javax.annotation.Generated("by GAPIC") +public class VideoIntelligenceServiceSmokeTest { + private static final String PROJECT_ENV_NAME = "GOOGLE_CLOUD_PROJECT"; + private static final String LEGACY_PROJECT_ENV_NAME = "GCLOUD_PROJECT"; + + public static void main(String args[]) { + Logger.getLogger("").setLevel(Level.WARNING); + try { + executeNoCatch(); + System.out.println("OK"); + } catch (Exception e) { + System.err.println("Failed with exception:"); + e.printStackTrace(System.err); + System.exit(1); + } + } + + public static void executeNoCatch() throws Exception { + try (VideoIntelligenceServiceClient client = VideoIntelligenceServiceClient.create()) { + String inputUri = "gs://demomaker/cat.mp4"; + Feature featuresElement = Feature.LABEL_DETECTION; + List features = Arrays.asList(featuresElement); + + AnnotateVideoResponse response = client.annotateVideoAsync(inputUri, features).get(); + } + } + + private static String getProjectId() { + String projectId = System.getProperty(PROJECT_ENV_NAME, System.getenv(PROJECT_ENV_NAME)); + if (projectId == null) { + projectId = + System.getProperty(LEGACY_PROJECT_ENV_NAME, System.getenv(LEGACY_PROJECT_ENV_NAME)); + } + Preconditions.checkArgument(projectId != null, "A project ID is required."); + return projectId; + } +} diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/ImageAnnotatorSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/ImageAnnotatorSettings.java index cb0778b9ef83..40f8fd501a3a 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/ImageAnnotatorSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/ImageAnnotatorSettings.java @@ -50,7 +50,7 @@ * * ImageAnnotatorSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/ImageAnnotatorStubSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/ImageAnnotatorStubSettings.java index 514bff4839a1..56cb49c63867 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/ImageAnnotatorStubSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1/stub/ImageAnnotatorStubSettings.java @@ -61,7 +61,7 @@ * * ImageAnnotatorStubSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorStubSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorStubSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/ImageAnnotatorSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/ImageAnnotatorSettings.java index 4be1c226bbdf..cf57682cb3b1 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/ImageAnnotatorSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/ImageAnnotatorSettings.java @@ -50,7 +50,7 @@ * * ImageAnnotatorSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/ImageAnnotatorStubSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/ImageAnnotatorStubSettings.java index 1dc83f58cb15..2c8db1bd7476 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/ImageAnnotatorStubSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p1beta1/stub/ImageAnnotatorStubSettings.java @@ -61,7 +61,7 @@ * * ImageAnnotatorStubSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorStubSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorStubSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/ImageAnnotatorSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/ImageAnnotatorSettings.java index 475f6a56eb43..3e5b601c6147 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/ImageAnnotatorSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/ImageAnnotatorSettings.java @@ -52,7 +52,7 @@ * * ImageAnnotatorSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/ImageAnnotatorStubSettings.java b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/ImageAnnotatorStubSettings.java index aa47bb96c262..3fd3039e79b5 100644 --- a/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/ImageAnnotatorStubSettings.java +++ b/google-cloud-vision/src/main/java/com/google/cloud/vision/v1p2beta1/stub/ImageAnnotatorStubSettings.java @@ -69,7 +69,7 @@ * * ImageAnnotatorStubSettings.Builder imageAnnotatorSettingsBuilder = * ImageAnnotatorStubSettings.newBuilder(); - * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettingsBuilder() + * imageAnnotatorSettingsBuilder.batchAnnotateImagesSettings().getRetrySettings().toBuilder() * .setTotalTimeout(Duration.ofSeconds(30)); * ImageAnnotatorStubSettings imageAnnotatorSettings = imageAnnotatorSettingsBuilder.build(); * diff --git a/pom.xml b/pom.xml index 18c32244e697..bd3dd9257152 100644 --- a/pom.xml +++ b/pom.xml @@ -751,7 +751,7 @@ Stub packages - com.google.cloud.bigquerydatatransfer.v1.stub:com.google.cloud.container.v1.stub:com.google.cloud.dlp.v2beta1.stub:com.google.cloud.dialogflow.v2beta1.stub:com.google.cloud.errorreporting.v1beta1.stub:com.google.cloud.firestore.v1beta1.stub:com.google.cloud.language.v1beta2.stub:com.google.cloud.language.v1.stub:com.google.cloud.logging.v2.stub:com.google.cloud.monitoring.v3.stub:com.google.cloud.pubsub.v1.stub:com.google.cloud.speech.v1beta1.stub:com.google.cloud.speech.v1.stub:com.google.cloud.trace.v1.stub:com.google.cloud.trace.v2.stub:com.google.cloud.videointelligence.v1beta1.stub:com.google.cloud.videointelligence.v1beta2.stub:com.google.cloud.videointelligence.v1.stub:com.google.cloud.vision.v1.stub:com.google.cloud.vision.v1p1beta1.stub:com.google.cloud.vision.v1p2beta1.stub + com.google.cloud.bigquerydatatransfer.v1.stub:com.google.cloud.container.v1.stub:com.google.cloud.dlp.v2beta1.stub:com.google.cloud.dlp.v2.stub:com.google.cloud.dialogflow.v2beta1.stub:com.google.cloud.errorreporting.v1beta1.stub:com.google.cloud.firestore.v1beta1.stub:com.google.cloud.language.v1beta2.stub:com.google.cloud.language.v1.stub:com.google.cloud.logging.v2.stub:com.google.cloud.monitoring.v3.stub:com.google.cloud.pubsub.v1.stub:com.google.cloud.speech.v1beta1.stub:com.google.cloud.speech.v1.stub:com.google.cloud.trace.v1.stub:com.google.cloud.trace.v2.stub:com.google.cloud.videointelligence.v1beta1.stub:com.google.cloud.videointelligence.v1beta2.stub:com.google.cloud.videointelligence.v1.stub:com.google.cloud.videointelligence.v1p1beta1.stub:com.google.cloud.vision.v1.stub:com.google.cloud.vision.v1p1beta1.stub:com.google.cloud.vision.v1p2beta1.stub Deprecated packages