Skip to content

Commit

Permalink
feat: Add SimulateSecurityHealthAnalyticsCustomModule API for testing…
Browse files Browse the repository at this point in the history
… SHA custom module (googleapis#6730)

PiperOrigin-RevId: 574612611
Source-Link: googleapis/googleapis@c768e7a
Source-Link: googleapis/googleapis-gen@e5502fc
Copy-Tag: eyJwIjoiU2VjdXJpdHlDZW50ZXIvLk93bEJvdC55YW1sIiwiaCI6ImU1NTAyZmMxN2VjZWFjYTFjMjM1MmZkMmE2MTRjNzZlYzYzZWY4ZTQifQ==
  • Loading branch information
gcf-owl-bot[bot] authored and yash30201 committed Oct 27, 2023
1 parent 861fece commit 8a2f72f
Show file tree
Hide file tree
Showing 14 changed files with 972 additions and 5 deletions.
28 changes: 23 additions & 5 deletions SecurityCenter/metadata/V1/SecuritycenterService.php

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
<?php
/*
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

/*
* GENERATED CODE WARNING
* This file was automatically generated - do not edit!
*/

require_once __DIR__ . '/../../../vendor/autoload.php';

// [START securitycenter_v1_generated_SecurityCenter_SimulateSecurityHealthAnalyticsCustomModule_sync]
use Google\ApiCore\ApiException;
use Google\Cloud\SecurityCenter\V1\CustomConfig;
use Google\Cloud\SecurityCenter\V1\SecurityCenterClient;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleRequest\SimulatedResource;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleResponse;

/**
* Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
*
* @param string $parent The relative resource name of the organization, project, or
* folder. See:
* https://cloud.google.com/apis/design/resource_names#relative_resource_name
* An example is:
* "organizations/{organization_id}".
* @param string $resourceResourceType The type of the resource, e.g. `compute.googleapis.com/Disk`.
*/
function simulate_security_health_analytics_custom_module_sample(
string $parent,
string $resourceResourceType
): void {
// Create a client.
$securityCenterClient = new SecurityCenterClient();

// Prepare any non-scalar elements to be passed along with the request.
$customConfig = new CustomConfig();
$resource = (new SimulatedResource())
->setResourceType($resourceResourceType);

// Call the API and handle any network failures.
try {
/** @var SimulateSecurityHealthAnalyticsCustomModuleResponse $response */
$response = $securityCenterClient->simulateSecurityHealthAnalyticsCustomModule(
$parent,
$customConfig,
$resource
);
printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString());
} catch (ApiException $ex) {
printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage());
}
}

/**
* Helper to execute the sample.
*
* This sample has been automatically generated and should be regarded as a code
* template only. It will require modifications to work:
* - It may require correct/in-range values for request initialization.
* - It may require specifying regional endpoints when creating the service client,
* please see the apiEndpoint client configuration option for more details.
*/
function callSample(): void
{
$parent = '[PARENT]';
$resourceResourceType = '[RESOURCE_TYPE]';

simulate_security_health_analytics_custom_module_sample($parent, $resourceResourceType);
}
// [END securitycenter_v1_generated_SecurityCenter_SimulateSecurityHealthAnalyticsCustomModule_sync]
29 changes: 29 additions & 0 deletions SecurityCenter/src/V1/Client/SecurityCenterClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@
use Google\Cloud\SecurityCenter\V1\SecurityMarks;
use Google\Cloud\SecurityCenter\V1\SetFindingStateRequest;
use Google\Cloud\SecurityCenter\V1\SetMuteRequest;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleRequest;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleResponse;
use Google\Cloud\SecurityCenter\V1\Source;
use Google\Cloud\SecurityCenter\V1\UpdateBigQueryExportRequest;
use Google\Cloud\SecurityCenter\V1\UpdateExternalSystemRequest;
Expand Down Expand Up @@ -145,6 +147,7 @@
* @method PromiseInterface setFindingStateAsync(SetFindingStateRequest $request, array $optionalArgs = [])
* @method PromiseInterface setIamPolicyAsync(SetIamPolicyRequest $request, array $optionalArgs = [])
* @method PromiseInterface setMuteAsync(SetMuteRequest $request, array $optionalArgs = [])
* @method PromiseInterface simulateSecurityHealthAnalyticsCustomModuleAsync(SimulateSecurityHealthAnalyticsCustomModuleRequest $request, array $optionalArgs = [])
* @method PromiseInterface testIamPermissionsAsync(TestIamPermissionsRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateBigQueryExportAsync(UpdateBigQueryExportRequest $request, array $optionalArgs = [])
* @method PromiseInterface updateExternalSystemAsync(UpdateExternalSystemRequest $request, array $optionalArgs = [])
Expand Down Expand Up @@ -2173,6 +2176,32 @@ public function setMute(SetMuteRequest $request, array $callOptions = []): Findi
return $this->startApiCall('SetMute', $request, $callOptions)->wait();
}

