google-apis-securitycenter_v1beta2 0.7.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8b55f07a270d64c0b7253d5db1408f49990e43314e5a87f66e5d75852ece2ab8
4
- data.tar.gz: 9e7cf60e1a9004157e1877566b827fbbb9d49ee9a6469291c38a76e7812bfd7a
3
+ metadata.gz: 83e8e08ccb7ccaede9e2a8951a08950086095d547cfe662bec6ae7192460ba9b
4
+ data.tar.gz: 3046f9aa5245c50f8e4961a8c82e95de653529452ff8b839d0e44b484dad8b13
5
5
  SHA512:
6
- metadata.gz: '07955765c2b1ad681eeb520ed5cd633bd43b720960ae89c69c7332510844fb9275339d31b9a22908943ca2e0a9b776c99c8939a16986df67ef8ce3f690a57677'
7
- data.tar.gz: 61ab588129aa38c55a70906e136ff54e63d8a9fde2e327cbb2cd041268057c45123815fcb1df30ff9f25c2ecdb7d2eedad0ecebc1653e0c0c23d14a43a2bb65d
6
+ metadata.gz: f26aa432918cf7e3f8006a49f3398fcc5a86dd3d602cb35a638f7c05996fb19e0968285d83b019d6cc2d757137b9c65e75e29b3f9176e71b1e9fae7dca63456a
7
+ data.tar.gz: 983b5b043c42f6401bc2223fd0bc93a181e1a9b5fd655ce350e20275783ea0950e70c8f73280fd15860804e046e8bf31d55794204d5f390064077f9e27f0746f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Release history for google-apis-securitycenter_v1beta2
2
2
 
3
+ ### v0.11.0 (2021-12-09)
4
+
5
+ * Regenerated from discovery document revision 20211207
6
+
7
+ ### v0.10.0 (2021-11-16)
8
+
9
+ * Regenerated from discovery document revision 20211112
10
+
11
+ ### v0.9.0 (2021-10-20)
12
+
13
+ * Regenerated from discovery document revision 20211015
14
+
15
+ ### v0.8.0 (2021-09-01)
16
+
17
+ * Regenerated from discovery document revision 20210820
18
+
3
19
  ### v0.7.0 (2021-07-20)
4
20
 
5
21
  * Regenerated from discovery document revision 20210716
data/OVERVIEW.md CHANGED
@@ -60,8 +60,8 @@ See the class reference docs for information on the methods you can call from a
60
60
 
61
61
  More detailed descriptions of the Google simple REST clients are available in two documents.
62
62
 
63
- * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
- * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/main/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/main/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
65
 
66
66
  (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Securitycenter service in particular.)
67
67
 
@@ -22,6 +22,57 @@ module Google
22
22
  module Apis
23
23
  module SecuritycenterV1beta2
24
24
 
25
+ # Represents an access event.
26
+ class Access
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Caller's IP address, such as "1.1.1.1".
30
+ # Corresponds to the JSON property `callerIp`
31
+ # @return [String]
32
+ attr_accessor :caller_ip
33
+
34
+ # Represents a geographical location for a given access.
35
+ # Corresponds to the JSON property `callerIpGeo`
36
+ # @return [Google::Apis::SecuritycenterV1beta2::Geolocation]
37
+ attr_accessor :caller_ip_geo
38
+
39
+ # The method that the service account called, e.g. "SetIamPolicy".
40
+ # Corresponds to the JSON property `methodName`
41
+ # @return [String]
42
+ attr_accessor :method_name
43
+
44
+ # Associated email, such as "foo@google.com".
45
+ # Corresponds to the JSON property `principalEmail`
46
+ # @return [String]
47
+ attr_accessor :principal_email
48
+
49
+ # This is the API service that the service account made a call to, e.g. "iam.
50
+ # googleapis.com"
51
+ # Corresponds to the JSON property `serviceName`
52
+ # @return [String]
53
+ attr_accessor :service_name
54
+
55
+ # What kind of user agent is associated, e.g. operating system shells, embedded
56
+ # or stand-alone applications, etc.
57
+ # Corresponds to the JSON property `userAgentFamily`
58
+ # @return [String]
59
+ attr_accessor :user_agent_family
60
+
61
+ def initialize(**args)
62
+ update!(**args)
63
+ end
64
+
65
+ # Update properties of this object
66
+ def update!(**args)
67
+ @caller_ip = args[:caller_ip] if args.key?(:caller_ip)
68
+ @caller_ip_geo = args[:caller_ip_geo] if args.key?(:caller_ip_geo)
69
+ @method_name = args[:method_name] if args.key?(:method_name)
70
+ @principal_email = args[:principal_email] if args.key?(:principal_email)
71
+ @service_name = args[:service_name] if args.key?(:service_name)
72
+ @user_agent_family = args[:user_agent_family] if args.key?(:user_agent_family)
73
+ end
74
+ end
75
+
25
76
  # Configuration of a module.
26
77
  class Config
27
78
  include Google::Apis::Core::Hashable
@@ -100,6 +151,116 @@ module Google
100
151
  end
101
152
  end
