google-cloud-security_center-v1 0.3.5 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f9d2378b4719a0610bd2d8c0d52d876c96b29095f9cfdf1bfe55fee64a8b03df
4
- data.tar.gz: 891b570b8ac41a553e50de6c05f04297c805c100ee5ab3327ecc1cb7934bd24d
3
+ metadata.gz: 508c298c0b1fa81859e93069d2da4743ff03c2b1a3b410ddd79f1d1a6120d81b
4
+ data.tar.gz: cfd01d178fb5400b885dbb4c77872fd4cd41e07bef3cc8c74206ef428afe6e34
5
5
  SHA512:
6
- metadata.gz: bcb9d3ed3966aad8a6d78952276d3318e9f55afcc83a42eca5874fa28c45c9777095c8a30ce4d5b74b3c0aabb5171f60e57f69295e29d282637bd8e88e1914bc
7
- data.tar.gz: e62a087417860ec5d1ea1a35bda34af96bc5366e51a431663d52d9f150b1fc7a6f5fa57a77cab107e4b6df79dcd2a8168184e6ab89d7964bb760a493f06fc3c1
6
+ metadata.gz: 073d7e68ade7f587e229aae5c5234696cfcb4bb2503a1465252dc17e7905be3f0e128b671534e9a707a3d8faa3641cb471e4f480d0bdf215fc4428b3ac4e7818
7
+ data.tar.gz: b2c9afb7b38bc03f05583db699e9917bbae8d0cbc2f741d7e92c99b5cda7dafdb015b389d65f26600b13752b24286901723c957ee800f2a4fe073037e27708cd
@@ -33,3 +33,6 @@ module Google
33
33
  end
34
34
  end
35
35
  end
36
+
37
+ helper_path = ::File.join __dir__, "v1", "_helpers.rb"
38
+ require "google/cloud/security_center/v1/_helpers" if ::File.file? helper_path
@@ -290,8 +290,8 @@ module Google
290
290
  # Required. Resource name of the new source's parent. Its format should be
291
291
  # "organizations/[organization_id]".
292
292
  # @param source [::Google::Cloud::SecurityCenter::V1::Source, ::Hash]
293
- # Required. The Source being created, only the display_name and description
294
- # will be used. All other fields will be ignored.
293
+ # Required. The Source being created, only the display_name and description will be
294
+ # used. All other fields will be ignored.
295
295
  #
296
296
  # @yield [response, operation] Access the result along with the RPC operation
297
297
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::Source]
@@ -365,8 +365,8 @@ module Google
365
365
  # It must be alphanumeric and less than or equal to 32 characters and
366
366
  # greater than 0 characters in length.
367
367
  # @param finding [::Google::Cloud::SecurityCenter::V1::Finding, ::Hash]
368
- # Required. The Finding being created. The name and security_marks will be
369
- # ignored as they are both output only fields on this resource.
368
+ # Required. The Finding being created. The name and security_marks will be ignored as
369
+ # they are both output only fields on this resource.
370
370
  #
371
371
  # @yield [response, operation] Access the result along with the RPC operation
372
372
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::Finding]
@@ -432,17 +432,16 @@ module Google
432
432
  # the default parameter values, pass an empty Hash as a request object (see above).
433
433
  #
434
434
  # @param parent [::String]
435
- # Required. Resource name of the new notification config's parent. Its format
436
- # is "organizations/[organization_id]".
435
+ # Required. Resource name of the new notification config's parent. Its format is
436
+ # "organizations/[organization_id]".
437
437
  # @param config_id [::String]
438
438
  # Required.
439
439
  # Unique identifier provided by the client within the parent scope.
440
440
  # It must be between 1 and 128 characters, and contains alphanumeric
441
441
  # characters, underscores or hyphens only.
442
442
  # @param notification_config [::Google::Cloud::SecurityCenter::V1::NotificationConfig, ::Hash]
443
- # Required. The notification config being created. The name and the service
444
- # account will be ignored as they are both output only fields on this
445
- # resource.
443
+ # Required. The notification config being created. The name and the service account
444
+ # will be ignored as they are both output only fields on this resource.
446
445
  #
447
446
  # @yield [response, operation] Access the result along with the RPC operation
448
447
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::NotificationConfig]
@@ -712,8 +711,8 @@ module Google
712
711
  # the default parameter values, pass an empty Hash as a request object (see above).
713
712
  #
714
713
  # @param name [::String]
715
- # Required. Name of the organization to get organization settings for. Its
716
- # format is "organizations/[organization_id]/organizationSettings".
714
+ # Required. Name of the organization to get organization settings for. Its format is
715
+ # "organizations/[organization_id]/organizationSettings".
717
716
  #
718
717
  # @yield [response, operation] Access the result along with the RPC operation
719
718
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::OrganizationSettings]
@@ -908,14 +907,14 @@ module Google
908
907
  # For example, `resource_properties.size = 100` is a valid filter string.
909
908
  #
910
909
  # Use a partial match on the empty string to filter based on a property
911
- # existing:`resource_properties.my_property : ""`
910
+ # existing: `resource_properties.my_property : ""`
912
911
  #
