Skip to content

Commit 7dfea30

Browse files
1 parent 0773628 commit 7dfea30

4 files changed

Lines changed: 688 additions & 2 deletions

File tree

Lines changed: 320 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,320 @@
1+
<?php
2+
/*
3+
* Copyright 2014 Google Inc.
4+
*
5+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
6+
* use this file except in compliance with the License. You may obtain a copy of
7+
* the License at
8+
*
9+
* http://www.apache.org/licenses/LICENSE-2.0
10+
*
11+
* Unless required by applicable law or agreed to in writing, software
12+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14+
* License for the specific language governing permissions and limitations under
15+
* the License.
16+
*/
17+
18+
namespace Google\Service\SecurityCommandCenter;
19+
20+
class ExternalExposure extends \Google\Model
21+
{
22+
/**
23+
* The full resource name of load balancer backend service, for example,
24+
* "//compute.googleapis.com/projects/{project-
25+
* id}/global/backendServices/{name}".
26+
*
27+
* @var string
28+
*/
29+
public $backendService;
30+
/**
31+
* The resource which is running the exposed service, for example,
32+
* "//compute.googleapis.com/projects/{project-
33+
* id}/zones/{zone}/instances/{instance}.”
34+
*
35+
* @var string
36+
*/
37+
public $exposedEndpoint;
38+
/**
39+
* The name and version of the service, for example, "Jupyter Notebook
40+
* 6.14.0".
41+
*
42+
* @var string
43+
*/
44+
public $exposedService;
45+
/**
46+
* The full resource name of the forwarding rule, for example,
47+
* "//compute.googleapis.com/projects/{project-
48+
* id}/global/forwardingRules/{forwarding-rule-name}".
49+
*
50+
* @var string
51+
*/
52+
public $forwardingRule;
53+
/**
54+
* The full resource name of the instance group, for example,
55+
* "//compute.googleapis.com/projects/{project-
56+
* id}/global/instanceGroups/{name}".
57+
*
58+
* @var string
59+
*/
60+
public $instanceGroup;
61+
/**
62+
* The full resource name of the load balancer firewall policy, for example,
63+
* "//compute.googleapis.com/projects/{project-
64+
* id}/global/firewallPolicies/{policy-name}".
65+
*
66+
* @var string
67+
*/
68+
public $loadBalancerFirewallPolicy;
69+
/**
70+
* The full resource name of the network endpoint group, for example,
71+
* "//compute.googleapis.com/projects/{project-
72+
* id}/global/networkEndpointGroups/{name}".
73+
*
74+
* @var string
75+
*/
76+
public $networkEndpointGroup;
77+
/**
78+
* Private IP address of the exposed endpoint.
79+
*
80+
* @var string
81+
*/
82+
public $privateIpAddress;
83+
/**
84+
* Port number associated with private IP address.
85+
*
86+
* @var string
87+
*/
88+
public $privatePort;
89+
/**
90+
* Public IP address of the exposed endpoint.
91+
*
92+
* @var string
93+
*/
94+
public $publicIpAddress;
95+
/**
96+
* Public port number of the exposed endpoint.
97+
*
98+
* @var string
99+
*/
100+
public $publicPort;
101+
/**
102+
* The full resource name of the firewall policy of the exposed service, for
103+
* example, "//compute.googleapis.com/projects/{project-
104+
* id}/global/firewallPolicies/{policy-name}".
105+
*
106+
* @var string
107+
*/
108+
public $serviceFirewallPolicy;
109+
110+
/**
111+
* The full resource name of load balancer backend service, for example,
112+
* "//compute.googleapis.com/projects/{project-
113+
* id}/global/backendServices/{name}".
114+
*
115+
* @param string $backendService
116+
*/
117+
public function setBackendService($backendService)
118+
{
119+
$this->backendService = $backendService;
120+
}
121+
/**
122+
* @return string
123+
*/
124+
public function getBackendService()
125+
{
126+
return $this->backendService;
127+
}
128+
/**
129+
* The resource which is running the exposed service, for example,
130+
* "//compute.googleapis.com/projects/{project-
131+
* id}/zones/{zone}/instances/{instance}.”
132+
*
133+
* @param string $exposedEndpoint
134+
*/
135+
public function setExposedEndpoint($exposedEndpoint)
136+
{
137+
$this->exposedEndpoint = $exposedEndpoint;
138+
}
139+
/**
140+
* @return string
141+
*/
142+
public function getExposedEndpoint()
143+
{
144+
return $this->exposedEndpoint;
145+
}
146+
/**
147+
* The name and version of the service, for example, "Jupyter Notebook
148+
* 6.14.0".
149+
*
150+
* @param string $exposedService
151+
*/
152+
public function setExposedService($exposedService)
153+
{
154+
$this->exposedService = $exposedService;
155+
}
156+
/**
157+
* @return string
158+
*/
159+
public function getExposedService()
160+
{
161+
return $this->exposedService;
162+
}
163+
/**
164+
* The full resource name of the forwarding rule, for example,
165+
* "//compute.googleapis.com/projects/{project-
166+
* id}/global/forwardingRules/{forwarding-rule-name}".
167+
*
168+
* @param string $forwardingRule
169+
*/
170+
public function setForwardingRule($forwardingRule)
171+
{
172+
$this->forwardingRule = $forwardingRule;
173+
}
174+
/**
175+
* @return string
176+
*/
177+
public function getForwardingRule()
178+
{
179+
return $this->forwardingRule;
180+
}
181+
/**
182+
* The full resource name of the instance group, for example,
183+
* "//compute.googleapis.com/projects/{project-
184+
* id}/global/instanceGroups/{name}".
185+
*
186+
* @param string $instanceGroup
187+
*/
188+
public function setInstanceGroup($instanceGroup)
189+
{
190+
$this->instanceGroup = $instanceGroup;
191+
}
192+
/**
193+
* @return string
194+
*/
195+
public function getInstanceGroup()
196+
{
197+
return $this->instanceGroup;
198+
}
199+
/**
200+
* The full resource name of the load balancer firewall policy, for example,
201+
* "//compute.googleapis.com/projects/{project-
202+
* id}/global/firewallPolicies/{policy-name}".
203+
*
204+
* @param string $loadBalancerFirewallPolicy
205+
*/
206+
public function setLoadBalancerFirewallPolicy($loadBalancerFirewallPolicy)
207+
{
208+
$this->loadBalancerFirewallPolicy = $loadBalancerFirewallPolicy;
209+
}
210+
/**
211+
* @return string
212+
*/
213+
public function getLoadBalancerFirewallPolicy()
214+
{
215+
return $this->loadBalancerFirewallPolicy;
216+
}
217+
/**
218+
* The full resource name of the network endpoint group, for example,
219+
* "//compute.googleapis.com/projects/{project-
220+
* id}/global/networkEndpointGroups/{name}".
221+
*
222+
* @param string $networkEndpointGroup
223+
*/
224+
public function setNetworkEndpointGroup($networkEndpointGroup)
225+
{
226+
$this->networkEndpointGroup = $networkEndpointGroup;
227+
}
228+
/**
229+
* @return string
230+
*/
231+
public function getNetworkEndpointGroup()
232+
{
233+
return $this->networkEndpointGroup;
234+
}
235+
/**
236+
* Private IP address of the exposed endpoint.
237+
*
238+
* @param string $privateIpAddress
239+
*/
240+
public function setPrivateIpAddress($privateIpAddress)
241+
{
242+
$this->privateIpAddress = $privateIpAddress;
243+
}
244+
/**
245+
* @return string
246+
*/
247+
public function getPrivateIpAddress()
248+
{
249+
return $this->privateIpAddress;
250+
}
251+
/**
252+
* Port number associated with private IP address.
253+
*
254+
* @param string $privatePort
255+
*/
256+
public function setPrivatePort($privatePort)
257+
{
258+
$this->privatePort = $privatePort;
259+
}
260+
/**
261+
* @return string
262+
*/
263+
public function getPrivatePort()
264+
{
265+
return $this->privatePort;
266+
}
267+
/**
268+
* Public IP address of the exposed endpoint.
269+
*
270+
* @param string $publicIpAddress
271+
*/
272+
public function setPublicIpAddress($publicIpAddress)
273+
{
274+
$this->publicIpAddress = $publicIpAddress;
275+
}
276+
/**
277+
* @return string
278+
*/
279+
public function getPublicIpAddress()
280+
{
281+
return $this->publicIpAddress;
282+
}
283+
/**
284+
* Public port number of the exposed endpoint.
285+
*
286+
* @param string $publicPort
287+
*/
288+
public function setPublicPort($publicPort)
289+
{
290+
$this->publicPort = $publicPort;
291+
}
292+
/**
293+
* @return string
294+
*/
295+
public function getPublicPort()
296+
{
297+
return $this->publicPort;
298+
}
299+
/**
300+
* The full resource name of the firewall policy of the exposed service, for
301+
* example, "//compute.googleapis.com/projects/{project-
302+
* id}/global/firewallPolicies/{policy-name}".
303+
*
304+
* @param string $serviceFirewallPolicy
305+
*/
306+
public function setServiceFirewallPolicy($serviceFirewallPolicy)
307+
{
308+
$this->serviceFirewallPolicy = $serviceFirewallPolicy;
309+
}
310+
/**
311+
* @return string
312+
*/
313+
public function getServiceFirewallPolicy()
314+
{
315+
return $this->serviceFirewallPolicy;
316+
}
317+
}
318+
319+
// Adding a class alias for backwards compatibility with the previous class name.
320+
class_alias(ExternalExposure::class, 'Google_Service_SecurityCommandCenter_ExternalExposure');