102
153
 
154
+ # CVE stands for Common Vulnerabilities and Exposures. More information: https://
155
+ # cve.mitre.org
156
+ class Cve
157
+ include Google::Apis::Core::Hashable
158
+
159
+ # Common Vulnerability Scoring System version 3.
160
+ # Corresponds to the JSON property `cvssv3`
161
+ # @return [Google::Apis::SecuritycenterV1beta2::Cvssv3]
162
+ attr_accessor :cvssv3
163
+
164
+ # The unique identifier for the vulnerability. e.g. CVE-2021-34527
165
+ # Corresponds to the JSON property `id`
166
+ # @return [String]
167
+ attr_accessor :id
168
+
169
+ # Additional information about the CVE. e.g. https://cve.mitre.org/cgi-bin/
170
+ # cvename.cgi?name=CVE-2021-34527
171
+ # Corresponds to the JSON property `references`
172
+ # @return [Array<Google::Apis::SecuritycenterV1beta2::Reference>]
173
+ attr_accessor :references
174
+
175
+ def initialize(**args)
176
+ update!(**args)
177
+ end
178
+
179
+ # Update properties of this object
180
+ def update!(**args)
181
+ @cvssv3 = args[:cvssv3] if args.key?(:cvssv3)
182
+ @id = args[:id] if args.key?(:id)
183
+ @references = args[:references] if args.key?(:references)
184
+ end
185
+ end
186
+
187
+ # Common Vulnerability Scoring System version 3.
188
+ class Cvssv3
189
+ include Google::Apis::Core::Hashable
190
+
191
+ # This metric describes the conditions beyond the attacker's control that must
192
+ # exist in order to exploit the vulnerability.
193
+ # Corresponds to the JSON property `attackComplexity`
194
+ # @return [String]
195
+ attr_accessor :attack_complexity
196
+
197
+ # Base Metrics Represents the intrinsic characteristics of a vulnerability that
198
+ # are constant over time and across user environments. This metric reflects the
199
+ # context by which vulnerability exploitation is possible.
200
+ # Corresponds to the JSON property `attackVector`
201
+ # @return [String]
202
+ attr_accessor :attack_vector
203
+
204
+ # This metric measures the impact to the availability of the impacted component
205
+ # resulting from a successfully exploited vulnerability.
206
+ # Corresponds to the JSON property `availabilityImpact`
207
+ # @return [String]
208
+ attr_accessor :availability_impact
209
+
210
+ # The base score is a function of the base metric scores.
211
+ # Corresponds to the JSON property `baseScore`
212
+ # @return [Float]
213
+ attr_accessor :base_score
214
+
215
+ # This metric measures the impact to the confidentiality of the information
216
+ # resources managed by a software component due to a successfully exploited
217
+ # vulnerability.
218
+ # Corresponds to the JSON property `confidentialityImpact`
219
+ # @return [String]
220
+ attr_accessor :confidentiality_impact
221
+
222
+ # This metric measures the impact to integrity of a successfully exploited
223
+ # vulnerability.
224
+ # Corresponds to the JSON property `integrityImpact`
225
+ # @return [String]
226
+ attr_accessor :integrity_impact
227
+
228
+ # This metric describes the level of privileges an attacker must possess before
229
+ # successfully exploiting the vulnerability.
230
+ # Corresponds to the JSON property `privilegesRequired`
231
+ # @return [String]
232
+ attr_accessor :privileges_required
233
+
234
+ # The Scope metric captures whether a vulnerability in one vulnerable component
235
+ # impacts resources in components beyond its security scope.
236
+ # Corresponds to the JSON property `scope`
237
+ # @return [String]
238
+ attr_accessor :scope
239
+
240
+ # This metric captures the requirement for a human user, other than the attacker,
241
+ # to participate in the successful compromise of the vulnerable component.
242
+ # Corresponds to the JSON property `userInteraction`
243
+ # @return [String]
244
+ attr_accessor :user_interaction
245
+
246
+ def initialize(**args)
247
+ update!(**args)
248
+ end
249
+
250
+ # Update properties of this object
251
+ def update!(**args)
252
+ @attack_complexity = args[:attack_complexity] if args.key?(:attack_complexity)
253
+ @attack_vector = args[:attack_vector] if args.key?(:attack_vector)
254
+ @availability_impact = args[:availability_impact] if args.key?(:availability_impact)
255
+ @base_score = args[:base_score] if args.key?(:base_score)
256
+ @confidentiality_impact = args[:confidentiality_impact] if args.key?(:confidentiality_impact)
257
+ @integrity_impact = args[:integrity_impact] if args.key?(:integrity_impact)
258
+ @privileges_required = args[:privileges_required] if args.key?(:privileges_required)
259
+ @scope = args[:scope] if args.key?(:scope)
260
+ @user_interaction = args[:user_interaction] if args.key?(:user_interaction)
261
+ end
262
+ end
263
+
103
264
  # Details of a subscription.
104
265
  class Details
105
266
  include Google::Apis::Core::Hashable
@@ -181,6 +342,11 @@ module Google
181
342
  class Finding