913
912
  # Use a negated partial match on the empty string to filter based on a
914
913
  # property not existing: `-resource_properties.my_property : ""`
915
914
  # @param group_by [::String]
916
- # Required. Expression that defines what assets fields to use for grouping.
917
- # The string value should follow SQL syntax: comma separated list of fields.
918
- # For example:
915
+ # Required. Expression that defines what assets fields to use for grouping. The string
916
+ # value should follow SQL syntax: comma separated list of fields. For
917
+ # example:
919
918
  # "security_center_properties.resource_project,security_center_properties.project".
920
919
  #
921
920
  # The following fields are supported when compare_duration is not set:
@@ -1079,6 +1078,7 @@ module Google
1079
1078
  # * category: `=`, `:`
1080
1079
  # * external_uri: `=`, `:`
1081
1080
  # * event_time: `=`, `>`, `<`, `>=`, `<=`
1081
+ # * severity: `=`, `:`
1082
1082
  #
1083
1083
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1084
1084
  # Examples:
@@ -1096,9 +1096,9 @@ module Google
1096
1096
  # Use a negated partial match on the empty string to filter based on a
1097
1097
  # property not existing: `-source_properties.my_property : ""`
1098
1098
  # @param group_by [::String]
1099
- # Required. Expression that defines what assets fields to use for grouping
1100
- # (including `state_change`). The string value should follow SQL syntax:
1101
- # comma separated list of fields. For example: "parent,resource_name".
1099
+ # Required. Expression that defines what assets fields to use for grouping (including
1100
+ # `state_change`). The string value should follow SQL syntax: comma separated
1101
+ # list of fields. For example: "parent,resource_name".
1102
1102
  #
1103
1103
  # The following fields are supported:
1104
1104
  #
@@ -1106,6 +1106,7 @@ module Google
1106
1106
  # * category
1107
1107
  # * state
1108
1108
  # * parent
1109
+ # * severity
1109
1110
  #
1110
1111
  # The following fields are supported when compare_duration is set:
1111
1112
  #
@@ -1339,8 +1340,9 @@ module Google
1339
1340
  # is "UNUSED", which will be the state_change set for all assets present at
1340
1341
  # read_time.
1341
1342
  # @param field_mask [::Google::Protobuf::FieldMask, ::Hash]
1342
- # Optional. A field mask to specify the ListAssetsResult fields to be listed
1343
- # in the response. An empty field mask will list all fields.
1343
+ # A field mask to specify the ListAssetsResult fields to be listed in the
1344
+ # response.
1345
+ # An empty field mask will list all fields.
1344
1346
  # @param page_token [::String]
1345
1347
  # The value returned by the last `ListAssetsResponse`; indicates
1346
1348
  # that this is a continuation of a prior `ListAssets` call, and
@@ -1448,13 +1450,14 @@ module Google
1448
1450
  #
1449
1451
  # The following field and operator combinations are supported:
1450
1452
  #
1451
- # name: `=`
1452
- # parent: `=`, `:`
1453
- # resource_name: `=`, `:`
1454
- # state: `=`, `:`
1455
- # category: `=`, `:`
1456
- # external_uri: `=`, `:`
1457
- # event_time: `=`, `>`, `<`, `>=`, `<=`
1453
+ # * name: `=`
1454
+ # * parent: `=`, `:`
1455
+ # * resource_name: `=`, `:`
1456
+ # * state: `=`, `:`
1457
+ # * category: `=`, `:`
1458
+ # * external_uri: `=`, `:`
1459
+ # * event_time: `=`, `>`, `<`, `>=`, `<=`
1460
+ # * severity: `=`, `:`
1458
1461
  #
1459
1462
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1460
1463
  # Examples:
@@ -1527,8 +1530,8 @@ module Google
1527
1530
  # is "UNUSED", which will be the state_change set for all findings present at
1528
1531
  # read_time.
1529
1532
  # @param field_mask [::Google::Protobuf::FieldMask, ::Hash]
1530
- # Optional. A field mask to specify the Finding fields to be listed in the
1531
- # response. An empty field mask will list all fields.
1533
+ # A field mask to specify the Finding fields to be listed in the response.
1534
+ # An empty field mask will list all fields.
1532
1535
  # @param page_token [::String]
1533
1536
  # The value returned by the last `ListFindingsResponse`; indicates
1534
1537
  # that this is a continuation of a prior `ListFindings` call, and
@@ -1757,8 +1760,8 @@ module Google
1757
1760
  # the default parameter values, pass an empty Hash as a request object (see above).
1758
1761
  #
1759
1762
  # @param parent [::String]
1760
- # Required. Name of the organization to run asset discovery for. Its format
1761
- # is "organizations/[organization_id]".
1763
+ # Required. Name of the organization to run asset discovery for. Its format is
1764
+ # "organizations/[organization_id]".
1762
1765
  #
1763
1766
  # @yield [response, operation] Access the result along with the RPC operation
1764
1767
  # @yieldparam response [::Gapic::Operation]