src/SecurityCommandCenter/Finding.php

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,11 @@ class Finding extends \Google\Collection
6666
* converge, based on attack path simulations (APS).
6767
*/
6868
public const FINDING_CLASS_CHOKEPOINT = 'CHOKEPOINT';
69+
/**
70+
* Describes a potential security risk due to the resource being exposed to
71+
* the internet.
72+
*/
73+
public const FINDING_CLASS_EXTERNAL_EXPOSURE = 'EXTERNAL_EXPOSURE';
6974
/**
7075
* Unspecified.
7176
*/
@@ -231,6 +236,8 @@ class Finding extends \Google\Collection
231236
public $eventTime;
232237
protected $exfiltrationType = Exfiltration::class;
233238
protected $exfiltrationDataType = '';
239+
protected $externalExposureType = ExternalExposure::class;
240+
protected $externalExposureDataType = '';
234241
protected $externalSystemsType = GoogleCloudSecuritycenterV1ExternalSystem::class;
235242
protected $externalSystemsDataType = 'map';
236243
/**
@@ -844,6 +851,22 @@ public function getExfiltration()
844851
{
845852
return $this->exfiltration;
846853
}
854+
/**
855+
* External exposure associated with the finding.
856+
*
857+
* @param ExternalExposure $externalExposure
858+
*/
859+
public function setExternalExposure(ExternalExposure $externalExposure)
860+
{
861+
$this->externalExposure = $externalExposure;
862+
}
863+
/**
864+
* @return ExternalExposure
865+
*/
866+
public function getExternalExposure()
867+
{
868+
return $this->externalExposure;
869+
}
847870
/**
848871
* Output only. Third party SIEM/SOAR fields within SCC, contains external
849872
* system information and external system finding fields.
@@ -900,7 +923,7 @@ public function getFiles()
900923
*
901924
* Accepted values: FINDING_CLASS_UNSPECIFIED, THREAT, VULNERABILITY,
902925
* MISCONFIGURATION, OBSERVATION, SCC_ERROR, POSTURE_VIOLATION,
903-
* TOXIC_COMBINATION, SENSITIVE_DATA_RISK, CHOKEPOINT
926+
* TOXIC_COMBINATION, SENSITIVE_DATA_RISK, CHOKEPOINT, EXTERNAL_EXPOSURE
904927
*
905928
* @param self::FINDING_CLASS_* $findingClass
906929
*/

0 commit comments

Comments
 (0)