182
343
  include Google::Apis::Core::Hashable
183
344
 
345
+ # Represents an access event.
346
+ # Corresponds to the JSON property `access`
347
+ # @return [Google::Apis::SecuritycenterV1beta2::Access]
348
+ attr_accessor :access
349
+
184
350
  # The canonical name of the finding. It's either "organizations/`organization_id`
185
351
  # /sources/`source_id`/findings/`finding_id`", "folders/`folder_id`/sources/`
186
352
  # source_id`/findings/`finding_id`" or "projects/`project_number`/sources/`
@@ -211,6 +377,12 @@ module Google
211
377
  # @return [String]
212
378
  attr_accessor :event_time
213
379
 
380
+ # Output only. Third party SIEM/SOAR fields within SCC, contains external system
381
+ # information and external system finding fields.
382
+ # Corresponds to the JSON property `externalSystems`
383
+ # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1ExternalSystem>]
384
+ attr_accessor :external_systems
385
+
214
386
  # The URI that, if available, points to a web page outside of Security Command
215
387
  # Center where additional information about the finding can be found. This field
216
388
  # is guaranteed to be either empty or a well formed URL.
@@ -231,6 +403,30 @@ module Google
231
403
  # @return [Google::Apis::SecuritycenterV1beta2::Indicator]
232
404
  attr_accessor :indicator
233
405
 
406
+ # MITRE ATT&CK tactics and techniques related to this finding. See: https://
407
+ # attack.mitre.org
408
+ # Corresponds to the JSON property `mitreAttack`
409
+ # @return [Google::Apis::SecuritycenterV1beta2::MitreAttack]
410
+ attr_accessor :mitre_attack
411
+
412
+ # Indicates the mute state of a finding (either unspecified, muted, unmuted or
413
+ # undefined).
414
+ # Corresponds to the JSON property `mute`
415
+ # @return [String]
416
+ attr_accessor :mute
417
+
418
+ # First known as mute_annotation. Records additional information about the mute
419
+ # operation e.g. mute config that muted the finding, user who muted the finding,
420
+ # etc.
421
+ # Corresponds to the JSON property `muteInitiator`
422
+ # @return [String]
423
+ attr_accessor :mute_initiator
424
+
425
+ # Output only. The most recent time this finding was muted or unmuted.
426
+ # Corresponds to the JSON property `muteUpdateTime`
427
+ # @return [String]
428
+ attr_accessor :mute_update_time
429
+
234
430
  # The relative resource name of this finding. See: https://cloud.google.com/apis/
235
431
  # design/resource_names#relative_resource_name Example: "organizations/`
236
432
  # organization_id`/sources/`source_id`/findings/`finding_id`"
@@ -282,19 +478,30 @@ module Google
282
478
  # @return [String]
283
479
  attr_accessor :state
284
480
 
481
+ # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
482
+ # Corresponds to the JSON property `vulnerability`
483
+ # @return [Google::Apis::SecuritycenterV1beta2::Vulnerability]
484
+ attr_accessor :vulnerability
485
+
285
486
  def initialize(**args)
286
487
  update!(**args)
287
488
  end
288
489
 
289
490
  # Update properties of this object
290
491
  def update!(**args)
492
+ @access = args[:access] if args.key?(:access)
291
493
  @canonical_name = args[:canonical_name] if args.key?(:canonical_name)
292
494
  @category = args[:category] if args.key?(:category)
293
495
  @create_time = args[:create_time] if args.key?(:create_time)
294
496
  @event_time = args[:event_time] if args.key?(:event_time)
497
+ @external_systems = args[:external_systems] if args.key?(:external_systems)
295
498
  @external_uri = args[:external_uri] if args.key?(:external_uri)
296
499
  @finding_class = args[:finding_class] if args.key?(:finding_class)
297
500
  @indicator = args[:indicator] if args.key?(:indicator)
501
+ @mitre_attack = args[:mitre_attack] if args.key?(:mitre_attack)
502
+ @mute = args[:mute] if args.key?(:mute)
503
+ @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator)
504
+ @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time)
298
505
  @name = args[:name] if args.key?(:name)
299
506
  @parent = args[:parent] if args.key?(:parent)
300
507
  @resource_name = args[:resource_name] if args.key?(:resource_name)
@@ -302,6 +509,7 @@ module Google
302
509
  @severity = args[:severity] if args.key?(:severity)
303
510
  @source_properties = args[:source_properties] if args.key?(:source_properties)
304
511
  @state = args[:state] if args.key?(:state)
512
+ @vulnerability = args[:vulnerability] if args.key?(:vulnerability)
305
513
  end
306
514
  end
307
515
 
@@ -331,6 +539,158 @@ module Google
331
539
  end
332
540
  end
333
541
 
