google-cloud-cloud_security_compliance-v1 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +4 -4
  4. data/lib/google/cloud/cloud_security_compliance/v1/audit/client.rb +859 -0
  5. data/lib/google/cloud/cloud_security_compliance/v1/audit/credentials.rb +47 -0
  6. data/lib/google/cloud/cloud_security_compliance/v1/audit/operations.rb +841 -0
  7. data/lib/google/cloud/cloud_security_compliance/v1/audit/paths.rb +110 -0
  8. data/lib/google/cloud/cloud_security_compliance/v1/audit/rest/client.rb +796 -0
  9. data/lib/google/cloud/cloud_security_compliance/v1/audit/rest/operations.rb +925 -0
  10. data/lib/google/cloud/cloud_security_compliance/v1/audit/rest/service_stub.rb +387 -0
  11. data/lib/google/cloud/cloud_security_compliance/v1/audit/rest.rb +54 -0
  12. data/lib/google/cloud/cloud_security_compliance/v1/audit.rb +56 -0
  13. data/lib/google/cloud/cloud_security_compliance/v1/bindings_override.rb +1 -1
  14. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/client.rb +608 -0
  15. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/credentials.rb +47 -0
  16. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/paths.rb +72 -0
  17. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/rest/client.rb +559 -0
  18. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/rest/service_stub.rb +234 -0
  19. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service/rest.rb +54 -0
  20. data/lib/google/cloud/cloud_security_compliance/v1/cm_enrollment_service.rb +56 -0
  21. data/lib/google/cloud/cloud_security_compliance/v1/config/client.rb +113 -99
  22. data/lib/google/cloud/cloud_security_compliance/v1/config/rest/client.rb +113 -99
  23. data/lib/google/cloud/cloud_security_compliance/v1/deployment/client.rb +60 -38
  24. data/lib/google/cloud/cloud_security_compliance/v1/deployment/rest/client.rb +60 -38
  25. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/client.rb +940 -0
  26. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/credentials.rb +47 -0
  27. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/paths.rb +142 -0
  28. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/rest/client.rb +870 -0
  29. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/rest/service_stub.rb +456 -0
  30. data/lib/google/cloud/cloud_security_compliance/v1/monitoring/rest.rb +53 -0
  31. data/lib/google/cloud/cloud_security_compliance/v1/monitoring.rb +55 -0
  32. data/lib/google/cloud/cloud_security_compliance/v1/rest.rb +4 -1
  33. data/lib/google/cloud/cloud_security_compliance/v1/version.rb +1 -1
  34. data/lib/google/cloud/cloud_security_compliance/v1.rb +5 -2
  35. data/lib/google/cloud/cloudsecuritycompliance/v1/audit_pb.rb +70 -0
  36. data/lib/google/cloud/cloudsecuritycompliance/v1/audit_services_pb.rb +51 -0
  37. data/lib/google/cloud/cloudsecuritycompliance/v1/cm_enrollment_service_pb.rb +54 -0
  38. data/lib/google/cloud/cloudsecuritycompliance/v1/cm_enrollment_service_services_pb.rb +54 -0
  39. data/lib/google/cloud/cloudsecuritycompliance/v1/common_pb.rb +4 -1
  40. data/lib/google/cloud/cloudsecuritycompliance/v1/config_pb.rb +1 -1
  41. data/lib/google/cloud/cloudsecuritycompliance/v1/config_services_pb.rb +58 -55
  42. data/lib/google/cloud/cloudsecuritycompliance/v1/deployment_services_pb.rb +9 -6
  43. data/lib/google/cloud/cloudsecuritycompliance/v1/monitoring_pb.rb +74 -0
  44. data/lib/google/cloud/cloudsecuritycompliance/v1/monitoring_services_pb.rb +53 -0
  45. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/audit.rb +413 -0
  46. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/cm_enrollment_service.rb +108 -0
  47. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/common.rb +210 -181
  48. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/config.rb +69 -57
  49. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/deployment.rb +180 -139
  50. data/proto_docs/google/cloud/cloudsecuritycompliance/v1/monitoring.rb +527 -0
  51. data/proto_docs/google/type/interval.rb +45 -0
  52. metadata +34 -1