@@ -2043,8 +2046,8 @@ module Google
2043
2046
  # the default parameter values, pass an empty Hash as a request object (see above).
2044
2047
  #
2045
2048
  # @param finding [::Google::Cloud::SecurityCenter::V1::Finding, ::Hash]
2046
- # Required. The finding resource to update or create if it does not already
2047
- # exist. parent, security_marks, and update_time will be ignored.
2049
+ # Required. The finding resource to update or create if it does not already exist.
2050
+ # parent, security_marks, and update_time will be ignored.
2048
2051
  #
2049
2052
  # In the case of creation, the finding id portion of the name must be
2050
2053
  # alphanumeric and less than or equal to 32 characters and greater than 0
@@ -2197,7 +2200,7 @@ module Google
2197
2200
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2198
2201
  # The FieldMask to use when updating the settings resource.
2199
2202
  #
2200
- # If empty all mutable fields will be updated.
2203
+ # If empty all mutable fields will be updated.
2201
2204
  #
2202
2205
  # @yield [response, operation] Access the result along with the RPC operation
2203
2206
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::OrganizationSettings]
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1
24
- VERSION = "0.3.5"
24
+ VERSION = "0.4.0"
25
25
  end
26
26
  end
27
27
  end
@@ -22,12 +22,20 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
22
22
  optional :security_marks, :message, 8, "google.cloud.securitycenter.v1.SecurityMarks"
23
23
  optional :event_time, :message, 9, "google.protobuf.Timestamp"
24
24
  optional :create_time, :message, 10, "google.protobuf.Timestamp"
25
+ optional :severity, :enum, 12, "google.cloud.securitycenter.v1.Finding.Severity"
25
26
  end
26
27
  add_enum "google.cloud.securitycenter.v1.Finding.State" do
27
28
  value :STATE_UNSPECIFIED, 0
28
29
  value :ACTIVE, 1
29
30
  value :INACTIVE, 2
30
31
  end
32
+ add_enum "google.cloud.securitycenter.v1.Finding.Severity" do
33
+ value :SEVERITY_UNSPECIFIED, 0
34
+ value :CRITICAL, 1
35
+ value :HIGH, 2
36
+ value :MEDIUM, 3
37
+ value :LOW, 4
38
+ end
31
39
  end
32
40
  end
33
41
 
@@ -37,6 +45,7 @@ module Google
37
45
  module V1
38
46
  Finding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding").msgclass
39
47
  Finding::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.State").enummodule
48
+ Finding::Severity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v1.Finding.Severity").enummodule
40
49
  end
41
50
  end
42
51
  end
@@ -34,67 +34,67 @@ module Google
34
34
  self.service_name = 'google.cloud.securitycenter.v1.SecurityCenter'
35
35
 
36
36
  # Creates a source.
37
- rpc :CreateSource, Google::Cloud::SecurityCenter::V1::CreateSourceRequest, Google::Cloud::SecurityCenter::V1::Source
37
+ rpc :CreateSource, ::Google::Cloud::SecurityCenter::V1::CreateSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
38
38
  # Creates a finding. The corresponding source must exist for finding creation
39
39
  # to succeed.
40
- rpc :CreateFinding, Google::Cloud::SecurityCenter::V1::CreateFindingRequest, Google::Cloud::SecurityCenter::V1::Finding
40
+ rpc :CreateFinding, ::Google::Cloud::SecurityCenter::V1::CreateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
41
41
  # Creates a notification config.
42
- rpc :CreateNotificationConfig, Google::Cloud::SecurityCenter::V1::CreateNotificationConfigRequest, Google::Cloud::SecurityCenter::V1::NotificationConfig
42
+ rpc :CreateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::CreateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
43
43
  # Deletes a notification config.
44
- rpc :DeleteNotificationConfig, Google::Cloud::SecurityCenter::V1::DeleteNotificationConfigRequest, Google::Protobuf::Empty
44
+ rpc :DeleteNotificationConfig, ::Google::Cloud::SecurityCenter::V1::DeleteNotificationConfigRequest, ::Google::Protobuf::Empty
45
45
  # Gets the access control policy on the specified Source.
46
- rpc :GetIamPolicy, Google::Iam::V1::GetIamPolicyRequest, Google::Iam::V1::Policy
46
+ rpc :GetIamPolicy, ::Google::Iam::V1::GetIamPolicyRequest, ::Google::Iam::V1::Policy
47
47
  # Gets a notification config.
48
- rpc :GetNotificationConfig, Google::Cloud::SecurityCenter::V1::GetNotificationConfigRequest, Google::Cloud::SecurityCenter::V1::NotificationConfig
48
+ rpc :GetNotificationConfig, ::Google::Cloud::SecurityCenter::V1::GetNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
49
49
  # Gets the settings for an organization.
50
- rpc :GetOrganizationSettings, Google::Cloud::SecurityCenter::V1::GetOrganizationSettingsRequest, Google::Cloud::SecurityCenter::V1::OrganizationSettings
50
+ rpc :GetOrganizationSettings, ::Google::Cloud::SecurityCenter::V1::GetOrganizationSettingsRequest, ::Google::Cloud::SecurityCenter::V1::OrganizationSettings
51
51
  # Gets a source.