542
+ # Represents a geographical location for a given access.
543
+ class Geolocation
544
+ include Google::Apis::Core::Hashable
545
+
546
+ # A CLDR.
547
+ # Corresponds to the JSON property `regionCode`
548
+ # @return [String]
549
+ attr_accessor :region_code
550
+
551
+ def initialize(**args)
552
+ update!(**args)
553
+ end
554
+
555
+ # Update properties of this object
556
+ def update!(**args)
557
+ @region_code = args[:region_code] if args.key?(:region_code)
558
+ end
559
+ end
560
+
561
+ # The response to a BulkMute request. Contains the LRO information.
562
+ class GoogleCloudSecuritycenterV1BulkMuteFindingsResponse
563
+ include Google::Apis::Core::Hashable
564
+
565
+ def initialize(**args)
566
+ update!(**args)
567
+ end
568
+
569
+ # Update properties of this object
570
+ def update!(**args)
571
+ end
572
+ end
573
+
574
+ # Representation of third party SIEM/SOAR fields within SCC.
575
+ class GoogleCloudSecuritycenterV1ExternalSystem
576
+ include Google::Apis::Core::Hashable
577
+
578
+ # References primary/secondary etc assignees in the external system.
579
+ # Corresponds to the JSON property `assignees`
580
+ # @return [Array<String>]
581
+ attr_accessor :assignees
582
+
583
+ # The most recent time when the corresponding finding's ticket/tracker was
584
+ # updated in the external system.
585
+ # Corresponds to the JSON property `externalSystemUpdateTime`
586
+ # @return [String]
587
+ attr_accessor :external_system_update_time
588
+
589
+ # Identifier that's used to track the given finding in the external system.
590
+ # Corresponds to the JSON property `externalUid`
591
+ # @return [String]
592
+ attr_accessor :external_uid
593
+
594
+ # External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/
595
+ # 5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/
596
+ # 123456/externalSystems/jira projects/1234/sources/5678/findings/123456/
597
+ # externalSystems/jira
598
+ # Corresponds to the JSON property `name`
599
+ # @return [String]
600
+ attr_accessor :name
601
+
602
+ # Most recent status of the corresponding finding's ticket/tracker in the
603
+ # external system.
604
+ # Corresponds to the JSON property `status`
605
+ # @return [String]
606
+ attr_accessor :status
607
+
608
+ def initialize(**args)
609
+ update!(**args)
610
+ end
611
+
612
+ # Update properties of this object
613
+ def update!(**args)
614
+ @assignees = args[:assignees] if args.key?(:assignees)
615
+ @external_system_update_time = args[:external_system_update_time] if args.key?(:external_system_update_time)
616
+ @external_uid = args[:external_uid] if args.key?(:external_uid)
617
+ @name = args[:name] if args.key?(:name)
618
+ @status = args[:status] if args.key?(:status)
619
+ end
620
+ end
621
+
622
+ # A mute config is a Cloud SCC resource that contains the configuration to mute
623
+ # create/update events of findings.
624
+ class GoogleCloudSecuritycenterV1MuteConfig
625
+ include Google::Apis::Core::Hashable
626
+
627
+ # Output only. The time at which the mute config was created. This field is set
628
+ # by the server and will be ignored if provided on config creation.
629
+ # Corresponds to the JSON property `createTime`
630
+ # @return [String]
631
+ attr_accessor :create_time
632
+
633
+ # A description of the mute config.
634
+ # Corresponds to the JSON property `description`
635
+ # @return [String]
636
+ attr_accessor :description
637
+
638
+ # The human readable name to be displayed for the mute config.
639
+ # Corresponds to the JSON property `displayName`
640
+ # @return [String]
641
+ attr_accessor :display_name
642
+
643
+ # Required. An expression that defines the filter to apply across create/update
644
+ # events of findings. While creating a filter string, be mindful of the scope in
645
+ # which the mute configuration is being created. E.g., If a filter contains
646
+ # project = X but is created under the project = Y scope, it might not match any
647
+ # findings. The following field and operator combinations are supported: *
648
+ # severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource.
649
+ # project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource.
650
+ # folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource.
651
+ # parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, `
652
+ # :` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:`
653
+ # Corresponds to the JSON property `filter`
654
+ # @return [String]
655
+ attr_accessor :filter
656
+
657
+ # Output only. Email address of the user who last edited the mute config. This
658
+ # field is set by the server and will be ignored if provided on config creation
659
+ # or update.
660
+ # Corresponds to the JSON property `mostRecentEditor`
661
+ # @return [String]
662
+ attr_accessor :most_recent_editor
663
+
664
+ # This field will be ignored if provided on config creation. Format "
665
+ # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/
666
+ # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`"
667
+ # Corresponds to the JSON property `name`
668
+ # @return [String]
669
+ attr_accessor :name
670
+
671
+ # Output only. The most recent time at which the mute config was updated. This
672
+ # field is set by the server and will be ignored if provided on config creation
673
+ # or update.
674
+ # Corresponds to the JSON property `updateTime`
675
+ # @return [String]
676
+ attr_accessor :update_time
677
+
678
+ def initialize(**args)
679
+ update!(**args)
680
+ end
681
+
682
+ # Update properties of this object
683
+ def update!(**args)
684
+ @create_time = args[:create_time] if args.key?(:create_time)
685
+ @description = args[:description] if args.key?(:description)
686
+ @display_name = args[:display_name] if args.key?(:display_name)
687
+ @filter = args[:filter] if args.key?(:filter)
688
+ @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor)
689
+ @name = args[:name] if args.key?(:name)
690
+ @update_time = args[:update_time] if args.key?(:update_time)
691
+ end
692
+ end
693
+
334
694
  # Cloud SCC's Notification