@@ -0,0 +1,940 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+ require "google/cloud/errors"
20
+ require "google/cloud/cloudsecuritycompliance/v1/monitoring_pb"
21
+ require "google/cloud/location"
22
+
23
+ module Google
24
+ module Cloud
25
+ module CloudSecurityCompliance
26
+ module V1
27
+ module Monitoring
28
+ ##
29
+ # Client for the Monitoring service.
30
+ #
31
+ # Service describing handlers for resources
32
+ #
33
+ class Client
34
+ # @private
35
+ API_VERSION = ""
36
+
37
+ # @private
38
+ DEFAULT_ENDPOINT_TEMPLATE = "cloudsecuritycompliance.$UNIVERSE_DOMAIN$"
39
+
40
+ include Paths
41
+
42
+ # @private
43
+ attr_reader :monitoring_stub
44
+
45
+ ##
46
+ # Configure the Monitoring Client class.
47
+ #
48
+ # See {::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client::Configuration}
49
+ # for a description of the configuration fields.
50
+ #
51
+ # @example
52
+ #
53
+ # # Modify the configuration for all Monitoring clients
54
+ # ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.configure do |config|
55
+ # config.timeout = 10.0
56
+ # end
57
+ #
58
+ # @yield [config] Configure the Client client.
59
+ # @yieldparam config [Client::Configuration]
60
+ #
61
+ # @return [Client::Configuration]
62
+ #
63
+ def self.configure
64
+ @configure ||= begin
65
+ namespace = ["Google", "Cloud", "CloudSecurityCompliance", "V1"]
66
+ parent_config = while namespace.any?
67
+ parent_name = namespace.join "::"
68
+ parent_const = const_get parent_name
69
+ break parent_const.configure if parent_const.respond_to? :configure
70
+ namespace.pop
71
+ end
72
+ default_config = Client::Configuration.new parent_config
73
+
74
+ default_config.rpcs.list_framework_compliance_summaries.timeout = 60.0
75
+ default_config.rpcs.list_framework_compliance_summaries.retry_policy = {
76
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
77
+ }
78
+
79
+ default_config.rpcs.list_finding_summaries.timeout = 60.0
80
+ default_config.rpcs.list_finding_summaries.retry_policy = {
81
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
82
+ }
83
+
84
+ default_config.rpcs.fetch_framework_compliance_report.timeout = 60.0
85
+ default_config.rpcs.fetch_framework_compliance_report.retry_policy = {
86
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
87
+ }
88
+
89
+ default_config.rpcs.list_control_compliance_summaries.timeout = 60.0
90
+ default_config.rpcs.list_control_compliance_summaries.retry_policy = {
91
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
92
+ }
93
+
94
+ default_config.rpcs.aggregate_framework_compliance_report.timeout = 60.0
95
+ default_config.rpcs.aggregate_framework_compliance_report.retry_policy = {
96
+ initial_delay: 1.0, max_delay: 10.0, multiplier: 1.3, retry_codes: [14]
97
+ }
98
+
99
+ default_config
100
+ end
101
+ yield @configure if block_given?
102
+ @configure
103
+ end
104
+
105
+ ##
106
+ # Configure the Monitoring Client instance.
107
+ #
108
+ # The configuration is set to the derived mode, meaning that values can be changed,
109
+ # but structural changes (adding new fields, etc.) are not allowed. Structural changes
110
+ # should be made on {Client.configure}.
111
+ #
112
+ # See {::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client::Configuration}
113
+ # for a description of the configuration fields.
114
+ #
115
+ # @yield [config] Configure the Client client.
116
+ # @yieldparam config [Client::Configuration]
117
+ #
118
+ # @return [Client::Configuration]
119
+ #
120
+ def configure
121
+ yield @config if block_given?
122
+ @config
123
+ end
124
+
125
+ ##
126
+ # The effective universe domain
127
+ #
128
+ # @return [String]
129
+ #
130
+ def universe_domain
131
+ @monitoring_stub.universe_domain
132
+ end
133
+
134
+ ##
135
+ # Create a new Monitoring client object.
136
+ #
137
+ # @example
138
+ #
139
+ # # Create a client using the default configuration
140
+ # client = ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
141
+ #
142
+ # # Create a client using a custom configuration
143
+ # client = ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new do |config|
144
+ # config.timeout = 10.0
145
+ # end
146
+ #
147
+ # @yield [config] Configure the Monitoring client.
148
+ # @yieldparam config [Client::Configuration]
149
+ #
150
+ def initialize
151
+ # These require statements are intentionally placed here to initialize
152
+ # the gRPC module only when it's required.
153
+ # See https://github.com/googleapis/toolkit/issues/446
154
+ require "gapic/grpc"
155
+ require "google/cloud/cloudsecuritycompliance/v1/monitoring_services_pb"
156
+
157
+ # Create the configuration object
158
+ @config = Configuration.new Client.configure
159
+
160
+ # Yield the configuration if needed
161
+ yield @config if block_given?
162
+
163
+ # Create credentials
164
+ credentials = @config.credentials
165
+ # Use self-signed JWT if the endpoint is unchanged from default,
166
+ # but only if the default endpoint does not have a region prefix.
167
+ enable_self_signed_jwt = @config.endpoint.nil? ||
168
+ (@config.endpoint == Configuration::DEFAULT_ENDPOINT &&
169
+ !@config.endpoint.split(".").first.include?("-"))
170
+ credentials ||= Credentials.default scope: @config.scope,
171
+ enable_self_signed_jwt: enable_self_signed_jwt
172
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
173
+ credentials = Credentials.new credentials, scope: @config.scope
174
+ end
175
+ @quota_project_id = @config.quota_project
176
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
177
+
178
+ @monitoring_stub = ::Gapic::ServiceStub.new(
179
+ ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Stub,
180
+ credentials: credentials,
181
+ endpoint: @config.endpoint,
182
+ endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
183
+ universe_domain: @config.universe_domain,
184
+ channel_args: @config.channel_args,
185
+ interceptors: @config.interceptors,
186
+ channel_pool_config: @config.channel_pool,
187
+ logger: @config.logger
188
+ )
189
+
190
+ @monitoring_stub.stub_logger&.info do |entry|
191
+ entry.set_system_name
192
+ entry.set_service
193
+ entry.message = "Created client for #{entry.service}"
194
+ entry.set_credentials_fields credentials
195
+ entry.set "customEndpoint", @config.endpoint if @config.endpoint
196
+ entry.set "defaultTimeout", @config.timeout if @config.timeout
197
+ entry.set "quotaProject", @quota_project_id if @quota_project_id
198
+ end
199
+
200
+ @location_client = Google::Cloud::Location::Locations::Client.new do |config|
201
+ config.credentials = credentials
202
+ config.quota_project = @quota_project_id
203
+ config.endpoint = @monitoring_stub.endpoint
204
+ config.universe_domain = @monitoring_stub.universe_domain
205
+ config.logger = @monitoring_stub.logger if config.respond_to? :logger=
206
+ end
207
+ end
208
+
209
+ ##
210
+ # Get the associated client for mix-in of the Locations.
211
+ #
212
+ # @return [Google::Cloud::Location::Locations::Client]
213
+ #
214
+ attr_reader :location_client
215
+
216
+ ##
217
+ # The logger used for request/response debug logging.
218
+ #
219
+ # @return [Logger]
220
+ #
221
+ def logger
222
+ @monitoring_stub.logger
223
+ end
224
+
225
+ # Service calls
226
+
227
+ ##
228
+ # Lists the framework compliance summary for a given scope.
229
+ #
230
+ # @overload list_framework_compliance_summaries(request, options = nil)
231
+ # Pass arguments to `list_framework_compliance_summaries` via a request object, either of type
232
+ # {::Google::Cloud::CloudSecurityCompliance::V1::ListFrameworkComplianceSummariesRequest} or an equivalent Hash.
233
+ #
234
+ # @param request [::Google::Cloud::CloudSecurityCompliance::V1::ListFrameworkComplianceSummariesRequest, ::Hash]
235
+ # A request object representing the call parameters. Required. To specify no
236
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
237
+ # @param options [::Gapic::CallOptions, ::Hash]
238
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
239
+ #
240
+ # @overload list_framework_compliance_summaries(parent: nil, page_size: nil, page_token: nil, filter: nil)
241
+ # Pass arguments to `list_framework_compliance_summaries` via keyword arguments. Note that at
242
+ # least one keyword argument is required. To specify no parameters, or to keep all
243
+ # the default parameter values, pass an empty Hash as a request object (see above).
244
+ #
245
+ # @param parent [::String]
246
+ # Required. The parent scope for the framework compliance summary.
247
+ # @param page_size [::Integer]
248
+ # Optional. The requested page size. The server might return fewer items than
249
+ # requested. If unspecified, the server picks an appropriate default.
250
+ # @param page_token [::String]
251
+ # Optional. A token that identifies the page of results that the server
252
+ # should return.
253
+ # @param filter [::String]
254
+ # Optional. The filtering results.
255
+ #
256
+ # @yield [response, operation] Access the result along with the RPC operation
257
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceSummary>]
258
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
259
+ #
260
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceSummary>]
261
+ #
262
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
263
+ #
264
+ # @example Basic example
265
+ # require "google/cloud/cloud_security_compliance/v1"
266
+ #
267
+ # # Create a client object. The client can be reused for multiple calls.
268
+ # client = Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
269
+ #
270
+ # # Create a request. To set request fields, pass in keyword arguments.
271
+ # request = Google::Cloud::CloudSecurityCompliance::V1::ListFrameworkComplianceSummariesRequest.new
272
+ #
273
+ # # Call the list_framework_compliance_summaries method.
274
+ # result = client.list_framework_compliance_summaries request
275
+ #
276
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
277
+ # # over elements, and API calls will be issued to fetch pages as needed.
278
+ # result.each do |item|
279
+ # # Each element is of type ::Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceSummary.
280
+ # p item
281
+ # end
282
+ #
283
+ def list_framework_compliance_summaries request, options = nil
284
+ raise ::ArgumentError, "request must be provided" if request.nil?
285
+
286
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::CloudSecurityCompliance::V1::ListFrameworkComplianceSummariesRequest
287
+
288
+ # Converts hash and nil to an options object
289
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
290
+
291
+ # Customize the options with defaults
292
+ metadata = @config.rpcs.list_framework_compliance_summaries.metadata.to_h
293
+
294
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
295
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
296
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
297
+ gapic_version: ::Google::Cloud::CloudSecurityCompliance::V1::VERSION
298
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
299
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
300
+
301
+ header_params = {}
302
+ if request.parent
303
+ header_params["parent"] = request.parent
304
+ end
305
+
306
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
307
+ metadata[:"x-goog-request-params"] ||= request_params_header
308
+
309
+ options.apply_defaults timeout: @config.rpcs.list_framework_compliance_summaries.timeout,
310
+ metadata: metadata,
311
+ retry_policy: @config.rpcs.list_framework_compliance_summaries.retry_policy
312
+
313
+ options.apply_defaults timeout: @config.timeout,
314
+ metadata: @config.metadata,
315
+ retry_policy: @config.retry_policy
316
+
317
+ @monitoring_stub.call_rpc :list_framework_compliance_summaries, request, options: options do |response, operation|
318
+ response = ::Gapic::PagedEnumerable.new @monitoring_stub, :list_framework_compliance_summaries, request, response, operation, options
319
+ yield response, operation if block_given?
320
+ throw :response, response
321
+ end
322
+ rescue ::GRPC::BadStatus => e
323
+ raise ::Google::Cloud::Error.from_error(e)
324
+ end
325
+
326
+ ##
327
+ # Lists the finding summary by category for a given scope.
328
+ #
329
+ # @overload list_finding_summaries(request, options = nil)
330
+ # Pass arguments to `list_finding_summaries` via a request object, either of type
331
+ # {::Google::Cloud::CloudSecurityCompliance::V1::ListFindingSummariesRequest} or an equivalent Hash.
332
+ #
333
+ # @param request [::Google::Cloud::CloudSecurityCompliance::V1::ListFindingSummariesRequest, ::Hash]
334
+ # A request object representing the call parameters. Required. To specify no
335
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
336
+ # @param options [::Gapic::CallOptions, ::Hash]
337
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
338
+ #
339
+ # @overload list_finding_summaries(parent: nil, page_size: nil, page_token: nil, filter: nil, end_time: nil)
340
+ # Pass arguments to `list_finding_summaries` via keyword arguments. Note that at
341
+ # least one keyword argument is required. To specify no parameters, or to keep all
342
+ # the default parameter values, pass an empty Hash as a request object (see above).
343
+ #
344
+ # @param parent [::String]
345
+ # Required. The parent scope for the framework overview page.
346
+ # @param page_size [::Integer]
347
+ # Optional. The requested page size. The server might return fewer items than
348
+ # requested. If unspecified, the server picks an appropriate default.
349
+ # @param page_token [::String]
350
+ # Optional. A token that identifies the page of results that the server
351
+ # should return.
352
+ # @param filter [::String]
353
+ # Optional. The filtering results.
354
+ # @param end_time [::Google::Protobuf::Timestamp, ::Hash]
355
+ # Optional. The end time of the finding summary.
356
+ #
357
+ # @yield [response, operation] Access the result along with the RPC operation
358
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::FindingSummary>]
359
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
360
+ #
361
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::FindingSummary>]
362
+ #
363
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
364
+ #
365
+ # @example Basic example
366
+ # require "google/cloud/cloud_security_compliance/v1"
367
+ #
368
+ # # Create a client object. The client can be reused for multiple calls.
369
+ # client = Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
370
+ #
371
+ # # Create a request. To set request fields, pass in keyword arguments.
372
+ # request = Google::Cloud::CloudSecurityCompliance::V1::ListFindingSummariesRequest.new
373
+ #
374
+ # # Call the list_finding_summaries method.
375
+ # result = client.list_finding_summaries request
376
+ #
377
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
378
+ # # over elements, and API calls will be issued to fetch pages as needed.
379
+ # result.each do |item|
380
+ # # Each element is of type ::Google::Cloud::CloudSecurityCompliance::V1::FindingSummary.
381
+ # p item
382
+ # end
383
+ #
384
+ def list_finding_summaries request, options = nil
385
+ raise ::ArgumentError, "request must be provided" if request.nil?
386
+
387
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::CloudSecurityCompliance::V1::ListFindingSummariesRequest
388
+
389
+ # Converts hash and nil to an options object
390
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
391
+
392
+ # Customize the options with defaults
393
+ metadata = @config.rpcs.list_finding_summaries.metadata.to_h
394
+
395
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
396
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
397
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
398
+ gapic_version: ::Google::Cloud::CloudSecurityCompliance::V1::VERSION
399
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
400
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
401
+
402
+ header_params = {}
403
+ if request.parent
404
+ header_params["parent"] = request.parent
405
+ end
406
+
407
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
408
+ metadata[:"x-goog-request-params"] ||= request_params_header
409
+
410
+ options.apply_defaults timeout: @config.rpcs.list_finding_summaries.timeout,
411
+ metadata: metadata,
412
+ retry_policy: @config.rpcs.list_finding_summaries.retry_policy
413
+
414
+ options.apply_defaults timeout: @config.timeout,
415
+ metadata: @config.metadata,
416
+ retry_policy: @config.retry_policy
417
+
418
+ @monitoring_stub.call_rpc :list_finding_summaries, request, options: options do |response, operation|
419
+ response = ::Gapic::PagedEnumerable.new @monitoring_stub, :list_finding_summaries, request, response, operation, options
420
+ yield response, operation if block_given?
421
+ throw :response, response
422
+ end
423
+ rescue ::GRPC::BadStatus => e
424
+ raise ::Google::Cloud::Error.from_error(e)
425
+ end
426
+
427
+ ##
428
+ # Fetches the framework compliance report for a given scope.
429
+ #
430
+ # @overload fetch_framework_compliance_report(request, options = nil)
431
+ # Pass arguments to `fetch_framework_compliance_report` via a request object, either of type
432
+ # {::Google::Cloud::CloudSecurityCompliance::V1::FetchFrameworkComplianceReportRequest} or an equivalent Hash.
433
+ #
434
+ # @param request [::Google::Cloud::CloudSecurityCompliance::V1::FetchFrameworkComplianceReportRequest, ::Hash]
435
+ # A request object representing the call parameters. Required. To specify no
436
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
437
+ # @param options [::Gapic::CallOptions, ::Hash]
438
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
439
+ #
440
+ # @overload fetch_framework_compliance_report(name: nil, end_time: nil)
441
+ # Pass arguments to `fetch_framework_compliance_report` via keyword arguments. Note that at
442
+ # least one keyword argument is required. To specify no parameters, or to keep all
443
+ # the default parameter values, pass an empty Hash as a request object (see above).
444
+ #
445
+ # @param name [::String]
446
+ # Required. The name of the framework compliance report to retrieve.
447
+ # @param end_time [::Google::Protobuf::Timestamp, ::Hash]
448
+ # Optional. The end time of the report.
449
+ #
450
+ # @yield [response, operation] Access the result along with the RPC operation
451
+ # @yieldparam response [::Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceReport]
452
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
453
+ #
454
+ # @return [::Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceReport]
455
+ #
456
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
457
+ #
458
+ # @example Basic example
459
+ # require "google/cloud/cloud_security_compliance/v1"
460
+ #
461
+ # # Create a client object. The client can be reused for multiple calls.
462
+ # client = Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
463
+ #
464
+ # # Create a request. To set request fields, pass in keyword arguments.
465
+ # request = Google::Cloud::CloudSecurityCompliance::V1::FetchFrameworkComplianceReportRequest.new
466
+ #
467
+ # # Call the fetch_framework_compliance_report method.
468
+ # result = client.fetch_framework_compliance_report request
469
+ #
470
+ # # The returned object is of type Google::Cloud::CloudSecurityCompliance::V1::FrameworkComplianceReport.
471
+ # p result
472
+ #
473
+ def fetch_framework_compliance_report request, options = nil
474
+ raise ::ArgumentError, "request must be provided" if request.nil?
475
+
476
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::CloudSecurityCompliance::V1::FetchFrameworkComplianceReportRequest
477
+
478
+ # Converts hash and nil to an options object
479
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
480
+
481
+ # Customize the options with defaults
482
+ metadata = @config.rpcs.fetch_framework_compliance_report.metadata.to_h
483
+
484
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
485
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
486
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
487
+ gapic_version: ::Google::Cloud::CloudSecurityCompliance::V1::VERSION
488
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
489
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
490
+
491
+ header_params = {}
492
+ if request.name
493
+ header_params["name"] = request.name
494
+ end
495
+
496
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
497
+ metadata[:"x-goog-request-params"] ||= request_params_header
498
+
499
+ options.apply_defaults timeout: @config.rpcs.fetch_framework_compliance_report.timeout,
500
+ metadata: metadata,
501
+ retry_policy: @config.rpcs.fetch_framework_compliance_report.retry_policy
502
+
503
+ options.apply_defaults timeout: @config.timeout,
504
+ metadata: @config.metadata,
505
+ retry_policy: @config.retry_policy
506
+
507
+ @monitoring_stub.call_rpc :fetch_framework_compliance_report, request, options: options do |response, operation|
508
+ yield response, operation if block_given?
509
+ end
510
+ rescue ::GRPC::BadStatus => e
511
+ raise ::Google::Cloud::Error.from_error(e)
512
+ end
513
+
514
+ ##
515
+ # Lists the control compliance summary for a given scope.
516
+ #
517
+ # @overload list_control_compliance_summaries(request, options = nil)
518
+ # Pass arguments to `list_control_compliance_summaries` via a request object, either of type
519
+ # {::Google::Cloud::CloudSecurityCompliance::V1::ListControlComplianceSummariesRequest} or an equivalent Hash.
520
+ #
521
+ # @param request [::Google::Cloud::CloudSecurityCompliance::V1::ListControlComplianceSummariesRequest, ::Hash]
522
+ # A request object representing the call parameters. Required. To specify no
523
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
524
+ # @param options [::Gapic::CallOptions, ::Hash]
525
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
526
+ #
527
+ # @overload list_control_compliance_summaries(parent: nil, end_time: nil, page_size: nil, page_token: nil, filter: nil)
528
+ # Pass arguments to `list_control_compliance_summaries` via keyword arguments. Note that at
529
+ # least one keyword argument is required. To specify no parameters, or to keep all
530
+ # the default parameter values, pass an empty Hash as a request object (see above).
531
+ #
532
+ # @param parent [::String]
533
+ # Required. The parent scope for the framework overview page.
534
+ # @param end_time [::Google::Protobuf::Timestamp, ::Hash]
535
+ # Optional. The end time of the control compliance summary.
536
+ # @param page_size [::Integer]
537
+ # Optional. The requested page size. The server might return fewer items than
538
+ # requested. If unspecified, the server picks an appropriate default.
539
+ # @param page_token [::String]
540
+ # Optional. A token that identifies the page of results that the server
541
+ # should return.
542
+ # @param filter [::String]
543
+ # Optional. The filtering results.
544
+ #
545
+ # @yield [response, operation] Access the result along with the RPC operation
546
+ # @yieldparam response [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::ControlComplianceSummary>]
547
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
548
+ #
549
+ # @return [::Gapic::PagedEnumerable<::Google::Cloud::CloudSecurityCompliance::V1::ControlComplianceSummary>]
550
+ #
551
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
552
+ #
553
+ # @example Basic example
554
+ # require "google/cloud/cloud_security_compliance/v1"
555
+ #
556
+ # # Create a client object. The client can be reused for multiple calls.
557
+ # client = Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
558
+ #
559
+ # # Create a request. To set request fields, pass in keyword arguments.
560
+ # request = Google::Cloud::CloudSecurityCompliance::V1::ListControlComplianceSummariesRequest.new
561
+ #
562
+ # # Call the list_control_compliance_summaries method.
563
+ # result = client.list_control_compliance_summaries request
564
+ #
565
+ # # The returned object is of type Gapic::PagedEnumerable. You can iterate
566
+ # # over elements, and API calls will be issued to fetch pages as needed.
567
+ # result.each do |item|
568
+ # # Each element is of type ::Google::Cloud::CloudSecurityCompliance::V1::ControlComplianceSummary.
569
+ # p item
570
+ # end
571
+ #
572
+ def list_control_compliance_summaries request, options = nil
573
+ raise ::ArgumentError, "request must be provided" if request.nil?
574
+
575
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::CloudSecurityCompliance::V1::ListControlComplianceSummariesRequest
576
+
577
+ # Converts hash and nil to an options object
578
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
579
+
580
+ # Customize the options with defaults
581
+ metadata = @config.rpcs.list_control_compliance_summaries.metadata.to_h
582
+
583
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
584
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
585
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
586
+ gapic_version: ::Google::Cloud::CloudSecurityCompliance::V1::VERSION
587
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
588
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
589
+
590
+ header_params = {}
591
+ if request.parent
592
+ header_params["parent"] = request.parent
593
+ end
594
+
595
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
596
+ metadata[:"x-goog-request-params"] ||= request_params_header
597
+
598
+ options.apply_defaults timeout: @config.rpcs.list_control_compliance_summaries.timeout,
599
+ metadata: metadata,
600
+ retry_policy: @config.rpcs.list_control_compliance_summaries.retry_policy
601
+
602
+ options.apply_defaults timeout: @config.timeout,
603
+ metadata: @config.metadata,
604
+ retry_policy: @config.retry_policy
605
+
606
+ @monitoring_stub.call_rpc :list_control_compliance_summaries, request, options: options do |response, operation|
607
+ response = ::Gapic::PagedEnumerable.new @monitoring_stub, :list_control_compliance_summaries, request, response, operation, options
608
+ yield response, operation if block_given?
609
+ throw :response, response
610
+ end
611
+ rescue ::GRPC::BadStatus => e
612
+ raise ::Google::Cloud::Error.from_error(e)
613
+ end
614
+
615
+ ##
616
+ # Gets the aggregated compliance report over time for a given scope.
617
+ #
618
+ # @overload aggregate_framework_compliance_report(request, options = nil)
619
+ # Pass arguments to `aggregate_framework_compliance_report` via a request object, either of type
620
+ # {::Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportRequest} or an equivalent Hash.
621
+ #
622
+ # @param request [::Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportRequest, ::Hash]
623
+ # A request object representing the call parameters. Required. To specify no
624
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
625
+ # @param options [::Gapic::CallOptions, ::Hash]
626
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
627
+ #
628
+ # @overload aggregate_framework_compliance_report(name: nil, interval: nil, filter: nil)
629
+ # Pass arguments to `aggregate_framework_compliance_report` via keyword arguments. Note that at
630
+ # least one keyword argument is required. To specify no parameters, or to keep all
631
+ # the default parameter values, pass an empty Hash as a request object (see above).
632
+ #
633
+ # @param name [::String]
634
+ # Required. The name of the aggregated compliance report over time to
635
+ # retrieve.
636
+ #
637
+ # The supported format is:
638
+ # `organizations/{organization_id}/locations/{location}/frameworkComplianceReports/{framework_compliance_report}`
639
+ # @param interval [::Google::Type::Interval, ::Hash]
640
+ # Optional. The start and end time range for the aggregated compliance
641
+ # report.
642
+ # @param filter [::String]
643
+ # Optional. The filtering results.
644
+ #
645
+ # @yield [response, operation] Access the result along with the RPC operation
646
+ # @yieldparam response [::Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportResponse]
647
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
648
+ #
649
+ # @return [::Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportResponse]
650
+ #
651
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
652
+ #
653
+ # @example Basic example
654
+ # require "google/cloud/cloud_security_compliance/v1"
655
+ #
656
+ # # Create a client object. The client can be reused for multiple calls.
657
+ # client = Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new
658
+ #
659
+ # # Create a request. To set request fields, pass in keyword arguments.
660
+ # request = Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportRequest.new
661
+ #
662
+ # # Call the aggregate_framework_compliance_report method.
663
+ # result = client.aggregate_framework_compliance_report request
664
+ #
665
+ # # The returned object is of type Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportResponse.
666
+ # p result
667
+ #
668
+ def aggregate_framework_compliance_report request, options = nil
669
+ raise ::ArgumentError, "request must be provided" if request.nil?
670
+
671
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::CloudSecurityCompliance::V1::AggregateFrameworkComplianceReportRequest
672
+
673
+ # Converts hash and nil to an options object
674
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
675
+
676
+ # Customize the options with defaults
677
+ metadata = @config.rpcs.aggregate_framework_compliance_report.metadata.to_h
678
+
679
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
680
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
681
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
682
+ gapic_version: ::Google::Cloud::CloudSecurityCompliance::V1::VERSION
683
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
684
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
685
+
686
+ header_params = {}
687
+ if request.name
688
+ header_params["name"] = request.name
689
+ end
690
+
691
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
692
+ metadata[:"x-goog-request-params"] ||= request_params_header
693
+
694
+ options.apply_defaults timeout: @config.rpcs.aggregate_framework_compliance_report.timeout,
695
+ metadata: metadata,
696
+ retry_policy: @config.rpcs.aggregate_framework_compliance_report.retry_policy
697
+
698
+ options.apply_defaults timeout: @config.timeout,
699
+ metadata: @config.metadata,
700
+ retry_policy: @config.retry_policy
701
+
702
+ @monitoring_stub.call_rpc :aggregate_framework_compliance_report, request, options: options do |response, operation|
703
+ yield response, operation if block_given?
704
+ end
705
+ rescue ::GRPC::BadStatus => e
706
+ raise ::Google::Cloud::Error.from_error(e)
707
+ end
708
+
709
+ ##
710
+ # Configuration class for the Monitoring API.
711
+ #
712
+ # This class represents the configuration for Monitoring,
713
+ # providing control over timeouts, retry behavior, logging, transport
714
+ # parameters, and other low-level controls. Certain parameters can also be
715
+ # applied individually to specific RPCs. See
716
+ # {::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client::Configuration::Rpcs}
717
+ # for a list of RPCs that can be configured independently.
718
+ #
719
+ # Configuration can be applied globally to all clients, or to a single client
720
+ # on construction.
721
+ #
722
+ # @example
723
+ #
724
+ # # Modify the global config, setting the timeout for
725
+ # # list_framework_compliance_summaries to 20 seconds,
726
+ # # and all remaining timeouts to 10 seconds.
727
+ # ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.configure do |config|
728
+ # config.timeout = 10.0
729
+ # config.rpcs.list_framework_compliance_summaries.timeout = 20.0
730
+ # end
731
+ #
732
+ # # Apply the above configuration only to a new client.
733
+ # client = ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new do |config|
734
+ # config.timeout = 10.0
735
+ # config.rpcs.list_framework_compliance_summaries.timeout = 20.0
736
+ # end
737
+ #
738
+ # @!attribute [rw] endpoint
739
+ # A custom service endpoint, as a hostname or hostname:port. The default is
740
+ # nil, indicating to use the default endpoint in the current universe domain.
741
+ # @return [::String,nil]
742
+ # @!attribute [rw] credentials
743
+ # Credentials to send with calls. You may provide any of the following types:
744
+ # * (`Google::Auth::Credentials`) A googleauth credentials object
745
+ # (see the [googleauth docs](https://rubydoc.info/gems/googleauth/Google/Auth/Credentials))
746
+ # * (`Signet::OAuth2::Client`) A signet oauth2 client object
747
+ # (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
748
+ # * (`GRPC::Core::Channel`) a gRPC channel with included credentials
749
+ # * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
750
+ # * (`nil`) indicating no credentials
751
+ #
752
+ # @note Warning: Passing a `String` to a keyfile path or a `Hash` of credentials
753
+ # is deprecated. Providing an unvalidated credential configuration to
754
+ # Google APIs can compromise the security of your systems and data.
755
+ #
756
+ # @example
757
+ #
758
+ # # The recommended way to provide credentials is to use the `make_creds` method
759
+ # # on the appropriate credentials class for your environment.
760
+ #
761
+ # require "googleauth"
762
+ #
763
+ # credentials = ::Google::Auth::ServiceAccountCredentials.make_creds(
764
+ # json_key_io: ::File.open("/path/to/keyfile.json")
765
+ # )
766
+ #
767
+ # client = ::Google::Cloud::CloudSecurityCompliance::V1::Monitoring::Client.new do |config|
768
+ # config.credentials = credentials
769
+ # end
770
+ #
771
+ # @note Warning: If you accept a credential configuration (JSON file or Hash) from an
772
+ # external source for authentication to Google Cloud, you must validate it before
773
+ # providing it to a Google API client library. Providing an unvalidated credential
774
+ # configuration to Google APIs can compromise the security of your systems and data.
775
+ # For more information, refer to [Validate credential configurations from external
776
+ # sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
777
+ # @return [::Object]
778
+ # @!attribute [rw] scope
779
+ # The OAuth scopes
780
+ # @return [::Array<::String>]
781
+ # @!attribute [rw] lib_name
782
+ # The library name as recorded in instrumentation and logging
783
+ # @return [::String]
784
+ # @!attribute [rw] lib_version
785
+ # The library version as recorded in instrumentation and logging
786
+ # @return [::String]
787
+ # @!attribute [rw] channel_args
788
+ # Extra parameters passed to the gRPC channel. Note: this is ignored if a
789
+ # `GRPC::Core::Channel` object is provided as the credential.
790
+ # @return [::Hash]
791
+ # @!attribute [rw] interceptors
792
+ # An array of interceptors that are run before calls are executed.
793
+ # @return [::Array<::GRPC::ClientInterceptor>]
794
+ # @!attribute [rw] timeout
795
+ # The call timeout in seconds.
796
+ # @return [::Numeric]
797
+ # @!attribute [rw] metadata
798
+ # Additional gRPC headers to be sent with the call.
799
+ # @return [::Hash{::Symbol=>::String}]
800
+ # @!attribute [rw] retry_policy
801
+ # The retry policy. The value is a hash with the following keys:
802
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
803
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
804
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
805
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
806
+ # trigger a retry.
807
+ # @return [::Hash]
808
+ # @!attribute [rw] quota_project
809
+ # A separate project against which to charge quota.
810
+ # @return [::String]
811
+ # @!attribute [rw] universe_domain
812
+ # The universe domain within which to make requests. This determines the
813
+ # default endpoint URL. The default value of nil uses the environment
814
+ # universe (usually the default "googleapis.com" universe).
815
+ # @return [::String,nil]
816
+ # @!attribute [rw] logger
817
+ # A custom logger to use for request/response debug logging, or the value
818
+ # `:default` (the default) to construct a default logger, or `nil` to
819
+ # explicitly disable logging.
820
+ # @return [::Logger,:default,nil]
821
+ #
822
+ class Configuration
823
+ extend ::Gapic::Config
824
+
825
+ # @private
826
+ # The endpoint specific to the default "googleapis.com" universe. Deprecated.
827
+ DEFAULT_ENDPOINT = "cloudsecuritycompliance.googleapis.com"
828
+
829
+ config_attr :endpoint, nil, ::String, nil
830
+ config_attr :credentials, nil do |value|
831
+ allowed = [::String, ::Hash, ::Proc, ::Symbol, ::Google::Auth::Credentials, ::Google::Auth::BaseClient, ::Signet::OAuth2::Client, nil]
832
+ allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC::Core::Channel
833
+ allowed.any? { |klass| klass === value }
834
+ end
835
+ config_attr :scope, nil, ::String, ::Array, nil
836
+ config_attr :lib_name, nil, ::String, nil
837
+ config_attr :lib_version, nil, ::String, nil
838
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
839
+ config_attr :interceptors, nil, ::Array, nil
840
+ config_attr :timeout, nil, ::Numeric, nil
841
+ config_attr :metadata, nil, ::Hash, nil
842
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
843
+ config_attr :quota_project, nil, ::String, nil
844
+ config_attr :universe_domain, nil, ::String, nil
845
+ config_attr :logger, :default, ::Logger, nil, :default
846
+
847
+ # @private
848
+ def initialize parent_config = nil
849
+ @parent_config = parent_config unless parent_config.nil?
850
+
851
+ yield self if block_given?
852
+ end
853
+
854
+ ##
855
+ # Configurations for individual RPCs
856
+ # @return [Rpcs]
857
+ #
858
+ def rpcs
859
+ @rpcs ||= begin
860
+ parent_rpcs = nil
861
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
862
+ Rpcs.new parent_rpcs
863
+ end
864
+ end
865
+
866
+ ##
867
+ # Configuration for the channel pool
868
+ # @return [::Gapic::ServiceStub::ChannelPool::Configuration]
869
+ #
870
+ def channel_pool
871
+ @channel_pool ||= ::Gapic::ServiceStub::ChannelPool::Configuration.new
872
+ end
873
+
874
+ ##
875
+ # Configuration RPC class for the Monitoring API.
876
+ #
877
+ # Includes fields providing the configuration for each RPC in this service.
878
+ # Each configuration object is of type `Gapic::Config::Method` and includes
879
+ # the following configuration fields:
880
+ #
881
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
882
+ # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
883
+ # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
884
+ # include the following keys:
885
+ # * `:initial_delay` (*type:* `Numeric`) - The initial delay in seconds.
886
+ # * `:max_delay` (*type:* `Numeric`) - The max delay in seconds.
887
+ # * `:multiplier` (*type:* `Numeric`) - The incremental backoff multiplier.
888
+ # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
889
+ # trigger a retry.
890
+ #
891
+ class Rpcs
892
+ ##
893
+ # RPC-specific configuration for `list_framework_compliance_summaries`
894
+ # @return [::Gapic::Config::Method]
895
+ #
896
+ attr_reader :list_framework_compliance_summaries
897
+ ##
898
+ # RPC-specific configuration for `list_finding_summaries`
899
+ # @return [::Gapic::Config::Method]
900
+ #
901
+ attr_reader :list_finding_summaries
902
+ ##
903
+ # RPC-specific configuration for `fetch_framework_compliance_report`
904
+ # @return [::Gapic::Config::Method]
905
+ #
906
+ attr_reader :fetch_framework_compliance_report
907
+ ##
908
+ # RPC-specific configuration for `list_control_compliance_summaries`
909
+ # @return [::Gapic::Config::Method]
910
+ #
911
+ attr_reader :list_control_compliance_summaries
912
+ ##
913
+ # RPC-specific configuration for `aggregate_framework_compliance_report`
914
+ # @return [::Gapic::Config::Method]
915
+ #
916
+ attr_reader :aggregate_framework_compliance_report
917
+
918
+ # @private
919
+ def initialize parent_rpcs = nil
920
+ list_framework_compliance_summaries_config = parent_rpcs.list_framework_compliance_summaries if parent_rpcs.respond_to? :list_framework_compliance_summaries
921
+ @list_framework_compliance_summaries = ::Gapic::Config::Method.new list_framework_compliance_summaries_config
922
+ list_finding_summaries_config = parent_rpcs.list_finding_summaries if parent_rpcs.respond_to? :list_finding_summaries
923
+ @list_finding_summaries = ::Gapic::Config::Method.new list_finding_summaries_config
924
+ fetch_framework_compliance_report_config = parent_rpcs.fetch_framework_compliance_report if parent_rpcs.respond_to? :fetch_framework_compliance_report
925
+ @fetch_framework_compliance_report = ::Gapic::Config::Method.new fetch_framework_compliance_report_config
926
+ list_control_compliance_summaries_config = parent_rpcs.list_control_compliance_summaries if parent_rpcs.respond_to? :list_control_compliance_summaries
927
+ @list_control_compliance_summaries = ::Gapic::Config::Method.new list_control_compliance_summaries_config
928
+ aggregate_framework_compliance_report_config = parent_rpcs.aggregate_framework_compliance_report if parent_rpcs.respond_to? :aggregate_framework_compliance_report
929
+ @aggregate_framework_compliance_report = ::Gapic::Config::Method.new aggregate_framework_compliance_report_config
930
+
931
+ yield self if block_given?
932
+ end
933
+ end
934
+ end
935
+ end
936
+ end
937
+ end
938
+ end
939
+ end
940
+ end