Skip to content
This repository has been archived by the owner on Sep 16, 2023. It is now read-only.

Commit

Permalink
feat: Added a new API method UpdateExternalSystem, which enables upda…
Browse files Browse the repository at this point in the history
…ting a finding w/ external system metadata. External systems are a child resource under finding, and are housed on the finding itself, and can also be filtered on in Notifications, th... (#705)

* feat: Added a new API method UpdateExternalSystem, which enables updating a finding w/ external system metadata. External systems are a child resource under finding, and are housed on the finding itself, and can also be filtered on in Notifications, the ListFindings and GroupFindings API

PiperOrigin-RevId: 411093163

Source-Link: googleapis/googleapis@be8f988

Source-Link: googleapis/googleapis-gen@186665a
Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTg2NjY1YTBmZjZhY2FmOWJmNmQ1ZWYwY2VmNjYzZGQ4MjhiNDhhNyJ9

* 🦉 Updates from OwlBot

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
  • Loading branch information
gcf-owl-bot[bot] and gcf-owl-bot[bot] committed Nov 19, 2021
1 parent 9508222 commit 73ee05e
Show file tree
Hide file tree
Showing 21 changed files with 4,374 additions and 386 deletions.
Expand Up @@ -3344,6 +3344,85 @@ public final TestIamPermissionsResponse testIamPermissions(TestIamPermissionsReq
return stub.testIamPermissionsCallable();
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Updates external system. This is for a given finding.
*
* <p>Sample code:
*
* <pre>{@code
* try (SecurityCenterClient securityCenterClient = SecurityCenterClient.create()) {
* ExternalSystem externalSystem = ExternalSystem.newBuilder().build();
* FieldMask updateMask = FieldMask.newBuilder().build();
* ExternalSystem response =
* securityCenterClient.updateExternalSystem(externalSystem, updateMask);
* }
* }</pre>
*
* @param externalSystem Required. The external system resource to update.
* @param updateMask The FieldMask to use when updating the external system resource.
* <p>If empty all mutable fields will be updated.
* @throws com.google.api.gax.rpc.ApiException if the remote call fails
*/
public final ExternalSystem updateExternalSystem(
ExternalSystem externalSystem, FieldMask updateMask) {
UpdateExternalSystemRequest request =
UpdateExternalSystemRequest.newBuilder()
.setExternalSystem(externalSystem)
.setUpdateMask(updateMask)
.build();
return updateExternalSystem(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Updates external system. This is for a given finding.
*
* <p>Sample code:
*
* <pre>{@code
* try (SecurityCenterClient securityCenterClient = SecurityCenterClient.create()) {
* UpdateExternalSystemRequest request =
* UpdateExternalSystemRequest.newBuilder()
* .setExternalSystem(ExternalSystem.newBuilder().build())
* .setUpdateMask(FieldMask.newBuilder().build())
* .build();
* ExternalSystem response = securityCenterClient.updateExternalSystem(request);
* }
* }</pre>
*
* @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 ExternalSystem updateExternalSystem(UpdateExternalSystemRequest request) {
return updateExternalSystemCallable().call(request);
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Updates external system. This is for a given finding.
*
* <p>Sample code:
*
* <pre>{@code
* try (SecurityCenterClient securityCenterClient = SecurityCenterClient.create()) {
* UpdateExternalSystemRequest request =
* UpdateExternalSystemRequest.newBuilder()
* .setExternalSystem(ExternalSystem.newBuilder().build())
* .setUpdateMask(FieldMask.newBuilder().build())
* .build();
* ApiFuture<ExternalSystem> future =
* securityCenterClient.updateExternalSystemCallable().futureCall(request);
* // Do something.
* ExternalSystem response = future.get();
* }
* }</pre>
*/
public final UnaryCallable<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemCallable() {
return stub.updateExternalSystemCallable();
}

// AUTO-GENERATED DOCUMENTATION AND METHOD.
/**
* Creates or updates a finding. The corresponding source must exist for a finding creation to
Expand Down
Expand Up @@ -232,6 +232,12 @@ public UnaryCallSettings<SetIamPolicyRequest, Policy> setIamPolicySettings() {
return ((SecurityCenterStubSettings) getStubSettings()).testIamPermissionsSettings();
}

/** Returns the object with the settings used for calls to updateExternalSystem. */
public UnaryCallSettings<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings() {
return ((SecurityCenterStubSettings) getStubSettings()).updateExternalSystemSettings();
}

/** Returns the object with the settings used for calls to updateFinding. */
public UnaryCallSettings<UpdateFindingRequest, Finding> updateFindingSettings() {
return ((SecurityCenterStubSettings) getStubSettings()).updateFindingSettings();
Expand Down Expand Up @@ -517,6 +523,12 @@ public UnaryCallSettings.Builder<SetIamPolicyRequest, Policy> setIamPolicySettin
return getStubSettingsBuilder().testIamPermissionsSettings();
}

/** Returns the builder for the settings used for calls to updateExternalSystem. */
public UnaryCallSettings.Builder<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings() {
return getStubSettingsBuilder().updateExternalSystemSettings();
}

/** Returns the builder for the settings used for calls to updateFinding. */
public UnaryCallSettings.Builder<UpdateFindingRequest, Finding> updateFindingSettings() {
return getStubSettingsBuilder().updateFindingSettings();
Expand Down
Expand Up @@ -82,6 +82,9 @@
"TestIamPermissions": {
"methods": ["testIamPermissions", "testIamPermissions", "testIamPermissions", "testIamPermissionsCallable"]
},
"UpdateExternalSystem": {
"methods": ["updateExternalSystem", "updateExternalSystem", "updateExternalSystemCallable"]
},
"UpdateFinding": {
"methods": ["updateFinding", "updateFinding", "updateFindingCallable"]
},
Expand Down
Expand Up @@ -39,6 +39,7 @@
import com.google.cloud.securitycenter.v1.CreateSourceRequest;
import com.google.cloud.securitycenter.v1.DeleteMuteConfigRequest;
import com.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest;
import com.google.cloud.securitycenter.v1.ExternalSystem;
import com.google.cloud.securitycenter.v1.Finding;
import com.google.cloud.securitycenter.v1.GetMuteConfigRequest;
import com.google.cloud.securitycenter.v1.GetNotificationConfigRequest;
Expand Down Expand Up @@ -67,6 +68,7 @@
import com.google.cloud.securitycenter.v1.SetFindingStateRequest;
import com.google.cloud.securitycenter.v1.SetMuteRequest;
import com.google.cloud.securitycenter.v1.Source;
import com.google.cloud.securitycenter.v1.UpdateExternalSystemRequest;
import com.google.cloud.securitycenter.v1.UpdateFindingRequest;
import com.google.cloud.securitycenter.v1.UpdateMuteConfigRequest;
import com.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest;
Expand Down Expand Up @@ -337,6 +339,17 @@ public class GrpcSecurityCenterStub extends SecurityCenterStub {
ProtoUtils.marshaller(TestIamPermissionsResponse.getDefaultInstance()))
.build();

private static final MethodDescriptor<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemMethodDescriptor =
MethodDescriptor.<UpdateExternalSystemRequest, ExternalSystem>newBuilder()
.setType(MethodDescriptor.MethodType.UNARY)
.setFullMethodName(
"google.cloud.securitycenter.v1.SecurityCenter/UpdateExternalSystem")
.setRequestMarshaller(
ProtoUtils.marshaller(UpdateExternalSystemRequest.getDefaultInstance()))
.setResponseMarshaller(ProtoUtils.marshaller(ExternalSystem.getDefaultInstance()))
.build();

private static final MethodDescriptor<UpdateFindingRequest, Finding>
updateFindingMethodDescriptor =
MethodDescriptor.<UpdateFindingRequest, Finding>newBuilder()
Expand Down Expand Up @@ -447,6 +460,8 @@ public class GrpcSecurityCenterStub extends SecurityCenterStub {
private final UnaryCallable<SetIamPolicyRequest, Policy> setIamPolicyCallable;
private final UnaryCallable<TestIamPermissionsRequest, TestIamPermissionsResponse>
testIamPermissionsCallable;
private final UnaryCallable<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemCallable;
private final UnaryCallable<UpdateFindingRequest, Finding> updateFindingCallable;
private final UnaryCallable<UpdateMuteConfigRequest, MuteConfig> updateMuteConfigCallable;
private final UnaryCallable<UpdateNotificationConfigRequest, NotificationConfig>
Expand Down Expand Up @@ -749,6 +764,19 @@ protected GrpcSecurityCenterStub(
return params.build();
})
.build();
GrpcCallSettings<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemTransportSettings =
GrpcCallSettings.<UpdateExternalSystemRequest, ExternalSystem>newBuilder()
.setMethodDescriptor(updateExternalSystemMethodDescriptor)
.setParamsExtractor(
request -> {
ImmutableMap.Builder<String, String> params = ImmutableMap.builder();
params.put(
"external_system.name",
String.valueOf(request.getExternalSystem().getName()));
return params.build();
})
.build();
GrpcCallSettings<UpdateFindingRequest, Finding> updateFindingTransportSettings =
GrpcCallSettings.<UpdateFindingRequest, Finding>newBuilder()
.setMethodDescriptor(updateFindingMethodDescriptor)
Expand Down Expand Up @@ -940,6 +968,11 @@ protected GrpcSecurityCenterStub(
testIamPermissionsTransportSettings,
settings.testIamPermissionsSettings(),
clientContext);
this.updateExternalSystemCallable =
callableFactory.createUnaryCallable(
updateExternalSystemTransportSettings,
settings.updateExternalSystemSettings(),
clientContext);
this.updateFindingCallable =
callableFactory.createUnaryCallable(
updateFindingTransportSettings, settings.updateFindingSettings(), clientContext);
Expand Down Expand Up @@ -1148,6 +1181,11 @@ public UnaryCallable<SetIamPolicyRequest, Policy> setIamPolicyCallable() {
return testIamPermissionsCallable;
}

@Override
public UnaryCallable<UpdateExternalSystemRequest, ExternalSystem> updateExternalSystemCallable() {
return updateExternalSystemCallable;
}

@Override
public UnaryCallable<UpdateFindingRequest, Finding> updateFindingCallable() {
return updateFindingCallable;
Expand Down
Expand Up @@ -35,6 +35,7 @@
import com.google.cloud.securitycenter.v1.CreateSourceRequest;
import com.google.cloud.securitycenter.v1.DeleteMuteConfigRequest;
import com.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest;
import com.google.cloud.securitycenter.v1.ExternalSystem;
import com.google.cloud.securitycenter.v1.Finding;
import com.google.cloud.securitycenter.v1.GetMuteConfigRequest;
import com.google.cloud.securitycenter.v1.GetNotificationConfigRequest;
Expand Down Expand Up @@ -63,6 +64,7 @@
import com.google.cloud.securitycenter.v1.SetFindingStateRequest;
import com.google.cloud.securitycenter.v1.SetMuteRequest;
import com.google.cloud.securitycenter.v1.Source;
import com.google.cloud.securitycenter.v1.UpdateExternalSystemRequest;
import com.google.cloud.securitycenter.v1.UpdateFindingRequest;
import com.google.cloud.securitycenter.v1.UpdateMuteConfigRequest;
import com.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest;
Expand Down Expand Up @@ -236,6 +238,10 @@ public UnaryCallable<SetIamPolicyRequest, Policy> setIamPolicyCallable() {
throw new UnsupportedOperationException("Not implemented: testIamPermissionsCallable()");
}

public UnaryCallable<UpdateExternalSystemRequest, ExternalSystem> updateExternalSystemCallable() {
throw new UnsupportedOperationException("Not implemented: updateExternalSystemCallable()");
}

public UnaryCallable<UpdateFindingRequest, Finding> updateFindingCallable() {
throw new UnsupportedOperationException("Not implemented: updateFindingCallable()");
}
Expand Down
Expand Up @@ -58,6 +58,7 @@
import com.google.cloud.securitycenter.v1.CreateSourceRequest;
import com.google.cloud.securitycenter.v1.DeleteMuteConfigRequest;
import com.google.cloud.securitycenter.v1.DeleteNotificationConfigRequest;
import com.google.cloud.securitycenter.v1.ExternalSystem;
import com.google.cloud.securitycenter.v1.Finding;
import com.google.cloud.securitycenter.v1.GetMuteConfigRequest;
import com.google.cloud.securitycenter.v1.GetNotificationConfigRequest;
Expand Down Expand Up @@ -87,6 +88,7 @@
import com.google.cloud.securitycenter.v1.SetFindingStateRequest;
import com.google.cloud.securitycenter.v1.SetMuteRequest;
import com.google.cloud.securitycenter.v1.Source;
import com.google.cloud.securitycenter.v1.UpdateExternalSystemRequest;
import com.google.cloud.securitycenter.v1.UpdateFindingRequest;
import com.google.cloud.securitycenter.v1.UpdateMuteConfigRequest;
import com.google.cloud.securitycenter.v1.UpdateNotificationConfigRequest;
Expand Down Expand Up @@ -194,6 +196,8 @@ public class SecurityCenterStubSettings extends StubSettings<SecurityCenterStubS
private final UnaryCallSettings<SetIamPolicyRequest, Policy> setIamPolicySettings;
private final UnaryCallSettings<TestIamPermissionsRequest, TestIamPermissionsResponse>
testIamPermissionsSettings;
private final UnaryCallSettings<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings;
private final UnaryCallSettings<UpdateFindingRequest, Finding> updateFindingSettings;
private final UnaryCallSettings<UpdateMuteConfigRequest, MuteConfig> updateMuteConfigSettings;
private final UnaryCallSettings<UpdateNotificationConfigRequest, NotificationConfig>
Expand Down Expand Up @@ -759,6 +763,12 @@ public UnaryCallSettings<SetIamPolicyRequest, Policy> setIamPolicySettings() {
return testIamPermissionsSettings;
}

/** Returns the object with the settings used for calls to updateExternalSystem. */
public UnaryCallSettings<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings() {
return updateExternalSystemSettings;
}

/** Returns the object with the settings used for calls to updateFinding. */
public UnaryCallSettings<UpdateFindingRequest, Finding> updateFindingSettings() {
return updateFindingSettings;
Expand Down Expand Up @@ -895,6 +905,7 @@ protected SecurityCenterStubSettings(Builder settingsBuilder) throws IOException
setMuteSettings = settingsBuilder.setMuteSettings().build();
setIamPolicySettings = settingsBuilder.setIamPolicySettings().build();
testIamPermissionsSettings = settingsBuilder.testIamPermissionsSettings().build();
updateExternalSystemSettings = settingsBuilder.updateExternalSystemSettings().build();
updateFindingSettings = settingsBuilder.updateFindingSettings().build();
updateMuteConfigSettings = settingsBuilder.updateMuteConfigSettings().build();
updateNotificationConfigSettings = settingsBuilder.updateNotificationConfigSettings().build();
Expand Down Expand Up @@ -963,6 +974,8 @@ public static class Builder extends StubSettings.Builder<SecurityCenterStubSetti
private final UnaryCallSettings.Builder<SetIamPolicyRequest, Policy> setIamPolicySettings;
private final UnaryCallSettings.Builder<TestIamPermissionsRequest, TestIamPermissionsResponse>
testIamPermissionsSettings;
private final UnaryCallSettings.Builder<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings;
private final UnaryCallSettings.Builder<UpdateFindingRequest, Finding> updateFindingSettings;
private final UnaryCallSettings.Builder<UpdateMuteConfigRequest, MuteConfig>
updateMuteConfigSettings;
Expand Down Expand Up @@ -1079,6 +1092,7 @@ protected Builder(ClientContext clientContext) {
setMuteSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
setIamPolicySettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
testIamPermissionsSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
updateExternalSystemSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
updateFindingSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
updateMuteConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
updateNotificationConfigSettings = UnaryCallSettings.newUnaryCallSettingsBuilder();
Expand Down Expand Up @@ -1112,6 +1126,7 @@ protected Builder(ClientContext clientContext) {
setMuteSettings,
setIamPolicySettings,
testIamPermissionsSettings,
updateExternalSystemSettings,
updateFindingSettings,
updateMuteConfigSettings,
updateNotificationConfigSettings,
Expand Down Expand Up @@ -1150,6 +1165,7 @@ protected Builder(SecurityCenterStubSettings settings) {
setMuteSettings = settings.setMuteSettings.toBuilder();
setIamPolicySettings = settings.setIamPolicySettings.toBuilder();
testIamPermissionsSettings = settings.testIamPermissionsSettings.toBuilder();
updateExternalSystemSettings = settings.updateExternalSystemSettings.toBuilder();
updateFindingSettings = settings.updateFindingSettings.toBuilder();
updateMuteConfigSettings = settings.updateMuteConfigSettings.toBuilder();
updateNotificationConfigSettings = settings.updateNotificationConfigSettings.toBuilder();
Expand Down Expand Up @@ -1183,6 +1199,7 @@ protected Builder(SecurityCenterStubSettings settings) {
setMuteSettings,
setIamPolicySettings,
testIamPermissionsSettings,
updateExternalSystemSettings,
updateFindingSettings,
updateMuteConfigSettings,
updateNotificationConfigSettings,
Expand Down Expand Up @@ -1325,6 +1342,11 @@ private static Builder initDefaults(Builder builder) {
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("retry_policy_1_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("retry_policy_1_params"));

builder
.updateExternalSystemSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes"))
.setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params"));

builder
.updateFindingSettings()
.setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_0_codes"))
Expand Down Expand Up @@ -1581,6 +1603,12 @@ public UnaryCallSettings.Builder<SetIamPolicyRequest, Policy> setIamPolicySettin
return testIamPermissionsSettings;
}

/** Returns the builder for the settings used for calls to updateExternalSystem. */
public UnaryCallSettings.Builder<UpdateExternalSystemRequest, ExternalSystem>
updateExternalSystemSettings() {
return updateExternalSystemSettings;
}

/** Returns the builder for the settings used for calls to updateFinding. */
public UnaryCallSettings.Builder<UpdateFindingRequest, Finding> updateFindingSettings() {
return updateFindingSettings;
Expand Down
Expand Up @@ -568,6 +568,27 @@ public void testIamPermissions(
}
}

@Override
public void updateExternalSystem(
UpdateExternalSystemRequest request, StreamObserver<ExternalSystem> responseObserver) {
Object response = responses.poll();
if (response instanceof ExternalSystem) {
requests.add(request);
responseObserver.onNext(((ExternalSystem) 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 UpdateExternalSystem, expected %s or %s",
response == null ? "null" : response.getClass().getName(),
ExternalSystem.class.getName(),
Exception.class.getName())));
}
}

@Override
public void updateFinding(
UpdateFindingRequest request, StreamObserver<Finding> responseObserver) {
Expand Down

0 comments on commit 73ee05e

Please sign in to comment.