google-cloud-security_center-v1p1beta1 0.1.1 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4f6eea35e9e59564148ef0f49aaaa1c560930d8897daca1b012226a543a99ae4
4
- data.tar.gz: a82bdf3bfcdb59cd1cb0663d8c0650369e818315d8c9d6974ea9804362eac943
3
+ metadata.gz: dadbc57ad55b718d6ed4da1fd3383d0b82c30399e34bbeda7dc0914574bde557
4
+ data.tar.gz: 688672191c8ca856a98a34896d408be5d83caac1b9c2002388402a6fd4d93f5f
5
5
  SHA512:
6
- metadata.gz: c440f25fed955371da5e93c7874d642036dff625a2d23c8e31a67fc378d38d15cdd6503d3e69b55ad77419a8ce712942272baa23e8da0b4bcff154c716f8a732
7
- data.tar.gz: e2a06def055952f6e82ceed0e07eb7fbfe904a3342054b5db8f29249fc8c55eb267961d2eefc191029ba4a090dbfe3a89291603939b5be9ac1303477d9dd8ec0
6
+ metadata.gz: fe96df31352ca3cc0c73be5ba223023391601919014ee61dc56ad89b002d0c9ee61ddc51753c3f457af1d6138e5f7f578ccebaba9531ce97e6899effc4a1b406
7
+ data.tar.gz: c0992466627cfb8672ba81e9da101d6dfbbb8f3805402113b02686908fd9e5c98d516ec92fd0c6ab99655b6e6465419656b29ace936f31fe017049fb1bcf2636
data/README.md CHANGED
@@ -18,6 +18,7 @@ In order to use this library, you first need to go through the following steps:
18
18
 