/**
* Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
*
* The async variant is
* {@see SecurityCenterClient::simulateSecurityHealthAnalyticsCustomModuleAsync()}
* .
*
* @param SimulateSecurityHealthAnalyticsCustomModuleRequest $request A request to house fields associated with the call.
* @param array $callOptions {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @return SimulateSecurityHealthAnalyticsCustomModuleResponse
*
* @throws ApiException Thrown if the API call fails.
*/
public function simulateSecurityHealthAnalyticsCustomModule(SimulateSecurityHealthAnalyticsCustomModuleRequest $request, array $callOptions = []): SimulateSecurityHealthAnalyticsCustomModuleResponse
{
return $this->startApiCall('SimulateSecurityHealthAnalyticsCustomModule', $request, $callOptions)->wait();
}

/**
* Returns the permissions that a caller has on the specified source.
*
Expand Down
53 changes: 53 additions & 0 deletions SecurityCenter/src/V1/Gapic/SecurityCenterGapicClient.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@
use Google\Cloud\SecurityCenter\V1\CreateNotificationConfigRequest;
use Google\Cloud\SecurityCenter\V1\CreateSecurityHealthAnalyticsCustomModuleRequest;
use Google\Cloud\SecurityCenter\V1\CreateSourceRequest;
use Google\Cloud\SecurityCenter\V1\CustomConfig;
use Google\Cloud\SecurityCenter\V1\DeleteBigQueryExportRequest;
use Google\Cloud\SecurityCenter\V1\DeleteMuteConfigRequest;
use Google\Cloud\SecurityCenter\V1\DeleteNotificationConfigRequest;
Expand Down Expand Up @@ -95,6 +96,9 @@
use Google\Cloud\SecurityCenter\V1\SecurityMarks;
use Google\Cloud\SecurityCenter\V1\SetFindingStateRequest;
use Google\Cloud\SecurityCenter\V1\SetMuteRequest;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleRequest;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleRequest\SimulatedResource;
use Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleResponse;
use Google\Cloud\SecurityCenter\V1\Source;
use Google\Cloud\SecurityCenter\V1\UpdateBigQueryExportRequest;
use Google\Cloud\SecurityCenter\V1\UpdateExternalSystemRequest;
Expand Down Expand Up @@ -4448,6 +4452,55 @@ public function setMute($name, $mute, array $optionalArgs = [])
return $this->startCall('SetMute', Finding::class, $optionalArgs, $request)->wait();
}

/**
* Simulates a given SecurityHealthAnalyticsCustomModule and Resource.
*
* Sample code:
* ```
* $securityCenterClient = new SecurityCenterClient();
* try {
* $parent = 'parent';
* $customConfig = new CustomConfig();
* $resource = new SimulatedResource();
* $response = $securityCenterClient->simulateSecurityHealthAnalyticsCustomModule($parent, $customConfig, $resource);
* } finally {
* $securityCenterClient->close();
* }
* ```
*
* @param string $parent Required. The relative resource name of the organization, project, or
* folder. See:
* https://cloud.google.com/apis/design/resource_names#relative_resource_name
* An example is:
* "organizations/{organization_id}".
* @param CustomConfig $customConfig Required. The user specified custom configuration to test.
* @param SimulatedResource $resource Required. Resource data to simulate custom module against.
* @param array $optionalArgs {
* Optional.
*
* @type RetrySettings|array $retrySettings
* Retry settings to use for this call. Can be a {@see RetrySettings} object, or an
* associative array of retry settings parameters. See the documentation on
* {@see RetrySettings} for example usage.
* }
*
* @return \Google\Cloud\SecurityCenter\V1\SimulateSecurityHealthAnalyticsCustomModuleResponse
*
* @throws ApiException if the remote call fails
*/
public function simulateSecurityHealthAnalyticsCustomModule($parent, $customConfig, $resource, array $optionalArgs = [])
{
$request = new SimulateSecurityHealthAnalyticsCustomModuleRequest();
$requestParamHeaders = [];
$request->setParent($parent);
$request->setCustomConfig($customConfig);
$request->setResource($resource);
$requestParamHeaders['parent'] = $parent;
$requestParams = new RequestParamsHeaderDescriptor($requestParamHeaders);
$optionalArgs['headers'] = isset($optionalArgs['headers']) ? array_merge($requestParams->getHeader(), $optionalArgs['headers']) : $requestParams->getHeader();
return $this->startCall('SimulateSecurityHealthAnalyticsCustomModule', SimulateSecurityHealthAnalyticsCustomModuleResponse::class, $optionalArgs, $request)->wait();
}

/**
* Returns the permissions that a caller has on the specified source.
*
Expand Down
Loading

0 comments on commit 8a2f72f

Please sign in to comment.