335
695
  class GoogleCloudSecuritycenterV1NotificationMessage
336
696
  include Google::Apis::Core::Hashable
@@ -370,6 +730,11 @@ module Google
370
730
  class GoogleCloudSecuritycenterV1Resource
371
731
  include Google::Apis::Core::Hashable
372
732
 
733
+ # The human readable name of the resource.
734
+ # Corresponds to the JSON property `displayName`
735
+ # @return [String]
736
+ attr_accessor :display_name
737
+
373
738
  # Output only. Contains a Folder message for each folder in the assets ancestry.
374
739
  # The first folder is the deepest nested folder, and the last folder is the
375
740
  # folder directly under the Organization.
@@ -403,18 +768,25 @@ module Google
403
768
  # @return [String]
404
769
  attr_accessor :project_display_name
405
770
 
771
+ # The full resource type of the resource.
772
+ # Corresponds to the JSON property `type`
773
+ # @return [String]
774
+ attr_accessor :type
775
+
406
776
  def initialize(**args)
407
777
  update!(**args)
408
778
  end
409
779
 
410
780
  # Update properties of this object
411
781
  def update!(**args)
782
+ @display_name = args[:display_name] if args.key?(:display_name)
412
783
  @folders = args[:folders] if args.key?(:folders)
413
784
  @name = args[:name] if args.key?(:name)
414
785
  @parent = args[:parent] if args.key?(:parent)
415
786
  @parent_display_name = args[:parent_display_name] if args.key?(:parent_display_name)
416
787
  @project = args[:project] if args.key?(:project)
417
788
  @project_display_name = args[:project_display_name] if args.key?(:project_display_name)
789
+ @type = args[:type] if args.key?(:type)
418
790
  end
419
791
  end
420
792
 
@@ -796,6 +1168,82 @@ module Google
796
1168
  end
797
1169
  end
798
1170
 
1171
+ # MITRE ATT&CK tactics and techniques related to this finding. See: https://
1172
+ # attack.mitre.org
1173
+ class MitreAttack
1174
+ include Google::Apis::Core::Hashable
1175
+
1176
+ # Additional MITRE ATT&CK tactics related to this finding, if any.
1177
+ # Corresponds to the JSON property `additionalTactics`
1178
+ # @return [Array<String>]
1179
+ attr_accessor :additional_tactics
1180
+
1181
+ # Additional MITRE ATT&CK techniques related to this finding, if any, along with
1182
+ # any of their respective parent techniques.
1183
+ # Corresponds to the JSON property `additionalTechniques`
1184
+ # @return [Array<String>]
1185
+ attr_accessor :additional_techniques
1186
+
1187
+ # The MITRE ATT&CK tactic most closely represented by this finding, if any.
1188
+ # Corresponds to the JSON property `primaryTactic`
1189
+ # @return [String]
1190
+ attr_accessor :primary_tactic
1191
+
1192
+ # The MITRE ATT&CK technique most closely represented by this finding, if any.
1193
+ # primary_techniques is a repeated field because there are multiple levels of
1194
+ # MITRE ATT&CK techniques. If the technique most closely represented by this
1195
+ # finding is a sub-technique (e.g. SCANNING_IP_BLOCKS), both the sub-technique
1196
+ # and its parent technique(s) will be listed (e.g. SCANNING_IP_BLOCKS,
1197
+ # ACTIVE_SCANNING).
1198
+ # Corresponds to the JSON property `primaryTechniques`
1199
+ # @return [Array<String>]
1200
+ attr_accessor :primary_techniques
1201
+
1202
+ # The MITRE ATT&CK version referenced by the above fields. E.g. "8".
1203
+ # Corresponds to the JSON property `version`
1204
+ # @return [String]
1205
+ attr_accessor :version
1206
+
1207
+ def initialize(**args)
1208
+ update!(**args)
1209
+ end
1210
+
1211
+ # Update properties of this object
1212
+ def update!(**args)
1213
+ @additional_tactics = args[:additional_tactics] if args.key?(:additional_tactics)
1214
+ @additional_techniques = args[:additional_techniques] if args.key?(:additional_techniques)
1215
+ @primary_tactic = args[:primary_tactic] if args.key?(:primary_tactic)
1216
+ @primary_techniques = args[:primary_techniques] if args.key?(:primary_techniques)
1217
+ @version = args[:version] if args.key?(:version)
1218
+ end
1219
+ end
1220
+
1221
+ # Additional Links
1222
+ class Reference
1223
+ include Google::Apis::Core::Hashable
1224
+
1225
+ # Source of the reference e.g. NVD
1226
+ # Corresponds to the JSON property `source`
1227
+ # @return [String]
1228
+ attr_accessor :source
1229
+
1230
+ # Uri for the mentioned source e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?
1231
+ # name=CVE-2021-34527.
1232
+ # Corresponds to the JSON property `uri`
1233
+ # @return [String]
1234
+ attr_accessor :uri
1235
+
1236
+ def initialize(**args)
1237
+ update!(**args)
1238
+ end
1239
+
1240
+ # Update properties of this object
1241
+ def update!(**args)
1242
+ @source = args[:source] if args.key?(:source)
1243
+ @uri = args[:uri] if args.key?(:uri)
1244
+ end
1245
+ end
1246
+
799
1247
  # Resource capturing the settings for Security Center.