19
19
  1. [Select or create a Cloud Platform project.](https://console.cloud.google.com/project)
20
20
  1. [Enable billing for your project.](https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project)
21
+ 1. [Enable the API.](https://console.cloud.google.com/apis/library/securitycenter.googleapis.com)
21
22
  1. {file:AUTHENTICATION.md Set up authentication.}
22
23
 
23
24
  ## Quick Start
@@ -33,6 +34,9 @@ response = client.create_source request
33
34
  View the [Client Library Documentation](https://googleapis.dev/ruby/google-cloud-security_center-v1p1beta1/latest)
34
35
  for class and method documentation.
35
36
 
37
+ See also the [Product Documentation](https://cloud.google.com/security-command-center)
38
+ for general usage information.
39
+
36
40
  ## Enabling Logging
37
41
 
38
42
  To enable logging for this library, set the logger for the underlying [gRPC](https://github.com/grpc/grpc/tree/master/src/ruby) library.
@@ -65,15 +65,15 @@ module Google
65
65
  end
66
66
  default_config = Client::Configuration.new parent_config
67
67
 
68
- default_config.rpcs.create_source.timeout = 60.0
68
+ default_config.rpcs.create_source.timeout = 600.0
69
69
 
70
- default_config.rpcs.create_finding.timeout = 60.0
70
+ default_config.rpcs.create_finding.timeout = 600.0
71
71
 
72
- default_config.rpcs.create_notification_config.timeout = 60.0
72
+ default_config.rpcs.create_notification_config.timeout = 600.0
73
73
 
74
- default_config.rpcs.delete_notification_config.timeout = 60.0
74
+ default_config.rpcs.delete_notification_config.timeout = 600.0
75
75
 
76
- default_config.rpcs.get_iam_policy.timeout = 60.0
76
+ default_config.rpcs.get_iam_policy.timeout = 600.0
77
77
  default_config.rpcs.get_iam_policy.retry_policy = {
78
78
  initial_delay: 0.1,
79
79
  max_delay: 60.0,
@@ -81,7 +81,7 @@ module Google
81
81
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
82
82
  }
83
83
 
84
- default_config.rpcs.get_notification_config.timeout = 60.0
84
+ default_config.rpcs.get_notification_config.timeout = 600.0
85
85
  default_config.rpcs.get_notification_config.retry_policy = {
86
86
  initial_delay: 0.1,
87
87
  max_delay: 60.0,
@@ -89,7 +89,7 @@ module Google
89
89
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
90
90
  }
91
91
 
92
- default_config.rpcs.get_organization_settings.timeout = 60.0
92
+ default_config.rpcs.get_organization_settings.timeout = 600.0
93
93
  default_config.rpcs.get_organization_settings.retry_policy = {
94
94
  initial_delay: 0.1,
95
95
  max_delay: 60.0,
@@ -97,7 +97,7 @@ module Google
97
97
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
98
98
  }
99
99
 
100
- default_config.rpcs.get_source.timeout = 60.0
100
+ default_config.rpcs.get_source.timeout = 600.0
101
101
  default_config.rpcs.get_source.retry_policy = {
102
102
  initial_delay: 0.1,
103
103
  max_delay: 60.0,
@@ -105,7 +105,7 @@ module Google
105
105
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
106
106
  }
107
107
 
108
- default_config.rpcs.group_assets.timeout = 60.0
108
+ default_config.rpcs.group_assets.timeout = 600.0
109
109
  default_config.rpcs.group_assets.retry_policy = {
110
110
  initial_delay: 0.1,
111
111
  max_delay: 60.0,
@@ -113,7 +113,7 @@ module Google
113
113
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
114
114
  }
115
115
 
116
- default_config.rpcs.group_findings.timeout = 60.0
116
+ default_config.rpcs.group_findings.timeout = 600.0
117
117
  default_config.rpcs.group_findings.retry_policy = {
118
118
  initial_delay: 0.1,
119
119
  max_delay: 60.0,
@@ -121,7 +121,7 @@ module Google
121
121
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
122
122
  }
123
123
 
124
- default_config.rpcs.list_assets.timeout = 60.0
124
+ default_config.rpcs.list_assets.timeout = 600.0
125
125
  default_config.rpcs.list_assets.retry_policy = {
126
126
  initial_delay: 0.1,
127
127
  max_delay: 60.0,
@@ -129,7 +129,7 @@ module Google
129
129
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
130
130
  }
131
131
 
132
- default_config.rpcs.list_findings.timeout = 60.0
132
+ default_config.rpcs.list_findings.timeout = 600.0
133
133
  default_config.rpcs.list_findings.retry_policy = {
134
134
  initial_delay: 0.1,
135
135
  max_delay: 60.0,
@@ -137,7 +137,7 @@ module Google
137
137
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
138
138
  }
139
139
 
140
- default_config.rpcs.list_notification_configs.timeout = 60.0
140
+ default_config.rpcs.list_notification_configs.timeout = 600.0
141
141
  default_config.rpcs.list_notification_configs.retry_policy = {
142
142
  initial_delay: 0.1,
143
143
  max_delay: 60.0,
@@ -145,7 +145,7 @@ module Google
145
145
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
146
146
  }
147
147
 
148
- default_config.rpcs.list_sources.timeout = 60.0
148
+ default_config.rpcs.list_sources.timeout = 600.0
149
149
  default_config.rpcs.list_sources.retry_policy = {
150
150
  initial_delay: 0.1,
151
151
  max_delay: 60.0,
@@ -153,13 +153,13 @@ module Google
153
153
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
154
154
  }
155
155
 
156
- default_config.rpcs.run_asset_discovery.timeout = 60.0
156
+ default_config.rpcs.run_asset_discovery.timeout = 600.0
157
157
 
158
- default_config.rpcs.set_finding_state.timeout = 60.0
158
+ default_config.rpcs.set_finding_state.timeout = 600.0
159
159
 
160
- default_config.rpcs.set_iam_policy.timeout = 60.0
160
+ default_config.rpcs.set_iam_policy.timeout = 600.0
161
161
 
162
- default_config.rpcs.test_iam_permissions.timeout = 60.0
162
+ default_config.rpcs.test_iam_permissions.timeout = 600.0
163
163
  default_config.rpcs.test_iam_permissions.retry_policy = {
164
164
  initial_delay: 0.1,
165
165
  max_delay: 60.0,
@@ -167,15 +167,15 @@ module Google
167
167
  retry_codes: ["DEADLINE_EXCEEDED", "UNAVAILABLE"]
168
168
  }
169
169
 
170
- default_config.rpcs.update_finding.timeout = 60.0
170
+ default_config.rpcs.update_finding.timeout = 600.0
171
171
 
172
- default_config.rpcs.update_notification_config.timeout = 60.0
172
+ default_config.rpcs.update_notification_config.timeout = 600.0
173
173
 
174
- default_config.rpcs.update_organization_settings.timeout = 60.0
174
+ default_config.rpcs.update_organization_settings.timeout = 600.0
175
175
 
176
- default_config.rpcs.update_source.timeout = 60.0
176
+ default_config.rpcs.update_source.timeout = 600.0
177
177
 
178
- default_config.rpcs.update_security_marks.timeout = 60.0
178
+ default_config.rpcs.update_security_marks.timeout = 600.0
179
179
 
180
180
  default_config
181
181
  end
@@ -242,7 +242,8 @@ module Google
242
242
  if credentials.is_a?(String) || credentials.is_a?(Hash)
243
243
  credentials = Credentials.new credentials, scope: @config.scope
244
244
  end
245
- @quota_project_id = credentials.respond_to?(:quota_project_id) ? credentials.quota_project_id : nil
245
+ @quota_project_id = @config.quota_project
246
+ @quota_project_id ||= credentials.quota_project_id if credentials.respond_to? :quota_project_id
246
247
 
247
248
  @operations_client = Operations.new do |config|
248
249
  config.credentials = credentials
@@ -840,7 +841,7 @@ module Google
840
841
  # @param options [::Gapic::CallOptions, ::Hash]
841
842
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
842
843
  #
843
- # @overload group_assets(parent: nil, filter: nil, group_by: nil, compare_duration: nil, read_time: nil, having: nil, page_token: nil, page_size: nil)
844
+ # @overload group_assets(parent: nil, filter: nil, group_by: nil, compare_duration: nil, read_time: nil, page_token: nil, page_size: nil)
844
845
  # Pass arguments to `group_assets` via keyword arguments. Note that at
845
846
  # least one keyword argument is required. To specify no parameters, or to keep all
846
847
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -882,15 +883,15 @@ module Google
882
883
  #
883
884
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
884
885
  # Examples:
885
- # "update_time = \"2019-06-10T16:07:18-07:00\""
886
- # "update_time = 1560208038000"
886
+ # `update_time = "2019-06-10T16:07:18-07:00"`
887
+ # `update_time = 1560208038000`
887
888
  #
888
889
  # * create_time: `=`, `>`, `<`, `>=`, `<=`
889
890
  #
890
891
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
891
892
  # Examples:
892
- # "create_time = \"2019-06-10T16:07:18-07:00\""
893
- # "create_time = 1560208038000"
893
+ # `create_time = "2019-06-10T16:07:18-07:00"`
894
+ # `create_time = 1560208038000`
894
895
  #
895
896
  # * iam_policy.policy_blob: `=`, `:`
896
897
  # * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
@@ -905,6 +906,12 @@ module Google
905
906
  # * security_center_properties.resource_owners: `=`, `:`
906
907
  #
907
908
  # For example, `resource_properties.size = 100` is a valid filter string.
909
+ #
910
+ # Use a partial match on the empty string to filter based on a property
911
+ # existing: `resource_properties.my_property : ""`
912
+ #
913
+ # Use a negated partial match on the empty string to filter based on a
914
+ # property not existing: `-resource_properties.my_property : ""`
908
915
  # @param group_by [::String]
909
916
  # Required. Expression that defines what assets fields to use for grouping.
910
917
  # The string value should follow SQL syntax: comma separated list of fields.
@@ -957,10 +964,6 @@ module Google
957
964
  # to assets existing at the supplied time and their values are those at that
958
965
  # specific time. Absence of this field will default to the API's version of
959
966
  # NOW.
960
- # @param having [::String]
961
- # Filter that specifies what fields to further filter on *after* the query
962
- # filter has been executed. Currently only `state_change` is supported and
963
- # requires compare_duration to be specified.
964
967
  # @param page_token [::String]
965
968
  # The value returned by the last `GroupAssetsResponse`; indicates
966
969
  # that this is a continuation of a prior `GroupAssets` call, and that the
@@ -1032,7 +1035,7 @@ module Google
1032
1035
  # @param options [::Gapic::CallOptions, ::Hash]
1033
1036
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1034
1037
  #
1035
- # @overload group_findings(parent: nil, filter: nil, group_by: nil, read_time: nil, compare_duration: nil, having: nil, page_token: nil, page_size: nil)
1038
+ # @overload group_findings(parent: nil, filter: nil, group_by: nil, read_time: nil, compare_duration: nil, page_token: nil, page_size: nil)
1036
1039
  # Pass arguments to `group_findings` via keyword arguments. Note that at
1037
1040
  # least one keyword argument is required. To specify no parameters, or to keep all
1038
1041
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1079,13 +1082,19 @@ module Google
1079
1082
  #
1080
1083
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1081
1084
  # Examples:
1082
- # "event_time = \"2019-06-10T16:07:18-07:00\""
1083
- # "event_time = 1560208038000"
1085
+ # `event_time = "2019-06-10T16:07:18-07:00"`
1086
+ # `event_time = 1560208038000`
1084
1087
  #
1085
1088
  # * security_marks.marks: `=`, `:`
1086
1089
  # * source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
1087
1090
  #
1088
1091
  # For example, `source_properties.size = 100` is a valid filter string.
1092
+ #
1093
+ # Use a partial match on the empty string to filter based on a property
1094
+ # existing: `source_properties.my_property : ""`
1095
+ #
1096
+ # Use a negated partial match on the empty string to filter based on a
1097
+ # property not existing: `-source_properties.my_property : ""`
1089
1098
  # @param group_by [::String]
1090
1099
  # Required. Expression that defines what assets fields to use for grouping
1091
1100
  # (including `state_change`). The string value should follow SQL syntax:
@@ -1120,12 +1129,18 @@ module Google
1120
1129
  #
1121
1130
  # Possible "state_change" values when compare_duration is specified:
1122
1131
  #
1123
- # * "CHANGED": indicates that the finding was present at the start of
1124
- # compare_duration, but changed its state at read_time.
1125
- # * "UNCHANGED": indicates that the finding was present at the start of
1126
- # compare_duration and did not change state at read_time.
1127
- # * "ADDED": indicates that the finding was not present at the start
1128
- # of compare_duration, but was present at read_time.
1132
+ # * "CHANGED": indicates that the finding was present and matched the given
1133
+ # filter at the start of compare_duration, but changed its
1134
+ # state at read_time.
1135
+ # * "UNCHANGED": indicates that the finding was present and matched the given
1136
+ # filter at the start of compare_duration and did not change
1137
+ # state at read_time.
1138
+ # * "ADDED": indicates that the finding did not match the given filter or
1139
+ # was not present at the start of compare_duration, but was
1140
+ # present at read_time.
1141
+ # * "REMOVED": indicates that the finding was present and matched the
1142
+ # filter at the start of compare_duration, but did not match
1143
+ # the filter at read_time.
1129
1144
  #
1130
1145
  # If compare_duration is not specified, then the only possible state_change
1131
1146
  # is "UNUSED", which will be the state_change set for all findings present
@@ -1133,10 +1148,6 @@ module Google
1133
1148
  #
1134
1149
  # If this field is set then `state_change` must be a specified field in
1135
1150
  # `group_by`.
1136
- # @param having [::String]
1137
- # Filter that specifies what fields to further filter on *after* the query
1138
- # filter has been executed. Currently only `finding.state` and `state_change`
1139
- # are supported and requires compare_duration to be specified.
1140
1151
  # @param page_token [::String]
1141
1152
  # The value returned by the last `GroupFindingsResponse`; indicates
1142
1153
  # that this is a continuation of a prior `GroupFindings` call, and
@@ -1204,7 +1215,7 @@ module Google
1204
1215
  # @param options [::Gapic::CallOptions, ::Hash]
1205
1216
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1206
1217
  #
1207
- # @overload list_assets(parent: nil, filter: nil, order_by: nil, read_time: nil, compare_duration: nil, having: nil, field_mask: nil, page_token: nil, page_size: nil)
1218
+ # @overload list_assets(parent: nil, filter: nil, order_by: nil, read_time: nil, compare_duration: nil, field_mask: nil, page_token: nil, page_size: nil)
1208
1219
  # Pass arguments to `list_assets` via keyword arguments. Note that at
1209
1220
  # least one keyword argument is required. To specify no parameters, or to keep all
1210
1221
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1246,15 +1257,15 @@ module Google
1246
1257
  #
1247
1258
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1248
1259
  # Examples:
1249
- # "update_time = \"2019-06-10T16:07:18-07:00\""
1250
- # "update_time = 1560208038000"
1260
+ # `update_time = "2019-06-10T16:07:18-07:00"`
1261
+ # `update_time = 1560208038000`
1251
1262
  #
1252
1263
  # * create_time: `=`, `>`, `<`, `>=`, `<=`
1253
1264
  #
1254
1265
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1255
1266
  # Examples:
1256
- # "create_time = \"2019-06-10T16:07:18-07:00\""
1257
- # "create_time = 1560208038000"
1267
+ # `create_time = "2019-06-10T16:07:18-07:00"`
1268
+ # `create_time = 1560208038000`
1258
1269
  #
1259
1270
  # * iam_policy.policy_blob: `=`, `:`
1260
1271
  # * resource_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
@@ -1269,6 +1280,12 @@ module Google
1269
1280
  # * security_center_properties.resource_owners: `=`, `:`
1270
1281
  #
1271
1282
  # For example, `resource_properties.size = 100` is a valid filter string.
1283
+ #
1284
+ # Use a partial match on the empty string to filter based on a property
1285
+ # existing: `resource_properties.my_property : ""`
1286
+ #
1287
+ # Use a negated partial match on the empty string to filter based on a
1288
+ # property not existing: `-resource_properties.my_property : ""`
1272
1289
  # @param order_by [::String]
1273
1290
  # Expression that defines what fields and order to use for sorting. The
1274
1291
  # string value should follow SQL syntax: comma separated list of fields. For
@@ -1321,10 +1338,6 @@ module Google
1321
1338
  # If compare_duration is not specified, then the only possible state_change
1322
1339
  # is "UNUSED", which will be the state_change set for all assets present at
1323
1340
  # read_time.
1324
- # @param having [::String]
1325
- # Filter that specifies what fields to further filter on *after* the query
1326
- # filter has been executed. Currently only `state_change` is supported and
1327
- # requires compare_duration to be specified.
1328
1341
  # @param field_mask [::Google::Protobuf::FieldMask, ::Hash]
1329
1342
  # Optional.
1330
1343
  # A field mask to specify the ListAssetsResult fields to be listed in the
@@ -1400,7 +1413,7 @@ module Google
1400
1413
  # @param options [::Gapic::CallOptions, ::Hash]
1401
1414
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1402
1415
  #
1403
- # @overload list_findings(parent: nil, filter: nil, order_by: nil, read_time: nil, compare_duration: nil, having: nil, field_mask: nil, page_token: nil, page_size: nil)
1416
+ # @overload list_findings(parent: nil, filter: nil, order_by: nil, read_time: nil, compare_duration: nil, field_mask: nil, page_token: nil, page_size: nil)
1404
1417
  # Pass arguments to `list_findings` via keyword arguments. Note that at
1405
1418
  # least one keyword argument is required. To specify no parameters, or to keep all
1406
1419
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1447,13 +1460,19 @@ module Google
1447
1460
  #
1448
1461
  # Usage: This should be milliseconds since epoch or an RFC3339 string.
1449
1462
  # Examples:
1450
- # "event_time = \"2019-06-10T16:07:18-07:00\""
1451
- # "event_time = 1560208038000"
1463
+ # `event_time = "2019-06-10T16:07:18-07:00"`
1464
+ # `event_time = 1560208038000`
1452
1465
  #
1453
1466
  # security_marks.marks: `=`, `:`
1454
1467
  # source_properties: `=`, `:`, `>`, `<`, `>=`, `<=`
1455
1468
  #
1456
1469
  # For example, `source_properties.size = 100` is a valid filter string.
1470
+ #
1471
+ # Use a partial match on the empty string to filter based on a property
1472
+ # existing: `source_properties.my_property : ""`
1473
+ #
1474
+ # Use a negated partial match on the empty string to filter based on a
1475
+ # property not existing: `-source_properties.my_property : ""`
1457
1476
  # @param order_by [::String]
1458
1477
  # Expression that defines what fields and order to use for sorting. The
1459
1478
  # string value should follow SQL syntax: comma separated list of fields. For
@@ -1493,20 +1512,22 @@ module Google
1493
1512
  #
1494
1513
  # Possible "state_change" values when compare_duration is specified:
1495
1514
  #
1496
- # * "CHANGED": indicates that the finding was present at the start of
1497
- # compare_duration, but changed its state at read_time.
1498
- # * "UNCHANGED": indicates that the finding was present at the start of
1499
- # compare_duration and did not change state at read_time.
1500
- # * "ADDED": indicates that the finding was not present at the start
1501
- # of compare_duration, but was present at read_time.
1515
+ # * "CHANGED": indicates that the finding was present and matched the given
1516
+ # filter at the start of compare_duration, but changed its
1517
+ # state at read_time.
1518
+ # * "UNCHANGED": indicates that the finding was present and matched the given
1519
+ # filter at the start of compare_duration and did not change
1520
+ # state at read_time.
1521
+ # * "ADDED": indicates that the finding did not match the given filter or
1522
+ # was not present at the start of compare_duration, but was
1523
+ # present at read_time.
1524
+ # * "REMOVED": indicates that the finding was present and matched the
1525
+ # filter at the start of compare_duration, but did not match
1526
+ # the filter at read_time.
1502
1527
  #
1503
1528
  # If compare_duration is not specified, then the only possible state_change
1504
1529
  # is "UNUSED", which will be the state_change set for all findings present at
1505
1530
  # read_time.
1506
- # @param having [::String]
1507
- # Filter that specifies what fields to further filter on *after* the query
1508
- # filter has been executed. Currently only `finding.state` and `state_change`
1509
- # are supported and requires compare_duration to be specified.
1510
1531
  # @param field_mask [::Google::Protobuf::FieldMask, ::Hash]
1511
1532
  # Optional.
1512
1533
  # A field mask to specify the Finding fields to be listed in the response.
@@ -2086,7 +2107,8 @@ module Google
2086
2107
  end
2087
2108
 
2088
2109
  ##
2089
- # Updates a notification config.
2110
+ # Updates a notification config. The following update
2111
+ # fields are allowed: description, pubsub_topic, streaming_config.filter
2090
2112
  #
2091
2113
  # @overload update_notification_config(request, options = nil)
2092
2114
  # Pass arguments to `update_notification_config` via a request object, either of type
@@ -2447,24 +2469,28 @@ module Google
2447
2469
  # * `:retry_codes` (*type:* `Array<String>`) - The error codes that should
2448
2470
  # trigger a retry.
2449
2471
  # @return [::Hash]
2472
+ # @!attribute [rw] quota_project
2473
+ # A separate project against which to charge quota.
2474
+ # @return [::String]
2450
2475
  #
2451
2476
  class Configuration
2452
2477
  extend ::Gapic::Config
2453
2478
 
2454
- config_attr :endpoint, "securitycenter.googleapis.com", String
2455
- config_attr :credentials, nil do |value|
2479
+ config_attr :endpoint, "securitycenter.googleapis.com", ::String
2480
+ config_attr :credentials, nil do |value|
2456
2481
  allowed = [::String, ::Hash, ::Proc, ::Google::Auth::Credentials, ::Signet::OAuth2::Client, nil]
2457
2482
  allowed += [::GRPC::Core::Channel, ::GRPC::Core::ChannelCredentials] if defined? ::GRPC
2458
2483
  allowed.any? { |klass| klass === value }
2459
2484
  end
2460
- config_attr :scope, nil, ::String, ::Array, nil
2461
- config_attr :lib_name, nil, ::String, nil
2462
- config_attr :lib_version, nil, ::String, nil
2463
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
2464
- config_attr :interceptors, nil, ::Array, nil
2465
- config_attr :timeout, nil, ::Numeric, nil
2466
- config_attr :metadata, nil, ::Hash, nil
2467
- config_attr :retry_policy, nil, ::Hash, Proc, nil
2485
+ config_attr :scope, nil, ::String, ::Array, nil
2486
+ config_attr :lib_name, nil, ::String, nil
2487
+ config_attr :lib_version, nil, ::String, nil
2488
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
2489
+ config_attr :interceptors, nil, ::Array, nil
2490
+ config_attr :timeout, nil, ::Numeric, nil
2491
+ config_attr :metadata, nil, ::Hash, nil
2492
+ config_attr :retry_policy, nil, ::Hash, ::Proc, nil
2493
+ config_attr :quota_project, nil, ::String, nil
2468
2494
 
2469
2495
  # @private
2470
2496
  def initialize parent_config = nil
@@ -2480,7 +2506,7 @@ module Google
2480
2506
  def rpcs
2481
2507
  @rpcs ||= begin
2482
2508
  parent_rpcs = nil
2483
- parent_rpcs = @parent_config.rpcs if @parent_config&.respond_to? :rpcs
2509
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
2484
2510
  Rpcs.new parent_rpcs
2485
2511
  end
2486
2512
  end