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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) 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 +4728 -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 +801 -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 +4347 -0
  11. data/lib/google/cloud/security_center/v2/security_center/rest/operations.rb +894 -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 +105 -0
  34. data/lib/google/cloud/securitycenter/v2/iam_binding_pb.rb +43 -0
  35. data/lib/google/cloud/securitycenter/v2/indicator_pb.rb +47 -0
  36. data/lib/google/cloud/securitycenter/v2/kernel_rootkit_pb.rb +42 -0
  37. data/lib/google/cloud/securitycenter/v2/kubernetes_pb.rb +57 -0
  38. data/lib/google/cloud/securitycenter/v2/label_pb.rb +42 -0
  39. data/lib/google/cloud/securitycenter/v2/load_balancer_pb.rb +42 -0
  40. data/lib/google/cloud/securitycenter/v2/log_entry_pb.rb +46 -0
  41. data/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +44 -0
  42. data/lib/google/cloud/securitycenter/v2/mute_config_pb.rb +48 -0
  43. data/lib/google/cloud/securitycenter/v2/notification_config_pb.rb +46 -0
  44. data/lib/google/cloud/securitycenter/v2/notification_message_pb.rb +47 -0
  45. data/lib/google/cloud/securitycenter/v2/org_policy_pb.rb +44 -0
  46. data/lib/google/cloud/securitycenter/v2/process_pb.rb +46 -0
  47. data/lib/google/cloud/securitycenter/v2/resource_pb.rb +44 -0
  48. data/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +49 -0
  49. data/lib/google/cloud/securitycenter/v2/security_marks_pb.rb +44 -0
  50. data/lib/google/cloud/securitycenter/v2/security_posture_pb.rb +43 -0
  51. data/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +128 -0
  52. data/lib/google/cloud/securitycenter/v2/securitycenter_service_services_pb.rb +167 -0
  53. data/lib/google/cloud/securitycenter/v2/simulation_pb.rb +49 -0
  54. data/lib/google/cloud/securitycenter/v2/source_pb.rb +44 -0
  55. data/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +46 -0
  56. data/lib/google/cloud/securitycenter/v2/vulnerability_pb.rb +58 -0
  57. data/lib/google-cloud-security_center-v2.rb +21 -0
  58. data/proto_docs/README.md +4 -0
  59. data/proto_docs/google/api/client.rb +399 -0
  60. data/proto_docs/google/api/field_behavior.rb +85 -0
  61. data/proto_docs/google/api/launch_stage.rb +71 -0
  62. data/proto_docs/google/api/resource.rb +222 -0
  63. data/proto_docs/google/api/routing.rb +459 -0
  64. data/proto_docs/google/cloud/securitycenter/v2/access.rb +120 -0
  65. data/proto_docs/google/cloud/securitycenter/v2/application.rb +40 -0
  66. data/proto_docs/google/cloud/securitycenter/v2/attack_exposure.rb +73 -0
  67. data/proto_docs/google/cloud/securitycenter/v2/attack_path.rb +147 -0
  68. data/proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb +90 -0
  69. data/proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb +96 -0
  70. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb +52 -0
  71. data/proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb +50 -0
  72. data/proto_docs/google/cloud/securitycenter/v2/compliance.rb +43 -0
  73. data/proto_docs/google/cloud/securitycenter/v2/connection.rb +70 -0
  74. data/proto_docs/google/cloud/securitycenter/v2/contact_details.rb +44 -0
  75. data/proto_docs/google/cloud/securitycenter/v2/container.rb +49 -0
  76. data/proto_docs/google/cloud/securitycenter/v2/database.rb +67 -0
  77. data/proto_docs/google/cloud/securitycenter/v2/exfiltration.rb +64 -0
  78. data/proto_docs/google/cloud/securitycenter/v2/external_system.rb +106 -0
  79. data/proto_docs/google/cloud/securitycenter/v2/file.rb +72 -0
  80. data/proto_docs/google/cloud/securitycenter/v2/finding.rb +411 -0
  81. data/proto_docs/google/cloud/securitycenter/v2/iam_binding.rb +56 -0
  82. data/proto_docs/google/cloud/securitycenter/v2/indicator.rb +112 -0
  83. data/proto_docs/google/cloud/securitycenter/v2/kernel_rootkit.rb +66 -0
  84. data/proto_docs/google/cloud/securitycenter/v2/kubernetes.rb +241 -0
  85. data/proto_docs/google/cloud/securitycenter/v2/label.rb +41 -0
  86. data/proto_docs/google/cloud/securitycenter/v2/load_balancer.rb +36 -0
  87. data/proto_docs/google/cloud/securitycenter/v2/log_entry.rb +58 -0
  88. data/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +285 -0
  89. data/proto_docs/google/cloud/securitycenter/v2/mute_config.rb +100 -0
  90. data/proto_docs/google/cloud/securitycenter/v2/notification_config.rb +90 -0
  91. data/proto_docs/google/cloud/securitycenter/v2/notification_message.rb +42 -0
  92. data/proto_docs/google/cloud/securitycenter/v2/org_policy.rb +37 -0
  93. data/proto_docs/google/cloud/securitycenter/v2/process.rb +79 -0
  94. data/proto_docs/google/cloud/securitycenter/v2/resource.rb +42 -0
  95. data/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +122 -0
  96. data/proto_docs/google/cloud/securitycenter/v2/security_marks.rb +84 -0
  97. data/proto_docs/google/cloud/securitycenter/v2/security_posture.rb +83 -0
  98. data/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +1136 -0
  99. data/proto_docs/google/cloud/securitycenter/v2/simulation.rb +43 -0
  100. data/proto_docs/google/cloud/securitycenter/v2/source.rb +65 -0
  101. data/proto_docs/google/cloud/securitycenter/v2/valued_resource.rb +86 -0
  102. data/proto_docs/google/cloud/securitycenter/v2/vulnerability.rb +333 -0
  103. data/proto_docs/google/iam/v1/iam_policy.rb +87 -0
  104. data/proto_docs/google/iam/v1/options.rb +50 -0
  105. data/proto_docs/google/iam/v1/policy.rb +426 -0
  106. data/proto_docs/google/longrunning/operations.rb +164 -0
  107. data/proto_docs/google/protobuf/any.rb +145 -0
  108. data/proto_docs/google/protobuf/duration.rb +98 -0
  109. data/proto_docs/google/protobuf/empty.rb +34 -0
  110. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  111. data/proto_docs/google/protobuf/struct.rb +96 -0
  112. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  113. data/proto_docs/google/rpc/status.rb +48 -0
  114. data/proto_docs/google/type/expr.rb +75 -0
  115. metadata +169 -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,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
@@ -0,0 +1,50 @@
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
+ # Encapsulates settings provided to GetIamPolicy.
24
+ # @!attribute [rw] requested_policy_version
25
+ # @return [::Integer]
26
+ # Optional. The maximum policy version that will be used to format the
27
+ # policy.
28
+ #
29
+ # Valid values are 0, 1, and 3. Requests specifying an invalid value will be
30
+ # rejected.
31
+ #
32
+ # Requests for policies with any conditional role bindings must specify
33
+ # version 3. Policies with no conditional role bindings may specify any valid
34
+ # value or leave the field unset.
35
+ #
36
+ # The policy in the response might use the policy version that you specified,
37
+ # or it might use a lower policy version. For example, if you specify version
38
+ # 3, but the policy has no conditional role bindings, the response uses
39
+ # version 1.
40
+ #
41
+ # To learn which resources support conditions in their IAM policies, see the
42
+ # [IAM
43
+ # documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
44
+ class GetPolicyOptions
45
+ include ::Google::Protobuf::MessageExts
46
+ extend ::Google::Protobuf::MessageExts::ClassMethods
47
+ end
48
+ end
49
+ end
50
+ end