52
- rpc :GetSource, Google::Cloud::SecurityCenter::V1::GetSourceRequest, Google::Cloud::SecurityCenter::V1::Source
52
+ rpc :GetSource, ::Google::Cloud::SecurityCenter::V1::GetSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
53
53
  # Filters an organization's assets and groups them by their specified
54
54
  # properties.
55
- rpc :GroupAssets, Google::Cloud::SecurityCenter::V1::GroupAssetsRequest, Google::Cloud::SecurityCenter::V1::GroupAssetsResponse
55
+ rpc :GroupAssets, ::Google::Cloud::SecurityCenter::V1::GroupAssetsRequest, ::Google::Cloud::SecurityCenter::V1::GroupAssetsResponse
56
56
  # Filters an organization or source's findings and groups them by their
57
57
  # specified properties.
58
58
  #
59
59
  # To group across all sources provide a `-` as the source id.
60
60
  # Example: /v1/organizations/{organization_id}/sources/-/findings
61
- rpc :GroupFindings, Google::Cloud::SecurityCenter::V1::GroupFindingsRequest, Google::Cloud::SecurityCenter::V1::GroupFindingsResponse
61
+ rpc :GroupFindings, ::Google::Cloud::SecurityCenter::V1::GroupFindingsRequest, ::Google::Cloud::SecurityCenter::V1::GroupFindingsResponse
62
62
  # Lists an organization's assets.
63
- rpc :ListAssets, Google::Cloud::SecurityCenter::V1::ListAssetsRequest, Google::Cloud::SecurityCenter::V1::ListAssetsResponse
63
+ rpc :ListAssets, ::Google::Cloud::SecurityCenter::V1::ListAssetsRequest, ::Google::Cloud::SecurityCenter::V1::ListAssetsResponse
64
64
  # Lists an organization or source's findings.
65
65
  #
66
66
  # To list across all sources provide a `-` as the source id.
67
67
  # Example: /v1/organizations/{organization_id}/sources/-/findings
68
- rpc :ListFindings, Google::Cloud::SecurityCenter::V1::ListFindingsRequest, Google::Cloud::SecurityCenter::V1::ListFindingsResponse
68
+ rpc :ListFindings, ::Google::Cloud::SecurityCenter::V1::ListFindingsRequest, ::Google::Cloud::SecurityCenter::V1::ListFindingsResponse
69
69
  # Lists notification configs.
70
- rpc :ListNotificationConfigs, Google::Cloud::SecurityCenter::V1::ListNotificationConfigsRequest, Google::Cloud::SecurityCenter::V1::ListNotificationConfigsResponse
70
+ rpc :ListNotificationConfigs, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsRequest, ::Google::Cloud::SecurityCenter::V1::ListNotificationConfigsResponse
71
71
  # Lists all sources belonging to an organization.
72
- rpc :ListSources, Google::Cloud::SecurityCenter::V1::ListSourcesRequest, Google::Cloud::SecurityCenter::V1::ListSourcesResponse
72
+ rpc :ListSources, ::Google::Cloud::SecurityCenter::V1::ListSourcesRequest, ::Google::Cloud::SecurityCenter::V1::ListSourcesResponse
73
73
  # Runs asset discovery. The discovery is tracked with a long-running
74
74
  # operation.
75
75
  #
76
76
  # This API can only be called with limited frequency for an organization. If
77
77
  # it is called too frequently the caller will receive a TOO_MANY_REQUESTS
78
78
  # error.
79
- rpc :RunAssetDiscovery, Google::Cloud::SecurityCenter::V1::RunAssetDiscoveryRequest, Google::Longrunning::Operation
79
+ rpc :RunAssetDiscovery, ::Google::Cloud::SecurityCenter::V1::RunAssetDiscoveryRequest, ::Google::Longrunning::Operation
80
80
  # Updates the state of a finding.
81
- rpc :SetFindingState, Google::Cloud::SecurityCenter::V1::SetFindingStateRequest, Google::Cloud::SecurityCenter::V1::Finding
81
+ rpc :SetFindingState, ::Google::Cloud::SecurityCenter::V1::SetFindingStateRequest, ::Google::Cloud::SecurityCenter::V1::Finding
82
82
  # Sets the access control policy on the specified Source.
83
- rpc :SetIamPolicy, Google::Iam::V1::SetIamPolicyRequest, Google::Iam::V1::Policy
83
+ rpc :SetIamPolicy, ::Google::Iam::V1::SetIamPolicyRequest, ::Google::Iam::V1::Policy
84
84
  # Returns the permissions that a caller has on the specified source.
85
- rpc :TestIamPermissions, Google::Iam::V1::TestIamPermissionsRequest, Google::Iam::V1::TestIamPermissionsResponse
85
+ rpc :TestIamPermissions, ::Google::Iam::V1::TestIamPermissionsRequest, ::Google::Iam::V1::TestIamPermissionsResponse
86
86
  # Creates or updates a finding. The corresponding source must exist for a
87
87
  # finding creation to succeed.
