strongdm 15.39.0 → 15.41.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.
data/lib/svc.rb CHANGED
@@ -2344,6 +2344,220 @@ module SDM #:nodoc:
2344
2344
  end
2345
2345
  end
2346
2346
 
2347
+ # A Discovery Connector is a configuration object for performing Resource
2348
+ # Scans in remote systems such as AWS, GCP, Azure, and other systems.
2349
+ #
2350
+ # See:
2351
+ # {AWSConnector}
2352
+ # {AzureConnector}
2353
+ # {GCPConnector}
2354
+ class DiscoveryConnectors
2355
+ extend Gem::Deprecate
2356
+
2357
+ def initialize(channel, parent)
2358
+ begin
2359
+ @stub = V1::DiscoveryConnectors::Stub.new(nil, nil, channel_override: channel)
2360
+ rescue => exception
2361
+ raise Plumbing::convert_error_to_porcelain(exception)
2362
+ end
2363
+ @parent = parent
2364
+ end
2365
+
2366
+ # Create adds a new Connector.
2367
+ def create(
2368
+ connector,
2369
+ deadline: nil
2370
+ )
2371
+ req = V1::ConnectorCreateRequest.new()
2372
+
2373
+ req.connector = Plumbing::convert_connector_to_plumbing(connector)
2374
+ tries = 0
2375
+ plumbing_response = nil
2376
+ loop do
2377
+ begin
2378
+ plumbing_response = @stub.create(req, metadata: @parent.get_metadata("DiscoveryConnectors.Create", req), deadline: deadline)
2379
+ rescue => exception
2380
+ if (@parent.shouldRetry(tries, exception, deadline))
2381
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2382
+ next
2383
+ end
2384
+ raise Plumbing::convert_error_to_porcelain(exception)
2385
+ end
2386
+ break
2387
+ end
2388
+
2389
+ resp = ConnectorCreateResponse.new()
2390
+ resp.connector = Plumbing::convert_connector_to_porcelain(plumbing_response.connector)
2391
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
2392
+ resp
2393
+ end
2394
+
2395
+ # Get reads one Connector by ID
2396
+ def get(
2397
+ id,
2398
+ deadline: nil
2399
+ )
2400
+ req = V1::ConnectorGetRequest.new()
2401
+ if not @parent.snapshot_time.nil?
2402
+ req.meta = V1::GetRequestMetadata.new()
2403
+ req.meta.snapshot_at = @parent.snapshot_time
2404
+ end
2405
+
2406
+ req.id = (id)
2407
+ tries = 0
2408
+ plumbing_response = nil
2409
+ loop do
2410
+ begin
2411
+ plumbing_response = @stub.get(req, metadata: @parent.get_metadata("DiscoveryConnectors.Get", req), deadline: deadline)
2412
+ rescue => exception
2413
+ if (@parent.shouldRetry(tries, exception, deadline))
2414
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2415
+ next
2416
+ end
2417
+ raise Plumbing::convert_error_to_porcelain(exception)
2418
+ end
2419
+ break
2420
+ end
2421
+
2422
+ resp = ConnectorGetResponse.new()
2423
+ resp.connector = Plumbing::convert_connector_to_porcelain(plumbing_response.connector)
2424
+ resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
2425
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
2426
+ resp
2427
+ end
2428
+
2429
+ # Update replaces all the fields of a Connector by ID.
2430
+ def update(
2431
+ connector,
2432
+ deadline: nil
2433
+ )
2434
+ req = V1::ConnectorUpdateRequest.new()
2435
+
2436
+ req.connector = Plumbing::convert_connector_to_plumbing(connector)
2437
+ tries = 0
2438
+ plumbing_response = nil
2439
+ loop do
2440
+ begin
2441
+ plumbing_response = @stub.update(req, metadata: @parent.get_metadata("DiscoveryConnectors.Update", req), deadline: deadline)
2442
+ rescue => exception
2443
+ if (@parent.shouldRetry(tries, exception, deadline))
2444
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2445
+ next
2446
+ end
2447
+ raise Plumbing::convert_error_to_porcelain(exception)
2448
+ end
2449
+ break
2450
+ end
2451
+
2452
+ resp = ConnectorUpdateResponse.new()
2453
+ resp.connector = Plumbing::convert_connector_to_porcelain(plumbing_response.connector)
2454
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
2455
+ resp
2456
+ end
2457
+
2458
+ # Delete removes a Connector by ID.
2459
+ def delete(
2460
+ id,
2461
+ deadline: nil
2462
+ )
2463
+ req = V1::ConnectorDeleteRequest.new()
2464
+
2465
+ req.id = (id)
2466
+ tries = 0
2467
+ plumbing_response = nil
2468
+ loop do
2469
+ begin
2470
+ plumbing_response = @stub.delete(req, metadata: @parent.get_metadata("DiscoveryConnectors.Delete", req), deadline: deadline)
2471
+ rescue => exception
2472
+ if (@parent.shouldRetry(tries, exception, deadline))
2473
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2474
+ next
2475
+ end
2476
+ raise Plumbing::convert_error_to_porcelain(exception)
2477
+ end
2478
+ break
2479
+ end
2480
+
2481
+ resp = ConnectorDeleteResponse.new()
2482
+ resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta)
2483
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
2484
+ resp
2485
+ end
2486
+
2487
+ # List gets a list of Connectors matching a given set of criteria.
2488
+ def list(
2489
+ filter,
2490
+ *args,
2491
+ deadline: nil
2492
+ )
2493
+ req = V1::ConnectorListRequest.new()
2494
+ req.meta = V1::ListRequestMetadata.new()
2495
+ if not @parent.page_limit.nil?
2496
+ req.meta.limit = @parent.page_limit
2497
+ end
2498
+ if not @parent.snapshot_time.nil?
2499
+ req.meta.snapshot_at = @parent.snapshot_time
2500
+ end
2501
+
2502
+ req.filter = Plumbing::quote_filter_args(filter, *args)
2503
+ resp = Enumerator::Generator.new { |g|
2504
+ tries = 0
2505
+ loop do
2506
+ begin
2507
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("DiscoveryConnectors.List", req), deadline: deadline)
2508
+ rescue => exception
2509
+ if (@parent.shouldRetry(tries, exception, deadline))
2510
+ tries + +sleep(@parent.exponentialBackoff(tries, deadline))
2511
+ next
2512
+ end
2513
+ raise Plumbing::convert_error_to_porcelain(exception)
2514
+ end
2515
+ tries = 0
2516
+ plumbing_response.connectors.each do |plumbing_item|
2517
+ g.yield Plumbing::convert_connector_to_porcelain(plumbing_item)
2518
+ end
2519
+ break if plumbing_response.meta.next_cursor == ""
2520
+ req.meta.cursor = plumbing_response.meta.next_cursor
2521
+ end
2522
+ }
2523
+ resp
2524
+ end
2525
+ end
2526
+
2527
+ # SnapshotDiscoveryConnectors exposes the read only methods of the DiscoveryConnectors
2528
+ # service for historical queries.
2529
+ class SnapshotDiscoveryConnectors
2530
+ extend Gem::Deprecate
2531
+
2532
+ def initialize(discovery_connectors)
2533
+ @discovery_connectors = discovery_connectors
2534
+ end
2535
+
2536
+ # Get reads one Connector by ID
2537
+ def get(
2538
+ id,
2539
+ deadline: nil
2540
+ )
2541
+ return @discovery_connectors.get(
2542
+ id,
2543
+ deadline: deadline,
2544
+ )
2545
+ end
2546
+
2547
+ # List gets a list of Connectors matching a given set of criteria.
2548
+ def list(
2549
+ filter,
2550
+ *args,
2551
+ deadline: nil
2552
+ )
2553
+ return @discovery_connectors.list(
2554
+ filter,
2555
+ *args,
2556
+ deadline: deadline,
2557
+ )
2558
+ end
2559
+ end
2560
+
2347
2561
  # A Role has a list of access rules which determine which Resources the members