800
1248
  class SecurityCenterSettings
801
1249
  include Google::Apis::Core::Hashable
@@ -961,6 +1409,26 @@ module Google
961
1409
  end
962
1410
  end
963
1411
 
1412
+ # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
1413
+ class Vulnerability
1414
+ include Google::Apis::Core::Hashable
1415
+
1416
+ # CVE stands for Common Vulnerabilities and Exposures. More information: https://
1417
+ # cve.mitre.org
1418
+ # Corresponds to the JSON property `cve`
1419
+ # @return [Google::Apis::SecuritycenterV1beta2::Cve]
1420
+ attr_accessor :cve
1421
+
1422
+ def initialize(**args)
1423
+ update!(**args)
1424
+ end
1425
+
1426
+ # Update properties of this object
1427
+ def update!(**args)
1428
+ @cve = args[:cve] if args.key?(:cve)
1429
+ end
1430
+ end
1431
+
964
1432
  # Resource capturing the settings for the Web Security Scanner service.
965
1433
  class WebSecurityScannerSettings
966
1434
  include Google::Apis::Core::Hashable
@@ -16,13 +16,13 @@ module Google
16
16
  module Apis
17
17
  module SecuritycenterV1beta2
18
18
  # Version of the google-apis-securitycenter_v1beta2 gem
19
- GEM_VERSION = "0.7.0"
19
+ GEM_VERSION = "0.11.0"
20
20
 
21
21
  # Version of the code generator used to generate this client
22
22
  GENERATOR_VERSION = "0.4.0"
23
23
 
24
24
  # Revision of the discovery document this client was generated from
25
- REVISION = "20210716"
25
+ REVISION = "20211207"
26
26
  end
27
27
  end
28
28
  end
@@ -22,6 +22,12 @@ module Google
22
22
  module Apis
23
23
  module SecuritycenterV1beta2
24
24
 
25
+ class Access
26
+ class Representation < Google::Apis::Core::JsonRepresentation; end
27
+
28
+ include Google::Apis::Core::JsonObjectSupport
29
+ end
30
+
25
31
  class Config
26
32
  class Representation < Google::Apis::Core::JsonRepresentation; end
27
33
 
@@ -34,6 +40,18 @@ module Google
34
40
  include Google::Apis::Core::JsonObjectSupport
35
41
  end
36
42
 
43
+ class Cve
44
+ class Representation < Google::Apis::Core::JsonRepresentation; end
45
+
46
+ include Google::Apis::Core::JsonObjectSupport
47
+ end
48
+
49
+ class Cvssv3
50
+ class Representation < Google::Apis::Core::JsonRepresentation; end
51
+
52
+ include Google::Apis::Core::JsonObjectSupport
53
+ end
54
+
37
55
  class Details
38
56
  class Representation < Google::Apis::Core::JsonRepresentation; end
39
57
 
@@ -58,6 +76,30 @@ module Google
58
76
  include Google::Apis::Core::JsonObjectSupport
59
77
  end
60
78
 
79
+ class Geolocation
80
+ class Representation < Google::Apis::Core::JsonRepresentation; end
81
+
82
+ include Google::Apis::Core::JsonObjectSupport
83
+ end
84
+
85
+ class GoogleCloudSecuritycenterV1BulkMuteFindingsResponse
86
+ class Representation < Google::Apis::Core::JsonRepresentation; end
87
+
88
+ include Google::Apis::Core::JsonObjectSupport
89
+ end
90
+
91
+ class GoogleCloudSecuritycenterV1ExternalSystem
92
+ class Representation < Google::Apis::Core::JsonRepresentation; end
93
+
94
+ include Google::Apis::Core::JsonObjectSupport
95
+ end
96
+
97
+ class GoogleCloudSecuritycenterV1MuteConfig
98
+ class Representation < Google::Apis::Core::JsonRepresentation; end
99
+
100
+ include Google::Apis::Core::JsonObjectSupport
101
+ end
102
+
61
103
  class GoogleCloudSecuritycenterV1NotificationMessage
62
104
  class Representation < Google::Apis::Core::JsonRepresentation; end
63
105
 
@@ -124,6 +166,18 @@ module Google
124
166
  include Google::Apis::Core::JsonObjectSupport
125
167
  end
126
168
 
169
+ class MitreAttack
170
+ class Representation < Google::Apis::Core::JsonRepresentation; end
171
+
172
+ include Google::Apis::Core::JsonObjectSupport
173
+ end
174
+
175
+ class Reference
176
+ class Representation < Google::Apis::Core::JsonRepresentation; end
177
+
178
+ include Google::Apis::Core::JsonObjectSupport
179
+ end
180
+
127
181
  class SecurityCenterSettings