88
- rpc :UpdateFinding, Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, Google::Cloud::SecurityCenter::V1::Finding
88
+ rpc :UpdateFinding, ::Google::Cloud::SecurityCenter::V1::UpdateFindingRequest, ::Google::Cloud::SecurityCenter::V1::Finding
89
89
  # Updates a notification config. The following update
90
90
  # fields are allowed: description, pubsub_topic, streaming_config.filter
91
- rpc :UpdateNotificationConfig, Google::Cloud::SecurityCenter::V1::UpdateNotificationConfigRequest, Google::Cloud::SecurityCenter::V1::NotificationConfig
91
+ rpc :UpdateNotificationConfig, ::Google::Cloud::SecurityCenter::V1::UpdateNotificationConfigRequest, ::Google::Cloud::SecurityCenter::V1::NotificationConfig
92
92
  # Updates an organization's settings.
93
- rpc :UpdateOrganizationSettings, Google::Cloud::SecurityCenter::V1::UpdateOrganizationSettingsRequest, Google::Cloud::SecurityCenter::V1::OrganizationSettings
93
+ rpc :UpdateOrganizationSettings, ::Google::Cloud::SecurityCenter::V1::UpdateOrganizationSettingsRequest, ::Google::Cloud::SecurityCenter::V1::OrganizationSettings
94
94
  # Updates a source.
95
- rpc :UpdateSource, Google::Cloud::SecurityCenter::V1::UpdateSourceRequest, Google::Cloud::SecurityCenter::V1::Source
95
+ rpc :UpdateSource, ::Google::Cloud::SecurityCenter::V1::UpdateSourceRequest, ::Google::Cloud::SecurityCenter::V1::Source
96
96
  # Updates security marks.
97
- rpc :UpdateSecurityMarks, Google::Cloud::SecurityCenter::V1::UpdateSecurityMarksRequest, Google::Cloud::SecurityCenter::V1::SecurityMarks
97
+ rpc :UpdateSecurityMarks, ::Google::Cloud::SecurityCenter::V1::UpdateSecurityMarksRequest, ::Google::Cloud::SecurityCenter::V1::SecurityMarks
98
98
  end
99
99
 
100
100
  Stub = Service.rpc_stub_class
@@ -43,12 +43,12 @@ module Google
43
43
  #
44
44
  # The ResourceDescriptor Yaml config will look like:
45
45
  #
46
- # resources:
47
- # - type: "pubsub.googleapis.com/Topic"
48
- # name_descriptor:
49
- # - pattern: "projects/\\{project}/topics/\\{topic}"
50
- # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
- # parent_name_extractor: "projects/\\{project}"
46
+ # resources:
47
+ # - type: "pubsub.googleapis.com/Topic"
48
+ # name_descriptor:
49
+ # - pattern: "projects/{project}/topics/{topic}"
50
+ # parent_type: "cloudresourcemanager.googleapis.com/Project"
51
+ # parent_name_extractor: "projects/{project}"
52
52
  #
53
53
  # Sometimes, resources have multiple patterns, typically because they can
54
54
  # live under multiple parents.
@@ -183,15 +183,24 @@ module Google
183
183
  # }
184
184
  # @!attribute [rw] plural
185
185
  # @return [::String]
186
- # The plural name used in the resource name, such as 'projects' for
187
- # the name of 'projects/\\{project}'. It is the same concept of the `plural`
188
- # field in k8s CRD spec
186
+ # The plural name used in the resource name and permission names, such as
187
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
188
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. It is the same
189
+ # concept of the `plural` field in k8s CRD spec
189
190
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
191
+ #
192
+ # Note: The plural form is required even for singleton resources. See
193
+ # https://aip.dev/156
190
194
  # @!attribute [rw] singular
191
195
  # @return [::String]
192
196
  # The same concept of the `singular` field in k8s CRD spec
193
197
  # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
194
198
  # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
199
+ # @!attribute [rw] style
200
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
201
+ # Style flag(s) for this resource.
202
+ # These indicate that a resource is expected to conform to a given
203
+ # style. See the specific style flags for additional information.
195
204
  class ResourceDescriptor
196
205
  include ::Google::Protobuf::MessageExts
197
206
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -211,6 +220,22 @@ module Google
211
220
  # that from being necessary once there are multiple patterns.)
212
221
  FUTURE_MULTI_PATTERN = 2
213
222
  end
223
+
224
+ # A flag representing a specific style that a resource claims to conform to.
225
+ module Style
226
+ # The unspecified value. Do not use.
227
+ STYLE_UNSPECIFIED = 0
228
+
229
+ # This resource is intended to be "declarative-friendly".
230
+ #
231
+ # Declarative-friendly resources must be more strictly consistent, and
232
+ # setting this to true communicates to tools that this resource should
233
+ # adhere to declarative-friendly expectations.
234
+ #
235
+ # Note: This is used by the API linter (linter.aip.dev) to enable
236
+ # additional checks.
237
+ DECLARATIVE_FRIENDLY = 1
238
+ end
214
239
  end
215
240
 