2348
2562
  # of the Role have access to. An Account can be a member of multiple Roles via
2349
2563
  # AccountAttachments.
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "15.39.0"
16
+ VERSION = "15.41.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "15.39.0"
16
+ VERSION = "15.41.0"
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 15.39.0
4
+ version: 15.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - strongDM Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-12 00:00:00.000000000 Z
11
+ date: 2025-12-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -81,8 +81,8 @@ files:
81
81
  - "./.git/logs/HEAD"
82
82
  - "./.git/logs/refs/heads/master"
83
83
  - "./.git/logs/refs/remotes/origin/HEAD"
84
- - "./.git/objects/pack/pack-a6f1fd71b47c84d8c0841ce964e52d8368dbf3ea.idx"
85
- - "./.git/objects/pack/pack-a6f1fd71b47c84d8c0841ce964e52d8368dbf3ea.pack"
84
+ - "./.git/objects/pack/pack-72042e33d36ca85cdfa5c79a6b28c7e6d0bf83d7.idx"
85
+ - "./.git/objects/pack/pack-72042e33d36ca85cdfa5c79a6b28c7e6d0bf83d7.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"
@@ -136,6 +136,8 @@ files:
136
136
  - "./lib/grpc/approval_workflows_services_pb.rb"
137
137
  - "./lib/grpc/control_panel_pb.rb"
138
138
  - "./lib/grpc/control_panel_services_pb.rb"
139
+ - "./lib/grpc/discovery_connectors_pb.rb"
140
+ - "./lib/grpc/discovery_connectors_services_pb.rb"
139
141
  - "./lib/grpc/drivers_pb.rb"
140
142
  - "./lib/grpc/groups_history_pb.rb"
141
143
  - "./lib/grpc/groups_history_services_pb.rb"