128
182
  class Representation < Google::Apis::Core::JsonRepresentation; end
129
183
 
@@ -148,12 +202,31 @@ module Google
148
202
  include Google::Apis::Core::JsonObjectSupport
149
203
  end
150
204
 
205
+ class Vulnerability
206
+ class Representation < Google::Apis::Core::JsonRepresentation; end
207
+
208
+ include Google::Apis::Core::JsonObjectSupport
209
+ end
210
+
151
211
  class WebSecurityScannerSettings
152
212
  class Representation < Google::Apis::Core::JsonRepresentation; end
153
213
 
154
214
  include Google::Apis::Core::JsonObjectSupport
155
215
  end
156
216
 
217
+ class Access
218
+ # @private
219
+ class Representation < Google::Apis::Core::JsonRepresentation
220
+ property :caller_ip, as: 'callerIp'
221
+ property :caller_ip_geo, as: 'callerIpGeo', class: Google::Apis::SecuritycenterV1beta2::Geolocation, decorator: Google::Apis::SecuritycenterV1beta2::Geolocation::Representation
222
+
223
+ property :method_name, as: 'methodName'
224
+ property :principal_email, as: 'principalEmail'
225
+ property :service_name, as: 'serviceName'
226
+ property :user_agent_family, as: 'userAgentFamily'
227
+ end
228
+ end
229
+
157
230
  class Config
158
231
  # @private
159
232
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -174,6 +247,32 @@ module Google
174
247
  end
175
248
  end
176
249
 
250
+ class Cve
251
+ # @private
252
+ class Representation < Google::Apis::Core::JsonRepresentation
253
+ property :cvssv3, as: 'cvssv3', class: Google::Apis::SecuritycenterV1beta2::Cvssv3, decorator: Google::Apis::SecuritycenterV1beta2::Cvssv3::Representation
254
+
255
+ property :id, as: 'id'
256
+ collection :references, as: 'references', class: Google::Apis::SecuritycenterV1beta2::Reference, decorator: Google::Apis::SecuritycenterV1beta2::Reference::Representation
257
+
258
+ end
259
+ end
260
+
261
+ class Cvssv3
262
+ # @private
263
+ class Representation < Google::Apis::Core::JsonRepresentation
264
+ property :attack_complexity, as: 'attackComplexity'
265
+ property :attack_vector, as: 'attackVector'
266
+ property :availability_impact, as: 'availabilityImpact'
267
+ property :base_score, as: 'baseScore'
268
+ property :confidentiality_impact, as: 'confidentialityImpact'
269
+ property :integrity_impact, as: 'integrityImpact'
270
+ property :privileges_required, as: 'privilegesRequired'
271
+ property :scope, as: 'scope'
272
+ property :user_interaction, as: 'userInteraction'
273
+ end
274
+ end
275
+
177
276
  class Details
178
277
  # @private
179
278
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -197,14 +296,23 @@ module Google
197
296
  class Finding
198
297
  # @private
199
298
  class Representation < Google::Apis::Core::JsonRepresentation
299
+ property :access, as: 'access', class: Google::Apis::SecuritycenterV1beta2::Access, decorator: Google::Apis::SecuritycenterV1beta2::Access::Representation
300
+
200
301
  property :canonical_name, as: 'canonicalName'
201
302
  property :category, as: 'category'
202
303
  property :create_time, as: 'createTime'
203
304
  property :event_time, as: 'eventTime'
305
+ hash :external_systems, as: 'externalSystems', class: Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1ExternalSystem, decorator: Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1ExternalSystem::Representation
306
+
204
307
  property :external_uri, as: 'externalUri'
205
308
  property :finding_class, as: 'findingClass'
206
309
  property :indicator, as: 'indicator', class: Google::Apis::SecuritycenterV1beta2::Indicator, decorator: Google::Apis::SecuritycenterV1beta2::Indicator::Representation
207
310
 
311
+ property :mitre_attack, as: 'mitreAttack', class: Google::Apis::SecuritycenterV1beta2::MitreAttack, decorator: Google::Apis::SecuritycenterV1beta2::MitreAttack::Representation
312
+
313
+ property :mute, as: 'mute'
314
+ property :mute_initiator, as: 'muteInitiator'
315
+ property :mute_update_time, as: 'muteUpdateTime'
208
316
  property :name, as: 'name'
209
317
  property :parent, as: 'parent'
210
318
  property :resource_name, as: 'resourceName'
@@ -213,6 +321,8 @@ module Google
213
321
  property :severity, as: 'severity'
214
322
  hash :source_properties, as: 'sourceProperties'
215
323
  property :state, as: 'state'
324
+ property :vulnerability, as: 'vulnerability', class: Google::Apis::SecuritycenterV1beta2::Vulnerability, decorator: Google::Apis::SecuritycenterV1beta2::Vulnerability::Representation
325
+
216
326
  end
217
327
  end
218
328
 
@@ -224,6 +334,43 @@ module Google
224
334
  end