216
241
  # Defines a proto annotation that describes a string field that refers to
@@ -226,6 +251,17 @@ module Google
226
251
  # type: "pubsub.googleapis.com/Topic"
227
252
  # }];
228
253
  # }
254
+ #
255
+ # Occasionally, a field may reference an arbitrary resource. In this case,
256
+ # APIs use the special value * in their resource reference.
257
+ #
258
+ # Example:
259
+ #
260
+ # message GetIamPolicyRequest {
261
+ # string resource = 2 [(google.api.resource_reference) = {
262
+ # type: "*"
263
+ # }];
264
+ # }
229
265
  # @!attribute [rw] child_type
230
266
  # @return [::String]
231
267
  # The resource type of a child collection that the annotated field
@@ -234,11 +270,11 @@ module Google
234
270
  #
235
271
  # Example:
236
272
  #
237
- # message ListLogEntriesRequest {
238
- # string parent = 1 [(google.api.resource_reference) = {
239
- # child_type: "logging.googleapis.com/LogEntry"
240
- # };
241
- # }
273
+ # message ListLogEntriesRequest {
274
+ # string parent = 1 [(google.api.resource_reference) = {
275
+ # child_type: "logging.googleapis.com/LogEntry"
276
+ # };
277
+ # }
242
278
  class ResourceReference
243
279
  include ::Google::Protobuf::MessageExts
244
280
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -83,6 +83,10 @@ module Google
83
83
  # @!attribute [rw] create_time
84
84
  # @return [::Google::Protobuf::Timestamp]
85
85
  # The time at which the finding was created in Security Command Center.
86
+ # @!attribute [rw] severity
87
+ # @return [::Google::Cloud::SecurityCenter::V1::Finding::Severity]
88
+ # The severity of the finding. This field is managed by the source that
89
+ # writes the finding.
86
90
  class Finding
87
91
  include ::Google::Protobuf::MessageExts
88
92
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -108,6 +112,65 @@ module Google
108
112
  # and is no longer active.
109
113
  INACTIVE = 2
110
114
  end
115
+
116
+ # The severity of the finding.
117
+ module Severity
118
+ # This value is used for findings when a source doesn't write a severity
119
+ # value.
120
+ SEVERITY_UNSPECIFIED = 0
121
+
122
+ # Vulnerability:
123
+ # A critical vulnerability is easily discoverable by an external actor,
124
+ # exploitable, and results in the direct ability to execute arbitrary code,
125
+ # exfiltrate data, and otherwise gain additional access and privileges to
126
+ # cloud resources and workloads. Examples include publicly accessible
127
+ # unprotected user data, public SSH access with weak or no passwords, etc.
128
+ #
129
+ # Threat:
130
+ # Indicates a threat that is able to access, modify, or delete data or
131
+ # execute unauthorized code within existing resources.
132
+ CRITICAL = 1
133
+
134
+ # Vulnerability:
135
+ # A high risk vulnerability can be easily discovered and exploited in
136
+ # combination with other vulnerabilities in order to gain direct access and
137
+ # the ability to execute arbitrary code, exfiltrate data, and otherwise
138
+ # gain additional access and privileges to cloud resources and workloads.
139
+ # An example is a database with weak or no passwords that is only
140
+ # accessible internally. This database could easily be compromised by an
141
+ # actor that had access to the internal network.
142
+ #
143
+ # Threat:
144
+ # Indicates a threat that is able to create new computational resources in
145
+ # an environment but not able to access data or execute code in existing
146
+ # resources.
147
+ HIGH = 2
148
+
149
+ # Vulnerability:
150
+ # A medium risk vulnerability could be used by an actor to gain access to
151
+ # resources or privileges that enable them to eventually (through multiple
152
+ # steps or a complex exploit) gain access and the ability to execute
153
+ # arbitrary code or exfiltrate data. An example is a service account with
154
+ # access to more projects than it should have. If an actor gains access to
155
+ # the service account, they could potentially use that access to manipulate
156
+ # a project the service account was not intended to.
157
+ #
158
+ # Threat:
159
+ # Indicates a threat that is able to cause operational impact but may not
160
+ # access data or execute unauthorized code.
161
+ MEDIUM = 3
162
+
163
+ # Vulnerability:
164
+ # A low risk vulnerability hampers a security organization’s ability to
165
+ # detect vulnerabilities or active threats in their deployment, or prevents
166
+ # the root cause investigation of security issues. An example is monitoring
167
+ # and logs being disabled for resource configurations and access.
168
+ #
169
+ # Threat:
170
+ # Indicates a threat that has obtained minimal access to an environment but
171
+ # is not able to access data, execute code, or create resources.
172
+ LOW = 4
173
+ end
111
174
  end
112
175
  end
113
176
  end
@@ -36,12 +36,12 @@ module Google
36
36
  # The description of the notification config (max of 1024 characters).
37
37
  # @!attribute [rw] pubsub_topic
38
38
  # @return [::String]
39
- # The PubSub topic to send notifications to. Its format is
39
+ # The Pub/Sub topic to send notifications to. Its format is
40
40
  # "projects/[project_id]/topics/[topic]".
