google-cloud-security_center-v1 0.3.3 → 0.5.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: f772d2af163707987c4b79833e2425cd75d9a82c26f4a9be837a28ff3b79d1c6
4
- data.tar.gz: '053079c9677ef1464f03c03bad6379e6d45bc66de45b0aa600b085e7045ad759'
3
+ metadata.gz: d01d8cd0bc1315c572d06349e4799ce038983842033309c215d8601194a7cf89
4
+ data.tar.gz: 1e500ae59892f532c933f395a802da73ac7c2269ab70b09a69e40000e410bd02
5
5
  SHA512:
6
- metadata.gz: 26e43e50d602671e6e9f3bef3606bd10bb61fd91f6aaac7ac0ed4a61f1d3bb14186a644ec48eeee155f20fe43afc3e7e8ef9ecdf3cf83c8dc857a9deb0e05d2e
7
- data.tar.gz: 7ea5629bf49fbaecd01102a716eef3e11eafbdb3157b5971c45546eaca9cc9c5f0b62fcd84ea56e4f417d2e65b0287839c05ba20fc60d141875af5b510364469
6
+ metadata.gz: 4e741cfe78b0a1486ce1ea27bd234a8f919d753d80fa3ebe7cb2d326e4b120c38a941e8c0ad0e48525ee7ef28834c6d4cc21bc4a7a9448332d2442462a8a0593
7
+ data.tar.gz: 326cb7a13a66fdb134fadbdcf07f84cddbfb9ba0380c5cd812d521ca5600a80465964311412171554816ac669e596f7de9a76937a05468ee188c27d81c450212
data/README.md CHANGED
@@ -6,6 +6,12 @@ Security Command Center API provides access to temporal views of assets and find
6
6
 
7
7
  https://github.com/googleapis/google-cloud-ruby
8
8
 
