strongdm 15.37.0 → 15.40.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 +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-7e67875b028cbc214a2e0c8edcb20fca17ee9f87.idx → pack-dd6bb6985cf76fa5e48c637d1f8ed6669c30c1c5.idx} +0 -0
- data/.git/objects/pack/{pack-7e67875b028cbc214a2e0c8edcb20fca17ee9f87.pack → pack-dd6bb6985cf76fa5e48c637d1f8ed6669c30c1c5.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/constants.rb +2 -0
- data/lib/grpc/discovery_connectors_pb.rb +132 -0
- data/lib/grpc/discovery_connectors_services_pb.rb +46 -0
- data/lib/grpc/drivers_pb.rb +16 -0
- data/lib/grpc/options_pb.rb +6 -0
- data/lib/grpc/plumbing.rb +618 -0
- data/lib/models/porcelain.rb +457 -0
- data/lib/strongdm.rb +14 -1
- data/lib/svc.rb +215 -0
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +6 -4
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.
|
|
@@ -6114,6 +6328,7 @@ module SDM #:nodoc:
|
|
|
6114
6328
|
# {Mysql}
|
|
6115
6329
|
# {Neptune}
|
|
6116
6330
|
# {NeptuneIAM}
|
|
6331
|
+
# {OktaGroups}
|
|
6117
6332
|
# {Oracle}
|
|
6118
6333
|
# {OracleNNE}
|
|
6119
6334
|
# {Postgres}
|
data/lib/version
CHANGED
data/lib/version.rb
CHANGED
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.
|
|
4
|
+
version: 15.40.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-
|
|
11
|
+
date: 2025-12-12 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-
|
|
85
|
-
- "./.git/objects/pack/pack-
|
|
84
|
+
- "./.git/objects/pack/pack-dd6bb6985cf76fa5e48c637d1f8ed6669c30c1c5.idx"
|
|
85
|
+
- "./.git/objects/pack/pack-dd6bb6985cf76fa5e48c637d1f8ed6669c30c1c5.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"
|