41
41
  # @!attribute [r] service_account
42
42
  # @return [::String]
43
43
  # Output only. The service account that needs "pubsub.topics.publish"
44
- # permission to publish to the PubSub topic.
44
+ # permission to publish to the Pub/Sub topic.
45
45
  # @!attribute [rw] streaming_config
46
46
  # @return [::Google::Cloud::SecurityCenter::V1::NotificationConfig::StreamingConfig]
47
47
  # The config for triggering streaming-based notifications.
@@ -33,8 +33,8 @@ module Google
33
33
  # greater than 0 characters in length.
34
34
  # @!attribute [rw] finding
35
35
  # @return [::Google::Cloud::SecurityCenter::V1::Finding]
36
- # Required. The Finding being created. The name and security_marks will be
37
- # ignored as they are both output only fields on this resource.
36
+ # Required. The Finding being created. The name and security_marks will be ignored as
37
+ # they are both output only fields on this resource.
38
38
  class CreateFindingRequest
39
39
  include ::Google::Protobuf::MessageExts
40
40
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -43,8 +43,8 @@ module Google
43
43
  # Request message for creating a notification config.
44
44
  # @!attribute [rw] parent
45
45
  # @return [::String]
46
- # Required. Resource name of the new notification config's parent. Its format
47
- # is "organizations/[organization_id]".
46
+ # Required. Resource name of the new notification config's parent. Its format is
47
+ # "organizations/[organization_id]".
48
48
  # @!attribute [rw] config_id
49
49
  # @return [::String]
50
50
  # Required.
@@ -53,9 +53,8 @@ module Google
53
53
  # characters, underscores or hyphens only.
54
54
  # @!attribute [rw] notification_config
55
55
  # @return [::Google::Cloud::SecurityCenter::V1::NotificationConfig]
56
- # Required. The notification config being created. The name and the service
57
- # account will be ignored as they are both output only fields on this
58
- # resource.
56
+ # Required. The notification config being created. The name and the service account
57
+ # will be ignored as they are both output only fields on this resource.
59
58
  class CreateNotificationConfigRequest
60
59
  include ::Google::Protobuf::MessageExts
61
60
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -68,8 +67,8 @@ module Google
68
67
  # "organizations/[organization_id]".
69
68
  # @!attribute [rw] source
70
69
  # @return [::Google::Cloud::SecurityCenter::V1::Source]
71
- # Required. The Source being created, only the display_name and description
72
- # will be used. All other fields will be ignored.
70
+ # Required. The Source being created, only the display_name and description will be
71
+ # used. All other fields will be ignored.
73
72
  class CreateSourceRequest
74
73
  include ::Google::Protobuf::MessageExts
75
74
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -98,8 +97,8 @@ module Google
98
97
  # Request message for getting organization settings.
99
98
  # @!attribute [rw] name
100
99
  # @return [::String]
101
- # Required. Name of the organization to get organization settings for. Its
102
- # format is "organizations/[organization_id]/organizationSettings".
100
+ # Required. Name of the organization to get organization settings for. Its format is
101
+ # "organizations/[organization_id]/organizationSettings".
103
102
  class GetOrganizationSettingsRequest
104
103
  include ::Google::Protobuf::MessageExts
105
104
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -180,15 +179,15 @@ module Google
180
179
  # For example, `resource_properties.size = 100` is a valid filter string.
181
180
  #
182
181
  # Use a partial match on the empty string to filter based on a property
183
- # existing:`resource_properties.my_property : ""`
182
+ # existing: `resource_properties.my_property : ""`
184
183
  #
185
184
  # Use a negated partial match on the empty string to filter based on a
186
185
  # property not existing: `-resource_properties.my_property : ""`
187
186
  # @!attribute [rw] group_by
188
187
  # @return [::String]
189
- # Required. Expression that defines what assets fields to use for grouping.
190
- # The string value should follow SQL syntax: comma separated list of fields.
191
- # For example:
188
+ # Required. Expression that defines what assets fields to use for grouping. The string
189
+ # value should follow SQL syntax: comma separated list of fields. For
190
+ # example:
192
191
  # "security_center_properties.resource_project,security_center_properties.project".
193
192
  #
194
193
  # The following fields are supported when compare_duration is not set:
@@ -316,6 +315,7 @@ module Google
316
315
  # * category: `=`, `:`
317
316
  # * external_uri: `=`, `:`
318
317
  # * event_time: `=`, `>`, `<`, `>=`, `<=`
318
+ # * severity: `=`, `:`
319
319
  #
320
320
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
321
321
  # Examples:
@@ -334,9 +334,9 @@ module Google
334
334
  # property not existing: `-source_properties.my_property : ""`
335
335
  # @!attribute [rw] group_by
336
336
  # @return [::String]
337
- # Required. Expression that defines what assets fields to use for grouping
338
- # (including `state_change`). The string value should follow SQL syntax:
339
- # comma separated list of fields. For example: "parent,resource_name".
337
+ # Required. Expression that defines what assets fields to use for grouping (including
338
+ # `state_change`). The string value should follow SQL syntax: comma separated
339
+ # list of fields. For example: "parent,resource_name".
340
340
  #
