google-cloud-security_center-v2 0.a → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/security_center/v2/rest.rb +37 -0
  6. data/lib/google/cloud/security_center/v2/security_center/client.rb +4771 -0
  7. data/lib/google/cloud/security_center/v2/security_center/credentials.rb +51 -0
  8. data/lib/google/cloud/security_center/v2/security_center/operations.rb +809 -0
  9. data/lib/google/cloud/security_center/v2/security_center/paths.rb +973 -0
  10. data/lib/google/cloud/security_center/v2/security_center/rest/client.rb +4390 -0
  11. data/lib/google/cloud/security_center/v2/security_center/rest/operations.rb +901 -0
  12. data/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb +3165 -0
  13. data/lib/google/cloud/security_center/v2/security_center/rest.rb +53 -0
  14. data/lib/google/cloud/security_center/v2/security_center.rb +56 -0
  15. data/lib/google/cloud/security_center/v2/version.rb +7 -2
  16. data/lib/google/cloud/security_center/v2.rb +45 -0
  17. data/lib/google/cloud/securitycenter/v2/access_pb.rb +44 -0
  18. data/lib/google/cloud/securitycenter/v2/application_pb.rb +42 -0
  19. data/lib/google/cloud/securitycenter/v2/attack_exposure_pb.rb +47 -0
  20. data/lib/google/cloud/securitycenter/v2/attack_path_pb.rb +49 -0
  21. data/lib/google/cloud/securitycenter/v2/backup_disaster_recovery_pb.rb +45 -0
  22. data/lib/google/cloud/securitycenter/v2/bigquery_export_pb.rb +47 -0
  23. data/lib/google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb.rb +45 -0
  24. data/lib/google/cloud/securitycenter/v2/cloud_dlp_inspection_pb.rb +44 -0
  25. data/lib/google/cloud/securitycenter/v2/compliance_pb.rb +42 -0
  26. data/lib/google/cloud/securitycenter/v2/connection_pb.rb +43 -0
  27. data/lib/google/cloud/securitycenter/v2/contact_details_pb.rb +43 -0
  28. data/lib/google/cloud/securitycenter/v2/container_pb.rb +47 -0
  29. data/lib/google/cloud/securitycenter/v2/database_pb.rb +42 -0
  30. data/lib/google/cloud/securitycenter/v2/exfiltration_pb.rb +43 -0
  31. data/lib/google/cloud/securitycenter/v2/external_system_pb.rb +47 -0
  32. data/lib/google/cloud/securitycenter/v2/file_pb.rb +43 -0
  33. data/lib/google/cloud/securitycenter/v2/finding_pb.rb +109 -0
  34. data/lib/google/cloud/securitycenter/v2/group_membership_pb.rb +43 -0
  35. data/lib/google/cloud/securitycenter/v2/iam_binding_pb.rb +43 -0
  36. data/lib/google/cloud/securitycenter/v2/indicator_pb.rb +47 -0
  37. data/lib/google/cloud/securitycenter/v2/kernel_rootkit_pb.rb +42 -0
  38. data/lib/google/cloud/securitycenter/v2/kubernetes_pb.rb +57 -0
  39. data/lib/google/cloud/securitycenter/v2/label_pb.rb +42 -0
  40. data/lib/google/cloud/securitycenter/v2/load_balancer_pb.rb +42 -0
  41. data/lib/google/cloud/securitycenter/v2/log_entry_pb.rb +46 -0
  42. data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +44 -0
  43. data/lib/google/cloud/securitycenter/v2/mute_config_pb.rb +48 -0
  44. data/lib/google/cloud/securitycenter/v2/notification_config_pb.rb +46 -0
  45. data/lib/google/cloud/securitycenter/v2/notification_message_pb.rb +47 -0
  46. data/lib/google/cloud/securitycenter/v2/org_policy_pb.rb +44 -0
  47. data/lib/google/cloud/securitycenter/v2/process_pb.rb +46 -0
  48. data/lib/google/cloud/securitycenter/v2/resource_pb.rb +44 -0
  49. data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +49 -0
  50. data/lib/google/cloud/securitycenter/v2/security_marks_pb.rb +44 -0
  51. data/lib/google/cloud/securitycenter/v2/security_posture_pb.rb +43 -0
  52. data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +128 -0
  53. data/lib/google/cloud/securitycenter/v2/securitycenter_service_services_pb.rb +167 -0
  54. data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +49 -0
  55. data/lib/google/cloud/securitycenter/v2/source_pb.rb +44 -0
  56. data/lib/google/cloud/securitycenter/v2/toxic_combination_pb.rb +42 -0
  57. data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +46 -0
  58. data/lib/google/cloud/securitycenter/v2/vulnerability_pb.rb +58 -0
  59. data/lib/google-cloud-security_center-v2.rb +21 -0
  60. data/proto_docs/README.md +4 -0
  61. data/proto_docs/google/api/client.rb +399 -0
  62. data/proto_docs/google/api/field_behavior.rb +85 -0
  63. data/proto_docs/google/api/launch_stage.rb +71 -0
  64. data/proto_docs/google/api/resource.rb +222 -0
  65. data/proto_docs/google/api/routing.rb +459 -0
  66. data/proto_docs/google/cloud/securitycenter/v2/access.rb +120 -0
  67. data/proto_docs/google/cloud/securitycenter/v2/application.rb +40 -0
  68. data/proto_docs/google/cloud/securitycenter/v2/attack_exposure.rb +73 -0
  69. data/proto_docs/google/cloud/securitycenter/v2/attack_path.rb +147 -0
  70. data/proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb +90 -0
  71. data/proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb +96 -0
  72. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb +52 -0
  73. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb +50 -0
  74. data/proto_docs/google/cloud/securitycenter/v2/compliance.rb +43 -0
  75. data/proto_docs/google/cloud/securitycenter/v2/connection.rb +70 -0
  76. data/proto_docs/google/cloud/securitycenter/v2/contact_details.rb +44 -0
  77. data/proto_docs/google/cloud/securitycenter/v2/container.rb +49 -0
  78. data/proto_docs/google/cloud/securitycenter/v2/database.rb +67 -0
  79. data/proto_docs/google/cloud/securitycenter/v2/exfiltration.rb +64 -0
  80. data/proto_docs/google/cloud/securitycenter/v2/external_system.rb +106 -0
  81. data/proto_docs/google/cloud/securitycenter/v2/file.rb +72 -0
  82. data/proto_docs/google/cloud/securitycenter/v2/finding.rb +427 -0
  83. data/proto_docs/google/cloud/securitycenter/v2/group_membership.rb +48 -0
  84. data/proto_docs/google/cloud/securitycenter/v2/iam_binding.rb +56 -0
  85. data/proto_docs/google/cloud/securitycenter/v2/indicator.rb +112 -0
  86. data/proto_docs/google/cloud/securitycenter/v2/kernel_rootkit.rb +66 -0
  87. data/proto_docs/google/cloud/securitycenter/v2/kubernetes.rb +241 -0
  88. data/proto_docs/google/cloud/securitycenter/v2/label.rb +41 -0
  89. data/proto_docs/google/cloud/securitycenter/v2/load_balancer.rb +36 -0
  90. data/proto_docs/google/cloud/securitycenter/v2/log_entry.rb +58 -0
  91. data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +285 -0
  92. data/proto_docs/google/cloud/securitycenter/v2/mute_config.rb +100 -0
  93. data/proto_docs/google/cloud/securitycenter/v2/notification_config.rb +90 -0
  94. data/proto_docs/google/cloud/securitycenter/v2/notification_message.rb +42 -0
  95. data/proto_docs/google/cloud/securitycenter/v2/org_policy.rb +37 -0
  96. data/proto_docs/google/cloud/securitycenter/v2/process.rb +79 -0
  97. data/proto_docs/google/cloud/securitycenter/v2/resource.rb +42 -0
  98. data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +122 -0
  99. data/proto_docs/google/cloud/securitycenter/v2/security_marks.rb +84 -0
  100. data/proto_docs/google/cloud/securitycenter/v2/security_posture.rb +83 -0
  101. data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +1136 -0
  102. data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +43 -0
  103. data/proto_docs/google/cloud/securitycenter/v2/source.rb +65 -0
  104. data/proto_docs/google/cloud/securitycenter/v2/toxic_combination.rb +46 -0
  105. data/proto_docs/google/cloud/securitycenter/v2/valued_resource.rb +86 -0
  106. data/proto_docs/google/cloud/securitycenter/v2/vulnerability.rb +333 -0
  107. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  108. data/proto_docs/google/iam/v1/options.rb +50 -0
  109. data/proto_docs/google/iam/v1/policy.rb +426 -0
  110. data/proto_docs/google/longrunning/operations.rb +164 -0
  111. data/proto_docs/google/protobuf/any.rb +145 -0
  112. data/proto_docs/google/protobuf/duration.rb +98 -0
  113. data/proto_docs/google/protobuf/empty.rb +34 -0
  114. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  115. data/proto_docs/google/protobuf/struct.rb +96 -0
  116. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  117. data/proto_docs/google/rpc/status.rb +48 -0
  118. data/proto_docs/google/type/expr.rb +75 -0
  119. metadata +173 -10
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V2
24
+ # Attack path simulation
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Full resource name of the Simulation:
28
+ # organizations/123/simulations/456
29
+ # @!attribute [r] create_time
30
+ # @return [::Google::Protobuf::Timestamp]
31
+ # Output only. Time simulation was created
32
+ # @!attribute [rw] resource_value_configs_metadata
33
+ # @return [::Array<::Google::Cloud::SecurityCenter::V2::ResourceValueConfigMetadata>]
34
+ # Resource value configurations' metadata used in this simulation. Maximum of
35
+ # 100.
36
+ class Simulation
37
+ include ::Google::Protobuf::MessageExts
38
+ extend ::Google::Protobuf::MessageExts::ClassMethods
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V2
24
+ # Security Command Center finding source. A finding source
25
+ # is an entity or a mechanism that can produce a finding. A source is like a
26
+ # container of findings that come from the same scanner, logger, monitor, and
27
+ # other tools.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # The relative resource name of this source. See:
31
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
32
+ # Example:
33
+ # "organizations/\\{organization_id}/sources/\\{source_id}"
34
+ # @!attribute [rw] display_name
35
+ # @return [::String]
36
+ # The source's display name.
37
+ # A source's display name must be unique amongst its siblings, for example,
38
+ # two sources with the same parent can't share the same display name.
39
+ # The display name must have a length between 1 and 64 characters
40
+ # (inclusive).
41
+ # @!attribute [rw] description
42
+ # @return [::String]
43
+ # The description of the source (max of 1024 characters).
44
+ # Example:
45
+ # "Web Security Scanner is a web security scanner for common
46
+ # vulnerabilities in App Engine applications. It can automatically
47
+ # scan and detect four common vulnerabilities, including cross-site-scripting
48
+ # (XSS), Flash injection, mixed content (HTTP in HTTPS), and
49
+ # outdated or insecure libraries."
50
+ # @!attribute [rw] canonical_name
51
+ # @return [::String]
52
+ # The canonical name of the finding source. It's either
53
+ # "organizations/\\{organization_id}/sources/\\{source_id}",
54
+ # "folders/\\{folder_id}/sources/\\{source_id}", or
55
+ # "projects/\\{project_number}/sources/\\{source_id}",
56
+ # depending on the closest CRM ancestor of the resource associated with the
57
+ # finding.
58
+ class Source
59
+ include ::Google::Protobuf::MessageExts
60
+ extend ::Google::Protobuf::MessageExts::ClassMethods
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V2
24
+ # Contains details about a group of security issues that, when the issues
25
+ # occur together, represent a greater risk than when the issues occur
26
+ # independently. A group of such issues is referred to as a toxic
27
+ # combination.
28
+ # @!attribute [rw] attack_exposure_score
29
+ # @return [::Float]
30
+ # The
31
+ # [Attack exposure
32
+ # score](https://cloud.google.com/security-command-center/docs/attack-exposure-learn#attack_exposure_scores)
33
+ # of this toxic combination. The score is a measure of how much this toxic
34
+ # combination exposes one or more high-value resources to potential attack.
35
+ # @!attribute [rw] related_findings
36
+ # @return [::Array<::String>]
37
+ # List of resource names of findings associated with this toxic combination.
38
+ # For example, `organizations/123/sources/456/findings/789`.
39
+ class ToxicCombination
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,86 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V2
24
+ # A resource that is determined to have value to a user's system
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Valued resource name, for example,
28
+ # e.g.:
29
+ # `organizations/123/simulations/456/valuedResources/789`
30
+ # @!attribute [rw] resource
31
+ # @return [::String]
32
+ # The
33
+ # [full resource
34
+ # name](https://cloud.google.com/apis/design/resource_names#full_resource_name)
35
+ # of the valued resource.
36
+ # @!attribute [rw] resource_type
37
+ # @return [::String]
38
+ # The [resource
39
+ # type](https://cloud.google.com/asset-inventory/docs/supported-asset-types)
40
+ # of the valued resource.
41
+ # @!attribute [rw] display_name
42
+ # @return [::String]
43
+ # Human-readable name of the valued resource.
44
+ # @!attribute [rw] resource_value
45
+ # @return [::Google::Cloud::SecurityCenter::V2::ValuedResource::ResourceValue]
46
+ # How valuable this resource is.
47
+ # @!attribute [rw] exposed_score
48
+ # @return [::Float]
49
+ # Exposed score for this valued resource. A value of 0 means no exposure was
50
+ # detected exposure.
51
+ # @!attribute [rw] resource_value_configs_used
52
+ # @return [::Array<::Google::Cloud::SecurityCenter::V2::ResourceValueConfigMetadata>]
53
+ # List of resource value configurations' metadata used to determine the value
54
+ # of this resource. Maximum of 100.
55
+ class ValuedResource
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+
59
+ # How valuable the resource is.
60
+ module ResourceValue
61
+ # The resource value isn't specified.
62
+ RESOURCE_VALUE_UNSPECIFIED = 0
63
+
64
+ # This is a low-value resource.
65
+ RESOURCE_VALUE_LOW = 1
66
+
67
+ # This is a medium-value resource.
68
+ RESOURCE_VALUE_MEDIUM = 2
69
+
70
+ # This is a high-value resource.
71
+ RESOURCE_VALUE_HIGH = 3
72
+ end
73
+ end
74
+
75
+ # Metadata about a ResourceValueConfig. For example, id and name.
76
+ # @!attribute [rw] name
77
+ # @return [::String]
78
+ # Resource value config name
79
+ class ResourceValueConfigMetadata
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,333 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module SecurityCenter
23
+ module V2
24
+ # Refers to common vulnerability fields e.g. cve, cvss, cwe etc.
25
+ # @!attribute [rw] cve
26
+ # @return [::Google::Cloud::SecurityCenter::V2::Cve]
27
+ # CVE stands for Common Vulnerabilities and Exposures
28
+ # (https://cve.mitre.org/about/)
29
+ # @!attribute [rw] offending_package
30
+ # @return [::Google::Cloud::SecurityCenter::V2::Package]
31
+ # The offending package is relevant to the finding.
32
+ # @!attribute [rw] fixed_package
33
+ # @return [::Google::Cloud::SecurityCenter::V2::Package]
34
+ # The fixed package is relevant to the finding.
35
+ # @!attribute [rw] security_bulletin
36
+ # @return [::Google::Cloud::SecurityCenter::V2::SecurityBulletin]
37
+ # The security bulletin is relevant to this finding.
38
+ class Vulnerability
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # CVE stands for Common Vulnerabilities and Exposures.
44
+ # Information from the [CVE
45
+ # record](https://www.cve.org/ResourcesSupport/Glossary) that describes this
46
+ # vulnerability.
47
+ # @!attribute [rw] id
48
+ # @return [::String]
49
+ # The unique identifier for the vulnerability. e.g. CVE-2021-34527
50
+ # @!attribute [rw] references
51
+ # @return [::Array<::Google::Cloud::SecurityCenter::V2::Reference>]
52
+ # Additional information about the CVE.
53
+ # e.g. https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527
54
+ # @!attribute [rw] cvssv3
55
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3]
56
+ # Describe Common Vulnerability Scoring System specified at
57
+ # https://www.first.org/cvss/v3.1/specification-document
58
+ # @!attribute [rw] upstream_fix_available
59
+ # @return [::Boolean]
60
+ # Whether upstream fix is available for the CVE.
61
+ # @!attribute [rw] impact
62
+ # @return [::Google::Cloud::SecurityCenter::V2::Cve::RiskRating]
63
+ # The potential impact of the vulnerability if it was to be exploited.
64
+ # @!attribute [rw] exploitation_activity
65
+ # @return [::Google::Cloud::SecurityCenter::V2::Cve::ExploitationActivity]
66
+ # The exploitation activity of the vulnerability in the wild.
67
+ # @!attribute [rw] observed_in_the_wild
68
+ # @return [::Boolean]
69
+ # Whether or not the vulnerability has been observed in the wild.
70
+ # @!attribute [rw] zero_day
71
+ # @return [::Boolean]
72
+ # Whether or not the vulnerability was zero day when the finding was
73
+ # published.
74
+ class Cve
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+
78
+ # The possible values of impact of the vulnerability if it was to be
79
+ # exploited.
80
+ module RiskRating
81
+ # Invalid or empty value.
82
+ RISK_RATING_UNSPECIFIED = 0
83
+
84
+ # Exploitation would have little to no security impact.
85
+ LOW = 1
86
+
87
+ # Exploitation would enable attackers to perform activities, or could allow
88
+ # attackers to have a direct impact, but would require additional steps.
89
+ MEDIUM = 2
90
+
91
+ # Exploitation would enable attackers to have a notable direct impact
92
+ # without needing to overcome any major mitigating factors.
93
+ HIGH = 3
94
+
95
+ # Exploitation would fundamentally undermine the security of affected
96
+ # systems, enable actors to perform significant attacks with minimal
97
+ # effort, with little to no mitigating factors to overcome.
98
+ CRITICAL = 4
99
+ end
100
+
101
+ # The possible values of exploitation activity of the vulnerability in the
102
+ # wild.
103
+ module ExploitationActivity
104
+ # Invalid or empty value.
105
+ EXPLOITATION_ACTIVITY_UNSPECIFIED = 0
106
+
107
+ # Exploitation has been reported or confirmed to widely occur.
108
+ WIDE = 1
109
+
110
+ # Limited reported or confirmed exploitation activities.
111
+ CONFIRMED = 2
112
+
113
+ # Exploit is publicly available.
114
+ AVAILABLE = 3
115
+
116
+ # No known exploitation activity, but has a high potential for
117
+ # exploitation.
118
+ ANTICIPATED = 4
119
+
120
+ # No known exploitation activity.
121
+ NO_KNOWN = 5
122
+ end
123
+ end
124
+
125
+ # Additional Links
126
+ # @!attribute [rw] source
127
+ # @return [::String]
128
+ # Source of the reference e.g. NVD
129
+ # @!attribute [rw] uri
130
+ # @return [::String]
131
+ # Uri for the mentioned source e.g.
132
+ # https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-34527.
133
+ class Reference
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+
138
+ # Common Vulnerability Scoring System version 3.
139
+ # @!attribute [rw] base_score
140
+ # @return [::Float]
141
+ # The base score is a function of the base metric scores.
142
+ # @!attribute [rw] attack_vector
143
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::AttackVector]
144
+ # Base Metrics
145
+ # Represents the intrinsic characteristics of a vulnerability that are
146
+ # constant over time and across user environments.
147
+ # This metric reflects the context by which vulnerability exploitation is
148
+ # possible.
149
+ # @!attribute [rw] attack_complexity
150
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::AttackComplexity]
151
+ # This metric describes the conditions beyond the attacker's control that
152
+ # must exist in order to exploit the vulnerability.
153
+ # @!attribute [rw] privileges_required
154
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::PrivilegesRequired]
155
+ # This metric describes the level of privileges an attacker must possess
156
+ # before successfully exploiting the vulnerability.
157
+ # @!attribute [rw] user_interaction
158
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::UserInteraction]
159
+ # This metric captures the requirement for a human user, other than the
160
+ # attacker, to participate in the successful compromise of the vulnerable
161
+ # component.
162
+ # @!attribute [rw] scope
163
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::Scope]
164
+ # The Scope metric captures whether a vulnerability in one vulnerable
165
+ # component impacts resources in components beyond its security scope.
166
+ # @!attribute [rw] confidentiality_impact
167
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::Impact]
168
+ # This metric measures the impact to the confidentiality of the information
169
+ # resources managed by a software component due to a successfully exploited
170
+ # vulnerability.
171
+ # @!attribute [rw] integrity_impact
172
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::Impact]
173
+ # This metric measures the impact to integrity of a successfully exploited
174
+ # vulnerability.
175
+ # @!attribute [rw] availability_impact
176
+ # @return [::Google::Cloud::SecurityCenter::V2::Cvssv3::Impact]
177
+ # This metric measures the impact to the availability of the impacted
178
+ # component resulting from a successfully exploited vulnerability.
179
+ class Cvssv3
180
+ include ::Google::Protobuf::MessageExts
181
+ extend ::Google::Protobuf::MessageExts::ClassMethods
182
+
183
+ # This metric reflects the context by which vulnerability exploitation is
184
+ # possible.
185
+ module AttackVector
186
+ # Invalid value.
187
+ ATTACK_VECTOR_UNSPECIFIED = 0
188
+
189
+ # The vulnerable component is bound to the network stack and the set of
190
+ # possible attackers extends beyond the other options listed below, up to
191
+ # and including the entire Internet.
192
+ ATTACK_VECTOR_NETWORK = 1
193
+
194
+ # The vulnerable component is bound to the network stack, but the attack is
195
+ # limited at the protocol level to a logically adjacent topology.
196
+ ATTACK_VECTOR_ADJACENT = 2
197
+
198
+ # The vulnerable component is not bound to the network stack and the
199
+ # attacker's path is via read/write/execute capabilities.
200
+ ATTACK_VECTOR_LOCAL = 3
201
+
202
+ # The attack requires the attacker to physically touch or manipulate the
203
+ # vulnerable component.
204
+ ATTACK_VECTOR_PHYSICAL = 4
205
+ end
206
+
207
+ # This metric describes the conditions beyond the attacker's control that
208
+ # must exist in order to exploit the vulnerability.
209
+ module AttackComplexity
210
+ # Invalid value.
211
+ ATTACK_COMPLEXITY_UNSPECIFIED = 0
212
+
213
+ # Specialized access conditions or extenuating circumstances do not exist.
214
+ # An attacker can expect repeatable success when attacking the vulnerable
215
+ # component.
216
+ ATTACK_COMPLEXITY_LOW = 1
217
+
218
+ # A successful attack depends on conditions beyond the attacker's control.
219
+ # That is, a successful attack cannot be accomplished at will, but requires
220
+ # the attacker to invest in some measurable amount of effort in preparation
221
+ # or execution against the vulnerable component before a successful attack
222
+ # can be expected.
223
+ ATTACK_COMPLEXITY_HIGH = 2
224
+ end
225
+
226
+ # This metric describes the level of privileges an attacker must possess
227
+ # before successfully exploiting the vulnerability.
228
+ module PrivilegesRequired
229
+ # Invalid value.
230
+ PRIVILEGES_REQUIRED_UNSPECIFIED = 0
231
+
232
+ # The attacker is unauthorized prior to attack, and therefore does not
233
+ # require any access to settings or files of the vulnerable system to
234
+ # carry out an attack.
235
+ PRIVILEGES_REQUIRED_NONE = 1
236
+
237
+ # The attacker requires privileges that provide basic user capabilities
238
+ # that could normally affect only settings and files owned by a user.
239
+ # Alternatively, an attacker with Low privileges has the ability to access
240
+ # only non-sensitive resources.
241
+ PRIVILEGES_REQUIRED_LOW = 2
242
+
243
+ # The attacker requires privileges that provide significant (e.g.,
244
+ # administrative) control over the vulnerable component allowing access to
245
+ # component-wide settings and files.
246
+ PRIVILEGES_REQUIRED_HIGH = 3
247
+ end
248
+
249
+ # This metric captures the requirement for a human user, other than the
250
+ # attacker, to participate in the successful compromise of the vulnerable
251
+ # component.
252
+ module UserInteraction
253
+ # Invalid value.
254
+ USER_INTERACTION_UNSPECIFIED = 0
255
+
256
+ # The vulnerable system can be exploited without interaction from any user.
257
+ USER_INTERACTION_NONE = 1
258
+
259
+ # Successful exploitation of this vulnerability requires a user to take
260
+ # some action before the vulnerability can be exploited.
261
+ USER_INTERACTION_REQUIRED = 2
262
+ end
263
+
264
+ # The Scope metric captures whether a vulnerability in one vulnerable
265
+ # component impacts resources in components beyond its security scope.
266
+ module Scope
267
+ # Invalid value.
268
+ SCOPE_UNSPECIFIED = 0
269
+
270
+ # An exploited vulnerability can only affect resources managed by the same
271
+ # security authority.
272
+ SCOPE_UNCHANGED = 1
273
+
274
+ # An exploited vulnerability can affect resources beyond the security scope
275
+ # managed by the security authority of the vulnerable component.
276
+ SCOPE_CHANGED = 2
277
+ end
278
+
279
+ # The Impact metrics capture the effects of a successfully exploited
280
+ # vulnerability on the component that suffers the worst outcome that is most
281
+ # directly and predictably associated with the attack.
282
+ module Impact
283
+ # Invalid value.
284
+ IMPACT_UNSPECIFIED = 0
285
+
286
+ # High impact.
287
+ IMPACT_HIGH = 1
288
+
289
+ # Low impact.
290
+ IMPACT_LOW = 2
291
+
292
+ # No impact.
293
+ IMPACT_NONE = 3
294
+ end
295
+ end
296
+
297
+ # Package is a generic definition of a package.
298
+ # @!attribute [rw] package_name
299
+ # @return [::String]
300
+ # The name of the package where the vulnerability was detected.
301
+ # @!attribute [rw] cpe_uri
302
+ # @return [::String]
303
+ # The CPE URI where the vulnerability was detected.
304
+ # @!attribute [rw] package_type
305
+ # @return [::String]
306
+ # Type of package, for example, os, maven, or go.
307
+ # @!attribute [rw] package_version
308
+ # @return [::String]
309
+ # The version of the package.
310
+ class Package
311
+ include ::Google::Protobuf::MessageExts
312
+ extend ::Google::Protobuf::MessageExts::ClassMethods
313
+ end
314
+
315
+ # SecurityBulletin are notifications of vulnerabilities of Google products.
316
+ # @!attribute [rw] bulletin_id
317
+ # @return [::String]
318
+ # ID of the bulletin corresponding to the vulnerability.
319
+ # @!attribute [rw] submission_time
320
+ # @return [::Google::Protobuf::Timestamp]
321
+ # Submission time of this Security Bulletin.
322
+ # @!attribute [rw] suggested_upgrade_version
323
+ # @return [::String]
324
+ # This represents a version that the cluster receiving this notification
325
+ # should be upgraded to, based on its current version. For example, 1.15.0
326
+ class SecurityBulletin
327
+ include ::Google::Protobuf::MessageExts
328
+ extend ::Google::Protobuf::MessageExts::ClassMethods
329
+ end
330
+ end
331
+ end
332
+ end
333
+ end
@@ -0,0 +1,87 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://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,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Iam
22
+ module V1
23
+ # Request message for `SetIamPolicy` method.
24
+ # @!attribute [rw] resource
25
+ # @return [::String]
26
+ # REQUIRED: The resource for which the policy is being specified.
27
+ # See the operation documentation for the appropriate value for this field.
28
+ # @!attribute [rw] policy
29
+ # @return [::Google::Iam::V1::Policy]
30
+ # REQUIRED: The complete policy to be applied to the `resource`. The size of
31
+ # the policy is limited to a few 10s of KB. An empty policy is a
32
+ # valid policy but certain Cloud Platform services (such as Projects)
33
+ # might reject them.
34
+ # @!attribute [rw] update_mask
35
+ # @return [::Google::Protobuf::FieldMask]
36
+ # OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
37
+ # the fields in the mask will be modified. If no mask is provided, the
38
+ # following default mask is used:
39
+ #
40
+ # `paths: "bindings, etag"`
41
+ class SetIamPolicyRequest
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+
46
+ # Request message for `GetIamPolicy` method.
47
+ # @!attribute [rw] resource
48
+ # @return [::String]
49
+ # REQUIRED: The resource for which the policy is being requested.
50
+ # See the operation documentation for the appropriate value for this field.
51
+ # @!attribute [rw] options
52
+ # @return [::Google::Iam::V1::GetPolicyOptions]
53
+ # OPTIONAL: A `GetPolicyOptions` object for specifying options to
54
+ # `GetIamPolicy`.
55
+ class GetIamPolicyRequest
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+ end
59
+
60
+ # Request message for `TestIamPermissions` method.
61
+ # @!attribute [rw] resource
62
+ # @return [::String]
63
+ # REQUIRED: The resource for which the policy detail is being requested.
64
+ # See the operation documentation for the appropriate value for this field.
65
+ # @!attribute [rw] permissions
66
+ # @return [::Array<::String>]
67
+ # The set of permissions to check for the `resource`. Permissions with
68
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
69
+ # information see
70
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
71
+ class TestIamPermissionsRequest
72
+ include ::Google::Protobuf::MessageExts
73
+ extend ::Google::Protobuf::MessageExts::ClassMethods
74
+ end
75
+
76
+ # Response message for `TestIamPermissions` method.
77
+ # @!attribute [rw] permissions
78
+ # @return [::Array<::String>]
79
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
80
+ # allowed.
81
+ class TestIamPermissionsResponse
82
+ include ::Google::Protobuf::MessageExts
83
+ extend ::Google::Protobuf::MessageExts::ClassMethods
84
+ end
85
+ end
86
+ end
87
+ end