9
+ This gem is a _versioned_ client. It provides basic client classes for a
10
+ specific version of the Cloud Security Command Center V1 API. Most users should consider using
11
+ the main client gem,
12
+ [google-cloud-security_center](https://rubygems.org/gems/google-cloud-security_center).
13
+ See the section below titled *Which client should I use?* for more information.
14
+
9
15
  ## Installation
10
16
 
11
17
  ```
@@ -73,3 +79,61 @@ in security maintenance, and not end of life. Currently, this means Ruby 2.4
73
79
  and later. Older versions of Ruby _may_ still work, but are unsupported and not
74
80
  recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details
75
81
  about the Ruby support schedule.
82
+
83
+ ## Which client should I use?
84
+
85
+ Most modern Ruby client libraries for Google APIs come in two flavors: the main
86
+ client library with a name such as `google-cloud-security_center`,
87
+ and lower-level _versioned_ client libraries with names such as
88
+ `google-cloud-security_center-v1`.
89
+ _In most cases, you should install the main client._
90
+
91
+ ### What's the difference between the main client and a versioned client?
92
+
93
+ A _versioned client_ provides a basic set of data types and client classes for
94
+ a _single version_ of a specific service. (That is, for a service with multiple
95
+ versions, there might be a separate versioned client for each service version.)
96
+ Most versioned clients are written and maintained by a code generator.
97
+
98
+ The _main client_ is designed to provide you with the _recommended_ client
99
+ interfaces for the service. There will be only one main client for any given
100
+ service, even a service with multiple versions. The main client includes
101
+ factory methods for constructing the client objects we recommend for most
102
+ users. In some cases, those will be classes provided by an underlying versioned
103
+ client; in other cases, they will be handwritten higher-level client objects
104
+ with additional capabilities, convenience methods, or best practices built in.
105
+ Generally, the main client will default to a recommended service version,
106
+ although in some cases you can override this if you need to talk to a specific
107
+ service version.
108
+
109
+ ### Why would I want to use the main client?
110
+
111
+ We recommend that most users install the main client gem for a service. You can
112
+ identify this gem as the one _without_ a version in its name, e.g.
113
+ `google-cloud-security_center`.
114
+ The main client is recommended because it will embody the best practices for
115
+ accessing the service, and may also provide more convenient interfaces or
116
+ tighter integration into frameworks and third-party libraries. In addition, the
117
+ documentation and samples published by Google will generally demonstrate use of
118
+ the main client.
119
+
120
+ ### Why would I want to use a versioned client?
121
+
122
+ You can use a versioned client if you are content with a possibly lower-level
123
+ class interface, you explicitly want to avoid features provided by the main
124
+ client, or you want to access a specific service version not be covered by the
125
+ main client. You can identify versioned client gems because the service version
126
+ is part of the name, e.g. `google-cloud-security_center-v1`.
127
+
128
+ ### What about the google-apis-<name> clients?
129
+
130
+ Client library gems with names that begin with `google-apis-` are based on an
131
+ older code generation technology. They talk to a REST/JSON backend (whereas
132
+ most modern clients talk to a [gRPC](https://grpc.io/) backend) and they may
133
+ not offer the same performance, features, and ease of use provided by more
134
+ modern clients.
135
+
136
+ The `google-apis-` clients have wide coverage across Google services, so you
137
+ might need to use one if there is no modern client available for the service.
138
+ However, if a modern client is available, we generally recommend it over the
139
+ older `google-apis-` clients.
@@ -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
@@ -238,7 +238,13 @@ module Google
238
238
 
239
239
  # Create credentials
240
240
  credentials = @config.credentials
241
- credentials ||= Credentials.default scope: @config.scope
241
+ # Use self-signed JWT if the scope and endpoint are unchanged from default,
242
+ # but only if the default endpoint does not have a region prefix.
243
+ enable_self_signed_jwt = @config.scope == Client.configure.scope &&
244
+ @config.endpoint == Client.configure.endpoint &&
245
+ !@config.endpoint.split(".").first.include?("-")
246
+ credentials ||= Credentials.default scope: @config.scope,
247
+ enable_self_signed_jwt: enable_self_signed_jwt
242
248
  if credentials.is_a?(String) || credentials.is_a?(Hash)
243
249
  credentials = Credentials.new credentials, scope: @config.scope
244
250
  end
@@ -290,8 +296,8 @@ module Google
290
296
  # Required. Resource name of the new source's parent. Its format should be
291
297
  # "organizations/[organization_id]".
292
298
  # @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.
299
+ # Required. The Source being created, only the display_name and description will be
300
+ # used. All other fields will be ignored.
295
301
  #
296
302
  # @yield [response, operation] Access the result along with the RPC operation
297
303
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::Source]
@@ -365,8 +371,8 @@ module Google
365
371
  # It must be alphanumeric and less than or equal to 32 characters and
366
372
  # greater than 0 characters in length.
367
373
  # @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.
374
+ # Required. The Finding being created. The name and security_marks will be ignored as
375
+ # they are both output only fields on this resource.
370
376
  #
371
377
  # @yield [response, operation] Access the result along with the RPC operation
372
378
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::Finding]
@@ -432,17 +438,16 @@ module Google
432
438
  # the default parameter values, pass an empty Hash as a request object (see above).
433
439
  #
434
440
  # @param parent [::String]
435
- # Required. Resource name of the new notification config's parent. Its format
436
- # is "organizations/[organization_id]".
441
+ # Required. Resource name of the new notification config's parent. Its format is
442
+ # "organizations/[organization_id]".
437
443
  # @param config_id [::String]
438
444
  # Required.
439
445
  # Unique identifier provided by the client within the parent scope.
440
446
  # It must be between 1 and 128 characters, and contains alphanumeric
441
447
  # characters, underscores or hyphens only.
442
448
  # @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.
449
+ # Required. The notification config being created. The name and the service account
450
+ # will be ignored as they are both output only fields on this resource.
446
451
  #
447
452
  # @yield [response, operation] Access the result along with the RPC operation
448
453
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::NotificationConfig]
@@ -712,8 +717,8 @@ module Google
712
717
  # the default parameter values, pass an empty Hash as a request object (see above).
713
718
  #
714
719
  # @param name [::String]
715
- # Required. Name of the organization to get organization settings for. Its
716
- # format is "organizations/[organization_id]/organizationSettings".
720
+ # Required. Name of the organization to get organization settings for. Its format is
721
+ # "organizations/[organization_id]/organizationSettings".
717
722
  #
718
723
  # @yield [response, operation] Access the result along with the RPC operation
719
724
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::OrganizationSettings]
@@ -908,14 +913,14 @@ module Google
908
913
  # For example, `resource_properties.size = 100` is a valid filter string.
909
914
  #
910
915
  # Use a partial match on the empty string to filter based on a property
911
- # existing:`resource_properties.my_property : ""`
916
+ # existing: `resource_properties.my_property : ""`
912
917
  #
913
918
  # Use a negated partial match on the empty string to filter based on a
914
919
  # property not existing: `-resource_properties.my_property : ""`
915
920
  # @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:
921
+ # Required. Expression that defines what assets fields to use for grouping. The string
922
+ # value should follow SQL syntax: comma separated list of fields. For
923
+ # example:
919
924
  # "security_center_properties.resource_project,security_center_properties.project".
920
925
  #
921
926
  # The following fields are supported when compare_duration is not set:
@@ -1079,6 +1084,7 @@ module Google
1079
1084
  # * category: `=`, `:`
1080
1085
  # * external_uri: `=`, `:`
1081
1086
  # * event_time: `=`, `>`, `<`, `>=`, `<=`
1087
+ # * severity: `=`, `:`
1082
1088
  #
1083
1089
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1084
1090
  # Examples:
@@ -1096,9 +1102,9 @@ module Google
1096
1102
  # Use a negated partial match on the empty string to filter based on a
1097
1103
  # property not existing: `-source_properties.my_property : ""`
1098
1104
  # @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".
1105
+ # Required. Expression that defines what assets fields to use for grouping (including
1106
+ # `state_change`). The string value should follow SQL syntax: comma separated
1107
+ # list of fields. For example: "parent,resource_name".
1102
1108
  #
1103
1109
  # The following fields are supported:
1104
1110
  #
@@ -1106,6 +1112,7 @@ module Google
1106
1112
  # * category
1107
1113
  # * state
1108
1114
  # * parent
1115
+ # * severity
1109
1116
  #
1110
1117
  # The following fields are supported when compare_duration is set:
1111
1118
  #
@@ -1339,8 +1346,9 @@ module Google
1339
1346
  # is "UNUSED", which will be the state_change set for all assets present at
1340
1347
  # read_time.
1341
1348
  # @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.
1349
+ # A field mask to specify the ListAssetsResult fields to be listed in the
1350
+ # response.
1351
+ # An empty field mask will list all fields.
1344
1352
  # @param page_token [::String]
1345
1353
  # The value returned by the last `ListAssetsResponse`; indicates
1346
1354
  # that this is a continuation of a prior `ListAssets` call, and
@@ -1448,13 +1456,14 @@ module Google
1448
1456
  #
1449
1457
  # The following field and operator combinations are supported:
1450
1458
  #
1451
- # name: `=`
1452
- # parent: `=`, `:`
1453
- # resource_name: `=`, `:`
1454
- # state: `=`, `:`
1455
- # category: `=`, `:`
1456
- # external_uri: `=`, `:`
1457
- # event_time: `=`, `>`, `<`, `>=`, `<=`
1459
+ # * name: `=`
1460
+ # * parent: `=`, `:`
1461
+ # * resource_name: `=`, `:`
1462
+ # * state: `=`, `:`
1463
+ # * category: `=`, `:`
1464
+ # * external_uri: `=`, `:`
1465
+ # * event_time: `=`, `>`, `<`, `>=`, `<=`
1466
+ # * severity: `=`, `:`
1458
1467
  #
1459
1468
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1460
1469
  # Examples:
@@ -1527,8 +1536,8 @@ module Google
1527
1536
  # is "UNUSED", which will be the state_change set for all findings present at
1528
1537
  # read_time.
1529
1538
  # @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.
1539
+ # A field mask to specify the Finding fields to be listed in the response.
1540
+ # An empty field mask will list all fields.
1532
1541
  # @param page_token [::String]
1533
1542
  # The value returned by the last `ListFindingsResponse`; indicates
1534
1543
  # that this is a continuation of a prior `ListFindings` call, and
@@ -1757,8 +1766,8 @@ module Google
1757
1766
  # the default parameter values, pass an empty Hash as a request object (see above).
1758
1767
  #
1759
1768
  # @param parent [::String]
1760
- # Required. Name of the organization to run asset discovery for. Its format
1761
- # is "organizations/[organization_id]".
1769
+ # Required. Name of the organization to run asset discovery for. Its format is
1770
+ # "organizations/[organization_id]".
1762
1771
  #
1763
1772
  # @yield [response, operation] Access the result along with the RPC operation
1764
1773
  # @yieldparam response [::Gapic::Operation]
@@ -2043,8 +2052,8 @@ module Google
2043
2052
  # the default parameter values, pass an empty Hash as a request object (see above).
2044
2053
  #
2045
2054
  # @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.
2055
+ # Required. The finding resource to update or create if it does not already exist.
2056
+ # parent, security_marks, and update_time will be ignored.
2048
2057
  #
2049
2058
  # In the case of creation, the finding id portion of the name must be
2050
2059
  # alphanumeric and less than or equal to 32 characters and greater than 0
@@ -2197,7 +2206,7 @@ module Google
2197
2206
  # @param update_mask [::Google::Protobuf::FieldMask, ::Hash]
2198
2207
  # The FieldMask to use when updating the settings resource.
2199
2208
  #
2200
- # If empty all mutable fields will be updated.
2209
+ # If empty all mutable fields will be updated.
2201
2210
  #
2202
2211
  # @yield [response, operation] Access the result along with the RPC operation
2203
2212
  # @yieldparam response [::Google::Cloud::SecurityCenter::V1::OrganizationSettings]
@@ -2475,7 +2484,7 @@ module Google
2475
2484
 
2476
2485
  config_attr :endpoint, "securitycenter.googleapis.com", ::String
2477
2486
  config_attr :credentials, nil do |value|
2478
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2487
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2479
2488
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
2480
2489
  allowed.any? { |klass| klass === value }
2481
2490
  end
@@ -2515,7 +2524,7 @@ module Google
2515
2524
  # Each configuration object is of type `Gapic::Config::Method` and includes
2516
2525
  # the following configuration fields:
2517
2526
  #
2518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
2527
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
2519
2528
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
2520
2529
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
2521
2530
  # include the following keys:
@@ -103,8 +103,13 @@ module Google
103
103
  # Lists operations that match the specified filter in the request. If the
104
104
  # server doesn't support this method, it returns `UNIMPLEMENTED`.
105
105
  #
106
- # NOTE: the `name` binding below allows API services to override the binding
107
- # to use different resource name schemes, such as `users/*/operations`.
106
+ # NOTE: the `name` binding allows API services to override the binding
107
+ # to use different resource name schemes, such as `users/*/operations`. To
108
+ # override the binding, API services can add a binding such as
109
+ # `"/v1/{name=users/*}/operations"` to their service configuration.
110
+ # For backwards compatibility, the default name includes the operations
111
+ # collection id, however overriding users must ensure the name binding
112
+ # is the parent resource, without the operations collection id.
108
113
  #
109
114
  # @overload list_operations(request, options = nil)
110
115
  # Pass arguments to `list_operations` via a request object, either of type
@@ -122,7 +127,7 @@ module Google
122
127
  # the default parameter values, pass an empty Hash as a request object (see above).
123
128
  #
124
129
  # @param name [::String]
125
- # The name of the operation collection.
130
+ # The name of the operation's parent resource.
126
131
  # @param filter [::String]
127
132
  # The standard list filter.
128
133
  # @param page_size [::Integer]
@@ -390,6 +395,79 @@ module Google
390
395
  raise ::Google::Cloud::Error.from_error(e)
391
396
  end
392
397
 
398
+ ##
399
+ # Waits for the specified long-running operation until it is done or reaches
400
+ # at most a specified timeout, returning the latest state. If the operation
401
+ # is already done, the latest state is immediately returned. If the timeout
402
+ # specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
403
+ # timeout is used. If the server does not support this method, it returns
404
+ # `google.rpc.Code.UNIMPLEMENTED`.
405
+ # Note that this method is on a best-effort basis. It may return the latest
406
+ # state before the specified timeout (including immediately), meaning even an
407
+ # immediate response is no guarantee that the operation is done.
408
+ #
409
+ # @overload wait_operation(request, options = nil)
410
+ # Pass arguments to `wait_operation` via a request object, either of type
411
+ # {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
412
+ #
413
+ # @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
414
+ # A request object representing the call parameters. Required. To specify no
415
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
416
+ # @param options [::Gapic::CallOptions, ::Hash]
417
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
418
+ #
419
+ # @overload wait_operation(name: nil, timeout: nil)
420
+ # Pass arguments to `wait_operation` via keyword arguments. Note that at
421
+ # least one keyword argument is required. To specify no parameters, or to keep all
422
+ # the default parameter values, pass an empty Hash as a request object (see above).
423
+ #
424
+ # @param name [::String]
425
+ # The name of the operation resource to wait on.
426
+ # @param timeout [::Google::Protobuf::Duration, ::Hash]
427
+ # The maximum duration to wait before timing out. If left blank, the wait
428
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
429
+ # If RPC context deadline is also specified, the shorter one will be used.
430
+ #
431
+ # @yield [response, operation] Access the result along with the RPC operation
432
+ # @yieldparam response [::Gapic::Operation]
433
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
434
+ #
435
+ # @return [::Gapic::Operation]
436
+ #
437
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
438
+ #
439
+ def wait_operation request, options = nil
440
+ raise ::ArgumentError, "request must be provided" if request.nil?
441
+
442
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
443
+
444
+ # Converts hash and nil to an options object
445
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
446
+
447
+ # Customize the options with defaults
448
+ metadata = @config.rpcs.wait_operation.metadata.to_h
449
+
450
+ # Set x-goog-api-client and x-goog-user-project headers
451
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
452
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
453
+ gapic_version: ::Google::Cloud::SecurityCenter::V1::VERSION
454
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
455
+
456
+ options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
457
+ metadata: metadata,
458
+ retry_policy: @config.rpcs.wait_operation.retry_policy
459
+ options.apply_defaults metadata: @config.metadata,
460
+ retry_policy: @config.retry_policy
461
+
462
+ @operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
463
+ response = ::Gapic::Operation.new response, @operations_client, options: options
464
+ yield response, operation if block_given?
465
+ return response
466
+ end
467
+ rescue ::GRPC::BadStatus => e
468
+ raise ::Google::Cloud::Error.from_error(e)
469
+ end
470
+
393
471
  ##
394
472
  # Configuration class for the Operations API.
395
473
  #
@@ -475,7 +553,7 @@ module Google
475
553
 
476
554
  config_attr :endpoint, "securitycenter.googleapis.com", ::String
477
555
  config_attr :credentials, nil do |value|
478
- allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
556
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
479
557
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
480
558
  allowed.any? { |klass| klass === value }
481
559
  end
@@ -515,7 +593,7 @@ module Google
515
593
  # Each configuration object is of type `Gapic::Config::Method` and includes
516
594
  # the following configuration fields:
517
595
  #
518
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
596
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
519
597
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
520
598
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
521
599
  # include the following keys:
@@ -546,6 +624,11 @@ module Google
546
624
  # @return [::Gapic::Config::Method]
547
625
  #
548
626
  attr_reader :cancel_operation
627
+ ##
628
+ # RPC-specific configuration for `wait_operation`
629
+ # @return [::Gapic::Config::Method]
630
+ #
631
+ attr_reader :wait_operation
549
632
 
550
633
  # @private
551
634
  def initialize parent_rpcs = nil
@@ -557,6 +640,8 @@ module Google
557
640
  @delete_operation = ::Gapic::Config::Method.new delete_operation_config
558
641
  cancel_operation_config = parent_rpcs&.cancel_operation if parent_rpcs&.respond_to? :cancel_operation
559
642
  @cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
643
+ wait_operation_config = parent_rpcs&.wait_operation if parent_rpcs&.respond_to? :wait_operation
644
+ @wait_operation = ::Gapic::Config::Method.new wait_operation_config
560
645
 
561
646
  yield self if block_given?
562
647
  end
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module SecurityCenter
23
23
  module V1
24
- VERSION = "0.3.3"
24
+ VERSION = "0.5.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
@@ -54,6 +54,12 @@ module Google
54
54
  # This indicates that the field may be set once in a request to create a
55
55
  # resource, but may not be changed thereafter.
56
56
  IMMUTABLE = 5
57
+
58
+ # Denotes that a (repeated) field is an unordered list.
59
+ # This indicates that the service may provide the elements of the list
60
+ # in any arbitrary order, rather than the order the user originally
61
+ # provided. Additionally, the list's order may or may not be stable.
62
+ UNORDERED_LIST = 6
57
63
  end
58
64
  end
59
65
  end
@@ -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
@@ -75,12 +75,18 @@ module Google
75
75
  # to the finding.
76
76
  # @!attribute [rw] event_time
77
77
  # @return [::Google::Protobuf::Timestamp]
78
- # The time at which the event took place. For example, if the finding
79
- # represents an open firewall it would capture the time the detector believes
80
- # the firewall became open. The accuracy is determined by the detector.
78
+ # The time at which the event took place, or when an update to the finding
79
+ # occurred. For example, if the finding represents an open firewall it would
80
+ # capture the time the detector believes the firewall became open. The
81
+ # accuracy is determined by the detector. If the finding were to be resolved
82
+ # afterward, this time would reflect when the finding was resolved.
81
83
  # @!attribute [rw] create_time
82
84
  # @return [::Google::Protobuf::Timestamp]
83
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.
84
90
  class Finding
85
91
  include ::Google::Protobuf::MessageExts
86
92
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -106,6 +112,65 @@ module Google
106
112
  # and is no longer active.
107
113
  INACTIVE = 2
108
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
109
174
  end
110
175
  end
111
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
@@ -25,7 +25,7 @@ module Google
25
25
  # @return [::String]
26
26
  # The server-assigned name, which is only unique within the same service that
27
27
  # originally returns it. If you use the default HTTP mapping, the
28
- # `name` should have the format of `operations/some/unique/name`.
28
+ # `name` should be a resource name ending with `operations/{unique_id}`.
29
29
  # @!attribute [rw] metadata
30
30
  # @return [::Google::Protobuf::Any]
31
31
  # Service-specific metadata associated with the operation. It typically
@@ -35,7 +35,7 @@ module Google
35
35
  # @!attribute [rw] done
36
36
  # @return [::Boolean]
37
37
  # If the value is `false`, it means the operation is still in progress.
38
- # If true, the operation is completed, and either `error` or `response` is
38
+ # If `true`, the operation is completed, and either `error` or `response` is
39
39
  # available.
40
40
  # @!attribute [rw] error
41
41
  # @return [::Google::Rpc::Status]
@@ -67,7 +67,7 @@ module Google
67
67
  # The request message for Operations.ListOperations.
68
68
  # @!attribute [rw] name
69
69
  # @return [::String]
70
- # The name of the operation collection.
70
+ # The name of the operation's parent resource.
71
71
  # @!attribute [rw] filter
72
72
  # @return [::String]
73
73
  # The standard list filter.
@@ -112,6 +112,20 @@ module Google
112
112
  extend ::Google::Protobuf::MessageExts::ClassMethods
113
113
  end
114
114
 
115
+ # The request message for Operations.WaitOperation.
116
+ # @!attribute [rw] name
117
+ # @return [::String]
118
+ # The name of the operation resource to wait on.
119
+ # @!attribute [rw] timeout
120
+ # @return [::Google::Protobuf::Duration]
121
+ # The maximum duration to wait before timing out. If left blank, the wait
122
+ # will be at most the time permitted by the underlying HTTP/RPC protocol.
123
+ # If RPC context deadline is also specified, the shorter one will be used.
124
+ class WaitOperationRequest
125
+ include ::Google::Protobuf::MessageExts
126
+ extend ::Google::Protobuf::MessageExts::ClassMethods
127
+ end
128
+
115
129
  # A message representing the message types used by a long-running operation.
116
130
  #
117
131
  # Example:
@@ -57,10 +57,13 @@ module Google
57
57
  # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
- # any, err := ptypes.MarshalAny(foo)
60
+ # any, err := anypb.New(foo)
61
+ # if err != nil {
62
+ # ...
63
+ # }
61
64
  # ...
62
65
  # foo := &pb.Foo{}
63
- # if err := ptypes.UnmarshalAny(any, foo); err != nil {
66
+ # if err := any.UnmarshalTo(foo); err != nil {
64
67
  # ...
65
68
  # }
66
69
  #
@@ -70,7 +70,16 @@ module Google
70
70
  # .setNanos((int) ((millis % 1000) * 1000000)).build();
71
71
  #
72
72
  #
73
- # Example 5: Compute Timestamp from current time in Python.
73
+ # Example 5: Compute Timestamp from Java `Instant.now()`.
74
+ #
75
+ # Instant now = Instant.now();
76
+ #
77
+ # Timestamp timestamp =
78
+ # Timestamp.newBuilder().setSeconds(now.getEpochSecond())
79
+ # .setNanos(now.getNano()).build();
80
+ #
81
+ #
82
+ # Example 6: Compute Timestamp from current time in Python.
74
83
  #
75
84
  # timestamp = Timestamp()
76
85
  # timestamp.GetCurrentTime()
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.3
4
+ version: 0.5.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-08-07 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -171,7 +171,9 @@ dependencies:
171
171
  - !ruby/object:Gem::Version
172
172
  version: '0.9'
173
173
  description: Security Command Center API provides access to temporal views of assets
174
- and findings within an organization.
174
+ and findings within an organization. Note that google-cloud-security_center-v1 is
175
+ a version-specific client library. For most uses, we recommend installing the main
176
+ client library google-cloud-security_center instead. See the readme for more details.
175
177
  email: googleapis-packages@google.com
176
178
  executables: []
177
179
  extensions: []
@@ -244,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
244
246
  - !ruby/object:Gem::Version
245
247
  version: '0'
246
248
  requirements: []
247
- rubygems_version: 3.1.3
249
+ rubygems_version: 3.2.6
248
250
  signing_key:
249
251
  specification_version: 4
250
252
  summary: API Client library for the Cloud Security Command Center V1 API