341
341
  # The following fields are supported:
342
342
  #
@@ -344,6 +344,7 @@ module Google
344
344
  # * category
345
345
  # * state
346
346
  # * parent
347
+ # * severity
347
348
  #
348
349
  # The following fields are supported when compare_duration is set:
349
350
  #
@@ -634,8 +635,9 @@ module Google
634
635
  # read_time.
635
636
  # @!attribute [rw] field_mask
636
637
  # @return [::Google::Protobuf::FieldMask]
637
- # Optional. A field mask to specify the ListAssetsResult fields to be listed
638
- # in the response. An empty field mask will list all fields.
638
+ # A field mask to specify the ListAssetsResult fields to be listed in the
639
+ # response.
640
+ # An empty field mask will list all fields.
639
641
  # @!attribute [rw] page_token
640
642
  # @return [::String]
641
643
  # The value returned by the last `ListAssetsResponse`; indicates
@@ -736,13 +738,14 @@ module Google
736
738
  #
737
739
  # The following field and operator combinations are supported:
738
740
  #
739
- # name: `=`
740
- # parent: `=`, `:`
741
- # resource_name: `=`, `:`
742
- # state: `=`, `:`
743
- # category: `=`, `:`
744
- # external_uri: `=`, `:`
745
- # event_time: `=`, `>`, `<`, `>=`, `<=`
741
+ # * name: `=`
742
+ # * parent: `=`, `:`
743
+ # * resource_name: `=`, `:`
744
+ # * state: `=`, `:`
745
+ # * category: `=`, `:`
746
+ # * external_uri: `=`, `:`
747
+ # * event_time: `=`, `>`, `<`, `>=`, `<=`
748
+ # * severity: `=`, `:`
746
749
  #
747
750
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
748
751
  # Examples:
@@ -819,8 +822,8 @@ module Google
819
822
  # read_time.
820
823
  # @!attribute [rw] field_mask
821
824
  # @return [::Google::Protobuf::FieldMask]
822
- # Optional. A field mask to specify the Finding fields to be listed in the
823
- # response. An empty field mask will list all fields.
825
+ # A field mask to specify the Finding fields to be listed in the response.
826
+ # An empty field mask will list all fields.
824
827
  # @!attribute [rw] page_token
825
828
  # @return [::String]
826
829
  # The value returned by the last `ListFindingsResponse`; indicates
@@ -860,7 +863,7 @@ module Google
860
863
  # @!attribute [rw] state_change
861
864
  # @return [::Google::Cloud::SecurityCenter::V1::ListFindingsResponse::ListFindingsResult::StateChange]
862
865
  # State change of the finding between the points in time.
863
- # @!attribute [rw] resource
866
+ # @!attribute [r] resource
864
867
  # @return [::Google::Cloud::SecurityCenter::V1::ListFindingsResponse::ListFindingsResult::Resource]
865
868
  # Output only. Resource that is associated with this finding.
866
869
  class ListFindingsResult
@@ -941,8 +944,8 @@ module Google
941
944
  # Request message for running asset discovery for an organization.
942
945
  # @!attribute [rw] parent
943
946
  # @return [::String]
944
- # Required. Name of the organization to run asset discovery for. Its format
945
- # is "organizations/[organization_id]".
947
+ # Required. Name of the organization to run asset discovery for. Its format is
948
+ # "organizations/[organization_id]".
946
949
  class RunAssetDiscoveryRequest
947
950
  include ::Google::Protobuf::MessageExts
948
951
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -951,8 +954,8 @@ module Google
951
954
  # Request message for updating or creating a finding.
952
955
  # @!attribute [rw] finding
953
956
  # @return [::Google::Cloud::SecurityCenter::V1::Finding]
954
- # Required. The finding resource to update or create if it does not already
955
- # exist. parent, security_marks, and update_time will be ignored.
957
+ # Required. The finding resource to update or create if it does not already exist.
958
+ # parent, security_marks, and update_time will be ignored.
956
959
  #
957
960
  # In the case of creation, the finding id portion of the name must be
958
961
  # alphanumeric and less than or equal to 32 characters and greater than 0
@@ -993,7 +996,7 @@ module Google
993
996
  # @return [::Google::Protobuf::FieldMask]
994
997
  # The FieldMask to use when updating the settings resource.
995
998
  #
996
- # If empty all mutable fields will be updated.
999
+ # If empty all mutable fields will be updated.
997
1000
  class UpdateOrganizationSettingsRequest
998
1001
  include ::Google::Protobuf::MessageExts
999
1002
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-security_center-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.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: 2020-09-03 00:00:00.000000000 Z
11
+ date: 2020-12-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -244,7 +244,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
244
  - !ruby/object:Gem::Version
245
245
  version: '0'
246
246
  requirements: []
247
- rubygems_version: 3.1.3
247
+ rubygems_version: 3.1.4
248
248
  signing_key:
249
249
  specification_version: 4
250
250
  summary: API Client library for the Cloud Security Command Center V1 API