diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClient.java b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClient.java index fccd0f0a..eb6a3d40 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClient.java +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClient.java @@ -29,6 +29,8 @@ import com.google.api.gax.rpc.UnaryCallable; import com.google.cloud.devtools.cloudbuild.v1.stub.CloudBuildStub; import com.google.cloud.devtools.cloudbuild.v1.stub.CloudBuildStubSettings; +import com.google.cloudbuild.v1.ApprovalResult; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildOperationMetadata; import com.google.cloudbuild.v1.BuildTrigger; @@ -818,6 +820,121 @@ public final UnaryCallable retryBuildCallable() { return stub.retryBuildCallable(); } + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Approves or rejects a pending build. + * + *

If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. + * + *

If rejected, the returned LRO will be immediately done. + * + *

Sample code: + * + *

{@code
+   * try (CloudBuildClient cloudBuildClient = CloudBuildClient.create()) {
+   *   String name = "name3373707";
+   *   ApprovalResult approvalResult = ApprovalResult.newBuilder().build();
+   *   Build response = cloudBuildClient.approveBuildAsync(name, approvalResult).get();
+   * }
+   * }
+ * + * @param name Required. Name of the target build. For example: + * "projects/{$project_id}/builds/{$build_id}" + * @param approvalResult Approval decision and metadata. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final OperationFuture approveBuildAsync( + String name, ApprovalResult approvalResult) { + ApproveBuildRequest request = + ApproveBuildRequest.newBuilder().setName(name).setApprovalResult(approvalResult).build(); + return approveBuildAsync(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Approves or rejects a pending build. + * + *

If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. + * + *

If rejected, the returned LRO will be immediately done. + * + *

Sample code: + * + *

{@code
+   * try (CloudBuildClient cloudBuildClient = CloudBuildClient.create()) {
+   *   ApproveBuildRequest request =
+   *       ApproveBuildRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setApprovalResult(ApprovalResult.newBuilder().build())
+   *           .build();
+   *   Build response = cloudBuildClient.approveBuildAsync(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 approveBuildAsync( + ApproveBuildRequest request) { + return approveBuildOperationCallable().futureCall(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Approves or rejects a pending build. + * + *

If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. + * + *

If rejected, the returned LRO will be immediately done. + * + *

Sample code: + * + *

{@code
+   * try (CloudBuildClient cloudBuildClient = CloudBuildClient.create()) {
+   *   ApproveBuildRequest request =
+   *       ApproveBuildRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setApprovalResult(ApprovalResult.newBuilder().build())
+   *           .build();
+   *   OperationFuture future =
+   *       cloudBuildClient.approveBuildOperationCallable().futureCall(request);
+   *   // Do something.
+   *   Build response = future.get();
+   * }
+   * }
+ */ + public final OperationCallable + approveBuildOperationCallable() { + return stub.approveBuildOperationCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Approves or rejects a pending build. + * + *

If approved, the returned LRO will be analogous to the LRO returned from a CreateBuild call. + * + *

If rejected, the returned LRO will be immediately done. + * + *

Sample code: + * + *

{@code
+   * try (CloudBuildClient cloudBuildClient = CloudBuildClient.create()) {
+   *   ApproveBuildRequest request =
+   *       ApproveBuildRequest.newBuilder()
+   *           .setName("name3373707")
+   *           .setApprovalResult(ApprovalResult.newBuilder().build())
+   *           .build();
+   *   ApiFuture future = cloudBuildClient.approveBuildCallable().futureCall(request);
+   *   // Do something.
+   *   Operation response = future.get();
+   * }
+   * }
+ */ + public final UnaryCallable approveBuildCallable() { + return stub.approveBuildCallable(); + } + // AUTO-GENERATED DOCUMENTATION AND METHOD. /** * Creates a new `BuildTrigger`. diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildSettings.java b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildSettings.java index 2c5b00c3..e31935f5 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildSettings.java +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildSettings.java @@ -33,6 +33,7 @@ import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.cloud.devtools.cloudbuild.v1.stub.CloudBuildStubSettings; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildOperationMetadata; import com.google.cloudbuild.v1.BuildTrigger; @@ -139,6 +140,17 @@ public UnaryCallSettings retryBuildSettings() { return ((CloudBuildStubSettings) getStubSettings()).retryBuildOperationSettings(); } + /** Returns the object with the settings used for calls to approveBuild. */ + public UnaryCallSettings approveBuildSettings() { + return ((CloudBuildStubSettings) getStubSettings()).approveBuildSettings(); + } + + /** Returns the object with the settings used for calls to approveBuild. */ + public OperationCallSettings + approveBuildOperationSettings() { + return ((CloudBuildStubSettings) getStubSettings()).approveBuildOperationSettings(); + } + /** Returns the object with the settings used for calls to createBuildTrigger. */ public UnaryCallSettings createBuildTriggerSettings() { return ((CloudBuildStubSettings) getStubSettings()).createBuildTriggerSettings(); @@ -364,6 +376,17 @@ public UnaryCallSettings.Builder retryBuildSetting return getStubSettingsBuilder().retryBuildOperationSettings(); } + /** Returns the builder for the settings used for calls to approveBuild. */ + public UnaryCallSettings.Builder approveBuildSettings() { + return getStubSettingsBuilder().approveBuildSettings(); + } + + /** Returns the builder for the settings used for calls to approveBuild. */ + public OperationCallSettings.Builder + approveBuildOperationSettings() { + return getStubSettingsBuilder().approveBuildOperationSettings(); + } + /** Returns the builder for the settings used for calls to createBuildTrigger. */ public UnaryCallSettings.Builder createBuildTriggerSettings() { diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/gapic_metadata.json b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/gapic_metadata.json index dbc092de..1b680cf9 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/gapic_metadata.json +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/gapic_metadata.json @@ -10,6 +10,9 @@ "grpc": { "libraryClient": "CloudBuildClient", "rpcs": { + "ApproveBuild": { + "methods": ["approveBuildAsync", "approveBuildAsync", "approveBuildOperationCallable", "approveBuildCallable"] + }, "CancelBuild": { "methods": ["cancelBuild", "cancelBuild", "cancelBuildCallable"] }, diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStub.java b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStub.java index 6bb2b093..5cc6c142 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStub.java +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStub.java @@ -23,6 +23,7 @@ import com.google.api.gax.core.BackgroundResource; import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildOperationMetadata; import com.google.cloudbuild.v1.BuildTrigger; @@ -103,6 +104,15 @@ public UnaryCallable retryBuildCallable() { throw new UnsupportedOperationException("Not implemented: retryBuildCallable()"); } + public OperationCallable + approveBuildOperationCallable() { + throw new UnsupportedOperationException("Not implemented: approveBuildOperationCallable()"); + } + + public UnaryCallable approveBuildCallable() { + throw new UnsupportedOperationException("Not implemented: approveBuildCallable()"); + } + public UnaryCallable createBuildTriggerCallable() { throw new UnsupportedOperationException("Not implemented: createBuildTriggerCallable()"); } diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStubSettings.java b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStubSettings.java index 55f5e1ae..a6d06b4b 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStubSettings.java +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/CloudBuildStubSettings.java @@ -46,6 +46,7 @@ import com.google.api.gax.rpc.TransportChannelProvider; import com.google.api.gax.rpc.UnaryCallSettings; import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildOperationMetadata; import com.google.cloudbuild.v1.BuildTrigger; @@ -132,6 +133,9 @@ public class CloudBuildStubSettings extends StubSettings private final UnaryCallSettings retryBuildSettings; private final OperationCallSettings retryBuildOperationSettings; + private final UnaryCallSettings approveBuildSettings; + private final OperationCallSettings + approveBuildOperationSettings; private final UnaryCallSettings createBuildTriggerSettings; private final UnaryCallSettings getBuildTriggerSettings; @@ -371,6 +375,17 @@ public UnaryCallSettings retryBuildSettings() { return retryBuildOperationSettings; } + /** Returns the object with the settings used for calls to approveBuild. */ + public UnaryCallSettings approveBuildSettings() { + return approveBuildSettings; + } + + /** Returns the object with the settings used for calls to approveBuild. */ + public OperationCallSettings + approveBuildOperationSettings() { + return approveBuildOperationSettings; + } + /** Returns the object with the settings used for calls to createBuildTrigger. */ public UnaryCallSettings createBuildTriggerSettings() { return createBuildTriggerSettings; @@ -543,6 +558,8 @@ protected CloudBuildStubSettings(Builder settingsBuilder) throws IOException { cancelBuildSettings = settingsBuilder.cancelBuildSettings().build(); retryBuildSettings = settingsBuilder.retryBuildSettings().build(); retryBuildOperationSettings = settingsBuilder.retryBuildOperationSettings().build(); + approveBuildSettings = settingsBuilder.approveBuildSettings().build(); + approveBuildOperationSettings = settingsBuilder.approveBuildOperationSettings().build(); createBuildTriggerSettings = settingsBuilder.createBuildTriggerSettings().build(); getBuildTriggerSettings = settingsBuilder.getBuildTriggerSettings().build(); listBuildTriggersSettings = settingsBuilder.listBuildTriggersSettings().build(); @@ -575,6 +592,9 @@ public static class Builder extends StubSettings.Builder retryBuildSettings; private final OperationCallSettings.Builder retryBuildOperationSettings; + private final UnaryCallSettings.Builder approveBuildSettings; + private final OperationCallSettings.Builder + approveBuildOperationSettings; private final UnaryCallSettings.Builder createBuildTriggerSettings; private final UnaryCallSettings.Builder @@ -673,6 +693,8 @@ protected Builder(ClientContext clientContext) { cancelBuildSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); retryBuildSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); retryBuildOperationSettings = OperationCallSettings.newBuilder(); + approveBuildSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + approveBuildOperationSettings = OperationCallSettings.newBuilder(); createBuildTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); getBuildTriggerSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); listBuildTriggersSettings = PagedCallSettings.newBuilder(LIST_BUILD_TRIGGERS_PAGE_STR_FACT); @@ -697,6 +719,7 @@ protected Builder(ClientContext clientContext) { listBuildsSettings, cancelBuildSettings, retryBuildSettings, + approveBuildSettings, createBuildTriggerSettings, getBuildTriggerSettings, listBuildTriggersSettings, @@ -722,6 +745,8 @@ protected Builder(CloudBuildStubSettings settings) { cancelBuildSettings = settings.cancelBuildSettings.toBuilder(); retryBuildSettings = settings.retryBuildSettings.toBuilder(); retryBuildOperationSettings = settings.retryBuildOperationSettings.toBuilder(); + approveBuildSettings = settings.approveBuildSettings.toBuilder(); + approveBuildOperationSettings = settings.approveBuildOperationSettings.toBuilder(); createBuildTriggerSettings = settings.createBuildTriggerSettings.toBuilder(); getBuildTriggerSettings = settings.getBuildTriggerSettings.toBuilder(); listBuildTriggersSettings = settings.listBuildTriggersSettings.toBuilder(); @@ -746,6 +771,7 @@ protected Builder(CloudBuildStubSettings settings) { listBuildsSettings, cancelBuildSettings, retryBuildSettings, + approveBuildSettings, createBuildTriggerSettings, getBuildTriggerSettings, listBuildTriggersSettings, @@ -799,6 +825,11 @@ private static Builder initDefaults(Builder builder) { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_1_params")); + builder + .approveBuildSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + builder .createBuildTriggerSettings() .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_1_codes")) @@ -905,6 +936,30 @@ private static Builder initDefaults(Builder builder) { .setTotalTimeout(Duration.ofMillis(300000L)) .build())); + builder + .approveBuildOperationSettings() + .setInitialCallSettings( + UnaryCallSettings + .newUnaryCallSettingsBuilder() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")) + .build()) + .setResponseTransformer( + ProtoOperationTransformers.ResponseTransformer.create(Build.class)) + .setMetadataTransformer( + ProtoOperationTransformers.MetadataTransformer.create(BuildOperationMetadata.class)) + .setPollingAlgorithm( + OperationTimedPollAlgorithm.create( + RetrySettings.newBuilder() + .setInitialRetryDelay(Duration.ofMillis(5000L)) + .setRetryDelayMultiplier(1.5) + .setMaxRetryDelay(Duration.ofMillis(45000L)) + .setInitialRpcTimeout(Duration.ZERO) + .setRpcTimeoutMultiplier(1.0) + .setMaxRpcTimeout(Duration.ZERO) + .setTotalTimeout(Duration.ofMillis(300000L)) + .build())); + builder .runBuildTriggerOperationSettings() .setInitialCallSettings( @@ -1064,6 +1119,19 @@ public UnaryCallSettings.Builder retryBuildSetting return retryBuildOperationSettings; } + /** Returns the builder for the settings used for calls to approveBuild. */ + public UnaryCallSettings.Builder approveBuildSettings() { + return approveBuildSettings; + } + + /** Returns the builder for the settings used for calls to approveBuild. */ + @BetaApi( + "The surface for use by generated code is not stable yet and may change in the future.") + public OperationCallSettings.Builder + approveBuildOperationSettings() { + return approveBuildOperationSettings; + } + /** Returns the builder for the settings used for calls to createBuildTrigger. */ public UnaryCallSettings.Builder createBuildTriggerSettings() { diff --git a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/GrpcCloudBuildStub.java b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/GrpcCloudBuildStub.java index cec2cafd..0fc5b1b7 100644 --- a/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/GrpcCloudBuildStub.java +++ b/google-cloud-build/src/main/java/com/google/cloud/devtools/cloudbuild/v1/stub/GrpcCloudBuildStub.java @@ -27,6 +27,7 @@ import com.google.api.gax.rpc.ClientContext; import com.google.api.gax.rpc.OperationCallable; import com.google.api.gax.rpc.UnaryCallable; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildOperationMetadata; import com.google.cloudbuild.v1.BuildTrigger; @@ -114,6 +115,15 @@ public class GrpcCloudBuildStub extends CloudBuildStub { .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) .build(); + private static final MethodDescriptor + approveBuildMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.devtools.cloudbuild.v1.CloudBuild/ApproveBuild") + .setRequestMarshaller(ProtoUtils.marshaller(ApproveBuildRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Operation.getDefaultInstance())) + .build(); + private static final MethodDescriptor createBuildTriggerMethodDescriptor = MethodDescriptor.newBuilder() @@ -247,6 +257,9 @@ public class GrpcCloudBuildStub extends CloudBuildStub { private final UnaryCallable retryBuildCallable; private final OperationCallable retryBuildOperationCallable; + private final UnaryCallable approveBuildCallable; + private final OperationCallable + approveBuildOperationCallable; private final UnaryCallable createBuildTriggerCallable; private final UnaryCallable getBuildTriggerCallable; private final UnaryCallable @@ -377,6 +390,16 @@ protected GrpcCloudBuildStub( return params.build(); }) .build(); + GrpcCallSettings approveBuildTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(approveBuildMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("name", String.valueOf(request.getName())); + return params.build(); + }) + .build(); GrpcCallSettings createBuildTriggerTransportSettings = GrpcCallSettings.newBuilder() .setMethodDescriptor(createBuildTriggerMethodDescriptor) @@ -546,6 +569,15 @@ protected GrpcCloudBuildStub( settings.retryBuildOperationSettings(), clientContext, operationsStub); + this.approveBuildCallable = + callableFactory.createUnaryCallable( + approveBuildTransportSettings, settings.approveBuildSettings(), clientContext); + this.approveBuildOperationCallable = + callableFactory.createOperationCallable( + approveBuildTransportSettings, + settings.approveBuildOperationSettings(), + clientContext, + operationsStub); this.createBuildTriggerCallable = callableFactory.createUnaryCallable( createBuildTriggerTransportSettings, @@ -675,6 +707,17 @@ public UnaryCallable retryBuildCallable() { return retryBuildOperationCallable; } + @Override + public UnaryCallable approveBuildCallable() { + return approveBuildCallable; + } + + @Override + public OperationCallable + approveBuildOperationCallable() { + return approveBuildOperationCallable; + } + @Override public UnaryCallable createBuildTriggerCallable() { return createBuildTriggerCallable; diff --git a/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClientTest.java b/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClientTest.java index 599d1c03..85620812 100644 --- a/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClientTest.java +++ b/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/CloudBuildClientTest.java @@ -29,8 +29,11 @@ import com.google.api.gax.rpc.ApiClientHeaderProvider; import com.google.api.gax.rpc.InvalidArgumentException; import com.google.api.gax.rpc.StatusCode; +import com.google.cloudbuild.v1.ApprovalResult; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Artifacts; import com.google.cloudbuild.v1.Build; +import com.google.cloudbuild.v1.BuildApproval; import com.google.cloudbuild.v1.BuildName; import com.google.cloudbuild.v1.BuildOptions; import com.google.cloudbuild.v1.BuildStep; @@ -159,6 +162,7 @@ public void createBuildTest() throws Exception { .addAllTags(new ArrayList()) .addAllSecrets(new ArrayList()) .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) .setServiceAccount("serviceAccount1079137720") .setAvailableSecrets(Secrets.newBuilder().build()) .addAllWarnings(new ArrayList()) @@ -234,6 +238,7 @@ public void getBuildTest() throws Exception { .addAllTags(new ArrayList()) .addAllSecrets(new ArrayList()) .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) .setServiceAccount("serviceAccount1079137720") .setAvailableSecrets(Secrets.newBuilder().build()) .addAllWarnings(new ArrayList()) @@ -348,6 +353,7 @@ public void cancelBuildTest() throws Exception { .addAllTags(new ArrayList()) .addAllSecrets(new ArrayList()) .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) .setServiceAccount("serviceAccount1079137720") .setAvailableSecrets(Secrets.newBuilder().build()) .addAllWarnings(new ArrayList()) @@ -415,6 +421,7 @@ public void retryBuildTest() throws Exception { .addAllTags(new ArrayList()) .addAllSecrets(new ArrayList()) .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) .setServiceAccount("serviceAccount1079137720") .setAvailableSecrets(Secrets.newBuilder().build()) .addAllWarnings(new ArrayList()) @@ -463,6 +470,82 @@ public void retryBuildExceptionTest() throws Exception { } } + @Test + public void approveBuildTest() throws Exception { + Build expectedResponse = + Build.newBuilder() + .setName(BuildName.ofProjectBuildName("[PROJECT]", "[BUILD]").toString()) + .setId("id3355") + .setProjectId("projectId-894832108") + .setStatusDetail("statusDetail1651087075") + .setSource(Source.newBuilder().build()) + .addAllSteps(new ArrayList()) + .setResults(Results.newBuilder().build()) + .setCreateTime(Timestamp.newBuilder().build()) + .setStartTime(Timestamp.newBuilder().build()) + .setFinishTime(Timestamp.newBuilder().build()) + .setTimeout(Duration.newBuilder().build()) + .addAllImages(new ArrayList()) + .setQueueTtl(Duration.newBuilder().build()) + .setArtifacts(Artifacts.newBuilder().build()) + .setLogsBucket("logsBucket1592573049") + .setSourceProvenance(SourceProvenance.newBuilder().build()) + .setBuildTriggerId("buildTriggerId781747749") + .setOptions(BuildOptions.newBuilder().build()) + .setLogUrl("logUrl-1097354357") + .putAllSubstitutions(new HashMap()) + .addAllTags(new ArrayList()) + .addAllSecrets(new ArrayList()) + .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) + .setServiceAccount("serviceAccount1079137720") + .setAvailableSecrets(Secrets.newBuilder().build()) + .addAllWarnings(new ArrayList()) + .setFailureInfo(Build.FailureInfo.newBuilder().build()) + .build(); + Operation resultOperation = + Operation.newBuilder() + .setName("approveBuildTest") + .setDone(true) + .setResponse(Any.pack(expectedResponse)) + .build(); + mockCloudBuild.addResponse(resultOperation); + + String name = "name3373707"; + ApprovalResult approvalResult = ApprovalResult.newBuilder().build(); + + Build actualResponse = client.approveBuildAsync(name, approvalResult).get(); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockCloudBuild.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ApproveBuildRequest actualRequest = ((ApproveBuildRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertEquals(approvalResult, actualRequest.getApprovalResult()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void approveBuildExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockCloudBuild.addException(exception); + + try { + String name = "name3373707"; + ApprovalResult approvalResult = ApprovalResult.newBuilder().build(); + client.approveBuildAsync(name, approvalResult).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()); + } + } + @Test public void createBuildTriggerTest() throws Exception { BuildTrigger expectedResponse = @@ -739,6 +822,7 @@ public void runBuildTriggerTest() throws Exception { .addAllTags(new ArrayList()) .addAllSecrets(new ArrayList()) .putAllTiming(new HashMap()) + .setApproval(BuildApproval.newBuilder().build()) .setServiceAccount("serviceAccount1079137720") .setAvailableSecrets(Secrets.newBuilder().build()) .addAllWarnings(new ArrayList()) diff --git a/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/MockCloudBuildImpl.java b/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/MockCloudBuildImpl.java index 33e80c9d..dba9df38 100644 --- a/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/MockCloudBuildImpl.java +++ b/google-cloud-build/src/test/java/com/google/cloud/devtools/cloudbuild/v1/MockCloudBuildImpl.java @@ -17,6 +17,7 @@ package com.google.cloud.devtools.cloudbuild.v1; import com.google.api.core.BetaApi; +import com.google.cloudbuild.v1.ApproveBuildRequest; import com.google.cloudbuild.v1.Build; import com.google.cloudbuild.v1.BuildTrigger; import com.google.cloudbuild.v1.CancelBuildRequest; @@ -185,6 +186,27 @@ public void retryBuild(RetryBuildRequest request, StreamObserver resp } } + @Override + public void approveBuild( + ApproveBuildRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + 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( + String.format( + "Unrecognized response type %s for method ApproveBuild, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Operation.class.getName(), + Exception.class.getName()))); + } + } + @Override public void createBuildTrigger( CreateBuildTriggerRequest request, StreamObserver responseObserver) { diff --git a/grpc-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/CloudBuildGrpc.java b/grpc-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/CloudBuildGrpc.java index 44886d49..aee75c9c 100644 --- a/grpc-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/CloudBuildGrpc.java +++ b/grpc-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/CloudBuildGrpc.java @@ -242,6 +242,47 @@ private CloudBuildGrpc() {} return getRetryBuildMethod; } + private static volatile io.grpc.MethodDescriptor< + com.google.cloudbuild.v1.ApproveBuildRequest, com.google.longrunning.Operation> + getApproveBuildMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ApproveBuild", + requestType = com.google.cloudbuild.v1.ApproveBuildRequest.class, + responseType = com.google.longrunning.Operation.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloudbuild.v1.ApproveBuildRequest, com.google.longrunning.Operation> + getApproveBuildMethod() { + io.grpc.MethodDescriptor< + com.google.cloudbuild.v1.ApproveBuildRequest, com.google.longrunning.Operation> + getApproveBuildMethod; + if ((getApproveBuildMethod = CloudBuildGrpc.getApproveBuildMethod) == null) { + synchronized (CloudBuildGrpc.class) { + if ((getApproveBuildMethod = CloudBuildGrpc.getApproveBuildMethod) == null) { + CloudBuildGrpc.getApproveBuildMethod = + getApproveBuildMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ApproveBuild")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloudbuild.v1.ApproveBuildRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.longrunning.Operation.getDefaultInstance())) + .setSchemaDescriptor(new CloudBuildMethodDescriptorSupplier("ApproveBuild")) + .build(); + } + } + } + return getApproveBuildMethod; + } + private static volatile io.grpc.MethodDescriptor< com.google.cloudbuild.v1.CreateBuildTriggerRequest, com.google.cloudbuild.v1.BuildTrigger> getCreateBuildTriggerMethod; @@ -916,6 +957,23 @@ public void retryBuild( io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRetryBuildMethod(), responseObserver); } + /** + * + * + *
+     * Approves or rejects a pending build.
+     * If approved, the returned LRO will be analogous to the LRO returned from
+     * a CreateBuild call.
+     * If rejected, the returned LRO will be immediately done.
+     * 
+ */ + public void approveBuild( + com.google.cloudbuild.v1.ApproveBuildRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getApproveBuildMethod(), responseObserver); + } + /** * * @@ -1126,6 +1184,12 @@ public final io.grpc.ServerServiceDefinition bindService() { new MethodHandlers< com.google.cloudbuild.v1.RetryBuildRequest, com.google.longrunning.Operation>( this, METHODID_RETRY_BUILD))) + .addMethod( + getApproveBuildMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloudbuild.v1.ApproveBuildRequest, + com.google.longrunning.Operation>(this, METHODID_APPROVE_BUILD))) .addMethod( getCreateBuildTriggerMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall( @@ -1327,6 +1391,25 @@ public void retryBuild( getChannel().newCall(getRetryBuildMethod(), getCallOptions()), request, responseObserver); } + /** + * + * + *
+     * Approves or rejects a pending build.
+     * If approved, the returned LRO will be analogous to the LRO returned from
+     * a CreateBuild call.
+     * If rejected, the returned LRO will be immediately done.
+     * 
+ */ + public void approveBuild( + com.google.cloudbuild.v1.ApproveBuildRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getApproveBuildMethod(), getCallOptions()), + request, + responseObserver); + } + /** * * @@ -1644,6 +1727,22 @@ public com.google.longrunning.Operation retryBuild( getChannel(), getRetryBuildMethod(), getCallOptions(), request); } + /** + * + * + *
+     * Approves or rejects a pending build.
+     * If approved, the returned LRO will be analogous to the LRO returned from
+     * a CreateBuild call.
+     * If rejected, the returned LRO will be immediately done.
+     * 
+ */ + public com.google.longrunning.Operation approveBuild( + com.google.cloudbuild.v1.ApproveBuildRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getApproveBuildMethod(), getCallOptions(), request); + } + /** * * @@ -1922,6 +2021,22 @@ protected CloudBuildFutureStub build(io.grpc.Channel channel, io.grpc.CallOption getChannel().newCall(getRetryBuildMethod(), getCallOptions()), request); } + /** + * + * + *
+     * Approves or rejects a pending build.
+     * If approved, the returned LRO will be analogous to the LRO returned from
+     * a CreateBuild call.
+     * If rejected, the returned LRO will be immediately done.
+     * 
+ */ + public com.google.common.util.concurrent.ListenableFuture + approveBuild(com.google.cloudbuild.v1.ApproveBuildRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getApproveBuildMethod(), getCallOptions()), request); + } + /** * * @@ -2093,18 +2208,19 @@ protected CloudBuildFutureStub build(io.grpc.Channel channel, io.grpc.CallOption private static final int METHODID_LIST_BUILDS = 2; private static final int METHODID_CANCEL_BUILD = 3; private static final int METHODID_RETRY_BUILD = 4; - private static final int METHODID_CREATE_BUILD_TRIGGER = 5; - private static final int METHODID_GET_BUILD_TRIGGER = 6; - private static final int METHODID_LIST_BUILD_TRIGGERS = 7; - private static final int METHODID_DELETE_BUILD_TRIGGER = 8; - private static final int METHODID_UPDATE_BUILD_TRIGGER = 9; - private static final int METHODID_RUN_BUILD_TRIGGER = 10; - private static final int METHODID_RECEIVE_TRIGGER_WEBHOOK = 11; - private static final int METHODID_CREATE_WORKER_POOL = 12; - private static final int METHODID_GET_WORKER_POOL = 13; - private static final int METHODID_DELETE_WORKER_POOL = 14; - private static final int METHODID_UPDATE_WORKER_POOL = 15; - private static final int METHODID_LIST_WORKER_POOLS = 16; + private static final int METHODID_APPROVE_BUILD = 5; + private static final int METHODID_CREATE_BUILD_TRIGGER = 6; + private static final int METHODID_GET_BUILD_TRIGGER = 7; + private static final int METHODID_LIST_BUILD_TRIGGERS = 8; + private static final int METHODID_DELETE_BUILD_TRIGGER = 9; + private static final int METHODID_UPDATE_BUILD_TRIGGER = 10; + private static final int METHODID_RUN_BUILD_TRIGGER = 11; + private static final int METHODID_RECEIVE_TRIGGER_WEBHOOK = 12; + private static final int METHODID_CREATE_WORKER_POOL = 13; + private static final int METHODID_GET_WORKER_POOL = 14; + private static final int METHODID_DELETE_WORKER_POOL = 15; + private static final int METHODID_UPDATE_WORKER_POOL = 16; + private static final int METHODID_LIST_WORKER_POOLS = 17; private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -2149,6 +2265,11 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv (com.google.cloudbuild.v1.RetryBuildRequest) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_APPROVE_BUILD: + serviceImpl.approveBuild( + (com.google.cloudbuild.v1.ApproveBuildRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; case METHODID_CREATE_BUILD_TRIGGER: serviceImpl.createBuildTrigger( (com.google.cloudbuild.v1.CreateBuildTriggerRequest) request, @@ -2284,6 +2405,7 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getListBuildsMethod()) .addMethod(getCancelBuildMethod()) .addMethod(getRetryBuildMethod()) + .addMethod(getApproveBuildMethod()) .addMethod(getCreateBuildTriggerMethod()) .addMethod(getGetBuildTriggerMethod()) .addMethod(getListBuildTriggersMethod()) diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfig.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfig.java new file mode 100644 index 00000000..827b009b --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfig.java @@ -0,0 +1,551 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +/** + * + * + *
+ * ApprovalConfig describes configuration for manual approval of a build.
+ * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApprovalConfig} + */ +public final class ApprovalConfig extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.devtools.cloudbuild.v1.ApprovalConfig) + ApprovalConfigOrBuilder { + private static final long serialVersionUID = 0L; + // Use ApprovalConfig.newBuilder() to construct. + private ApprovalConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ApprovalConfig() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ApprovalConfig(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ApprovalConfig( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + approvalRequired_ = input.readBool(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApprovalConfig.class, + com.google.cloudbuild.v1.ApprovalConfig.Builder.class); + } + + public static final int APPROVAL_REQUIRED_FIELD_NUMBER = 1; + private boolean approvalRequired_; + /** + * + * + *
+   * Whether or not approval is needed. If this is set on a build, it will
+   * become pending when created, and will need to be explicitly approved
+   * to start.
+   * 
+ * + * bool approval_required = 1; + * + * @return The approvalRequired. + */ + @java.lang.Override + public boolean getApprovalRequired() { + return approvalRequired_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (approvalRequired_ != false) { + output.writeBool(1, approvalRequired_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (approvalRequired_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, approvalRequired_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloudbuild.v1.ApprovalConfig)) { + return super.equals(obj); + } + com.google.cloudbuild.v1.ApprovalConfig other = (com.google.cloudbuild.v1.ApprovalConfig) obj; + + if (getApprovalRequired() != other.getApprovalRequired()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + APPROVAL_REQUIRED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getApprovalRequired()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalConfig parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloudbuild.v1.ApprovalConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * ApprovalConfig describes configuration for manual approval of a build.
+   * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApprovalConfig} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.devtools.cloudbuild.v1.ApprovalConfig) + com.google.cloudbuild.v1.ApprovalConfigOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApprovalConfig.class, + com.google.cloudbuild.v1.ApprovalConfig.Builder.class); + } + + // Construct using com.google.cloudbuild.v1.ApprovalConfig.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + approvalRequired_ = false; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfig getDefaultInstanceForType() { + return com.google.cloudbuild.v1.ApprovalConfig.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfig build() { + com.google.cloudbuild.v1.ApprovalConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfig buildPartial() { + com.google.cloudbuild.v1.ApprovalConfig result = + new com.google.cloudbuild.v1.ApprovalConfig(this); + result.approvalRequired_ = approvalRequired_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloudbuild.v1.ApprovalConfig) { + return mergeFrom((com.google.cloudbuild.v1.ApprovalConfig) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloudbuild.v1.ApprovalConfig other) { + if (other == com.google.cloudbuild.v1.ApprovalConfig.getDefaultInstance()) return this; + if (other.getApprovalRequired() != false) { + setApprovalRequired(other.getApprovalRequired()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloudbuild.v1.ApprovalConfig parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloudbuild.v1.ApprovalConfig) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private boolean approvalRequired_; + /** + * + * + *
+     * Whether or not approval is needed. If this is set on a build, it will
+     * become pending when created, and will need to be explicitly approved
+     * to start.
+     * 
+ * + * bool approval_required = 1; + * + * @return The approvalRequired. + */ + @java.lang.Override + public boolean getApprovalRequired() { + return approvalRequired_; + } + /** + * + * + *
+     * Whether or not approval is needed. If this is set on a build, it will
+     * become pending when created, and will need to be explicitly approved
+     * to start.
+     * 
+ * + * bool approval_required = 1; + * + * @param value The approvalRequired to set. + * @return This builder for chaining. + */ + public Builder setApprovalRequired(boolean value) { + + approvalRequired_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Whether or not approval is needed. If this is set on a build, it will
+     * become pending when created, and will need to be explicitly approved
+     * to start.
+     * 
+ * + * bool approval_required = 1; + * + * @return This builder for chaining. + */ + public Builder clearApprovalRequired() { + + approvalRequired_ = false; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.devtools.cloudbuild.v1.ApprovalConfig) + } + + // @@protoc_insertion_point(class_scope:google.devtools.cloudbuild.v1.ApprovalConfig) + private static final com.google.cloudbuild.v1.ApprovalConfig DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloudbuild.v1.ApprovalConfig(); + } + + public static com.google.cloudbuild.v1.ApprovalConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ApprovalConfig parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ApprovalConfig(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfigOrBuilder.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfigOrBuilder.java new file mode 100644 index 00000000..583fddf3 --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalConfigOrBuilder.java @@ -0,0 +1,40 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +public interface ApprovalConfigOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.devtools.cloudbuild.v1.ApprovalConfig) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Whether or not approval is needed. If this is set on a build, it will
+   * become pending when created, and will need to be explicitly approved
+   * to start.
+   * 
+ * + * bool approval_required = 1; + * + * @return The approvalRequired. + */ + boolean getApprovalRequired(); +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResult.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResult.java new file mode 100644 index 00000000..14941bca --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResult.java @@ -0,0 +1,1647 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +/** + * + * + *
+ * ApprovalResult describes the decision and associated metadata of a manual
+ * approval of a build.
+ * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApprovalResult} + */ +public final class ApprovalResult extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.devtools.cloudbuild.v1.ApprovalResult) + ApprovalResultOrBuilder { + private static final long serialVersionUID = 0L; + // Use ApprovalResult.newBuilder() to construct. + private ApprovalResult(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ApprovalResult() { + approverAccount_ = ""; + decision_ = 0; + comment_ = ""; + url_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ApprovalResult(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ApprovalResult( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + approverAccount_ = s; + break; + } + case 26: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (approvalTime_ != null) { + subBuilder = approvalTime_.toBuilder(); + } + approvalTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(approvalTime_); + approvalTime_ = subBuilder.buildPartial(); + } + + break; + } + case 32: + { + int rawValue = input.readEnum(); + + decision_ = rawValue; + break; + } + case 42: + { + java.lang.String s = input.readStringRequireUtf8(); + + comment_ = s; + break; + } + case 50: + { + java.lang.String s = input.readStringRequireUtf8(); + + url_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalResult_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApprovalResult.class, + com.google.cloudbuild.v1.ApprovalResult.Builder.class); + } + + /** + * + * + *
+   * Specifies whether or not this manual approval result is to approve
+   * or reject a build.
+   * 
+ * + * Protobuf enum {@code google.devtools.cloudbuild.v1.ApprovalResult.Decision} + */ + public enum Decision implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Default enum type. This should not be used.
+     * 
+ * + * DECISION_UNSPECIFIED = 0; + */ + DECISION_UNSPECIFIED(0), + /** + * + * + *
+     * Build is approved.
+     * 
+ * + * APPROVED = 1; + */ + APPROVED(1), + /** + * + * + *
+     * Build is rejected.
+     * 
+ * + * REJECTED = 2; + */ + REJECTED(2), + UNRECOGNIZED(-1), + ; + + /** + * + * + *
+     * Default enum type. This should not be used.
+     * 
+ * + * DECISION_UNSPECIFIED = 0; + */ + public static final int DECISION_UNSPECIFIED_VALUE = 0; + /** + * + * + *
+     * Build is approved.
+     * 
+ * + * APPROVED = 1; + */ + public static final int APPROVED_VALUE = 1; + /** + * + * + *
+     * Build is rejected.
+     * 
+ * + * REJECTED = 2; + */ + public static final int REJECTED_VALUE = 2; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static Decision valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static Decision forNumber(int value) { + switch (value) { + case 0: + return DECISION_UNSPECIFIED; + case 1: + return APPROVED; + case 2: + return REJECTED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public Decision findValueByNumber(int number) { + return Decision.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloudbuild.v1.ApprovalResult.getDescriptor().getEnumTypes().get(0); + } + + private static final Decision[] VALUES = values(); + + public static Decision valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private Decision(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.devtools.cloudbuild.v1.ApprovalResult.Decision) + } + + public static final int APPROVER_ACCOUNT_FIELD_NUMBER = 2; + private volatile java.lang.Object approverAccount_; + /** + * + * + *
+   * Output only. Email of the user that called the ApproveBuild API to
+   * approve or reject a build at the time that the API was called.
+   * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The approverAccount. + */ + @java.lang.Override + public java.lang.String getApproverAccount() { + java.lang.Object ref = approverAccount_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + approverAccount_ = s; + return s; + } + } + /** + * + * + *
+   * Output only. Email of the user that called the ApproveBuild API to
+   * approve or reject a build at the time that the API was called.
+   * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for approverAccount. + */ + @java.lang.Override + public com.google.protobuf.ByteString getApproverAccountBytes() { + java.lang.Object ref = approverAccount_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + approverAccount_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int APPROVAL_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp approvalTime_; + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approvalTime field is set. + */ + @java.lang.Override + public boolean hasApprovalTime() { + return approvalTime_ != null; + } + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approvalTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getApprovalTime() { + return approvalTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : approvalTime_; + } + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getApprovalTimeOrBuilder() { + return getApprovalTime(); + } + + public static final int DECISION_FIELD_NUMBER = 4; + private int decision_; + /** + * + * + *
+   * Required. The decision of this manual approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for decision. + */ + @java.lang.Override + public int getDecisionValue() { + return decision_; + } + /** + * + * + *
+   * Required. The decision of this manual approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The decision. + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult.Decision getDecision() { + @SuppressWarnings("deprecation") + com.google.cloudbuild.v1.ApprovalResult.Decision result = + com.google.cloudbuild.v1.ApprovalResult.Decision.valueOf(decision_); + return result == null ? com.google.cloudbuild.v1.ApprovalResult.Decision.UNRECOGNIZED : result; + } + + public static final int COMMENT_FIELD_NUMBER = 5; + private volatile java.lang.Object comment_; + /** + * + * + *
+   * Optional. An optional comment for this manual approval result.
+   * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The comment. + */ + @java.lang.Override + public java.lang.String getComment() { + java.lang.Object ref = comment_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + comment_ = s; + return s; + } + } + /** + * + * + *
+   * Optional. An optional comment for this manual approval result.
+   * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for comment. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCommentBytes() { + java.lang.Object ref = comment_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + comment_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int URL_FIELD_NUMBER = 6; + private volatile java.lang.Object url_; + /** + * + * + *
+   * Optional. An optional URL tied to this manual approval result. This field
+   * is essentially the same as comment, except that it will be rendered by the
+   * UI differently. An example use case is a link to an external job that
+   * approved this Build.
+   * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The url. + */ + @java.lang.Override + public java.lang.String getUrl() { + java.lang.Object ref = url_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + url_ = s; + return s; + } + } + /** + * + * + *
+   * Optional. An optional URL tied to this manual approval result. This field
+   * is essentially the same as comment, except that it will be rendered by the
+   * UI differently. An example use case is a link to an external job that
+   * approved this Build.
+   * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for url. + */ + @java.lang.Override + public com.google.protobuf.ByteString getUrlBytes() { + java.lang.Object ref = url_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + url_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!getApproverAccountBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, approverAccount_); + } + if (approvalTime_ != null) { + output.writeMessage(3, getApprovalTime()); + } + if (decision_ + != com.google.cloudbuild.v1.ApprovalResult.Decision.DECISION_UNSPECIFIED.getNumber()) { + output.writeEnum(4, decision_); + } + if (!getCommentBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, comment_); + } + if (!getUrlBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, url_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getApproverAccountBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, approverAccount_); + } + if (approvalTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getApprovalTime()); + } + if (decision_ + != com.google.cloudbuild.v1.ApprovalResult.Decision.DECISION_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(4, decision_); + } + if (!getCommentBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, comment_); + } + if (!getUrlBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, url_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloudbuild.v1.ApprovalResult)) { + return super.equals(obj); + } + com.google.cloudbuild.v1.ApprovalResult other = (com.google.cloudbuild.v1.ApprovalResult) obj; + + if (!getApproverAccount().equals(other.getApproverAccount())) return false; + if (hasApprovalTime() != other.hasApprovalTime()) return false; + if (hasApprovalTime()) { + if (!getApprovalTime().equals(other.getApprovalTime())) return false; + } + if (decision_ != other.decision_) return false; + if (!getComment().equals(other.getComment())) return false; + if (!getUrl().equals(other.getUrl())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + APPROVER_ACCOUNT_FIELD_NUMBER; + hash = (53 * hash) + getApproverAccount().hashCode(); + if (hasApprovalTime()) { + hash = (37 * hash) + APPROVAL_TIME_FIELD_NUMBER; + hash = (53 * hash) + getApprovalTime().hashCode(); + } + hash = (37 * hash) + DECISION_FIELD_NUMBER; + hash = (53 * hash) + decision_; + hash = (37 * hash) + COMMENT_FIELD_NUMBER; + hash = (53 * hash) + getComment().hashCode(); + hash = (37 * hash) + URL_FIELD_NUMBER; + hash = (53 * hash) + getUrl().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApprovalResult parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloudbuild.v1.ApprovalResult prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * ApprovalResult describes the decision and associated metadata of a manual
+   * approval of a build.
+   * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApprovalResult} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.devtools.cloudbuild.v1.ApprovalResult) + com.google.cloudbuild.v1.ApprovalResultOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalResult_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApprovalResult.class, + com.google.cloudbuild.v1.ApprovalResult.Builder.class); + } + + // Construct using com.google.cloudbuild.v1.ApprovalResult.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + approverAccount_ = ""; + + if (approvalTimeBuilder_ == null) { + approvalTime_ = null; + } else { + approvalTime_ = null; + approvalTimeBuilder_ = null; + } + decision_ = 0; + + comment_ = ""; + + url_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult getDefaultInstanceForType() { + return com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult build() { + com.google.cloudbuild.v1.ApprovalResult result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult buildPartial() { + com.google.cloudbuild.v1.ApprovalResult result = + new com.google.cloudbuild.v1.ApprovalResult(this); + result.approverAccount_ = approverAccount_; + if (approvalTimeBuilder_ == null) { + result.approvalTime_ = approvalTime_; + } else { + result.approvalTime_ = approvalTimeBuilder_.build(); + } + result.decision_ = decision_; + result.comment_ = comment_; + result.url_ = url_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloudbuild.v1.ApprovalResult) { + return mergeFrom((com.google.cloudbuild.v1.ApprovalResult) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloudbuild.v1.ApprovalResult other) { + if (other == com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance()) return this; + if (!other.getApproverAccount().isEmpty()) { + approverAccount_ = other.approverAccount_; + onChanged(); + } + if (other.hasApprovalTime()) { + mergeApprovalTime(other.getApprovalTime()); + } + if (other.decision_ != 0) { + setDecisionValue(other.getDecisionValue()); + } + if (!other.getComment().isEmpty()) { + comment_ = other.comment_; + onChanged(); + } + if (!other.getUrl().isEmpty()) { + url_ = other.url_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloudbuild.v1.ApprovalResult parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloudbuild.v1.ApprovalResult) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object approverAccount_ = ""; + /** + * + * + *
+     * Output only. Email of the user that called the ApproveBuild API to
+     * approve or reject a build at the time that the API was called.
+     * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The approverAccount. + */ + public java.lang.String getApproverAccount() { + java.lang.Object ref = approverAccount_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + approverAccount_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Output only. Email of the user that called the ApproveBuild API to
+     * approve or reject a build at the time that the API was called.
+     * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for approverAccount. + */ + public com.google.protobuf.ByteString getApproverAccountBytes() { + java.lang.Object ref = approverAccount_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + approverAccount_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Output only. Email of the user that called the ApproveBuild API to
+     * approve or reject a build at the time that the API was called.
+     * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The approverAccount to set. + * @return This builder for chaining. + */ + public Builder setApproverAccount(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + approverAccount_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Email of the user that called the ApproveBuild API to
+     * approve or reject a build at the time that the API was called.
+     * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearApproverAccount() { + + approverAccount_ = getDefaultInstance().getApproverAccount(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Email of the user that called the ApproveBuild API to
+     * approve or reject a build at the time that the API was called.
+     * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for approverAccount to set. + * @return This builder for chaining. + */ + public Builder setApproverAccountBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + approverAccount_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp approvalTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + approvalTimeBuilder_; + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approvalTime field is set. + */ + public boolean hasApprovalTime() { + return approvalTimeBuilder_ != null || approvalTime_ != null; + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approvalTime. + */ + public com.google.protobuf.Timestamp getApprovalTime() { + if (approvalTimeBuilder_ == null) { + return approvalTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : approvalTime_; + } else { + return approvalTimeBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setApprovalTime(com.google.protobuf.Timestamp value) { + if (approvalTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + approvalTime_ = value; + onChanged(); + } else { + approvalTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setApprovalTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (approvalTimeBuilder_ == null) { + approvalTime_ = builderForValue.build(); + onChanged(); + } else { + approvalTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeApprovalTime(com.google.protobuf.Timestamp value) { + if (approvalTimeBuilder_ == null) { + if (approvalTime_ != null) { + approvalTime_ = + com.google.protobuf.Timestamp.newBuilder(approvalTime_) + .mergeFrom(value) + .buildPartial(); + } else { + approvalTime_ = value; + } + onChanged(); + } else { + approvalTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearApprovalTime() { + if (approvalTimeBuilder_ == null) { + approvalTime_ = null; + onChanged(); + } else { + approvalTime_ = null; + approvalTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getApprovalTimeBuilder() { + + onChanged(); + return getApprovalTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getApprovalTimeOrBuilder() { + if (approvalTimeBuilder_ != null) { + return approvalTimeBuilder_.getMessageOrBuilder(); + } else { + return approvalTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : approvalTime_; + } + } + /** + * + * + *
+     * Output only. The time when the approval decision was made.
+     * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getApprovalTimeFieldBuilder() { + if (approvalTimeBuilder_ == null) { + approvalTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getApprovalTime(), getParentForChildren(), isClean()); + approvalTime_ = null; + } + return approvalTimeBuilder_; + } + + private int decision_ = 0; + /** + * + * + *
+     * Required. The decision of this manual approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for decision. + */ + @java.lang.Override + public int getDecisionValue() { + return decision_; + } + /** + * + * + *
+     * Required. The decision of this manual approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The enum numeric value on the wire for decision to set. + * @return This builder for chaining. + */ + public Builder setDecisionValue(int value) { + + decision_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The decision of this manual approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The decision. + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult.Decision getDecision() { + @SuppressWarnings("deprecation") + com.google.cloudbuild.v1.ApprovalResult.Decision result = + com.google.cloudbuild.v1.ApprovalResult.Decision.valueOf(decision_); + return result == null + ? com.google.cloudbuild.v1.ApprovalResult.Decision.UNRECOGNIZED + : result; + } + /** + * + * + *
+     * Required. The decision of this manual approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @param value The decision to set. + * @return This builder for chaining. + */ + public Builder setDecision(com.google.cloudbuild.v1.ApprovalResult.Decision value) { + if (value == null) { + throw new NullPointerException(); + } + + decision_ = value.getNumber(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. The decision of this manual approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return This builder for chaining. + */ + public Builder clearDecision() { + + decision_ = 0; + onChanged(); + return this; + } + + private java.lang.Object comment_ = ""; + /** + * + * + *
+     * Optional. An optional comment for this manual approval result.
+     * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The comment. + */ + public java.lang.String getComment() { + java.lang.Object ref = comment_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + comment_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Optional. An optional comment for this manual approval result.
+     * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for comment. + */ + public com.google.protobuf.ByteString getCommentBytes() { + java.lang.Object ref = comment_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + comment_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Optional. An optional comment for this manual approval result.
+     * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The comment to set. + * @return This builder for chaining. + */ + public Builder setComment(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + comment_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. An optional comment for this manual approval result.
+     * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearComment() { + + comment_ = getDefaultInstance().getComment(); + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. An optional comment for this manual approval result.
+     * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for comment to set. + * @return This builder for chaining. + */ + public Builder setCommentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + comment_ = value; + onChanged(); + return this; + } + + private java.lang.Object url_ = ""; + /** + * + * + *
+     * Optional. An optional URL tied to this manual approval result. This field
+     * is essentially the same as comment, except that it will be rendered by the
+     * UI differently. An example use case is a link to an external job that
+     * approved this Build.
+     * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The url. + */ + public java.lang.String getUrl() { + java.lang.Object ref = url_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + url_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Optional. An optional URL tied to this manual approval result. This field
+     * is essentially the same as comment, except that it will be rendered by the
+     * UI differently. An example use case is a link to an external job that
+     * approved this Build.
+     * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for url. + */ + public com.google.protobuf.ByteString getUrlBytes() { + java.lang.Object ref = url_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + url_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Optional. An optional URL tied to this manual approval result. This field
+     * is essentially the same as comment, except that it will be rendered by the
+     * UI differently. An example use case is a link to an external job that
+     * approved this Build.
+     * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The url to set. + * @return This builder for chaining. + */ + public Builder setUrl(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + url_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. An optional URL tied to this manual approval result. This field
+     * is essentially the same as comment, except that it will be rendered by the
+     * UI differently. An example use case is a link to an external job that
+     * approved this Build.
+     * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearUrl() { + + url_ = getDefaultInstance().getUrl(); + onChanged(); + return this; + } + /** + * + * + *
+     * Optional. An optional URL tied to this manual approval result. This field
+     * is essentially the same as comment, except that it will be rendered by the
+     * UI differently. An example use case is a link to an external job that
+     * approved this Build.
+     * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for url to set. + * @return This builder for chaining. + */ + public Builder setUrlBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + url_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.devtools.cloudbuild.v1.ApprovalResult) + } + + // @@protoc_insertion_point(class_scope:google.devtools.cloudbuild.v1.ApprovalResult) + private static final com.google.cloudbuild.v1.ApprovalResult DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloudbuild.v1.ApprovalResult(); + } + + public static com.google.cloudbuild.v1.ApprovalResult getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ApprovalResult parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ApprovalResult(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResultOrBuilder.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResultOrBuilder.java new file mode 100644 index 00000000..0a936d8a --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApprovalResultOrBuilder.java @@ -0,0 +1,178 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +public interface ApprovalResultOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.devtools.cloudbuild.v1.ApprovalResult) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. Email of the user that called the ApproveBuild API to
+   * approve or reject a build at the time that the API was called.
+   * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The approverAccount. + */ + java.lang.String getApproverAccount(); + /** + * + * + *
+   * Output only. Email of the user that called the ApproveBuild API to
+   * approve or reject a build at the time that the API was called.
+   * 
+ * + * string approver_account = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for approverAccount. + */ + com.google.protobuf.ByteString getApproverAccountBytes(); + + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approvalTime field is set. + */ + boolean hasApprovalTime(); + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approvalTime. + */ + com.google.protobuf.Timestamp getApprovalTime(); + /** + * + * + *
+   * Output only. The time when the approval decision was made.
+   * 
+ * + * + * .google.protobuf.Timestamp approval_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getApprovalTimeOrBuilder(); + + /** + * + * + *
+   * Required. The decision of this manual approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The enum numeric value on the wire for decision. + */ + int getDecisionValue(); + /** + * + * + *
+   * Required. The decision of this manual approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult.Decision decision = 4 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The decision. + */ + com.google.cloudbuild.v1.ApprovalResult.Decision getDecision(); + + /** + * + * + *
+   * Optional. An optional comment for this manual approval result.
+   * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The comment. + */ + java.lang.String getComment(); + /** + * + * + *
+   * Optional. An optional comment for this manual approval result.
+   * 
+ * + * string comment = 5 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for comment. + */ + com.google.protobuf.ByteString getCommentBytes(); + + /** + * + * + *
+   * Optional. An optional URL tied to this manual approval result. This field
+   * is essentially the same as comment, except that it will be rendered by the
+   * UI differently. An example use case is a link to an external job that
+   * approved this Build.
+   * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The url. + */ + java.lang.String getUrl(); + /** + * + * + *
+   * Optional. An optional URL tied to this manual approval result. This field
+   * is essentially the same as comment, except that it will be rendered by the
+   * UI differently. An example use case is a link to an external job that
+   * approved this Build.
+   * 
+ * + * string url = 6 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for url. + */ + com.google.protobuf.ByteString getUrlBytes(); +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequest.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequest.java new file mode 100644 index 00000000..889fcf86 --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequest.java @@ -0,0 +1,919 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +/** + * + * + *
+ * Request to approve or reject a pending build.
+ * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApproveBuildRequest} + */ +public final class ApproveBuildRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.devtools.cloudbuild.v1.ApproveBuildRequest) + ApproveBuildRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use ApproveBuildRequest.newBuilder() to construct. + private ApproveBuildRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ApproveBuildRequest() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ApproveBuildRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ApproveBuildRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: + { + com.google.cloudbuild.v1.ApprovalResult.Builder subBuilder = null; + if (approvalResult_ != null) { + subBuilder = approvalResult_.toBuilder(); + } + approvalResult_ = + input.readMessage( + com.google.cloudbuild.v1.ApprovalResult.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(approvalResult_); + approvalResult_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApproveBuildRequest.class, + com.google.cloudbuild.v1.ApproveBuildRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
+   * Required. Name of the target build.
+   * For example: "projects/{$project_id}/builds/{$build_id}"
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + /** + * + * + *
+   * Required. Name of the target build.
+   * For example: "projects/{$project_id}/builds/{$build_id}"
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int APPROVAL_RESULT_FIELD_NUMBER = 2; + private com.google.cloudbuild.v1.ApprovalResult approvalResult_; + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return Whether the approvalResult field is set. + */ + @java.lang.Override + public boolean hasApprovalResult() { + return approvalResult_ != null; + } + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return The approvalResult. + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult getApprovalResult() { + return approvalResult_ == null + ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() + : approvalResult_; + } + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResultOrBuilder getApprovalResultOrBuilder() { + return getApprovalResult(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!getNameBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (approvalResult_ != null) { + output.writeMessage(2, getApprovalResult()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getNameBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (approvalResult_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getApprovalResult()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloudbuild.v1.ApproveBuildRequest)) { + return super.equals(obj); + } + com.google.cloudbuild.v1.ApproveBuildRequest other = + (com.google.cloudbuild.v1.ApproveBuildRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (hasApprovalResult() != other.hasApprovalResult()) return false; + if (hasApprovalResult()) { + if (!getApprovalResult().equals(other.getApprovalResult())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasApprovalResult()) { + hash = (37 * hash) + APPROVAL_RESULT_FIELD_NUMBER; + hash = (53 * hash) + getApprovalResult().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloudbuild.v1.ApproveBuildRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * Request to approve or reject a pending build.
+   * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.ApproveBuildRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.devtools.cloudbuild.v1.ApproveBuildRequest) + com.google.cloudbuild.v1.ApproveBuildRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.ApproveBuildRequest.class, + com.google.cloudbuild.v1.ApproveBuildRequest.Builder.class); + } + + // Construct using com.google.cloudbuild.v1.ApproveBuildRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + if (approvalResultBuilder_ == null) { + approvalResult_ = null; + } else { + approvalResult_ = null; + approvalResultBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApproveBuildRequest getDefaultInstanceForType() { + return com.google.cloudbuild.v1.ApproveBuildRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApproveBuildRequest build() { + com.google.cloudbuild.v1.ApproveBuildRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApproveBuildRequest buildPartial() { + com.google.cloudbuild.v1.ApproveBuildRequest result = + new com.google.cloudbuild.v1.ApproveBuildRequest(this); + result.name_ = name_; + if (approvalResultBuilder_ == null) { + result.approvalResult_ = approvalResult_; + } else { + result.approvalResult_ = approvalResultBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloudbuild.v1.ApproveBuildRequest) { + return mergeFrom((com.google.cloudbuild.v1.ApproveBuildRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloudbuild.v1.ApproveBuildRequest other) { + if (other == com.google.cloudbuild.v1.ApproveBuildRequest.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (other.hasApprovalResult()) { + mergeApprovalResult(other.getApprovalResult()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloudbuild.v1.ApproveBuildRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloudbuild.v1.ApproveBuildRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * + * + *
+     * Required. Name of the target build.
+     * For example: "projects/{$project_id}/builds/{$build_id}"
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Required. Name of the target build.
+     * For example: "projects/{$project_id}/builds/{$build_id}"
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Required. Name of the target build.
+     * For example: "projects/{$project_id}/builds/{$build_id}"
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + name_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Required. Name of the target build.
+     * For example: "projects/{$project_id}/builds/{$build_id}"
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * + * + *
+     * Required. Name of the target build.
+     * For example: "projects/{$project_id}/builds/{$build_id}"
+     * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + name_ = value; + onChanged(); + return this; + } + + private com.google.cloudbuild.v1.ApprovalResult approvalResult_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder> + approvalResultBuilder_; + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return Whether the approvalResult field is set. + */ + public boolean hasApprovalResult() { + return approvalResultBuilder_ != null || approvalResult_ != null; + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return The approvalResult. + */ + public com.google.cloudbuild.v1.ApprovalResult getApprovalResult() { + if (approvalResultBuilder_ == null) { + return approvalResult_ == null + ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() + : approvalResult_; + } else { + return approvalResultBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public Builder setApprovalResult(com.google.cloudbuild.v1.ApprovalResult value) { + if (approvalResultBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + approvalResult_ = value; + onChanged(); + } else { + approvalResultBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public Builder setApprovalResult( + com.google.cloudbuild.v1.ApprovalResult.Builder builderForValue) { + if (approvalResultBuilder_ == null) { + approvalResult_ = builderForValue.build(); + onChanged(); + } else { + approvalResultBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public Builder mergeApprovalResult(com.google.cloudbuild.v1.ApprovalResult value) { + if (approvalResultBuilder_ == null) { + if (approvalResult_ != null) { + approvalResult_ = + com.google.cloudbuild.v1.ApprovalResult.newBuilder(approvalResult_) + .mergeFrom(value) + .buildPartial(); + } else { + approvalResult_ = value; + } + onChanged(); + } else { + approvalResultBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public Builder clearApprovalResult() { + if (approvalResultBuilder_ == null) { + approvalResult_ = null; + onChanged(); + } else { + approvalResult_ = null; + approvalResultBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public com.google.cloudbuild.v1.ApprovalResult.Builder getApprovalResultBuilder() { + + onChanged(); + return getApprovalResultFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + public com.google.cloudbuild.v1.ApprovalResultOrBuilder getApprovalResultOrBuilder() { + if (approvalResultBuilder_ != null) { + return approvalResultBuilder_.getMessageOrBuilder(); + } else { + return approvalResult_ == null + ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() + : approvalResult_; + } + } + /** + * + * + *
+     * Approval decision and metadata.
+     * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder> + getApprovalResultFieldBuilder() { + if (approvalResultBuilder_ == null) { + approvalResultBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder>( + getApprovalResult(), getParentForChildren(), isClean()); + approvalResult_ = null; + } + return approvalResultBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.devtools.cloudbuild.v1.ApproveBuildRequest) + } + + // @@protoc_insertion_point(class_scope:google.devtools.cloudbuild.v1.ApproveBuildRequest) + private static final com.google.cloudbuild.v1.ApproveBuildRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloudbuild.v1.ApproveBuildRequest(); + } + + public static com.google.cloudbuild.v1.ApproveBuildRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ApproveBuildRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ApproveBuildRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloudbuild.v1.ApproveBuildRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequestOrBuilder.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequestOrBuilder.java new file mode 100644 index 00000000..7aa05486 --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/ApproveBuildRequestOrBuilder.java @@ -0,0 +1,87 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +public interface ApproveBuildRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.devtools.cloudbuild.v1.ApproveBuildRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Required. Name of the target build.
+   * For example: "projects/{$project_id}/builds/{$build_id}"
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The name. + */ + java.lang.String getName(); + /** + * + * + *
+   * Required. Name of the target build.
+   * For example: "projects/{$project_id}/builds/{$build_id}"
+   * 
+ * + * string name = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return Whether the approvalResult field is set. + */ + boolean hasApprovalResult(); + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + * + * @return The approvalResult. + */ + com.google.cloudbuild.v1.ApprovalResult getApprovalResult(); + /** + * + * + *
+   * Approval decision and metadata.
+   * 
+ * + * .google.devtools.cloudbuild.v1.ApprovalResult approval_result = 2; + */ + com.google.cloudbuild.v1.ApprovalResultOrBuilder getApprovalResultOrBuilder(); +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Build.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Build.java index 46f5066b..8c430775 100644 --- a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Build.java +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Build.java @@ -377,6 +377,22 @@ private Build( java.lang.String s = input.readStringRequireUtf8(); serviceAccount_ = s; + break; + } + case 354: + { + com.google.cloudbuild.v1.BuildApproval.Builder subBuilder = null; + if (approval_ != null) { + subBuilder = approval_.toBuilder(); + } + approval_ = + input.readMessage( + com.google.cloudbuild.v1.BuildApproval.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(approval_); + approval_ = subBuilder.buildPartial(); + } + break; } case 362: @@ -509,6 +525,17 @@ public enum Status implements com.google.protobuf.ProtocolMessageEnum { * STATUS_UNKNOWN = 0; */ STATUS_UNKNOWN(0), + /** + * + * + *
+     * Build has been created and is pending execution and queuing. It has not
+     * been queued.
+     * 
+ * + * PENDING = 10; + */ + PENDING(10), /** * * @@ -602,6 +629,17 @@ public enum Status implements com.google.protobuf.ProtocolMessageEnum { * STATUS_UNKNOWN = 0; */ public static final int STATUS_UNKNOWN_VALUE = 0; + /** + * + * + *
+     * Build has been created and is pending execution and queuing. It has not
+     * been queued.
+     * 
+ * + * PENDING = 10; + */ + public static final int PENDING_VALUE = 10; /** * * @@ -709,6 +747,8 @@ public static Status forNumber(int value) { switch (value) { case 0: return STATUS_UNKNOWN; + case 10: + return PENDING; case 1: return QUEUED; case 2: @@ -4319,6 +4359,63 @@ public com.google.cloudbuild.v1.TimeSpan getTimingOrThrow(java.lang.String key) return map.get(key); } + public static final int APPROVAL_FIELD_NUMBER = 44; + private com.google.cloudbuild.v1.BuildApproval approval_; + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approval field is set. + */ + @java.lang.Override + public boolean hasApproval() { + return approval_ != null; + } + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approval. + */ + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval getApproval() { + return approval_ == null + ? com.google.cloudbuild.v1.BuildApproval.getDefaultInstance() + : approval_; + } + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloudbuild.v1.BuildApprovalOrBuilder getApprovalOrBuilder() { + return getApproval(); + } + public static final int SERVICE_ACCOUNT_FIELD_NUMBER = 42; private volatile java.lang.Object serviceAccount_; /** @@ -4642,6 +4739,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!getServiceAccountBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 42, serviceAccount_); } + if (approval_ != null) { + output.writeMessage(44, getApproval()); + } if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 45, name_); } @@ -4759,6 +4859,9 @@ public int getSerializedSize() { if (!getServiceAccountBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(42, serviceAccount_); } + if (approval_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(44, getApproval()); + } if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(45, name_); } @@ -4840,6 +4943,10 @@ public boolean equals(final java.lang.Object obj) { if (!getTagsList().equals(other.getTagsList())) return false; if (!getSecretsList().equals(other.getSecretsList())) return false; if (!internalGetTiming().equals(other.internalGetTiming())) return false; + if (hasApproval() != other.hasApproval()) return false; + if (hasApproval()) { + if (!getApproval().equals(other.getApproval())) return false; + } if (!getServiceAccount().equals(other.getServiceAccount())) return false; if (hasAvailableSecrets() != other.hasAvailableSecrets()) return false; if (hasAvailableSecrets()) { @@ -4941,6 +5048,10 @@ public int hashCode() { hash = (37 * hash) + TIMING_FIELD_NUMBER; hash = (53 * hash) + internalGetTiming().hashCode(); } + if (hasApproval()) { + hash = (37 * hash) + APPROVAL_FIELD_NUMBER; + hash = (53 * hash) + getApproval().hashCode(); + } hash = (37 * hash) + SERVICE_ACCOUNT_FIELD_NUMBER; hash = (53 * hash) + getServiceAccount().hashCode(); if (hasAvailableSecrets()) { @@ -5234,6 +5345,12 @@ public Builder clear() { secretsBuilder_.clear(); } internalGetMutableTiming().clear(); + if (approvalBuilder_ == null) { + approval_ = null; + } else { + approval_ = null; + approvalBuilder_ = null; + } serviceAccount_ = ""; if (availableSecretsBuilder_ == null) { @@ -5371,6 +5488,11 @@ public com.google.cloudbuild.v1.Build buildPartial() { } result.timing_ = internalGetTiming(); result.timing_.makeImmutable(); + if (approvalBuilder_ == null) { + result.approval_ = approval_; + } else { + result.approval_ = approvalBuilder_.build(); + } result.serviceAccount_ = serviceAccount_; if (availableSecretsBuilder_ == null) { result.availableSecrets_ = availableSecrets_; @@ -5577,6 +5699,9 @@ public Builder mergeFrom(com.google.cloudbuild.v1.Build other) { } } internalGetMutableTiming().mergeFrom(other.internalGetTiming()); + if (other.hasApproval()) { + mergeApproval(other.getApproval()); + } if (!other.getServiceAccount().isEmpty()) { serviceAccount_ = other.serviceAccount_; onChanged(); @@ -10045,6 +10170,218 @@ public Builder putAllTiming( return this; } + private com.google.cloudbuild.v1.BuildApproval approval_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.BuildApproval, + com.google.cloudbuild.v1.BuildApproval.Builder, + com.google.cloudbuild.v1.BuildApprovalOrBuilder> + approvalBuilder_; + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approval field is set. + */ + public boolean hasApproval() { + return approvalBuilder_ != null || approval_ != null; + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approval. + */ + public com.google.cloudbuild.v1.BuildApproval getApproval() { + if (approvalBuilder_ == null) { + return approval_ == null + ? com.google.cloudbuild.v1.BuildApproval.getDefaultInstance() + : approval_; + } else { + return approvalBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setApproval(com.google.cloudbuild.v1.BuildApproval value) { + if (approvalBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + approval_ = value; + onChanged(); + } else { + approvalBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setApproval(com.google.cloudbuild.v1.BuildApproval.Builder builderForValue) { + if (approvalBuilder_ == null) { + approval_ = builderForValue.build(); + onChanged(); + } else { + approvalBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeApproval(com.google.cloudbuild.v1.BuildApproval value) { + if (approvalBuilder_ == null) { + if (approval_ != null) { + approval_ = + com.google.cloudbuild.v1.BuildApproval.newBuilder(approval_) + .mergeFrom(value) + .buildPartial(); + } else { + approval_ = value; + } + onChanged(); + } else { + approvalBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearApproval() { + if (approvalBuilder_ == null) { + approval_ = null; + onChanged(); + } else { + approval_ = null; + approvalBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.BuildApproval.Builder getApprovalBuilder() { + + onChanged(); + return getApprovalFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.BuildApprovalOrBuilder getApprovalOrBuilder() { + if (approvalBuilder_ != null) { + return approvalBuilder_.getMessageOrBuilder(); + } else { + return approval_ == null + ? com.google.cloudbuild.v1.BuildApproval.getDefaultInstance() + : approval_; + } + } + /** + * + * + *
+     * Output only. Describes this build's approval configuration, status,
+     * and result.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.BuildApproval, + com.google.cloudbuild.v1.BuildApproval.Builder, + com.google.cloudbuild.v1.BuildApprovalOrBuilder> + getApprovalFieldBuilder() { + if (approvalBuilder_ == null) { + approvalBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.BuildApproval, + com.google.cloudbuild.v1.BuildApproval.Builder, + com.google.cloudbuild.v1.BuildApprovalOrBuilder>( + getApproval(), getParentForChildren(), isClean()); + approval_ = null; + } + return approvalBuilder_; + } + private java.lang.Object serviceAccount_ = ""; /** * diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApproval.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApproval.java new file mode 100644 index 00000000..dc0c4734 --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApproval.java @@ -0,0 +1,1419 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +/** + * + * + *
+ * BuildApproval describes a build's approval configuration, state, and
+ * result.
+ * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.BuildApproval} + */ +public final class BuildApproval extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.devtools.cloudbuild.v1.BuildApproval) + BuildApprovalOrBuilder { + private static final long serialVersionUID = 0L; + // Use BuildApproval.newBuilder() to construct. + private BuildApproval(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private BuildApproval() { + state_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new BuildApproval(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private BuildApproval( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: + { + int rawValue = input.readEnum(); + + state_ = rawValue; + break; + } + case 18: + { + com.google.cloudbuild.v1.ApprovalConfig.Builder subBuilder = null; + if (config_ != null) { + subBuilder = config_.toBuilder(); + } + config_ = + input.readMessage( + com.google.cloudbuild.v1.ApprovalConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(config_); + config_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + com.google.cloudbuild.v1.ApprovalResult.Builder subBuilder = null; + if (result_ != null) { + subBuilder = result_.toBuilder(); + } + result_ = + input.readMessage( + com.google.cloudbuild.v1.ApprovalResult.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(result_); + result_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_BuildApproval_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.BuildApproval.class, + com.google.cloudbuild.v1.BuildApproval.Builder.class); + } + + /** + * + * + *
+   * Specifies the current state of a build's approval.
+   * 
+ * + * Protobuf enum {@code google.devtools.cloudbuild.v1.BuildApproval.State} + */ + public enum State implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+     * Default enum type. This should not be used.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + STATE_UNSPECIFIED(0), + /** + * + * + *
+     * Build approval is pending.
+     * 
+ * + * PENDING = 1; + */ + PENDING(1), + /** + * + * + *
+     * Build approval has been approved.
+     * 
+ * + * APPROVED = 2; + */ + APPROVED(2), + /** + * + * + *
+     * Build approval has been rejected.
+     * 
+ * + * REJECTED = 3; + */ + REJECTED(3), + /** + * + * + *
+     * Build was cancelled while it was still pending approval.
+     * 
+ * + * CANCELLED = 5; + */ + CANCELLED(5), + UNRECOGNIZED(-1), + ; + + /** + * + * + *
+     * Default enum type. This should not be used.
+     * 
+ * + * STATE_UNSPECIFIED = 0; + */ + public static final int STATE_UNSPECIFIED_VALUE = 0; + /** + * + * + *
+     * Build approval is pending.
+     * 
+ * + * PENDING = 1; + */ + public static final int PENDING_VALUE = 1; + /** + * + * + *
+     * Build approval has been approved.
+     * 
+ * + * APPROVED = 2; + */ + public static final int APPROVED_VALUE = 2; + /** + * + * + *
+     * Build approval has been rejected.
+     * 
+ * + * REJECTED = 3; + */ + public static final int REJECTED_VALUE = 3; + /** + * + * + *
+     * Build was cancelled while it was still pending approval.
+     * 
+ * + * CANCELLED = 5; + */ + public static final int CANCELLED_VALUE = 5; + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static State valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static State forNumber(int value) { + switch (value) { + case 0: + return STATE_UNSPECIFIED; + case 1: + return PENDING; + case 2: + return APPROVED; + case 3: + return REJECTED; + case 5: + return CANCELLED; + default: + return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() { + return internalValueMap; + } + + private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap() { + public State findValueByNumber(int number) { + return State.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + + public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { + return getDescriptor(); + } + + public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { + return com.google.cloudbuild.v1.BuildApproval.getDescriptor().getEnumTypes().get(0); + } + + private static final State[] VALUES = values(); + + public static State valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private State(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:google.devtools.cloudbuild.v1.BuildApproval.State) + } + + public static final int STATE_FIELD_NUMBER = 1; + private int state_; + /** + * + * + *
+   * Output only. The state of this build's approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + /** + * + * + *
+   * Output only. The state of this build's approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval.State getState() { + @SuppressWarnings("deprecation") + com.google.cloudbuild.v1.BuildApproval.State result = + com.google.cloudbuild.v1.BuildApproval.State.valueOf(state_); + return result == null ? com.google.cloudbuild.v1.BuildApproval.State.UNRECOGNIZED : result; + } + + public static final int CONFIG_FIELD_NUMBER = 2; + private com.google.cloudbuild.v1.ApprovalConfig config_; + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the config field is set. + */ + @java.lang.Override + public boolean hasConfig() { + return config_ != null; + } + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The config. + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfig getConfig() { + return config_ == null ? com.google.cloudbuild.v1.ApprovalConfig.getDefaultInstance() : config_; + } + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalConfigOrBuilder getConfigOrBuilder() { + return getConfig(); + } + + public static final int RESULT_FIELD_NUMBER = 3; + private com.google.cloudbuild.v1.ApprovalResult result_; + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the result field is set. + */ + @java.lang.Override + public boolean hasResult() { + return result_ != null; + } + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The result. + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResult getResult() { + return result_ == null ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() : result_; + } + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.cloudbuild.v1.ApprovalResultOrBuilder getResultOrBuilder() { + return getResult(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (state_ != com.google.cloudbuild.v1.BuildApproval.State.STATE_UNSPECIFIED.getNumber()) { + output.writeEnum(1, state_); + } + if (config_ != null) { + output.writeMessage(2, getConfig()); + } + if (result_ != null) { + output.writeMessage(3, getResult()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (state_ != com.google.cloudbuild.v1.BuildApproval.State.STATE_UNSPECIFIED.getNumber()) { + size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, state_); + } + if (config_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getConfig()); + } + if (result_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getResult()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloudbuild.v1.BuildApproval)) { + return super.equals(obj); + } + com.google.cloudbuild.v1.BuildApproval other = (com.google.cloudbuild.v1.BuildApproval) obj; + + if (state_ != other.state_) return false; + if (hasConfig() != other.hasConfig()) return false; + if (hasConfig()) { + if (!getConfig().equals(other.getConfig())) return false; + } + if (hasResult() != other.hasResult()) return false; + if (hasResult()) { + if (!getResult().equals(other.getResult())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + STATE_FIELD_NUMBER; + hash = (53 * hash) + state_; + if (hasConfig()) { + hash = (37 * hash) + CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getConfig().hashCode(); + } + if (hasResult()) { + hash = (37 * hash) + RESULT_FIELD_NUMBER; + hash = (53 * hash) + getResult().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.BuildApproval parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.BuildApproval parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloudbuild.v1.BuildApproval parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(com.google.cloudbuild.v1.BuildApproval prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
+   * BuildApproval describes a build's approval configuration, state, and
+   * result.
+   * 
+ * + * Protobuf type {@code google.devtools.cloudbuild.v1.BuildApproval} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.devtools.cloudbuild.v1.BuildApproval) + com.google.cloudbuild.v1.BuildApprovalOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_BuildApproval_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloudbuild.v1.BuildApproval.class, + com.google.cloudbuild.v1.BuildApproval.Builder.class); + } + + // Construct using com.google.cloudbuild.v1.BuildApproval.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + state_ = 0; + + if (configBuilder_ == null) { + config_ = null; + } else { + config_ = null; + configBuilder_ = null; + } + if (resultBuilder_ == null) { + result_ = null; + } else { + result_ = null; + resultBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloudbuild.v1.Cloudbuild + .internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor; + } + + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval getDefaultInstanceForType() { + return com.google.cloudbuild.v1.BuildApproval.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval build() { + com.google.cloudbuild.v1.BuildApproval result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval buildPartial() { + com.google.cloudbuild.v1.BuildApproval result = + new com.google.cloudbuild.v1.BuildApproval(this); + result.state_ = state_; + if (configBuilder_ == null) { + result.config_ = config_; + } else { + result.config_ = configBuilder_.build(); + } + if (resultBuilder_ == null) { + result.result_ = result_; + } else { + result.result_ = resultBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloudbuild.v1.BuildApproval) { + return mergeFrom((com.google.cloudbuild.v1.BuildApproval) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloudbuild.v1.BuildApproval other) { + if (other == com.google.cloudbuild.v1.BuildApproval.getDefaultInstance()) return this; + if (other.state_ != 0) { + setStateValue(other.getStateValue()); + } + if (other.hasConfig()) { + mergeConfig(other.getConfig()); + } + if (other.hasResult()) { + mergeResult(other.getResult()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloudbuild.v1.BuildApproval parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloudbuild.v1.BuildApproval) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int state_ = 0; + /** + * + * + *
+     * Output only. The state of this build's approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + @java.lang.Override + public int getStateValue() { + return state_; + } + /** + * + * + *
+     * Output only. The state of this build's approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The enum numeric value on the wire for state to set. + * @return This builder for chaining. + */ + public Builder setStateValue(int value) { + + state_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The state of this build's approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval.State getState() { + @SuppressWarnings("deprecation") + com.google.cloudbuild.v1.BuildApproval.State result = + com.google.cloudbuild.v1.BuildApproval.State.valueOf(state_); + return result == null ? com.google.cloudbuild.v1.BuildApproval.State.UNRECOGNIZED : result; + } + /** + * + * + *
+     * Output only. The state of this build's approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @param value The state to set. + * @return This builder for chaining. + */ + public Builder setState(com.google.cloudbuild.v1.BuildApproval.State value) { + if (value == null) { + throw new NullPointerException(); + } + + state_ = value.getNumber(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. The state of this build's approval.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return This builder for chaining. + */ + public Builder clearState() { + + state_ = 0; + onChanged(); + return this; + } + + private com.google.cloudbuild.v1.ApprovalConfig config_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalConfig, + com.google.cloudbuild.v1.ApprovalConfig.Builder, + com.google.cloudbuild.v1.ApprovalConfigOrBuilder> + configBuilder_; + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the config field is set. + */ + public boolean hasConfig() { + return configBuilder_ != null || config_ != null; + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The config. + */ + public com.google.cloudbuild.v1.ApprovalConfig getConfig() { + if (configBuilder_ == null) { + return config_ == null + ? com.google.cloudbuild.v1.ApprovalConfig.getDefaultInstance() + : config_; + } else { + return configBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setConfig(com.google.cloudbuild.v1.ApprovalConfig value) { + if (configBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + onChanged(); + } else { + configBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setConfig(com.google.cloudbuild.v1.ApprovalConfig.Builder builderForValue) { + if (configBuilder_ == null) { + config_ = builderForValue.build(); + onChanged(); + } else { + configBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeConfig(com.google.cloudbuild.v1.ApprovalConfig value) { + if (configBuilder_ == null) { + if (config_ != null) { + config_ = + com.google.cloudbuild.v1.ApprovalConfig.newBuilder(config_) + .mergeFrom(value) + .buildPartial(); + } else { + config_ = value; + } + onChanged(); + } else { + configBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearConfig() { + if (configBuilder_ == null) { + config_ = null; + onChanged(); + } else { + config_ = null; + configBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.ApprovalConfig.Builder getConfigBuilder() { + + onChanged(); + return getConfigFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.ApprovalConfigOrBuilder getConfigOrBuilder() { + if (configBuilder_ != null) { + return configBuilder_.getMessageOrBuilder(); + } else { + return config_ == null + ? com.google.cloudbuild.v1.ApprovalConfig.getDefaultInstance() + : config_; + } + } + /** + * + * + *
+     * Output only. Configuration for manual approval of this build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalConfig, + com.google.cloudbuild.v1.ApprovalConfig.Builder, + com.google.cloudbuild.v1.ApprovalConfigOrBuilder> + getConfigFieldBuilder() { + if (configBuilder_ == null) { + configBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalConfig, + com.google.cloudbuild.v1.ApprovalConfig.Builder, + com.google.cloudbuild.v1.ApprovalConfigOrBuilder>( + getConfig(), getParentForChildren(), isClean()); + config_ = null; + } + return configBuilder_; + } + + private com.google.cloudbuild.v1.ApprovalResult result_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder> + resultBuilder_; + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the result field is set. + */ + public boolean hasResult() { + return resultBuilder_ != null || result_ != null; + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The result. + */ + public com.google.cloudbuild.v1.ApprovalResult getResult() { + if (resultBuilder_ == null) { + return result_ == null + ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() + : result_; + } else { + return resultBuilder_.getMessage(); + } + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setResult(com.google.cloudbuild.v1.ApprovalResult value) { + if (resultBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + result_ = value; + onChanged(); + } else { + resultBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setResult(com.google.cloudbuild.v1.ApprovalResult.Builder builderForValue) { + if (resultBuilder_ == null) { + result_ = builderForValue.build(); + onChanged(); + } else { + resultBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeResult(com.google.cloudbuild.v1.ApprovalResult value) { + if (resultBuilder_ == null) { + if (result_ != null) { + result_ = + com.google.cloudbuild.v1.ApprovalResult.newBuilder(result_) + .mergeFrom(value) + .buildPartial(); + } else { + result_ = value; + } + onChanged(); + } else { + resultBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearResult() { + if (resultBuilder_ == null) { + result_ = null; + onChanged(); + } else { + result_ = null; + resultBuilder_ = null; + } + + return this; + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.ApprovalResult.Builder getResultBuilder() { + + onChanged(); + return getResultFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.cloudbuild.v1.ApprovalResultOrBuilder getResultOrBuilder() { + if (resultBuilder_ != null) { + return resultBuilder_.getMessageOrBuilder(); + } else { + return result_ == null + ? com.google.cloudbuild.v1.ApprovalResult.getDefaultInstance() + : result_; + } + } + /** + * + * + *
+     * Output only. Result of manual approval for this Build.
+     * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder> + getResultFieldBuilder() { + if (resultBuilder_ == null) { + resultBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloudbuild.v1.ApprovalResult, + com.google.cloudbuild.v1.ApprovalResult.Builder, + com.google.cloudbuild.v1.ApprovalResultOrBuilder>( + getResult(), getParentForChildren(), isClean()); + result_ = null; + } + return resultBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.devtools.cloudbuild.v1.BuildApproval) + } + + // @@protoc_insertion_point(class_scope:google.devtools.cloudbuild.v1.BuildApproval) + private static final com.google.cloudbuild.v1.BuildApproval DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloudbuild.v1.BuildApproval(); + } + + public static com.google.cloudbuild.v1.BuildApproval getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BuildApproval parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new BuildApproval(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloudbuild.v1.BuildApproval getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApprovalOrBuilder.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApprovalOrBuilder.java new file mode 100644 index 00000000..15ed1012 --- /dev/null +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildApprovalOrBuilder.java @@ -0,0 +1,136 @@ +/* + * Copyright 2020 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. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/devtools/cloudbuild/v1/cloudbuild.proto + +package com.google.cloudbuild.v1; + +public interface BuildApprovalOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.devtools.cloudbuild.v1.BuildApproval) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Output only. The state of this build's approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The enum numeric value on the wire for state. + */ + int getStateValue(); + /** + * + * + *
+   * Output only. The state of this build's approval.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval.State state = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The state. + */ + com.google.cloudbuild.v1.BuildApproval.State getState(); + + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the config field is set. + */ + boolean hasConfig(); + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The config. + */ + com.google.cloudbuild.v1.ApprovalConfig getConfig(); + /** + * + * + *
+   * Output only. Configuration for manual approval of this build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalConfig config = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloudbuild.v1.ApprovalConfigOrBuilder getConfigOrBuilder(); + + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the result field is set. + */ + boolean hasResult(); + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The result. + */ + com.google.cloudbuild.v1.ApprovalResult getResult(); + /** + * + * + *
+   * Output only. Result of manual approval for this Build.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.ApprovalResult result = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloudbuild.v1.ApprovalResultOrBuilder getResultOrBuilder(); +} diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildOrBuilder.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildOrBuilder.java index acc42d34..b08d004f 100644 --- a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildOrBuilder.java +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/BuildOrBuilder.java @@ -1042,6 +1042,50 @@ com.google.cloudbuild.v1.TimeSpan getTimingOrDefault( */ com.google.cloudbuild.v1.TimeSpan getTimingOrThrow(java.lang.String key); + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the approval field is set. + */ + boolean hasApproval(); + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The approval. + */ + com.google.cloudbuild.v1.BuildApproval getApproval(); + /** + * + * + *
+   * Output only. Describes this build's approval configuration, status,
+   * and result.
+   * 
+ * + * + * .google.devtools.cloudbuild.v1.BuildApproval approval = 44 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.cloudbuild.v1.BuildApprovalOrBuilder getApprovalOrBuilder(); + /** * * diff --git a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Cloudbuild.java b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Cloudbuild.java index c2741339..e4b5dfac 100644 --- a/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Cloudbuild.java +++ b/proto-google-cloud-build-v1/src/main/java/com/google/cloudbuild/v1/Cloudbuild.java @@ -171,6 +171,22 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_devtools_cloudbuild_v1_CancelBuildRequest_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_devtools_cloudbuild_v1_CancelBuildRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_devtools_cloudbuild_v1_BuildApproval_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_devtools_cloudbuild_v1_ApprovalResult_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_devtools_cloudbuild_v1_BuildTrigger_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -361,7 +377,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ifact_timing\030\007 \001(\0132\'.google.devtools.clo" + "udbuild.v1.TimeSpan\"`\n\016ArtifactResult\022\020\n" + "\010location\030\001 \001(\t\022<\n\tfile_hash\030\002 \003(\0132).goo" - + "gle.devtools.cloudbuild.v1.FileHashes\"\316\021" + + "gle.devtools.cloudbuild.v1.FileHashes\"\240\022" + "\n\005Build\022\021\n\004name\030- \001(\tB\003\340A\003\022\017\n\002id\030\001 \001(\tB\003" + "\340A\003\022\027\n\nproject_id\030\020 \001(\tB\003\340A\003\022@\n\006status\030\002" + " \001(\0162+.google.devtools.cloudbuild.v1.Bui" @@ -389,401 +405,428 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "y\022\014\n\004tags\030\037 \003(\t\0226\n\007secrets\030 \003(\0132%.googl" + "e.devtools.cloudbuild.v1.Secret\022E\n\006timin" + "g\030! \003(\01320.google.devtools.cloudbuild.v1." - + "Build.TimingEntryB\003\340A\003\022?\n\017service_accoun" - + "t\030* \001(\tB&\372A#\n!iam.googleapis.com/Service" - + "Account\022A\n\021available_secrets\030/ \001(\0132&.goo" - + "gle.devtools.cloudbuild.v1.Secrets\022C\n\010wa" - + "rnings\0301 \003(\0132,.google.devtools.cloudbuil" - + "d.v1.Build.WarningB\003\340A\003\022K\n\014failure_info\030" - + "3 \001(\01320.google.devtools.cloudbuild.v1.Bu" - + "ild.FailureInfoB\003\340A\003\032\250\001\n\007Warning\022\014\n\004text" - + "\030\001 \001(\t\022G\n\010priority\030\002 \001(\01625.google.devtoo" - + "ls.cloudbuild.v1.Build.Warning.Priority\"" - + "F\n\010Priority\022\030\n\024PRIORITY_UNSPECIFIED\020\000\022\010\n" - + "\004INFO\020\001\022\013\n\007WARNING\020\002\022\t\n\005ALERT\020\003\032\236\002\n\013Fail" - + "ureInfo\022J\n\004type\030\001 \001(\0162<.google.devtools." - + "cloudbuild.v1.Build.FailureInfo.FailureT" - + "ype\022\016\n\006detail\030\002 \001(\t\"\262\001\n\013FailureType\022\034\n\030F" - + "AILURE_TYPE_UNSPECIFIED\020\000\022\017\n\013PUSH_FAILED" - + "\020\001\022\030\n\024PUSH_IMAGE_NOT_FOUND\020\002\022\027\n\023PUSH_NOT" - + "_AUTHORIZED\020\003\022\023\n\017LOGGING_FAILURE\020\004\022\023\n\017US" - + "ER_BUILD_STEP\020\005\022\027\n\023FETCH_SOURCE_FAILED\020\006" - + "\0324\n\022SubstitutionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005v" - + "alue\030\002 \001(\t:\0028\001\032V\n\013TimingEntry\022\013\n\003key\030\001 \001" - + "(\t\0226\n\005value\030\002 \001(\0132\'.google.devtools.clou" - + "dbuild.v1.TimeSpan:\0028\001\"\214\001\n\006Status\022\022\n\016STA" - + "TUS_UNKNOWN\020\000\022\n\n\006QUEUED\020\001\022\013\n\007WORKING\020\002\022\013" - + "\n\007SUCCESS\020\003\022\013\n\007FAILURE\020\004\022\022\n\016INTERNAL_ERR" - + "OR\020\005\022\013\n\007TIMEOUT\020\006\022\r\n\tCANCELLED\020\007\022\013\n\007EXPI" - + "RED\020\t:\177\352A|\n\037cloudbuild.googleapis.com/Bu" - + "ild\022!projects/{project}/builds/{build}\0226" - + "projects/{project}/locations/{location}/" - + "builds/{build}\"\330\001\n\tArtifacts\022\016\n\006images\030\001" - + " \003(\t\022I\n\007objects\030\002 \001(\01328.google.devtools." - + "cloudbuild.v1.Artifacts.ArtifactObjects\032" - + "p\n\017ArtifactObjects\022\020\n\010location\030\001 \001(\t\022\r\n\005" - + "paths\030\002 \003(\t\022<\n\006timing\030\003 \001(\0132\'.google.dev" - + "tools.cloudbuild.v1.TimeSpanB\003\340A\003\"h\n\010Tim" - + "eSpan\022.\n\nstart_time\030\001 \001(\0132\032.google.proto" - + "buf.Timestamp\022,\n\010end_time\030\002 \001(\0132\032.google" - + ".protobuf.Timestamp\"M\n\026BuildOperationMet" - + "adata\0223\n\005build\030\001 \001(\0132$.google.devtools.c" - + "loudbuild.v1.Build\"\303\003\n\020SourceProvenance\022" - + "M\n\027resolved_storage_source\030\003 \001(\0132,.googl" - + "e.devtools.cloudbuild.v1.StorageSource\022G" - + "\n\024resolved_repo_source\030\006 \001(\0132).google.de" - + "vtools.cloudbuild.v1.RepoSource\022^\n resol" - + "ved_storage_source_manifest\030\t \001(\01324.goog" - + "le.devtools.cloudbuild.v1.StorageSourceM" - + "anifest\022Y\n\013file_hashes\030\004 \003(\0132?.google.de" - + "vtools.cloudbuild.v1.SourceProvenance.Fi" - + "leHashesEntryB\003\340A\003\032\\\n\017FileHashesEntry\022\013\n" - + "\003key\030\001 \001(\t\0228\n\005value\030\002 \001(\0132).google.devto" - + "ols.cloudbuild.v1.FileHashes:\0028\001\"D\n\nFile" - + "Hashes\0226\n\tfile_hash\030\001 \003(\0132#.google.devto" - + "ols.cloudbuild.v1.Hash\"|\n\004Hash\022:\n\004type\030\001" - + " \001(\0162,.google.devtools.cloudbuild.v1.Has" - + "h.HashType\022\r\n\005value\030\002 \001(\014\")\n\010HashType\022\010\n" - + "\004NONE\020\000\022\n\n\006SHA256\020\001\022\007\n\003MD5\020\002\"\222\001\n\007Secrets" - + "\022J\n\016secret_manager\030\001 \003(\01322.google.devtoo" - + "ls.cloudbuild.v1.SecretManagerSecret\022;\n\006" - + "inline\030\002 \003(\0132+.google.devtools.cloudbuil" - + "d.v1.InlineSecret\"\305\001\n\014InlineSecret\022<\n\014km" - + "s_key_name\030\001 \001(\tB&\372A#\n!cloudkms.googleap" - + "is.com/CryptoKey\022H\n\007env_map\030\002 \003(\01327.goog" - + "le.devtools.cloudbuild.v1.InlineSecret.E" - + "nvMapEntry\032-\n\013EnvMapEntry\022\013\n\003key\030\001 \001(\t\022\r" - + "\n\005value\030\002 \001(\014:\0028\001\"i\n\023SecretManagerSecret" - + "\022E\n\014version_name\030\001 \001(\tB/\372A,\n*secretmanag" - + "er.googleapis.com/SecretVersion\022\013\n\003env\030\002" - + " \001(\t\"\232\001\n\006Secret\022\024\n\014kms_key_name\030\001 \001(\t\022H\n" - + "\nsecret_env\030\003 \003(\01324.google.devtools.clou" - + "dbuild.v1.Secret.SecretEnvEntry\0320\n\016Secre" - + "tEnvEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014:\0028" - + "\001\"\235\001\n\022CreateBuildRequest\0224\n\006parent\030\004 \001(\t" - + "B$\372A!\022\037cloudbuild.googleapis.com/Build\022\027" - + "\n\nproject_id\030\001 \001(\tB\003\340A\002\0228\n\005build\030\002 \001(\0132$" - + ".google.devtools.cloudbuild.v1.BuildB\003\340A" - + "\002\"o\n\017GetBuildRequest\0222\n\004name\030\004 \001(\tB$\372A!\n" + + "Build.TimingEntryB\003\340A\003\022C\n\010approval\030, \001(\013" + + "2,.google.devtools.cloudbuild.v1.BuildAp" + + "provalB\003\340A\003\022?\n\017service_account\030* \001(\tB&\372A" + + "#\n!iam.googleapis.com/ServiceAccount\022A\n\021" + + "available_secrets\030/ \001(\0132&.google.devtool" + + "s.cloudbuild.v1.Secrets\022C\n\010warnings\0301 \003(" + + "\0132,.google.devtools.cloudbuild.v1.Build." + + "WarningB\003\340A\003\022K\n\014failure_info\0303 \001(\01320.goo" + + "gle.devtools.cloudbuild.v1.Build.Failure" + + "InfoB\003\340A\003\032\250\001\n\007Warning\022\014\n\004text\030\001 \001(\t\022G\n\010p" + + "riority\030\002 \001(\01625.google.devtools.cloudbui" + + "ld.v1.Build.Warning.Priority\"F\n\010Priority" + + "\022\030\n\024PRIORITY_UNSPECIFIED\020\000\022\010\n\004INFO\020\001\022\013\n\007" + + "WARNING\020\002\022\t\n\005ALERT\020\003\032\236\002\n\013FailureInfo\022J\n\004" + + "type\030\001 \001(\0162<.google.devtools.cloudbuild." + + "v1.Build.FailureInfo.FailureType\022\016\n\006deta" + + "il\030\002 \001(\t\"\262\001\n\013FailureType\022\034\n\030FAILURE_TYPE" + + "_UNSPECIFIED\020\000\022\017\n\013PUSH_FAILED\020\001\022\030\n\024PUSH_" + + "IMAGE_NOT_FOUND\020\002\022\027\n\023PUSH_NOT_AUTHORIZED" + + "\020\003\022\023\n\017LOGGING_FAILURE\020\004\022\023\n\017USER_BUILD_ST" + + "EP\020\005\022\027\n\023FETCH_SOURCE_FAILED\020\006\0324\n\022Substit" + + "utionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:" + + "\0028\001\032V\n\013TimingEntry\022\013\n\003key\030\001 \001(\t\0226\n\005value" + + "\030\002 \001(\0132\'.google.devtools.cloudbuild.v1.T" + + "imeSpan:\0028\001\"\231\001\n\006Status\022\022\n\016STATUS_UNKNOWN" + + "\020\000\022\013\n\007PENDING\020\n\022\n\n\006QUEUED\020\001\022\013\n\007WORKING\020\002" + + "\022\013\n\007SUCCESS\020\003\022\013\n\007FAILURE\020\004\022\022\n\016INTERNAL_E" + + "RROR\020\005\022\013\n\007TIMEOUT\020\006\022\r\n\tCANCELLED\020\007\022\013\n\007EX" + + "PIRED\020\t:\177\352A|\n\037cloudbuild.googleapis.com/" + + "Build\022!projects/{project}/builds/{build}" + + "\0226projects/{project}/locations/{location" + + "}/builds/{build}\"\330\001\n\tArtifacts\022\016\n\006images" + + "\030\001 \003(\t\022I\n\007objects\030\002 \001(\01328.google.devtool" + + "s.cloudbuild.v1.Artifacts.ArtifactObject" + + "s\032p\n\017ArtifactObjects\022\020\n\010location\030\001 \001(\t\022\r" + + "\n\005paths\030\002 \003(\t\022<\n\006timing\030\003 \001(\0132\'.google.d" + + "evtools.cloudbuild.v1.TimeSpanB\003\340A\003\"h\n\010T" + + "imeSpan\022.\n\nstart_time\030\001 \001(\0132\032.google.pro" + + "tobuf.Timestamp\022,\n\010end_time\030\002 \001(\0132\032.goog" + + "le.protobuf.Timestamp\"M\n\026BuildOperationM" + + "etadata\0223\n\005build\030\001 \001(\0132$.google.devtools" + + ".cloudbuild.v1.Build\"\303\003\n\020SourceProvenanc" + + "e\022M\n\027resolved_storage_source\030\003 \001(\0132,.goo" + + "gle.devtools.cloudbuild.v1.StorageSource" + + "\022G\n\024resolved_repo_source\030\006 \001(\0132).google." + + "devtools.cloudbuild.v1.RepoSource\022^\n res" + + "olved_storage_source_manifest\030\t \001(\01324.go" + + "ogle.devtools.cloudbuild.v1.StorageSourc" + + "eManifest\022Y\n\013file_hashes\030\004 \003(\0132?.google." + + "devtools.cloudbuild.v1.SourceProvenance." + + "FileHashesEntryB\003\340A\003\032\\\n\017FileHashesEntry\022" + + "\013\n\003key\030\001 \001(\t\0228\n\005value\030\002 \001(\0132).google.dev" + + "tools.cloudbuild.v1.FileHashes:\0028\001\"D\n\nFi" + + "leHashes\0226\n\tfile_hash\030\001 \003(\0132#.google.dev" + + "tools.cloudbuild.v1.Hash\"|\n\004Hash\022:\n\004type" + + "\030\001 \001(\0162,.google.devtools.cloudbuild.v1.H" + + "ash.HashType\022\r\n\005value\030\002 \001(\014\")\n\010HashType\022" + + "\010\n\004NONE\020\000\022\n\n\006SHA256\020\001\022\007\n\003MD5\020\002\"\222\001\n\007Secre" + + "ts\022J\n\016secret_manager\030\001 \003(\01322.google.devt" + + "ools.cloudbuild.v1.SecretManagerSecret\022;" + + "\n\006inline\030\002 \003(\0132+.google.devtools.cloudbu" + + "ild.v1.InlineSecret\"\305\001\n\014InlineSecret\022<\n\014" + + "kms_key_name\030\001 \001(\tB&\372A#\n!cloudkms.google" + + "apis.com/CryptoKey\022H\n\007env_map\030\002 \003(\01327.go" + + "ogle.devtools.cloudbuild.v1.InlineSecret" + + ".EnvMapEntry\032-\n\013EnvMapEntry\022\013\n\003key\030\001 \001(\t" + + "\022\r\n\005value\030\002 \001(\014:\0028\001\"i\n\023SecretManagerSecr" + + "et\022E\n\014version_name\030\001 \001(\tB/\372A,\n*secretman" + + "ager.googleapis.com/SecretVersion\022\013\n\003env" + + "\030\002 \001(\t\"\232\001\n\006Secret\022\024\n\014kms_key_name\030\001 \001(\t\022" + + "H\n\nsecret_env\030\003 \003(\01324.google.devtools.cl" + + "oudbuild.v1.Secret.SecretEnvEntry\0320\n\016Sec" + + "retEnvEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\014:" + + "\0028\001\"\235\001\n\022CreateBuildRequest\0224\n\006parent\030\004 \001" + + "(\tB$\372A!\022\037cloudbuild.googleapis.com/Build" + + "\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002\0228\n\005build\030\002 \001(\013" + + "2$.google.devtools.cloudbuild.v1.BuildB\003" + + "\340A\002\"o\n\017GetBuildRequest\0222\n\004name\030\004 \001(\tB$\372A" + + "!\n\037cloudbuild.googleapis.com/Build\022\027\n\npr" + + "oject_id\030\001 \001(\tB\003\340A\002\022\017\n\002id\030\002 \001(\tB\003\340A\002\"\231\001\n" + + "\021ListBuildsRequest\0224\n\006parent\030\t \001(\tB$\372A!\022" + "\037cloudbuild.googleapis.com/Build\022\027\n\nproj" - + "ect_id\030\001 \001(\tB\003\340A\002\022\017\n\002id\030\002 \001(\tB\003\340A\002\"\231\001\n\021L" - + "istBuildsRequest\0224\n\006parent\030\t \001(\tB$\372A!\022\037c" - + "loudbuild.googleapis.com/Build\022\027\n\nprojec" - + "t_id\030\001 \001(\tB\003\340A\002\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npa" - + "ge_token\030\003 \001(\t\022\016\n\006filter\030\010 \001(\t\"c\n\022ListBu" - + "ildsResponse\0224\n\006builds\030\001 \003(\0132$.google.de" - + "vtools.cloudbuild.v1.Build\022\027\n\017next_page_" - + "token\030\002 \001(\t\"r\n\022CancelBuildRequest\0222\n\004nam" - + "e\030\004 \001(\tB$\372A!\n\037cloudbuild.googleapis.com/" - + "Build\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002\022\017\n\002id\030\002 \001" - + "(\tB\003\340A\002\"\252\007\n\014BuildTrigger\022\025\n\rresource_nam" - + "e\030\" \001(\t\022\017\n\002id\030\001 \001(\tB\003\340A\003\022\023\n\013description\030" - + "\n \001(\t\022\014\n\004name\030\025 \001(\t\022\014\n\004tags\030\023 \003(\t\022C\n\020tri" - + "gger_template\030\007 \001(\0132).google.devtools.cl" - + "oudbuild.v1.RepoSource\022A\n\006github\030\r \001(\01321" - + ".google.devtools.cloudbuild.v1.GitHubEve" - + "ntsConfig\022B\n\rpubsub_config\030\035 \001(\0132+.googl" - + "e.devtools.cloudbuild.v1.PubsubConfig\022D\n" - + "\016webhook_config\030\037 \001(\0132,.google.devtools." - + "cloudbuild.v1.WebhookConfig\022\024\n\nautodetec" - + "t\030\022 \001(\010H\000\0225\n\005build\030\004 \001(\0132$.google.devtoo" - + "ls.cloudbuild.v1.BuildH\000\022\022\n\010filename\030\010 \001" - + "(\tH\000\0224\n\013create_time\030\005 \001(\0132\032.google.proto" - + "buf.TimestampB\003\340A\003\022\020\n\010disabled\030\t \001(\010\022U\n\r" - + "substitutions\030\013 \003(\0132>.google.devtools.cl" - + "oudbuild.v1.BuildTrigger.SubstitutionsEn" - + "try\022\025\n\rignored_files\030\017 \003(\t\022\026\n\016included_f" - + "iles\030\020 \003(\t\022\023\n\006filter\030\036 \001(\tB\003\340A\001\0324\n\022Subst" - + "itutionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(" - + "\t:\0028\001:\242\001\352A\236\001\n&cloudbuild.googleapis.com/" - + "BuildTrigger\022%projects/{project}/trigger" - + "s/{trigger}\022:projects/{project}/location" - + "s/{location}/triggers/{trigger}*\010trigger" - + "s2\007triggerB\020\n\016build_template\"\334\001\n\022GitHubE" - + "ventsConfig\022\033\n\017installation_id\030\001 \001(\003B\002\030\001" - + "\022\r\n\005owner\030\006 \001(\t\022\014\n\004name\030\007 \001(\t\022H\n\014pull_re" - + "quest\030\004 \001(\01320.google.devtools.cloudbuild" - + ".v1.PullRequestFilterH\000\0229\n\004push\030\005 \001(\0132)." - + "google.devtools.cloudbuild.v1.PushFilter" - + "H\000B\007\n\005event\"\377\002\n\014PubsubConfig\022@\n\014subscrip" - + "tion\030\001 \001(\tB*\340A\003\372A$\n\"pubsub.googleapis.co" - + "m/Subscription\022/\n\005topic\030\002 \001(\tB \372A\035\n\033pubs" - + "ub.googleapis.com/Topic\022E\n\025service_accou" - + "nt_email\030\003 \001(\tB&\372A#\n!iam.googleapis.com/" - + "ServiceAccount\022@\n\005state\030\004 \001(\01621.google.d" - + "evtools.cloudbuild.v1.PubsubConfig.State" - + "\"s\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\006\n\002OK\020\001" - + "\022\030\n\024SUBSCRIPTION_DELETED\020\002\022\021\n\rTOPIC_DELE" - + "TED\020\003\022\036\n\032SUBSCRIPTION_MISCONFIGURED\020\004\"\343\001" - + "\n\rWebhookConfig\022D\n\006secret\030\003 \001(\tB2\340A\002\372A,\n" - + "*secretmanager.googleapis.com/SecretVers" - + "ionH\000\022A\n\005state\030\004 \001(\01622.google.devtools.c" - + "loudbuild.v1.WebhookConfig.State\":\n\005Stat" - + "e\022\025\n\021STATE_UNSPECIFIED\020\000\022\006\n\002OK\020\001\022\022\n\016SECR" - + "ET_DELETED\020\002B\r\n\013auth_method\"\224\002\n\021PullRequ" - + "estFilter\022\020\n\006branch\030\002 \001(\tH\000\022X\n\017comment_c" - + "ontrol\030\005 \001(\0162?.google.devtools.cloudbuil" - + "d.v1.PullRequestFilter.CommentControl\022\024\n" - + "\014invert_regex\030\006 \001(\010\"r\n\016CommentControl\022\025\n" - + "\021COMMENTS_DISABLED\020\000\022\024\n\020COMMENTS_ENABLED" - + "\020\001\0223\n/COMMENTS_ENABLED_FOR_EXTERNAL_CONT" - + "RIBUTORS_ONLY\020\002B\t\n\007git_ref\"N\n\nPushFilter" - + "\022\020\n\006branch\030\002 \001(\tH\000\022\r\n\003tag\030\003 \001(\tH\000\022\024\n\014inv" - + "ert_regex\030\004 \001(\010B\t\n\007git_ref\"\264\001\n\031CreateBui" - + "ldTriggerRequest\022;\n\006parent\030\003 \001(\tB+\372A(\022&c" - + "loudbuild.googleapis.com/BuildTrigger\022\027\n" - + "\nproject_id\030\001 \001(\tB\003\340A\002\022A\n\007trigger\030\002 \001(\0132" - + "+.google.devtools.cloudbuild.v1.BuildTri" - + "ggerB\003\340A\002\"\205\001\n\026GetBuildTriggerRequest\0229\n\004" - + "name\030\003 \001(\tB+\372A(\n&cloudbuild.googleapis.c" - + "om/BuildTrigger\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002" - + "\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A\002\"\227\001\n\030ListBuildT" - + "riggersRequest\022;\n\006parent\030\004 \001(\tB+\372A(\022&clo" - + "udbuild.googleapis.com/BuildTrigger\022\027\n\np" - + "roject_id\030\001 \001(\tB\003\340A\002\022\021\n\tpage_size\030\002 \001(\005\022" - + "\022\n\npage_token\030\003 \001(\t\"s\n\031ListBuildTriggers" - + "Response\022=\n\010triggers\030\001 \003(\0132+.google.devt" - + "ools.cloudbuild.v1.BuildTrigger\022\027\n\017next_" - + "page_token\030\002 \001(\t\"\210\001\n\031DeleteBuildTriggerR" - + "equest\0229\n\004name\030\003 \001(\tB+\372A(\n&cloudbuild.go" - + "ogleapis.com/BuildTrigger\022\027\n\nproject_id\030" - + "\001 \001(\tB\003\340A\002\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A\002\"\220\001\n\031" - + "UpdateBuildTriggerRequest\022\027\n\nproject_id\030" - + "\001 \001(\tB\003\340A\002\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A\002\022A\n\007t" - + "rigger\030\003 \001(\0132+.google.devtools.cloudbuil" - + "d.v1.BuildTriggerB\003\340A\002\"\334\t\n\014BuildOptions\022" - + "L\n\026source_provenance_hash\030\001 \003(\0162,.google" - + ".devtools.cloudbuild.v1.Hash.HashType\022Y\n" - + "\027requested_verify_option\030\002 \001(\01628.google." - + "devtools.cloudbuild.v1.BuildOptions.Veri" - + "fyOption\022M\n\014machine_type\030\003 \001(\01627.google." - + "devtools.cloudbuild.v1.BuildOptions.Mach" - + "ineType\022\024\n\014disk_size_gb\030\006 \001(\003\022[\n\023substit" - + "ution_option\030\004 \001(\0162>.google.devtools.clo" - + "udbuild.v1.BuildOptions.SubstitutionOpti" - + "on\022\035\n\025dynamic_substitutions\030\021 \001(\010\022\\\n\024log" - + "_streaming_option\030\005 \001(\0162>.google.devtool" - + "s.cloudbuild.v1.BuildOptions.LogStreamin" - + "gOption\022\027\n\013worker_pool\030\007 \001(\tB\002\030\001\022I\n\004pool" - + "\030\023 \001(\01326.google.devtools.cloudbuild.v1.B" - + "uildOptions.PoolOptionB\003\340A\001\022H\n\007logging\030\013" - + " \001(\01627.google.devtools.cloudbuild.v1.Bui" - + "ldOptions.LoggingMode\022\013\n\003env\030\014 \003(\t\022\022\n\nse" - + "cret_env\030\r \003(\t\0226\n\007volumes\030\016 \003(\0132%.google" - + ".devtools.cloudbuild.v1.Volume\032E\n\nPoolOp" - + "tion\0227\n\004name\030\001 \001(\tB)\372A&\n$cloudbuild.goog" - + "leapis.com/WorkerPool\".\n\014VerifyOption\022\020\n" - + "\014NOT_VERIFIED\020\000\022\014\n\010VERIFIED\020\001\"h\n\013Machine" - + "Type\022\017\n\013UNSPECIFIED\020\000\022\020\n\014N1_HIGHCPU_8\020\001\022" - + "\021\n\rN1_HIGHCPU_32\020\002\022\020\n\014E2_HIGHCPU_8\020\005\022\021\n\r" - + "E2_HIGHCPU_32\020\006\"5\n\022SubstitutionOption\022\016\n" - + "\nMUST_MATCH\020\000\022\017\n\013ALLOW_LOOSE\020\001\"G\n\022LogStr" - + "eamingOption\022\022\n\016STREAM_DEFAULT\020\000\022\r\n\tSTRE" - + "AM_ON\020\001\022\016\n\nSTREAM_OFF\020\002\"|\n\013LoggingMode\022\027" - + "\n\023LOGGING_UNSPECIFIED\020\000\022\n\n\006LEGACY\020\001\022\014\n\010G" - + "CS_ONLY\020\002\022\030\n\020STACKDRIVER_ONLY\020\003\032\002\010\001\022\026\n\022C" - + "LOUD_LOGGING_ONLY\020\005\022\010\n\004NONE\020\004\"\205\001\n\034Receiv" - + "eTriggerWebhookRequest\022\014\n\004name\030\005 \001(\t\022\"\n\004" - + "body\030\001 \001(\0132\024.google.api.HttpBody\022\022\n\nproj" - + "ect_id\030\002 \001(\t\022\017\n\007trigger\030\003 \001(\t\022\016\n\006secret\030" - + "\004 \001(\t\"\037\n\035ReceiveTriggerWebhookResponse\"\210" - + "\006\n\nWorkerPool\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\024\n\014disp" - + "lay_name\030\002 \001(\t\022\020\n\003uid\030\003 \001(\tB\003\340A\003\022O\n\013anno" - + "tations\030\004 \003(\0132:.google.devtools.cloudbui" - + "ld.v1.WorkerPool.AnnotationsEntry\0224\n\013cre" - + "ate_time\030\005 \001(\0132\032.google.protobuf.Timesta" - + "mpB\003\340A\003\0224\n\013update_time\030\006 \001(\0132\032.google.pr" - + "otobuf.TimestampB\003\340A\003\0224\n\013delete_time\030\007 \001" - + "(\0132\032.google.protobuf.TimestampB\003\340A\003\022C\n\005s" - + "tate\030\010 \001(\0162/.google.devtools.cloudbuild." - + "v1.WorkerPool.StateB\003\340A\003\022T\n\026private_pool" - + "_v1_config\030\014 \001(\01322.google.devtools.cloud" - + "build.v1.PrivatePoolV1ConfigH\000\022\021\n\004etag\030\013" - + " \001(\tB\003\340A\003\0322\n\020AnnotationsEntry\022\013\n\003key\030\001 \001" - + "(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"T\n\005State\022\025\n\021STATE_" - + "UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\013\n\007RUNNING\020\002" - + "\022\014\n\010DELETING\020\003\022\013\n\007DELETED\020\004:\211\001\352A\205\001\n$clou" - + "dbuild.googleapis.com/WorkerPool\022Aprojec" - + "ts/{project}/locations/{location}/worker" - + "Pools/{worker_pool}*\013workerPools2\nworker" - + "PoolR\001\001B\010\n\006config\"\226\004\n\023PrivatePoolV1Confi" - + "g\022V\n\rworker_config\030\001 \001(\0132?.google.devtoo" - + "ls.cloudbuild.v1.PrivatePoolV1Config.Wor" - + "kerConfig\022X\n\016network_config\030\002 \001(\0132@.goog" + + "ect_id\030\001 \001(\tB\003\340A\002\022\021\n\tpage_size\030\002 \001(\005\022\022\n\n" + + "page_token\030\003 \001(\t\022\016\n\006filter\030\010 \001(\t\"c\n\022List" + + "BuildsResponse\0224\n\006builds\030\001 \003(\0132$.google." + + "devtools.cloudbuild.v1.Build\022\027\n\017next_pag" + + "e_token\030\002 \001(\t\"r\n\022CancelBuildRequest\0222\n\004n" + + "ame\030\004 \001(\tB$\372A!\n\037cloudbuild.googleapis.co" + + "m/Build\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002\022\017\n\002id\030\002" + + " \001(\tB\003\340A\002\"p\n\023ApproveBuildRequest\022\021\n\004name" + + "\030\001 \001(\tB\003\340A\002\022F\n\017approval_result\030\002 \001(\0132-.g" + + "oogle.devtools.cloudbuild.v1.ApprovalRes" + + "ult\"\267\002\n\rBuildApproval\022F\n\005state\030\001 \001(\01622.g" + + "oogle.devtools.cloudbuild.v1.BuildApprov" + + "al.StateB\003\340A\003\022B\n\006config\030\002 \001(\0132-.google.d" + + "evtools.cloudbuild.v1.ApprovalConfigB\003\340A" + + "\003\022B\n\006result\030\003 \001(\0132-.google.devtools.clou" + + "dbuild.v1.ApprovalResultB\003\340A\003\"V\n\005State\022\025" + + "\n\021STATE_UNSPECIFIED\020\000\022\013\n\007PENDING\020\001\022\014\n\010AP" + + "PROVED\020\002\022\014\n\010REJECTED\020\003\022\r\n\tCANCELLED\020\005\"+\n" + + "\016ApprovalConfig\022\031\n\021approval_required\030\001 \001" + + "(\010\"\240\002\n\016ApprovalResult\022\035\n\020approver_accoun" + + "t\030\002 \001(\tB\003\340A\003\0226\n\rapproval_time\030\003 \001(\0132\032.go" + + "ogle.protobuf.TimestampB\003\340A\003\022M\n\010decision" + + "\030\004 \001(\01626.google.devtools.cloudbuild.v1.A" + + "pprovalResult.DecisionB\003\340A\002\022\024\n\007comment\030\005" + + " \001(\tB\003\340A\001\022\020\n\003url\030\006 \001(\tB\003\340A\001\"@\n\010Decision\022" + + "\030\n\024DECISION_UNSPECIFIED\020\000\022\014\n\010APPROVED\020\001\022" + + "\014\n\010REJECTED\020\002\"\252\007\n\014BuildTrigger\022\025\n\rresour" + + "ce_name\030\" \001(\t\022\017\n\002id\030\001 \001(\tB\003\340A\003\022\023\n\013descri" + + "ption\030\n \001(\t\022\014\n\004name\030\025 \001(\t\022\014\n\004tags\030\023 \003(\t\022" + + "C\n\020trigger_template\030\007 \001(\0132).google.devto" + + "ols.cloudbuild.v1.RepoSource\022A\n\006github\030\r" + + " \001(\01321.google.devtools.cloudbuild.v1.Git" + + "HubEventsConfig\022B\n\rpubsub_config\030\035 \001(\0132+" + + ".google.devtools.cloudbuild.v1.PubsubCon" + + "fig\022D\n\016webhook_config\030\037 \001(\0132,.google.dev" + + "tools.cloudbuild.v1.WebhookConfig\022\024\n\naut" + + "odetect\030\022 \001(\010H\000\0225\n\005build\030\004 \001(\0132$.google." + + "devtools.cloudbuild.v1.BuildH\000\022\022\n\010filena" + + "me\030\010 \001(\tH\000\0224\n\013create_time\030\005 \001(\0132\032.google" + + ".protobuf.TimestampB\003\340A\003\022\020\n\010disabled\030\t \001" + + "(\010\022U\n\rsubstitutions\030\013 \003(\0132>.google.devto" + + "ols.cloudbuild.v1.BuildTrigger.Substitut" + + "ionsEntry\022\025\n\rignored_files\030\017 \003(\t\022\026\n\016incl" + + "uded_files\030\020 \003(\t\022\023\n\006filter\030\036 \001(\tB\003\340A\001\0324\n" + + "\022SubstitutionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005valu" + + "e\030\002 \001(\t:\0028\001:\242\001\352A\236\001\n&cloudbuild.googleapi" + + "s.com/BuildTrigger\022%projects/{project}/t" + + "riggers/{trigger}\022:projects/{project}/lo" + + "cations/{location}/triggers/{trigger}*\010t" + + "riggers2\007triggerB\020\n\016build_template\"\334\001\n\022G" + + "itHubEventsConfig\022\033\n\017installation_id\030\001 \001" + + "(\003B\002\030\001\022\r\n\005owner\030\006 \001(\t\022\014\n\004name\030\007 \001(\t\022H\n\014p" + + "ull_request\030\004 \001(\01320.google.devtools.clou" + + "dbuild.v1.PullRequestFilterH\000\0229\n\004push\030\005 " + + "\001(\0132).google.devtools.cloudbuild.v1.Push" + + "FilterH\000B\007\n\005event\"\377\002\n\014PubsubConfig\022@\n\014su" + + "bscription\030\001 \001(\tB*\340A\003\372A$\n\"pubsub.googlea" + + "pis.com/Subscription\022/\n\005topic\030\002 \001(\tB \372A\035" + + "\n\033pubsub.googleapis.com/Topic\022E\n\025service" + + "_account_email\030\003 \001(\tB&\372A#\n!iam.googleapi" + + "s.com/ServiceAccount\022@\n\005state\030\004 \001(\01621.go" + + "ogle.devtools.cloudbuild.v1.PubsubConfig" + + ".State\"s\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\006" + + "\n\002OK\020\001\022\030\n\024SUBSCRIPTION_DELETED\020\002\022\021\n\rTOPI" + + "C_DELETED\020\003\022\036\n\032SUBSCRIPTION_MISCONFIGURE" + + "D\020\004\"\343\001\n\rWebhookConfig\022D\n\006secret\030\003 \001(\tB2\340" + + "A\002\372A,\n*secretmanager.googleapis.com/Secr" + + "etVersionH\000\022A\n\005state\030\004 \001(\01622.google.devt" + + "ools.cloudbuild.v1.WebhookConfig.State\":" + + "\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\006\n\002OK\020\001\022\022" + + "\n\016SECRET_DELETED\020\002B\r\n\013auth_method\"\224\002\n\021Pu" + + "llRequestFilter\022\020\n\006branch\030\002 \001(\tH\000\022X\n\017com" + + "ment_control\030\005 \001(\0162?.google.devtools.clo" + + "udbuild.v1.PullRequestFilter.CommentCont" + + "rol\022\024\n\014invert_regex\030\006 \001(\010\"r\n\016CommentCont" + + "rol\022\025\n\021COMMENTS_DISABLED\020\000\022\024\n\020COMMENTS_E" + + "NABLED\020\001\0223\n/COMMENTS_ENABLED_FOR_EXTERNA" + + "L_CONTRIBUTORS_ONLY\020\002B\t\n\007git_ref\"N\n\nPush" + + "Filter\022\020\n\006branch\030\002 \001(\tH\000\022\r\n\003tag\030\003 \001(\tH\000\022" + + "\024\n\014invert_regex\030\004 \001(\010B\t\n\007git_ref\"\264\001\n\031Cre" + + "ateBuildTriggerRequest\022;\n\006parent\030\003 \001(\tB+" + + "\372A(\022&cloudbuild.googleapis.com/BuildTrig" + + "ger\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002\022A\n\007trigger\030" + + "\002 \001(\0132+.google.devtools.cloudbuild.v1.Bu" + + "ildTriggerB\003\340A\002\"\205\001\n\026GetBuildTriggerReque" + + "st\0229\n\004name\030\003 \001(\tB+\372A(\n&cloudbuild.google" + + "apis.com/BuildTrigger\022\027\n\nproject_id\030\001 \001(" + + "\tB\003\340A\002\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A\002\"\227\001\n\030List" + + "BuildTriggersRequest\022;\n\006parent\030\004 \001(\tB+\372A" + + "(\022&cloudbuild.googleapis.com/BuildTrigge" + + "r\022\027\n\nproject_id\030\001 \001(\tB\003\340A\002\022\021\n\tpage_size\030" + + "\002 \001(\005\022\022\n\npage_token\030\003 \001(\t\"s\n\031ListBuildTr" + + "iggersResponse\022=\n\010triggers\030\001 \003(\0132+.googl" + + "e.devtools.cloudbuild.v1.BuildTrigger\022\027\n" + + "\017next_page_token\030\002 \001(\t\"\210\001\n\031DeleteBuildTr" + + "iggerRequest\0229\n\004name\030\003 \001(\tB+\372A(\n&cloudbu" + + "ild.googleapis.com/BuildTrigger\022\027\n\nproje" + + "ct_id\030\001 \001(\tB\003\340A\002\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A" + + "\002\"\220\001\n\031UpdateBuildTriggerRequest\022\027\n\nproje" + + "ct_id\030\001 \001(\tB\003\340A\002\022\027\n\ntrigger_id\030\002 \001(\tB\003\340A" + + "\002\022A\n\007trigger\030\003 \001(\0132+.google.devtools.clo" + + "udbuild.v1.BuildTriggerB\003\340A\002\"\334\t\n\014BuildOp" + + "tions\022L\n\026source_provenance_hash\030\001 \003(\0162,." + + "google.devtools.cloudbuild.v1.Hash.HashT" + + "ype\022Y\n\027requested_verify_option\030\002 \001(\01628.g" + + "oogle.devtools.cloudbuild.v1.BuildOption" + + "s.VerifyOption\022M\n\014machine_type\030\003 \001(\01627.g" + + "oogle.devtools.cloudbuild.v1.BuildOption" + + "s.MachineType\022\024\n\014disk_size_gb\030\006 \001(\003\022[\n\023s" + + "ubstitution_option\030\004 \001(\0162>.google.devtoo" + + "ls.cloudbuild.v1.BuildOptions.Substituti" + + "onOption\022\035\n\025dynamic_substitutions\030\021 \001(\010\022" + + "\\\n\024log_streaming_option\030\005 \001(\0162>.google.d" + + "evtools.cloudbuild.v1.BuildOptions.LogSt" + + "reamingOption\022\027\n\013worker_pool\030\007 \001(\tB\002\030\001\022I" + + "\n\004pool\030\023 \001(\01326.google.devtools.cloudbuil" + + "d.v1.BuildOptions.PoolOptionB\003\340A\001\022H\n\007log" + + "ging\030\013 \001(\01627.google.devtools.cloudbuild." + + "v1.BuildOptions.LoggingMode\022\013\n\003env\030\014 \003(\t" + + "\022\022\n\nsecret_env\030\r \003(\t\0226\n\007volumes\030\016 \003(\0132%." + + "google.devtools.cloudbuild.v1.Volume\032E\n\n" + + "PoolOption\0227\n\004name\030\001 \001(\tB)\372A&\n$cloudbuil" + + "d.googleapis.com/WorkerPool\".\n\014VerifyOpt" + + "ion\022\020\n\014NOT_VERIFIED\020\000\022\014\n\010VERIFIED\020\001\"h\n\013M" + + "achineType\022\017\n\013UNSPECIFIED\020\000\022\020\n\014N1_HIGHCP" + + "U_8\020\001\022\021\n\rN1_HIGHCPU_32\020\002\022\020\n\014E2_HIGHCPU_8" + + "\020\005\022\021\n\rE2_HIGHCPU_32\020\006\"5\n\022SubstitutionOpt" + + "ion\022\016\n\nMUST_MATCH\020\000\022\017\n\013ALLOW_LOOSE\020\001\"G\n\022" + + "LogStreamingOption\022\022\n\016STREAM_DEFAULT\020\000\022\r" + + "\n\tSTREAM_ON\020\001\022\016\n\nSTREAM_OFF\020\002\"|\n\013Logging" + + "Mode\022\027\n\023LOGGING_UNSPECIFIED\020\000\022\n\n\006LEGACY\020" + + "\001\022\014\n\010GCS_ONLY\020\002\022\030\n\020STACKDRIVER_ONLY\020\003\032\002\010" + + "\001\022\026\n\022CLOUD_LOGGING_ONLY\020\005\022\010\n\004NONE\020\004\"\205\001\n\034" + + "ReceiveTriggerWebhookRequest\022\014\n\004name\030\005 \001" + + "(\t\022\"\n\004body\030\001 \001(\0132\024.google.api.HttpBody\022\022" + + "\n\nproject_id\030\002 \001(\t\022\017\n\007trigger\030\003 \001(\t\022\016\n\006s" + + "ecret\030\004 \001(\t\"\037\n\035ReceiveTriggerWebhookResp" + + "onse\"\210\006\n\nWorkerPool\022\021\n\004name\030\001 \001(\tB\003\340A\003\022\024" + + "\n\014display_name\030\002 \001(\t\022\020\n\003uid\030\003 \001(\tB\003\340A\003\022O" + + "\n\013annotations\030\004 \003(\0132:.google.devtools.cl" + + "oudbuild.v1.WorkerPool.AnnotationsEntry\022" + + "4\n\013create_time\030\005 \001(\0132\032.google.protobuf.T" + + "imestampB\003\340A\003\0224\n\013update_time\030\006 \001(\0132\032.goo" + + "gle.protobuf.TimestampB\003\340A\003\0224\n\013delete_ti" + + "me\030\007 \001(\0132\032.google.protobuf.TimestampB\003\340A" + + "\003\022C\n\005state\030\010 \001(\0162/.google.devtools.cloud" + + "build.v1.WorkerPool.StateB\003\340A\003\022T\n\026privat" + + "e_pool_v1_config\030\014 \001(\01322.google.devtools" + + ".cloudbuild.v1.PrivatePoolV1ConfigH\000\022\021\n\004" + + "etag\030\013 \001(\tB\003\340A\003\0322\n\020AnnotationsEntry\022\013\n\003k" + + "ey\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"T\n\005State\022\025\n\021" + + "STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001\022\013\n\007RUN" + + "NING\020\002\022\014\n\010DELETING\020\003\022\013\n\007DELETED\020\004:\211\001\352A\205\001" + + "\n$cloudbuild.googleapis.com/WorkerPool\022A" + + "projects/{project}/locations/{location}/" + + "workerPools/{worker_pool}*\013workerPools2\n" + + "workerPoolR\001\001B\010\n\006config\"\226\004\n\023PrivatePoolV" + + "1Config\022V\n\rworker_config\030\001 \001(\0132?.google." + + "devtools.cloudbuild.v1.PrivatePoolV1Conf" + + "ig.WorkerConfig\022X\n\016network_config\030\002 \001(\0132" + + "@.google.devtools.cloudbuild.v1.PrivateP" + + "oolV1Config.NetworkConfig\032:\n\014WorkerConfi" + + "g\022\024\n\014machine_type\030\001 \001(\t\022\024\n\014disk_size_gb\030" + + "\002 \001(\003\032\220\002\n\rNetworkConfig\022A\n\016peered_networ" + + "k\030\001 \001(\tB)\340A\005\340A\002\372A \n\036compute.googleapis.c" + + "om/Network\022d\n\regress_option\030\002 \001(\0162M.goog" + "le.devtools.cloudbuild.v1.PrivatePoolV1C" - + "onfig.NetworkConfig\032:\n\014WorkerConfig\022\024\n\014m" - + "achine_type\030\001 \001(\t\022\024\n\014disk_size_gb\030\002 \001(\003\032" - + "\220\002\n\rNetworkConfig\022A\n\016peered_network\030\001 \001(" - + "\tB)\340A\005\340A\002\372A \n\036compute.googleapis.com/Net" - + "work\022d\n\regress_option\030\002 \001(\0162M.google.dev" - + "tools.cloudbuild.v1.PrivatePoolV1Config." - + "NetworkConfig.EgressOption\"V\n\014EgressOpti" - + "on\022\035\n\031EGRESS_OPTION_UNSPECIFIED\020\000\022\024\n\020NO_" - + "PUBLIC_EGRESS\020\001\022\021\n\rPUBLIC_EGRESS\020\002\"\320\001\n\027C" - + "reateWorkerPoolRequest\0229\n\006parent\030\001 \001(\tB)" - + "\340A\002\372A#\n!locations.googleapis.com/Locatio" - + "n\022C\n\013worker_pool\030\002 \001(\0132).google.devtools" - + ".cloudbuild.v1.WorkerPoolB\003\340A\002\022\036\n\016worker" - + "_pool_id\030\003 \001(\tB\006\340A\005\340A\002\022\025\n\rvalidate_only\030" - + "\004 \001(\010\"R\n\024GetWorkerPoolRequest\022:\n\004name\030\001 " - + "\001(\tB,\340A\002\372A&\n$cloudbuild.googleapis.com/W" - + "orkerPool\"\221\001\n\027DeleteWorkerPoolRequest\022:\n" - + "\004name\030\001 \001(\tB,\340A\002\372A&\n$cloudbuild.googleap" - + "is.com/WorkerPool\022\014\n\004etag\030\002 \001(\t\022\025\n\rallow" - + "_missing\030\003 \001(\010\022\025\n\rvalidate_only\030\004 \001(\010\"\246\001" - + "\n\027UpdateWorkerPoolRequest\022C\n\013worker_pool" - + "\030\001 \001(\0132).google.devtools.cloudbuild.v1.W" - + "orkerPoolB\003\340A\002\022/\n\013update_mask\030\002 \001(\0132\032.go" - + "ogle.protobuf.FieldMask\022\025\n\rvalidate_only" - + "\030\004 \001(\010\"z\n\026ListWorkerPoolsRequest\0229\n\006pare" - + "nt\030\001 \001(\tB)\340A\002\372A#\n!locations.googleapis.c" - + "om/Location\022\021\n\tpage_size\030\002 \001(\005\022\022\n\npage_t" - + "oken\030\003 \001(\t\"s\n\027ListWorkerPoolsResponse\022?\n" - + "\014worker_pools\030\001 \003(\0132).google.devtools.cl" - + "oudbuild.v1.WorkerPool\022\027\n\017next_page_toke" - + "n\030\002 \001(\t\"\307\001\n!CreateWorkerPoolOperationMet" - + "adata\022>\n\013worker_pool\030\001 \001(\tB)\372A&\n$cloudbu" - + "ild.googleapis.com/WorkerPool\022/\n\013create_" - + "time\030\002 \001(\0132\032.google.protobuf.Timestamp\0221" - + "\n\rcomplete_time\030\003 \001(\0132\032.google.protobuf." - + "Timestamp\"\307\001\n!UpdateWorkerPoolOperationM" - + "etadata\022>\n\013worker_pool\030\001 \001(\tB)\372A&\n$cloud" - + "build.googleapis.com/WorkerPool\022/\n\013creat" - + "e_time\030\002 \001(\0132\032.google.protobuf.Timestamp" - + "\0221\n\rcomplete_time\030\003 \001(\0132\032.google.protobu" - + "f.Timestamp\"\307\001\n!DeleteWorkerPoolOperatio" - + "nMetadata\022>\n\013worker_pool\030\001 \001(\tB)\372A&\n$clo" - + "udbuild.googleapis.com/WorkerPool\022/\n\013cre" - + "ate_time\030\002 \001(\0132\032.google.protobuf.Timesta" - + "mp\0221\n\rcomplete_time\030\003 \001(\0132\032.google.proto" - + "buf.Timestamp2\254!\n\nCloudBuild\022\373\001\n\013CreateB" - + "uild\0221.google.devtools.cloudbuild.v1.Cre" - + "ateBuildRequest\032\035.google.longrunning.Ope" - + "ration\"\231\001\202\323\344\223\002^\" /v1/projects/{project_i" - + "d}/builds:\005buildZ3\"*/v1/{parent=projects" - + "/*/locations/*}/builds:\005build\332A\020project_" - + "id,build\312A\037\n\005Build\022\026BuildOperationMetada" - + "ta\022\315\001\n\010GetBuild\022..google.devtools.cloudb" - + "uild.v1.GetBuildRequest\032$.google.devtool" - + "s.cloudbuild.v1.Build\"k\202\323\344\223\002U\022%/v1/proje" - + "cts/{project_id}/builds/{id}Z,\022*/v1/{nam" - + "e=projects/*/locations/*/builds/*}\332A\rpro" - + "ject_id,id\022\335\001\n\nListBuilds\0220.google.devto" - + "ols.cloudbuild.v1.ListBuildsRequest\0321.go" - + "ogle.devtools.cloudbuild.v1.ListBuildsRe" - + "sponse\"j\202\323\344\223\002P\022 /v1/projects/{project_id" - + "}/buildsZ,\022*/v1/{parent=projects/*/locat" - + "ions/*}/builds\332A\021project_id,filter\022\347\001\n\013C" - + "ancelBuild\0221.google.devtools.cloudbuild." - + "v1.CancelBuildRequest\032$.google.devtools." - + "cloudbuild.v1.Build\"\177\202\323\344\223\002i\",/v1/project" - + "s/{project_id}/builds/{id}:cancel:\001*Z6\"1" - + "/v1/{name=projects/*/locations/*/builds/" - + "*}:cancel:\001*\332A\rproject_id,id\022\377\001\n\nRetryBu" - + "ild\0220.google.devtools.cloudbuild.v1.Retr" - + "yBuildRequest\032\035.google.longrunning.Opera" - + "tion\"\237\001\202\323\344\223\002g\"+/v1/projects/{project_id}" - + "/builds/{id}:retry:\001*Z5\"0/v1/{name=proje" - + "cts/*/locations/*/builds/*}:retry:\001*\332A\rp" - + "roject_id,id\312A\037\n\005Build\022\026BuildOperationMe" - + "tadata\022\377\001\n\022CreateBuildTrigger\0228.google.d" - + "evtools.cloudbuild.v1.CreateBuildTrigger" - + "Request\032+.google.devtools.cloudbuild.v1." - + "BuildTrigger\"\201\001\202\323\344\223\002f\"\"/v1/projects/{pro" - + "ject_id}/triggers:\007triggerZ7\",/v1/{paren" - + "t=projects/*/locations/*}/triggers:\007trig" - + "ger\332A\022project_id,trigger\022\366\001\n\017GetBuildTri" - + "gger\0225.google.devtools.cloudbuild.v1.Get" - + "BuildTriggerRequest\032+.google.devtools.cl" - + "oudbuild.v1.BuildTrigger\"\177\202\323\344\223\002a\022//v1/pr" - + "ojects/{project_id}/triggers/{trigger_id" - + "}Z.\022,/v1/{name=projects/*/locations/*/tr" - + "iggers/*}\332A\025project_id,trigger_id\022\357\001\n\021Li" - + "stBuildTriggers\0227.google.devtools.cloudb" - + "uild.v1.ListBuildTriggersRequest\0328.googl" - + "e.devtools.cloudbuild.v1.ListBuildTrigge" - + "rsResponse\"g\202\323\344\223\002T\022\"/v1/projects/{projec" - + "t_id}/triggersZ.\022,/v1/{parent=projects/*", - "/locations/*}/triggers\332A\nproject_id\022\347\001\n\022" - + "DeleteBuildTrigger\0228.google.devtools.clo" - + "udbuild.v1.DeleteBuildTriggerRequest\032\026.g" - + "oogle.protobuf.Empty\"\177\202\323\344\223\002a*//v1/projec" - + "ts/{project_id}/triggers/{trigger_id}Z.*" - + ",/v1/{name=projects/*/locations/*/trigge" - + "rs/*}\332A\025project_id,trigger_id\022\251\002\n\022Update" - + "BuildTrigger\0228.google.devtools.cloudbuil" - + "d.v1.UpdateBuildTriggerRequest\032+.google." - + "devtools.cloudbuild.v1.BuildTrigger\"\253\001\202\323" - + "\344\223\002\204\0012//v1/projects/{project_id}/trigger" - + "s/{trigger_id}:\007triggerZH2=/v1/{trigger." - + "resource_name=projects/*/locations/*/tri" - + "ggers/*}:\007trigger\332A\035project_id,trigger_i" - + "d,trigger\022\245\002\n\017RunBuildTrigger\0225.google.d" - + "evtools.cloudbuild.v1.RunBuildTriggerReq" - + "uest\032\035.google.longrunning.Operation\"\273\001\202\323" - + "\344\223\002t\"3/v1/projects/{project_id}/triggers" - + "/{trigger_id}:run:\006sourceZ5\"0/v1/{name=p" - + "rojects/*/locations/*/triggers/*}:run:\001*" - + "\332A\034project_id,trigger_id,source\312A\037\n\005Buil" - + "d\022\026BuildOperationMetadata\022\225\002\n\025ReceiveTri" - + "ggerWebhook\022;.google.devtools.cloudbuild" - + ".v1.ReceiveTriggerWebhookRequest\032<.googl" - + "e.devtools.cloudbuild.v1.ReceiveTriggerW" - + "ebhookResponse\"\200\001\202\323\344\223\002z\"4/v1/projects/{p" - + "roject_id}/triggers/{trigger}:webhook:\004b" - + "odyZ<\"4/v1/{name=projects/*/locations/*/" - + "triggers/*}:webhook:\004body\022\206\002\n\020CreateWork" - + "erPool\0226.google.devtools.cloudbuild.v1.C" - + "reateWorkerPoolRequest\032\035.google.longrunn" - + "ing.Operation\"\232\001\202\323\344\223\002>\"//v1/{parent=proj" - + "ects/*/locations/*}/workerPools:\013worker_" - + "pool\332A!parent,worker_pool,worker_pool_id" - + "\312A/\n\nWorkerPool\022!CreateWorkerPoolOperati" - + "onMetadata\022\257\001\n\rGetWorkerPool\0223.google.de" - + "vtools.cloudbuild.v1.GetWorkerPoolReques" - + "t\032).google.devtools.cloudbuild.v1.Worker" - + "Pool\">\202\323\344\223\0021\022//v1/{name=projects/*/locat" - + "ions/*/workerPools/*}\332A\004name\022\346\001\n\020DeleteW" - + "orkerPool\0226.google.devtools.cloudbuild.v" - + "1.DeleteWorkerPoolRequest\032\035.google.longr" - + "unning.Operation\"{\202\323\344\223\0021*//v1/{name=proj" - + "ects/*/locations/*/workerPools/*}\332A\004name" - + "\312A:\n\025google.protobuf.Empty\022!DeleteWorker" - + "PoolOperationMetadata\022\210\002\n\020UpdateWorkerPo" - + "ol\0226.google.devtools.cloudbuild.v1.Updat" - + "eWorkerPoolRequest\032\035.google.longrunning." - + "Operation\"\234\001\202\323\344\223\002J2;/v1/{worker_pool.nam" - + "e=projects/*/locations/*/workerPools/*}:" - + "\013worker_pool\332A\027worker_pool,update_mask\312A" - + "/\n\nWorkerPool\022!UpdateWorkerPoolOperation" - + "Metadata\022\302\001\n\017ListWorkerPools\0225.google.de" - + "vtools.cloudbuild.v1.ListWorkerPoolsRequ" - + "est\0326.google.devtools.cloudbuild.v1.List" - + "WorkerPoolsResponse\"@\202\323\344\223\0021\022//v1/{parent" - + "=projects/*/locations/*}/workerPools\332A\006p" - + "arent\032M\312A\031cloudbuild.googleapis.com\322A.ht" - + "tps://www.googleapis.com/auth/cloud-plat" - + "formB\222\006\n\030com.google.cloudbuild.v1P\001ZGgoo" - + "gle.golang.org/genproto/googleapis/devto" - + "ols/cloudbuild/v1;cloudbuild\242\002\003GCB\252\002\032Goo" - + "gle.Cloud.CloudBuild.V1\352\002\030Google::Cloud:" - + ":Build::V1\352AN\n\036compute.googleapis.com/Ne" - + "twork\022,projects/{project}/global/network" - + "s/{network}\352AY\n!iam.googleapis.com/Servi" - + "ceAccount\0224projects/{project}/serviceAcc" - + "ounts/{service_account}\352AJ\n#secretmanage" - + "r.googleapis.com/Secret\022#projects/{proje" - + "ct}/secrets/{secret}\352Ad\n*secretmanager.g" - + "oogleapis.com/SecretVersion\0226projects/{p" - + "roject}/secrets/{secret}/versions/{versi" - + "on}\352Ap\n!cloudkms.googleapis.com/CryptoKe" - + "y\022Kprojects/{project}/locations/{locatio" - + "n}/keyRings/{keyring}/cryptoKeys/{key}\352A" - + "U\n\"pubsub.googleapis.com/Subscription\022/p" - + "rojects/{project}/subscriptions/{subscri" - + "ption}\352A@\n\033pubsub.googleapis.com/Topic\022!" - + "projects/{project}/topics/{topic}b\006proto" - + "3" + + "onfig.NetworkConfig.EgressOption\"V\n\014Egre" + + "ssOption\022\035\n\031EGRESS_OPTION_UNSPECIFIED\020\000\022" + + "\024\n\020NO_PUBLIC_EGRESS\020\001\022\021\n\rPUBLIC_EGRESS\020\002" + + "\"\320\001\n\027CreateWorkerPoolRequest\0229\n\006parent\030\001" + + " \001(\tB)\340A\002\372A#\n!locations.googleapis.com/L" + + "ocation\022C\n\013worker_pool\030\002 \001(\0132).google.de" + + "vtools.cloudbuild.v1.WorkerPoolB\003\340A\002\022\036\n\016" + + "worker_pool_id\030\003 \001(\tB\006\340A\005\340A\002\022\025\n\rvalidate" + + "_only\030\004 \001(\010\"R\n\024GetWorkerPoolRequest\022:\n\004n" + + "ame\030\001 \001(\tB,\340A\002\372A&\n$cloudbuild.googleapis" + + ".com/WorkerPool\"\221\001\n\027DeleteWorkerPoolRequ" + + "est\022:\n\004name\030\001 \001(\tB,\340A\002\372A&\n$cloudbuild.go" + + "ogleapis.com/WorkerPool\022\014\n\004etag\030\002 \001(\t\022\025\n" + + "\rallow_missing\030\003 \001(\010\022\025\n\rvalidate_only\030\004 " + + "\001(\010\"\246\001\n\027UpdateWorkerPoolRequest\022C\n\013worke" + + "r_pool\030\001 \001(\0132).google.devtools.cloudbuil" + + "d.v1.WorkerPoolB\003\340A\002\022/\n\013update_mask\030\002 \001(" + + "\0132\032.google.protobuf.FieldMask\022\025\n\rvalidat" + + "e_only\030\004 \001(\010\"z\n\026ListWorkerPoolsRequest\0229" + + "\n\006parent\030\001 \001(\tB)\340A\002\372A#\n!locations.google" + + "apis.com/Location\022\021\n\tpage_size\030\002 \001(\005\022\022\n\n" + + "page_token\030\003 \001(\t\"s\n\027ListWorkerPoolsRespo" + + "nse\022?\n\014worker_pools\030\001 \003(\0132).google.devto" + + "ols.cloudbuild.v1.WorkerPool\022\027\n\017next_pag" + + "e_token\030\002 \001(\t\"\307\001\n!CreateWorkerPoolOperat" + + "ionMetadata\022>\n\013worker_pool\030\001 \001(\tB)\372A&\n$c" + + "loudbuild.googleapis.com/WorkerPool\022/\n\013c" + + "reate_time\030\002 \001(\0132\032.google.protobuf.Times" + + "tamp\0221\n\rcomplete_time\030\003 \001(\0132\032.google.pro" + + "tobuf.Timestamp\"\307\001\n!UpdateWorkerPoolOper" + + "ationMetadata\022>\n\013worker_pool\030\001 \001(\tB)\372A&\n" + + "$cloudbuild.googleapis.com/WorkerPool\022/\n" + + "\013create_time\030\002 \001(\0132\032.google.protobuf.Tim" + + "estamp\0221\n\rcomplete_time\030\003 \001(\0132\032.google.p" + + "rotobuf.Timestamp\"\307\001\n!DeleteWorkerPoolOp" + + "erationMetadata\022>\n\013worker_pool\030\001 \001(\tB)\372A" + + "&\n$cloudbuild.googleapis.com/WorkerPool\022" + + "/\n\013create_time\030\002 \001(\0132\032.google.protobuf.T" + + "imestamp\0221\n\rcomplete_time\030\003 \001(\0132\032.google" + + ".protobuf.Timestamp2\266#\n\nCloudBuild\022\373\001\n\013C" + + "reateBuild\0221.google.devtools.cloudbuild." + + "v1.CreateBuildRequest\032\035.google.longrunni" + + "ng.Operation\"\231\001\202\323\344\223\002^\" /v1/projects/{pro" + + "ject_id}/builds:\005buildZ3\"*/v1/{parent=pr" + + "ojects/*/locations/*}/builds:\005build\332A\020pr" + + "oject_id,build\312A\037\n\005Build\022\026BuildOperation" + + "Metadata\022\315\001\n\010GetBuild\022..google.devtools." + + "cloudbuild.v1.GetBuildRequest\032$.google.d" + + "evtools.cloudbuild.v1.Build\"k\202\323\344\223\002U\022%/v1" + + "/projects/{project_id}/builds/{id}Z,\022*/v" + + "1/{name=projects/*/locations/*/builds/*}" + + "\332A\rproject_id,id\022\335\001\n\nListBuilds\0220.google" + + ".devtools.cloudbuild.v1.ListBuildsReques" + + "t\0321.google.devtools.cloudbuild.v1.ListBu" + + "ildsResponse\"j\202\323\344\223\002P\022 /v1/projects/{proj" + + "ect_id}/buildsZ,\022*/v1/{parent=projects/*" + + "/locations/*}/builds\332A\021project_id,filter" + + "\022\347\001\n\013CancelBuild\0221.google.devtools.cloud" + + "build.v1.CancelBuildRequest\032$.google.dev" + + "tools.cloudbuild.v1.Build\"\177\202\323\344\223\002i\",/v1/p" + + "rojects/{project_id}/builds/{id}:cancel:" + + "\001*Z6\"1/v1/{name=projects/*/locations/*/b" + + "uilds/*}:cancel:\001*\332A\rproject_id,id\022\377\001\n\nR" + + "etryBuild\0220.google.devtools.cloudbuild.v" + + "1.RetryBuildRequest\032\035.google.longrunning" + + ".Operation\"\237\001\202\323\344\223\002g\"+/v1/projects/{proje", + "ct_id}/builds/{id}:retry:\001*Z5\"0/v1/{name" + + "=projects/*/locations/*/builds/*}:retry:" + + "\001*\332A\rproject_id,id\312A\037\n\005Build\022\026BuildOpera" + + "tionMetadata\022\207\002\n\014ApproveBuild\0222.google.d" + + "evtools.cloudbuild.v1.ApproveBuildReques" + + "t\032\035.google.longrunning.Operation\"\243\001\202\323\344\223\002" + + "d\"&/v1/{name=projects/*/builds/*}:approv" + + "e:\001*Z7\"2/v1/{name=projects/*/locations/*" + + "/builds/*}:approve:\001*\332A\024name,approval_re" + + "sult\312A\037\n\005Build\022\026BuildOperationMetadata\022\377" + + "\001\n\022CreateBuildTrigger\0228.google.devtools." + + "cloudbuild.v1.CreateBuildTriggerRequest\032" + + "+.google.devtools.cloudbuild.v1.BuildTri" + + "gger\"\201\001\202\323\344\223\002f\"\"/v1/projects/{project_id}" + + "/triggers:\007triggerZ7\",/v1/{parent=projec" + + "ts/*/locations/*}/triggers:\007trigger\332A\022pr" + + "oject_id,trigger\022\366\001\n\017GetBuildTrigger\0225.g" + + "oogle.devtools.cloudbuild.v1.GetBuildTri" + + "ggerRequest\032+.google.devtools.cloudbuild" + + ".v1.BuildTrigger\"\177\202\323\344\223\002a\022//v1/projects/{" + + "project_id}/triggers/{trigger_id}Z.\022,/v1" + + "/{name=projects/*/locations/*/triggers/*" + + "}\332A\025project_id,trigger_id\022\357\001\n\021ListBuildT" + + "riggers\0227.google.devtools.cloudbuild.v1." + + "ListBuildTriggersRequest\0328.google.devtoo" + + "ls.cloudbuild.v1.ListBuildTriggersRespon" + + "se\"g\202\323\344\223\002T\022\"/v1/projects/{project_id}/tr" + + "iggersZ.\022,/v1/{parent=projects/*/locatio" + + "ns/*}/triggers\332A\nproject_id\022\347\001\n\022DeleteBu" + + "ildTrigger\0228.google.devtools.cloudbuild." + + "v1.DeleteBuildTriggerRequest\032\026.google.pr" + + "otobuf.Empty\"\177\202\323\344\223\002a*//v1/projects/{proj" + + "ect_id}/triggers/{trigger_id}Z.*,/v1/{na" + + "me=projects/*/locations/*/triggers/*}\332A\025" + + "project_id,trigger_id\022\251\002\n\022UpdateBuildTri" + + "gger\0228.google.devtools.cloudbuild.v1.Upd" + + "ateBuildTriggerRequest\032+.google.devtools" + + ".cloudbuild.v1.BuildTrigger\"\253\001\202\323\344\223\002\204\0012//" + + "v1/projects/{project_id}/triggers/{trigg" + + "er_id}:\007triggerZH2=/v1/{trigger.resource" + + "_name=projects/*/locations/*/triggers/*}" + + ":\007trigger\332A\035project_id,trigger_id,trigge" + + "r\022\245\002\n\017RunBuildTrigger\0225.google.devtools." + + "cloudbuild.v1.RunBuildTriggerRequest\032\035.g" + + "oogle.longrunning.Operation\"\273\001\202\323\344\223\002t\"3/v" + + "1/projects/{project_id}/triggers/{trigge" + + "r_id}:run:\006sourceZ5\"0/v1/{name=projects/" + + "*/locations/*/triggers/*}:run:\001*\332A\034proje" + + "ct_id,trigger_id,source\312A\037\n\005Build\022\026Build" + + "OperationMetadata\022\225\002\n\025ReceiveTriggerWebh" + + "ook\022;.google.devtools.cloudbuild.v1.Rece" + + "iveTriggerWebhookRequest\032<.google.devtoo" + + "ls.cloudbuild.v1.ReceiveTriggerWebhookRe" + + "sponse\"\200\001\202\323\344\223\002z\"4/v1/projects/{project_i" + + "d}/triggers/{trigger}:webhook:\004bodyZ<\"4/" + + "v1/{name=projects/*/locations/*/triggers" + + "/*}:webhook:\004body\022\206\002\n\020CreateWorkerPool\0226" + + ".google.devtools.cloudbuild.v1.CreateWor" + + "kerPoolRequest\032\035.google.longrunning.Oper" + + "ation\"\232\001\202\323\344\223\002>\"//v1/{parent=projects/*/l" + + "ocations/*}/workerPools:\013worker_pool\332A!p" + + "arent,worker_pool,worker_pool_id\312A/\n\nWor" + + "kerPool\022!CreateWorkerPoolOperationMetada" + + "ta\022\257\001\n\rGetWorkerPool\0223.google.devtools.c" + + "loudbuild.v1.GetWorkerPoolRequest\032).goog" + + "le.devtools.cloudbuild.v1.WorkerPool\">\202\323" + + "\344\223\0021\022//v1/{name=projects/*/locations/*/w" + + "orkerPools/*}\332A\004name\022\346\001\n\020DeleteWorkerPoo" + + "l\0226.google.devtools.cloudbuild.v1.Delete" + + "WorkerPoolRequest\032\035.google.longrunning.O" + + "peration\"{\202\323\344\223\0021*//v1/{name=projects/*/l" + + "ocations/*/workerPools/*}\332A\004name\312A:\n\025goo" + + "gle.protobuf.Empty\022!DeleteWorkerPoolOper" + + "ationMetadata\022\210\002\n\020UpdateWorkerPool\0226.goo" + + "gle.devtools.cloudbuild.v1.UpdateWorkerP" + + "oolRequest\032\035.google.longrunning.Operatio" + + "n\"\234\001\202\323\344\223\002J2;/v1/{worker_pool.name=projec" + + "ts/*/locations/*/workerPools/*}:\013worker_" + + "pool\332A\027worker_pool,update_mask\312A/\n\nWorke" + + "rPool\022!UpdateWorkerPoolOperationMetadata" + + "\022\302\001\n\017ListWorkerPools\0225.google.devtools.c" + + "loudbuild.v1.ListWorkerPoolsRequest\0326.go" + + "ogle.devtools.cloudbuild.v1.ListWorkerPo" + + "olsResponse\"@\202\323\344\223\0021\022//v1/{parent=project" + + "s/*/locations/*}/workerPools\332A\006parent\032M\312" + + "A\031cloudbuild.googleapis.com\322A.https://ww" + + "w.googleapis.com/auth/cloud-platformB\222\006\n" + + "\030com.google.cloudbuild.v1P\001ZGgoogle.gola" + + "ng.org/genproto/googleapis/devtools/clou" + + "dbuild/v1;cloudbuild\242\002\003GCB\252\002\032Google.Clou" + + "d.CloudBuild.V1\352\002\030Google::Cloud::Build::" + + "V1\352AN\n\036compute.googleapis.com/Network\022,p" + + "rojects/{project}/global/networks/{netwo" + + "rk}\352AY\n!iam.googleapis.com/ServiceAccoun" + + "t\0224projects/{project}/serviceAccounts/{s" + + "ervice_account}\352AJ\n#secretmanager.google" + + "apis.com/Secret\022#projects/{project}/secr" + + "ets/{secret}\352Ad\n*secretmanager.googleapi" + + "s.com/SecretVersion\0226projects/{project}/" + + "secrets/{secret}/versions/{version}\352Ap\n!" + + "cloudkms.googleapis.com/CryptoKey\022Kproje" + + "cts/{project}/locations/{location}/keyRi" + + "ngs/{keyring}/cryptoKeys/{key}\352AU\n\"pubsu" + + "b.googleapis.com/Subscription\022/projects/" + + "{project}/subscriptions/{subscription}\352A" + + "@\n\033pubsub.googleapis.com/Topic\022!projects" + + "/{project}/topics/{topic}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -951,6 +994,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Tags", "Secrets", "Timing", + "Approval", "ServiceAccount", "AvailableSecrets", "Warnings", @@ -1147,8 +1191,40 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Name", "ProjectId", "Id", }); - internal_static_google_devtools_cloudbuild_v1_BuildTrigger_descriptor = + internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor = getDescriptor().getMessageTypes().get(27); + internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_devtools_cloudbuild_v1_ApproveBuildRequest_descriptor, + new java.lang.String[] { + "Name", "ApprovalResult", + }); + internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor = + getDescriptor().getMessageTypes().get(28); + internal_static_google_devtools_cloudbuild_v1_BuildApproval_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_devtools_cloudbuild_v1_BuildApproval_descriptor, + new java.lang.String[] { + "State", "Config", "Result", + }); + internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor = + getDescriptor().getMessageTypes().get(29); + internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_devtools_cloudbuild_v1_ApprovalConfig_descriptor, + new java.lang.String[] { + "ApprovalRequired", + }); + internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor = + getDescriptor().getMessageTypes().get(30); + internal_static_google_devtools_cloudbuild_v1_ApprovalResult_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_devtools_cloudbuild_v1_ApprovalResult_descriptor, + new java.lang.String[] { + "ApproverAccount", "ApprovalTime", "Decision", "Comment", "Url", + }); + internal_static_google_devtools_cloudbuild_v1_BuildTrigger_descriptor = + getDescriptor().getMessageTypes().get(31); internal_static_google_devtools_cloudbuild_v1_BuildTrigger_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_BuildTrigger_descriptor, @@ -1184,7 +1260,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Key", "Value", }); internal_static_google_devtools_cloudbuild_v1_GitHubEventsConfig_descriptor = - getDescriptor().getMessageTypes().get(28); + getDescriptor().getMessageTypes().get(32); internal_static_google_devtools_cloudbuild_v1_GitHubEventsConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_GitHubEventsConfig_descriptor, @@ -1192,7 +1268,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "InstallationId", "Owner", "Name", "PullRequest", "Push", "Event", }); internal_static_google_devtools_cloudbuild_v1_PubsubConfig_descriptor = - getDescriptor().getMessageTypes().get(29); + getDescriptor().getMessageTypes().get(33); internal_static_google_devtools_cloudbuild_v1_PubsubConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_PubsubConfig_descriptor, @@ -1200,7 +1276,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Subscription", "Topic", "ServiceAccountEmail", "State", }); internal_static_google_devtools_cloudbuild_v1_WebhookConfig_descriptor = - getDescriptor().getMessageTypes().get(30); + getDescriptor().getMessageTypes().get(34); internal_static_google_devtools_cloudbuild_v1_WebhookConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_WebhookConfig_descriptor, @@ -1208,7 +1284,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Secret", "State", "AuthMethod", }); internal_static_google_devtools_cloudbuild_v1_PullRequestFilter_descriptor = - getDescriptor().getMessageTypes().get(31); + getDescriptor().getMessageTypes().get(35); internal_static_google_devtools_cloudbuild_v1_PullRequestFilter_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_PullRequestFilter_descriptor, @@ -1216,7 +1292,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Branch", "CommentControl", "InvertRegex", "GitRef", }); internal_static_google_devtools_cloudbuild_v1_PushFilter_descriptor = - getDescriptor().getMessageTypes().get(32); + getDescriptor().getMessageTypes().get(36); internal_static_google_devtools_cloudbuild_v1_PushFilter_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_PushFilter_descriptor, @@ -1224,7 +1300,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Branch", "Tag", "InvertRegex", "GitRef", }); internal_static_google_devtools_cloudbuild_v1_CreateBuildTriggerRequest_descriptor = - getDescriptor().getMessageTypes().get(33); + getDescriptor().getMessageTypes().get(37); internal_static_google_devtools_cloudbuild_v1_CreateBuildTriggerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_CreateBuildTriggerRequest_descriptor, @@ -1232,7 +1308,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "ProjectId", "Trigger", }); internal_static_google_devtools_cloudbuild_v1_GetBuildTriggerRequest_descriptor = - getDescriptor().getMessageTypes().get(34); + getDescriptor().getMessageTypes().get(38); internal_static_google_devtools_cloudbuild_v1_GetBuildTriggerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_GetBuildTriggerRequest_descriptor, @@ -1240,7 +1316,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", "ProjectId", "TriggerId", }); internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersRequest_descriptor = - getDescriptor().getMessageTypes().get(35); + getDescriptor().getMessageTypes().get(39); internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersRequest_descriptor, @@ -1248,7 +1324,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "ProjectId", "PageSize", "PageToken", }); internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersResponse_descriptor = - getDescriptor().getMessageTypes().get(36); + getDescriptor().getMessageTypes().get(40); internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ListBuildTriggersResponse_descriptor, @@ -1256,7 +1332,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Triggers", "NextPageToken", }); internal_static_google_devtools_cloudbuild_v1_DeleteBuildTriggerRequest_descriptor = - getDescriptor().getMessageTypes().get(37); + getDescriptor().getMessageTypes().get(41); internal_static_google_devtools_cloudbuild_v1_DeleteBuildTriggerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_DeleteBuildTriggerRequest_descriptor, @@ -1264,7 +1340,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", "ProjectId", "TriggerId", }); internal_static_google_devtools_cloudbuild_v1_UpdateBuildTriggerRequest_descriptor = - getDescriptor().getMessageTypes().get(38); + getDescriptor().getMessageTypes().get(42); internal_static_google_devtools_cloudbuild_v1_UpdateBuildTriggerRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_UpdateBuildTriggerRequest_descriptor, @@ -1272,7 +1348,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ProjectId", "TriggerId", "Trigger", }); internal_static_google_devtools_cloudbuild_v1_BuildOptions_descriptor = - getDescriptor().getMessageTypes().get(39); + getDescriptor().getMessageTypes().get(43); internal_static_google_devtools_cloudbuild_v1_BuildOptions_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_BuildOptions_descriptor, @@ -1302,7 +1378,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", }); internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookRequest_descriptor = - getDescriptor().getMessageTypes().get(40); + getDescriptor().getMessageTypes().get(44); internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookRequest_descriptor, @@ -1310,13 +1386,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", "Body", "ProjectId", "Trigger", "Secret", }); internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookResponse_descriptor = - getDescriptor().getMessageTypes().get(41); + getDescriptor().getMessageTypes().get(45); internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ReceiveTriggerWebhookResponse_descriptor, new java.lang.String[] {}); internal_static_google_devtools_cloudbuild_v1_WorkerPool_descriptor = - getDescriptor().getMessageTypes().get(42); + getDescriptor().getMessageTypes().get(46); internal_static_google_devtools_cloudbuild_v1_WorkerPool_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_WorkerPool_descriptor, @@ -1342,7 +1418,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Key", "Value", }); internal_static_google_devtools_cloudbuild_v1_PrivatePoolV1Config_descriptor = - getDescriptor().getMessageTypes().get(43); + getDescriptor().getMessageTypes().get(47); internal_static_google_devtools_cloudbuild_v1_PrivatePoolV1Config_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_PrivatePoolV1Config_descriptor, @@ -1370,7 +1446,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "PeeredNetwork", "EgressOption", }); internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolRequest_descriptor = - getDescriptor().getMessageTypes().get(44); + getDescriptor().getMessageTypes().get(48); internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolRequest_descriptor, @@ -1378,7 +1454,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "WorkerPool", "WorkerPoolId", "ValidateOnly", }); internal_static_google_devtools_cloudbuild_v1_GetWorkerPoolRequest_descriptor = - getDescriptor().getMessageTypes().get(45); + getDescriptor().getMessageTypes().get(49); internal_static_google_devtools_cloudbuild_v1_GetWorkerPoolRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_GetWorkerPoolRequest_descriptor, @@ -1386,7 +1462,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", }); internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolRequest_descriptor = - getDescriptor().getMessageTypes().get(46); + getDescriptor().getMessageTypes().get(50); internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolRequest_descriptor, @@ -1394,7 +1470,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Name", "Etag", "AllowMissing", "ValidateOnly", }); internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolRequest_descriptor = - getDescriptor().getMessageTypes().get(47); + getDescriptor().getMessageTypes().get(51); internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolRequest_descriptor, @@ -1402,7 +1478,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "WorkerPool", "UpdateMask", "ValidateOnly", }); internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsRequest_descriptor = - getDescriptor().getMessageTypes().get(48); + getDescriptor().getMessageTypes().get(52); internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsRequest_descriptor, @@ -1410,7 +1486,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Parent", "PageSize", "PageToken", }); internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsResponse_descriptor = - getDescriptor().getMessageTypes().get(49); + getDescriptor().getMessageTypes().get(53); internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_ListWorkerPoolsResponse_descriptor, @@ -1418,7 +1494,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "WorkerPools", "NextPageToken", }); internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolOperationMetadata_descriptor = - getDescriptor().getMessageTypes().get(50); + getDescriptor().getMessageTypes().get(54); internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolOperationMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_CreateWorkerPoolOperationMetadata_descriptor, @@ -1426,7 +1502,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "WorkerPool", "CreateTime", "CompleteTime", }); internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolOperationMetadata_descriptor = - getDescriptor().getMessageTypes().get(51); + getDescriptor().getMessageTypes().get(55); internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolOperationMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_UpdateWorkerPoolOperationMetadata_descriptor, @@ -1434,7 +1510,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "WorkerPool", "CreateTime", "CompleteTime", }); internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolOperationMetadata_descriptor = - getDescriptor().getMessageTypes().get(52); + getDescriptor().getMessageTypes().get(56); internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolOperationMetadata_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_devtools_cloudbuild_v1_DeleteWorkerPoolOperationMetadata_descriptor, diff --git a/proto-google-cloud-build-v1/src/main/proto/google/devtools/cloudbuild/v1/cloudbuild.proto b/proto-google-cloud-build-v1/src/main/proto/google/devtools/cloudbuild/v1/cloudbuild.proto index 0e2e44d6..6a932bae 100644 --- a/proto-google-cloud-build-v1/src/main/proto/google/devtools/cloudbuild/v1/cloudbuild.proto +++ b/proto-google-cloud-build-v1/src/main/proto/google/devtools/cloudbuild/v1/cloudbuild.proto @@ -176,6 +176,28 @@ service CloudBuild { }; } + // Approves or rejects a pending build. + // + // If approved, the returned LRO will be analogous to the LRO returned from + // a CreateBuild call. + // + // If rejected, the returned LRO will be immediately done. + rpc ApproveBuild(ApproveBuildRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/builds/*}:approve" + body: "*" + additional_bindings { + post: "/v1/{name=projects/*/locations/*/builds/*}:approve" + body: "*" + } + }; + option (google.api.method_signature) = "name,approval_result"; + option (google.longrunning.operation_info) = { + response_type: "Build" + metadata_type: "BuildOperationMetadata" + }; + } + // Creates a new `BuildTrigger`. // // This API is experimental. @@ -720,6 +742,10 @@ message Build { // Status of the build is unknown. STATUS_UNKNOWN = 0; + // Build has been created and is pending execution and queuing. It has not + // been queued. + PENDING = 10; + // Build or step is queued; work has not yet begun. QUEUED = 1; @@ -863,6 +889,10 @@ message Build { // these keys will not be included. map timing = 33 [(google.api.field_behavior) = OUTPUT_ONLY]; + // Output only. Describes this build's approval configuration, status, + // and result. + BuildApproval approval = 44 [(google.api.field_behavior) = OUTPUT_ONLY]; + // IAM service account whose credentials will be used at build runtime. // Must be of the format `projects/{PROJECT_ID}/serviceAccounts/{ACCOUNT}`. // ACCOUNT can be email address or uniqueId of the service account. @@ -1145,6 +1175,92 @@ message CancelBuildRequest { string id = 2 [(google.api.field_behavior) = REQUIRED]; } +// Request to approve or reject a pending build. +message ApproveBuildRequest { + // Required. Name of the target build. + // For example: "projects/{$project_id}/builds/{$build_id}" + string name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Approval decision and metadata. + ApprovalResult approval_result = 2; +} + +// BuildApproval describes a build's approval configuration, state, and +// result. +message BuildApproval { + // Specifies the current state of a build's approval. + enum State { + // Default enum type. This should not be used. + STATE_UNSPECIFIED = 0; + + // Build approval is pending. + PENDING = 1; + + // Build approval has been approved. + APPROVED = 2; + + // Build approval has been rejected. + REJECTED = 3; + + // Build was cancelled while it was still pending approval. + CANCELLED = 5; + } + + // Output only. The state of this build's approval. + State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Configuration for manual approval of this build. + ApprovalConfig config = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Result of manual approval for this Build. + ApprovalResult result = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// ApprovalConfig describes configuration for manual approval of a build. +message ApprovalConfig { + // Whether or not approval is needed. If this is set on a build, it will + // become pending when created, and will need to be explicitly approved + // to start. + bool approval_required = 1; +} + +// ApprovalResult describes the decision and associated metadata of a manual +// approval of a build. +message ApprovalResult { + // Specifies whether or not this manual approval result is to approve + // or reject a build. + enum Decision { + // Default enum type. This should not be used. + DECISION_UNSPECIFIED = 0; + + // Build is approved. + APPROVED = 1; + + // Build is rejected. + REJECTED = 2; + } + + // Output only. Email of the user that called the ApproveBuild API to + // approve or reject a build at the time that the API was called. + string approver_account = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The time when the approval decision was made. + google.protobuf.Timestamp approval_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The decision of this manual approval. + Decision decision = 4 [(google.api.field_behavior) = REQUIRED]; + + // Optional. An optional comment for this manual approval result. + string comment = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. An optional URL tied to this manual approval result. This field + // is essentially the same as comment, except that it will be rendered by the + // UI differently. An example use case is a link to an external job that + // approved this Build. + string url = 6 [(google.api.field_behavior) = OPTIONAL]; +} + // Configuration for an automated build in response to source repository // changes. message BuildTrigger {