225
335
  end
226
336
 
337
+ class Geolocation
338
+ # @private
339
+ class Representation < Google::Apis::Core::JsonRepresentation
340
+ property :region_code, as: 'regionCode'
341
+ end
342
+ end
343
+
344
+ class GoogleCloudSecuritycenterV1BulkMuteFindingsResponse
345
+ # @private
346
+ class Representation < Google::Apis::Core::JsonRepresentation
347
+ end
348
+ end
349
+
350
+ class GoogleCloudSecuritycenterV1ExternalSystem
351
+ # @private
352
+ class Representation < Google::Apis::Core::JsonRepresentation
353
+ collection :assignees, as: 'assignees'
354
+ property :external_system_update_time, as: 'externalSystemUpdateTime'
355
+ property :external_uid, as: 'externalUid'
356
+ property :name, as: 'name'
357
+ property :status, as: 'status'
358
+ end
359
+ end
360
+
361
+ class GoogleCloudSecuritycenterV1MuteConfig
362
+ # @private
363
+ class Representation < Google::Apis::Core::JsonRepresentation
364
+ property :create_time, as: 'createTime'
365
+ property :description, as: 'description'
366
+ property :display_name, as: 'displayName'
367
+ property :filter, as: 'filter'
368
+ property :most_recent_editor, as: 'mostRecentEditor'
369
+ property :name, as: 'name'
370
+ property :update_time, as: 'updateTime'
371
+ end
372
+ end
373
+
227
374
  class GoogleCloudSecuritycenterV1NotificationMessage
228
375
  # @private
229
376
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -238,6 +385,7 @@ module Google
238
385
  class GoogleCloudSecuritycenterV1Resource
239
386
  # @private
240
387
  class Representation < Google::Apis::Core::JsonRepresentation
388
+ property :display_name, as: 'displayName'
241
389
  collection :folders, as: 'folders', class: Google::Apis::SecuritycenterV1beta2::Folder, decorator: Google::Apis::SecuritycenterV1beta2::Folder::Representation
242
390
 
243
391
  property :name, as: 'name'
@@ -245,6 +393,7 @@ module Google
245
393
  property :parent_display_name, as: 'parentDisplayName'
246
394
  property :project, as: 'project'
247
395
  property :project_display_name, as: 'projectDisplayName'
396
+ property :type, as: 'type'
248
397
  end
249
398
  end
250
399
 
@@ -340,6 +489,25 @@ module Google
340
489
  end
341
490
  end
342
491
 
492
+ class MitreAttack
493
+ # @private
494
+ class Representation < Google::Apis::Core::JsonRepresentation
495
+ collection :additional_tactics, as: 'additionalTactics'
496
+ collection :additional_techniques, as: 'additionalTechniques'
497
+ property :primary_tactic, as: 'primaryTactic'
498
+ collection :primary_techniques, as: 'primaryTechniques'
499
+ property :version, as: 'version'
500
+ end
501
+ end
502
+
503
+ class Reference
504
+ # @private
505
+ class Representation < Google::Apis::Core::JsonRepresentation
506
+ property :source, as: 'source'
507
+ property :uri, as: 'uri'
508
+ end
509
+ end
510
+
343
511
  class SecurityCenterSettings
344
512
  # @private
345
513
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -380,6 +548,14 @@ module Google
380
548
  end
381
549
  end
382
550
 
551
+ class Vulnerability
552
+ # @private
553
+ class Representation < Google::Apis::Core::JsonRepresentation
554
+ property :cve, as: 'cve', class: Google::Apis::SecuritycenterV1beta2::Cve, decorator: Google::Apis::SecuritycenterV1beta2::Cve::Representation
555
+
556
+ end
557
+ end
558
+
383
559
  class WebSecurityScannerSettings
384
560
  # @private
385
561
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -30,7 +30,7 @@ module Google
30
30
  # This is NOT the gem version.
31
31
  VERSION = 'V1beta2'
32
32
 
33
- # See, edit, configure, and delete your Google Cloud Platform data
33
+ # See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account.
34
34
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
35
35
  end
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-apis-securitycenter_v1beta2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-26 00:00:00.000000000 Z
11
+ date: 2021-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-apis-core
@@ -57,9 +57,9 @@ licenses:
57
57
  - Apache-2.0
58
58
  metadata:
59
59
  bug_tracker_uri: https://github.com/googleapis/google-api-ruby-client/issues
60
- changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-securitycenter_v1beta2/CHANGELOG.md
61
- documentation_uri: https://googleapis.dev/ruby/google-apis-securitycenter_v1beta2/v0.7.0
62
- source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/master/generated/google-apis-securitycenter_v1beta2
60
+ changelog_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-securitycenter_v1beta2/CHANGELOG.md
61
+ documentation_uri: https://googleapis.dev/ruby/google-apis-securitycenter_v1beta2/v0.11.0
62
+ source_code_uri: https://github.com/googleapis/google-api-ruby-client/tree/main/generated/google-apis-securitycenter_v1beta2
63
63
  post_install_message:
64
64
  rdoc_options: []
65
65
  require_paths: