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,122 @@
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 value config (RVC) is a mapping configuration of user's resources
25
+ # to resource values. Used in Attack path simulations.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Name for the resource value config
29
+ # @!attribute [rw] resource_value
30
+ # @return [::Google::Cloud::SecurityCenter::V2::ResourceValue]
31
+ # Resource value level this expression represents
32
+ # Only required when there is no SDP mapping in the request
33
+ # @!attribute [rw] tag_values
34
+ # @return [::Array<::String>]
35
+ # Required. Tag values combined with AND to check against.
36
+ # Values in the form "tagValues/123"
37
+ # E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ]
38
+ # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing
39
+ # @!attribute [rw] resource_type
40
+ # @return [::String]
41
+ # Apply resource_value only to resources that match resource_type.
42
+ # resource_type will be checked with "AND" of other resources.
43
+ # E.g. "storage.googleapis.com/Bucket" with resource_value "HIGH" will
44
+ # apply "HIGH" value only to "storage.googleapis.com/Bucket" resources.
45
+ # @!attribute [rw] scope
46
+ # @return [::String]
47
+ # Project or folder to scope this config to.
48
+ # For example, "project/456" would apply this config only to resources in
49
+ # "project/456"
50
+ # scope will be checked with "AND" of other resources.
51
+ # @!attribute [rw] resource_labels_selector
52
+ # @return [::Google::Protobuf::Map{::String => ::String}]
53
+ # List of resource labels to search for, evaluated with AND.
54
+ # E.g. "resource_labels_selector": \\{"key": "value", "env": "prod"}
55
+ # will match resources with labels "key": "value" AND "env": "prod"
56
+ # https://cloud.google.com/resource-manager/docs/creating-managing-labels
57
+ # @!attribute [rw] description
58
+ # @return [::String]
59
+ # Description of the resource value config.
60
+ # @!attribute [r] create_time
61
+ # @return [::Google::Protobuf::Timestamp]
62
+ # Output only. Timestamp this resource value config was created.
63
+ # @!attribute [r] update_time
64
+ # @return [::Google::Protobuf::Timestamp]
65
+ # Output only. Timestamp this resource value config was last updated.
66
+ # @!attribute [rw] sensitive_data_protection_mapping
67
+ # @return [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig::SensitiveDataProtectionMapping]
68
+ # A mapping of the sensitivity on Sensitive Data Protection finding to
69
+ # resource values. This mapping can only be used in combination with a
70
+ # resource_type that is related to BigQuery, e.g.
71
+ # "bigquery.googleapis.com/Dataset".
72
+ class ResourceValueConfig
73
+ include ::Google::Protobuf::MessageExts
74
+ extend ::Google::Protobuf::MessageExts::ClassMethods
75
+
76
+ # Resource value mapping for Sensitive Data Protection findings
77
+ # If any of these mappings have a resource value that is not unspecified,
78
+ # the resource_value field will be ignored when reading this configuration.
79
+ # @!attribute [rw] high_sensitivity_mapping
80
+ # @return [::Google::Cloud::SecurityCenter::V2::ResourceValue]
81
+ # Resource value mapping for high-sensitivity Sensitive Data Protection
82
+ # findings
83
+ # @!attribute [rw] medium_sensitivity_mapping
84
+ # @return [::Google::Cloud::SecurityCenter::V2::ResourceValue]
85
+ # Resource value mapping for medium-sensitivity Sensitive Data Protection
86
+ # findings
87
+ class SensitiveDataProtectionMapping
88
+ include ::Google::Protobuf::MessageExts
89
+ extend ::Google::Protobuf::MessageExts::ClassMethods
90
+ end
91
+
92
+ # @!attribute [rw] key
93
+ # @return [::String]
94
+ # @!attribute [rw] value
95
+ # @return [::String]
96
+ class ResourceLabelsSelectorEntry
97
+ include ::Google::Protobuf::MessageExts
98
+ extend ::Google::Protobuf::MessageExts::ClassMethods
99
+ end
100
+ end
101
+
102
+ # Value enum to map to a resource
103
+ module ResourceValue
104
+ # Unspecific value
105
+ RESOURCE_VALUE_UNSPECIFIED = 0
106
+
107
+ # High resource value
108
+ HIGH = 1
109
+
110
+ # Medium resource value
111
+ MEDIUM = 2
112
+
113
+ # Low resource value
114
+ LOW = 3
115
+
116
+ # No resource value, e.g. ignore these resources
117
+ NONE = 4
118
+ end
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,84 @@
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
+ # User specified security marks that are attached to the parent Security
25
+ # Command Center resource. Security marks are scoped within a Security Command
26
+ # Center organization -- they can be modified and viewed by all users who have
27
+ # proper permissions on the organization.
28
+ # @!attribute [rw] name
29
+ # @return [::String]
30
+ # The relative resource name of the SecurityMarks. See:
31
+ # https://cloud.google.com/apis/design/resource_names#relative_resource_name
32
+ # The following list shows some examples:
33
+ #
34
+ # + `organizations/{organization_id}/assets/{asset_id}/securityMarks`
35
+ # +
36
+ # `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks`
37
+ # +
38
+ # `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`
39
+ # @!attribute [rw] marks
40
+ # @return [::Google::Protobuf::Map{::String => ::String}]
41
+ # Mutable user specified security marks belonging to the parent resource.
42
+ # Constraints are as follows:
43
+ #
44
+ # * Keys and values are treated as case insensitive
45
+ # * Keys must be between 1 - 256 characters (inclusive)
46
+ # * Keys must be letters, numbers, underscores, or dashes
47
+ # * Values have leading and trailing whitespace trimmed, remaining
48
+ # characters must be between 1 - 4096 characters (inclusive)
49
+ # @!attribute [rw] canonical_name
50
+ # @return [::String]
51
+ # The canonical name of the marks. The following list shows some examples:
52
+ #
53
+ # + `organizations/{organization_id}/assets/{asset_id}/securityMarks`
54
+ # +
55
+ # `organizations/{organization_id}/sources/{source_id}/findings/{finding_id}/securityMarks`
56
+ # +
57
+ # `organizations/{organization_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`
58
+ # + `folders/{folder_id}/assets/{asset_id}/securityMarks`
59
+ # +
60
+ # `folders/{folder_id}/sources/{source_id}/findings/{finding_id}/securityMarks`
61
+ # +
62
+ # `folders/{folder_id}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`
63
+ # + `projects/{project_number}/assets/{asset_id}/securityMarks`
64
+ # +
65
+ # `projects/{project_number}/sources/{source_id}/findings/{finding_id}/securityMarks`
66
+ # +
67
+ # `projects/{project_number}/sources/{source_id}/locations/{location}/findings/{finding_id}/securityMarks`
68
+ class SecurityMarks
69
+ include ::Google::Protobuf::MessageExts
70
+ extend ::Google::Protobuf::MessageExts::ClassMethods
71
+
72
+ # @!attribute [rw] key
73
+ # @return [::String]
74
+ # @!attribute [rw] value
75
+ # @return [::String]
76
+ class MarksEntry
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,83 @@
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
+ # Represents a posture that is deployed on Google Cloud by the
25
+ # Security Command Center Posture Management service.
26
+ # A posture contains one or more policy sets. A policy set is a
27
+ # group of policies that enforce a set of security rules on Google
28
+ # Cloud.
29
+ # @!attribute [rw] name
30
+ # @return [::String]
31
+ # Name of the posture, for example, `CIS-Posture`.
32
+ # @!attribute [rw] revision_id
33
+ # @return [::String]
34
+ # The version of the posture, for example, `c7cfa2a8`.
35
+ # @!attribute [rw] posture_deployment_resource
36
+ # @return [::String]
37
+ # The project, folder, or organization on which the posture is deployed,
38
+ # for example, `projects/{project_number}`.
39
+ # @!attribute [rw] posture_deployment
40
+ # @return [::String]
41
+ # The name of the posture deployment, for example,
42
+ # `organizations/{org_id}/posturedeployments/{posture_deployment_id}`.
43
+ # @!attribute [rw] changed_policy
44
+ # @return [::String]
45
+ # The name of the updated policy, for example,
46
+ # `projects/{project_id}/policies/{constraint_name}`.
47
+ # @!attribute [rw] policy_set
48
+ # @return [::String]
49
+ # The name of the updated policy set, for example, `cis-policyset`.
50
+ # @!attribute [rw] policy
51
+ # @return [::String]
52
+ # The ID of the updated policy, for example, `compute-policy-1`.
53
+ # @!attribute [rw] policy_drift_details
54
+ # @return [::Array<::Google::Cloud::SecurityCenter::V2::SecurityPosture::PolicyDriftDetails>]
55
+ # The details about a change in an updated policy that violates the deployed
56
+ # posture.
57
+ class SecurityPosture
58
+ include ::Google::Protobuf::MessageExts
59
+ extend ::Google::Protobuf::MessageExts::ClassMethods
60
+
61
+ # The policy field that violates the deployed posture and its expected and
62
+ # detected values.
63
+ # @!attribute [rw] field
64
+ # @return [::String]
65
+ # The name of the updated field, for example
66
+ # constraint.implementation.policy_rules[0].enforce
67
+ # @!attribute [rw] expected_value
68
+ # @return [::String]
69
+ # The value of this field that was configured in a posture, for example,
70
+ # `true` or `allowed_values={"projects/29831892"}`.
71
+ # @!attribute [rw] detected_value
72
+ # @return [::String]
73
+ # The detected value that violates the deployed posture, for example,
74
+ # `false` or `allowed_values={"projects/22831892"}`.
75
+ class PolicyDriftDetails
76
+ include ::Google::Protobuf::MessageExts
77
+ extend ::Google::Protobuf::MessageExts::ClassMethods
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end