strongdm 3.17.0 → 3.19.0
Sign up to get free protection for your applications and to get access to all the features.
- 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-b80c1f83bad67d2b8f6fb7851c83c3e84eba1c78.idx → pack-039487bbd7f310787cffd29574acef4686618fba.idx} +0 -0
- data/.git/objects/pack/{pack-b80c1f83bad67d2b8f6fb7851c83c3e84eba1c78.pack → pack-039487bbd7f310787cffd29574acef4686618fba.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/constants.rb +10 -12
- data/lib/grpc/activities_pb.rb +1 -0
- data/lib/grpc/drivers_pb.rb +5 -22
- data/lib/grpc/nodes_pb.rb +7 -0
- data/lib/grpc/plumbing.rb +58 -80
- data/lib/grpc/queries_pb.rb +1 -0
- data/lib/models/porcelain.rb +77 -78
- data/lib/strongdm.rb +1 -1
- data/lib/svc.rb +1 -2
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '0391cd70b5788d42ebcaafff4f86e8eb5091c99a011476799fc01367e8f9f8c2'
|
4
|
+
data.tar.gz: 90f0af53bea6496f9b93c9cfeeccdd6c25871b19e46c9c1c44cb3817ea5e01c5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c592a2337d266adef85ca7ef607b8b9af2054265ad04e3a815ecdb7473ccebe02d49d7ba5c6eb97b05e59a8fa81788ada036d85c46980a67609f3300a1a8801
|
7
|
+
data.tar.gz: f5c2ee8756849c8063a3c066ae18ca250edba70c7c0739c03e656a0a12dd0d4598cdbc948cf358523526ed592aa6183a9fc316e7e8cec9243f3b1e597c4fbdcf
|
data/.git/ORIG_HEAD
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
3
|
-
|
1
|
+
0000000000000000000000000000000000000000 0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 root <root@80943ad0ebb9.(none)> 1689267887 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 root <root@80943ad0ebb9.(none)> 1689267887 +0000 checkout: moving from master to master
|
3
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 a38565dfcbe14542f525a29ccd7135f87024243b root <root@80943ad0ebb9.(none)> 1689267887 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 root <root@80943ad0ebb9.(none)> 1689267887 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 a38565dfcbe14542f525a29ccd7135f87024243b root <root@80943ad0ebb9.(none)> 1689267887 +0000 merge origin/development: Fast-forward
|
@@ -1 +1 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
1
|
+
0000000000000000000000000000000000000000 0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 root <root@80943ad0ebb9.(none)> 1689267887 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
Binary file
|
Binary file
|
data/.git/packed-refs
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
2
|
-
|
3
|
-
|
2
|
+
a38565dfcbe14542f525a29ccd7135f87024243b refs/remotes/origin/development
|
3
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 refs/remotes/origin/master
|
4
4
|
2e4fe8087177ddea9b3991ca499f758384839c89 refs/tags/untagged-84fd83a4484c785cce63
|
5
5
|
04f604866214fab4d5663b5171a3e596331577bd refs/tags/v0.9.4
|
6
6
|
6f9a7b75b345c65fb554884907b7060680c807b7 refs/tags/v0.9.5
|
@@ -50,6 +50,8 @@ f880c51210aa33186d71d9b463ddbd587ef3e4fd refs/tags/v3.12.0
|
|
50
50
|
6cd69f8e98657b0aa1c55786add9519085361ef2 refs/tags/v3.14.2
|
51
51
|
6e8ee132772d2663157a4263aa15ddffeac7486f refs/tags/v3.15.0
|
52
52
|
a469b2d58875fd54ce9a67154bd8feaa73588449 refs/tags/v3.16.0
|
53
|
+
7e8c95f92b7ab35d93eec71a3e6b378bbe4e8d36 refs/tags/v3.17.0
|
54
|
+
0d2955c2c2f11a0bd128d6b6a45b5d0c741b9789 refs/tags/v3.18.0
|
53
55
|
40d185ce8d4f4375411706886f6fbbaa5493bef6 refs/tags/v3.2.0
|
54
56
|
dd6a8a74ad5675831f42e3a820208e96f7361f80 refs/tags/v3.2.1
|
55
57
|
09ee1a3be370a7b5e21709a7857d0f189f23da8b refs/tags/v3.2.2
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
a38565dfcbe14542f525a29ccd7135f87024243b
|
data/lib/constants.rb
CHANGED
@@ -243,18 +243,6 @@ module SDM
|
|
243
243
|
ACCESS_REQUEST_TO_RESOURCE_TIMED_OUT = "access request to resource timed out"
|
244
244
|
ACCESS_REQUEST_TO_RESOURCE_GRANTED = "access request to resource granted"
|
245
245
|
ACCESS_REQUEST_TO_RESOURCE_GRANTED_AUTOMATICALLY = "access request to resource granted automatically"
|
246
|
-
WORKFLOW_ADDED = "access workflow added"
|
247
|
-
WORKFLOW_DELETED = "access workflow deleted"
|
248
|
-
WORKFLOW_RESOURCE_ASSIGNED = "resource assigned to workflow"
|
249
|
-
WORKFLOW_RESOURCE_UNASSIGNED = "resource unassigned from workflow"
|
250
|
-
WORKFLOW_RESOURCE_MULTIPLE_ASSIGNED = "multiple resources assigned to workflow"
|
251
|
-
WORKFLOW_RESOURCE_MULTIPLE_UNASSIGNED = "multiple resources unassigned from workflow"
|
252
|
-
WORKFLOW_ROLES_UPDATED = "workflow roles updated"
|
253
|
-
WORKFLOW_APPROVERS_UPDATED = "workflow approvers updated"
|
254
|
-
WORKFLOW_NAME_UPDATED = "workflow name updated"
|
255
|
-
WORKFLOW_DESCRIPTION_UPDATED = "workflow description updated"
|
256
|
-
WORKFLOW_AUTO_GRANT_UPDATED = "workflow auto grant updated"
|
257
|
-
WORKFLOW_REQUIRES_REASON_UPDATED = "workflow requires reason updated"
|
258
246
|
ORG_VNM_SUBNET_UPDATED = "organization VNM subnet updated"
|
259
247
|
ORG_VNM_RESOURCES_ALLOCATED = "organization resources allocated within VNM subnet"
|
260
248
|
DEPRECATED_ORG_ACTIVATE_DEVICE_APPROVAL = "activate device approval"
|
@@ -265,6 +253,9 @@ module SDM
|
|
265
253
|
TOTP_ENROLLMENT_ADDED = "user enrolled a totp device"
|
266
254
|
TOTP_ENROLLMENT_DELETED = "user reset their totp enrollment"
|
267
255
|
SUSPENDED_USER_ENROLL_ATTEMPT_FROM_THE_UI = "attempt to enroll by a suspended user from the Admin UI"
|
256
|
+
RESOURCE_LOCKED = "user locked a resource"
|
257
|
+
RESOURCE_UNLOCKED = "user unlocked a resource"
|
258
|
+
RESOURCE_FORCE_UNLOCKED = "admin force-unlocked a resource"
|
268
259
|
end
|
269
260
|
|
270
261
|
# Permissions, all permissions that may be granted to an account.
|
@@ -423,4 +414,11 @@ module SDM
|
|
423
414
|
K_8_S_APPLY = "k8s-apply"
|
424
415
|
SSH_PORT_FORWARD = "ssh-portForward"
|
425
416
|
end
|
417
|
+
|
418
|
+
# Providers responsible for device posture enforcement
|
419
|
+
module DevicePostureProvider
|
420
|
+
NONE = ""
|
421
|
+
SENTINEL_ONE = "sentinelone"
|
422
|
+
CROWD_STRIKE = "crowdstrike"
|
423
|
+
end
|
426
424
|
end
|
data/lib/grpc/activities_pb.rb
CHANGED
@@ -48,6 +48,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
48
48
|
repeated :entities, :message, 5, "v1.ActivityEntity"
|
49
49
|
optional :ip_address, :string, 6
|
50
50
|
optional :actor, :message, 7, "v1.ActivityActor"
|
51
|
+
optional :user_agent, :string, 8
|
51
52
|
end
|
52
53
|
add_message "v1.ActivityEntity" do
|
53
54
|
optional :id, :string, 1
|
data/lib/grpc/drivers_pb.rb
CHANGED
@@ -44,8 +44,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
44
44
|
optional :azure_certificate, :message, 2801, "v1.AzureCertificate"
|
45
45
|
optional :azure_mysql, :message, 1107, "v1.AzureMysql"
|
46
46
|
optional :azure_postgres, :message, 1307, "v1.AzurePostgres"
|
47
|
-
optional :
|
48
|
-
optional :azure_postgres_single, :message, 1309, "v1.AzurePostgresSingle"
|
47
|
+
optional :azure_postgres_managed_identity, :message, 1308, "v1.AzurePostgresManagedIdentity"
|
49
48
|
optional :big_query, :message, 200, "v1.BigQuery"
|
50
49
|
optional :cassandra, :message, 300, "v1.Cassandra"
|
51
50
|
optional :citus, :message, 1305, "v1.Citus"
|
@@ -474,24 +473,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
474
473
|
optional :port_override, :int32, 5
|
475
474
|
optional :username, :string, 2
|
476
475
|
end
|
477
|
-
add_message "v1.
|
478
|
-
optional :id, :string, 32768
|
479
|
-
optional :name, :string, 32769
|
480
|
-
optional :healthy, :bool, 32770
|
481
|
-
optional :tags, :message, 32771, "v1.Tags"
|
482
|
-
optional :secret_store_id, :string, 32772
|
483
|
-
optional :egress_filter, :string, 32773
|
484
|
-
optional :bind_interface, :string, 32774
|
485
|
-
optional :subdomain, :string, 32775
|
486
|
-
optional :database, :string, 4
|
487
|
-
optional :hostname, :string, 1
|
488
|
-
optional :override_database, :bool, 7
|
489
|
-
optional :password, :string, 3
|
490
|
-
optional :port, :int32, 6
|
491
|
-
optional :port_override, :int32, 5
|
492
|
-
optional :username, :string, 2
|
493
|
-
end
|
494
|
-
add_message "v1.AzurePostgresSingle" do
|
476
|
+
add_message "v1.AzurePostgresManagedIdentity" do
|
495
477
|
optional :id, :string, 32768
|
496
478
|
optional :name, :string, 32769
|
497
479
|
optional :healthy, :bool, 32770
|
@@ -506,6 +488,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
506
488
|
optional :password, :string, 3
|
507
489
|
optional :port, :int32, 6
|
508
490
|
optional :port_override, :int32, 5
|
491
|
+
optional :use_azure_single_server_usernames, :bool, 10
|
509
492
|
optional :username, :string, 2
|
510
493
|
end
|
511
494
|
add_message "v1.BigQuery" do
|
@@ -1204,6 +1187,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
1204
1187
|
optional :subdomain, :string, 32775
|
1205
1188
|
optional :downgrade_nla_connections, :bool, 6
|
1206
1189
|
optional :hostname, :string, 1
|
1190
|
+
optional :lock_required, :bool, 10
|
1207
1191
|
optional :password, :string, 3
|
1208
1192
|
optional :port, :int32, 5
|
1209
1193
|
optional :port_override, :int32, 4
|
@@ -1517,8 +1501,7 @@ module V1
|
|
1517
1501
|
AzureCertificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureCertificate").msgclass
|
1518
1502
|
AzureMysql = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureMysql").msgclass
|
1519
1503
|
AzurePostgres = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgres").msgclass
|
1520
|
-
|
1521
|
-
AzurePostgresSingle = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgresSingle").msgclass
|
1504
|
+
AzurePostgresManagedIdentity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgresManagedIdentity").msgclass
|
1522
1505
|
BigQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.BigQuery").msgclass
|
1523
1506
|
Cassandra = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Cassandra").msgclass
|
1524
1507
|
Citus = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Citus").msgclass
|
data/lib/grpc/nodes_pb.rb
CHANGED
@@ -85,6 +85,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
85
85
|
optional :version, :string, 8
|
86
86
|
optional :uuid, :string, 9
|
87
87
|
optional :connects_to, :string, 10
|
88
|
+
repeated :maintenance_windows, :message, 11, "v1.NodeMaintenanceWindow"
|
88
89
|
end
|
89
90
|
add_message "v1.Gateway" do
|
90
91
|
optional :id, :string, 1
|
@@ -99,6 +100,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
99
100
|
optional :version, :string, 10
|
100
101
|
optional :uuid, :string, 11
|
101
102
|
optional :connects_to, :string, 12
|
103
|
+
repeated :maintenance_windows, :message, 13, "v1.NodeMaintenanceWindow"
|
104
|
+
end
|
105
|
+
add_message "v1.NodeMaintenanceWindow" do
|
106
|
+
optional :cron_schedule, :string, 1
|
107
|
+
optional :require_idleness, :bool, 2
|
102
108
|
end
|
103
109
|
end
|
104
110
|
end
|
@@ -117,4 +123,5 @@ module V1
|
|
117
123
|
Node = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Node").msgclass
|
118
124
|
Relay = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Relay").msgclass
|
119
125
|
Gateway = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Gateway").msgclass
|
126
|
+
NodeMaintenanceWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.NodeMaintenanceWindow").msgclass
|
120
127
|
end
|
data/lib/grpc/plumbing.rb
CHANGED
@@ -1439,6 +1439,7 @@ module SDM
|
|
1439
1439
|
porcelain.entities = convert_repeated_activity_entity_to_porcelain(plumbing.entities)
|
1440
1440
|
porcelain.id = (plumbing.id)
|
1441
1441
|
porcelain.ip_address = (plumbing.ip_address)
|
1442
|
+
porcelain.user_agent = (plumbing.user_agent)
|
1442
1443
|
porcelain.verb = (plumbing.verb)
|
1443
1444
|
porcelain
|
1444
1445
|
end
|
@@ -1454,6 +1455,7 @@ module SDM
|
|
1454
1455
|
plumbing.entities += convert_repeated_activity_entity_to_plumbing(porcelain.entities)
|
1455
1456
|
plumbing.id = (porcelain.id)
|
1456
1457
|
plumbing.ip_address = (porcelain.ip_address)
|
1458
|
+
plumbing.user_agent = (porcelain.user_agent)
|
1457
1459
|
plumbing.verb = (porcelain.verb)
|
1458
1460
|
plumbing
|
1459
1461
|
end
|
@@ -2420,73 +2422,11 @@ module SDM
|
|
2420
2422
|
end
|
2421
2423
|
items
|
2422
2424
|
end
|
2423
|
-
def self.
|
2425
|
+
def self.convert_azure_postgres_managed_identity_to_porcelain(plumbing)
|
2424
2426
|
if plumbing == nil
|
2425
2427
|
return nil
|
2426
2428
|
end
|
2427
|
-
porcelain =
|
2428
|
-
porcelain.bind_interface = (plumbing.bind_interface)
|
2429
|
-
porcelain.database = (plumbing.database)
|
2430
|
-
porcelain.egress_filter = (plumbing.egress_filter)
|
2431
|
-
porcelain.healthy = (plumbing.healthy)
|
2432
|
-
porcelain.hostname = (plumbing.hostname)
|
2433
|
-
porcelain.id = (plumbing.id)
|
2434
|
-
porcelain.name = (plumbing.name)
|
2435
|
-
porcelain.override_database = (plumbing.override_database)
|
2436
|
-
porcelain.password = (plumbing.password)
|
2437
|
-
porcelain.port = (plumbing.port)
|
2438
|
-
porcelain.port_override = (plumbing.port_override)
|
2439
|
-
porcelain.secret_store_id = (plumbing.secret_store_id)
|
2440
|
-
porcelain.subdomain = (plumbing.subdomain)
|
2441
|
-
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
2442
|
-
porcelain.username = (plumbing.username)
|
2443
|
-
porcelain
|
2444
|
-
end
|
2445
|
-
|
2446
|
-
def self.convert_azure_postgres_flexible_to_plumbing(porcelain)
|
2447
|
-
if porcelain == nil
|
2448
|
-
return nil
|
2449
|
-
end
|
2450
|
-
plumbing = V1::AzurePostgresFlexible.new()
|
2451
|
-
plumbing.bind_interface = (porcelain.bind_interface)
|
2452
|
-
plumbing.database = (porcelain.database)
|
2453
|
-
plumbing.egress_filter = (porcelain.egress_filter)
|
2454
|
-
plumbing.healthy = (porcelain.healthy)
|
2455
|
-
plumbing.hostname = (porcelain.hostname)
|
2456
|
-
plumbing.id = (porcelain.id)
|
2457
|
-
plumbing.name = (porcelain.name)
|
2458
|
-
plumbing.override_database = (porcelain.override_database)
|
2459
|
-
plumbing.password = (porcelain.password)
|
2460
|
-
plumbing.port = (porcelain.port)
|
2461
|
-
plumbing.port_override = (porcelain.port_override)
|
2462
|
-
plumbing.secret_store_id = (porcelain.secret_store_id)
|
2463
|
-
plumbing.subdomain = (porcelain.subdomain)
|
2464
|
-
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
2465
|
-
plumbing.username = (porcelain.username)
|
2466
|
-
plumbing
|
2467
|
-
end
|
2468
|
-
def self.convert_repeated_azure_postgres_flexible_to_plumbing(porcelains)
|
2469
|
-
items = Array.new
|
2470
|
-
porcelains.each do |porcelain|
|
2471
|
-
plumbing = convert_azure_postgres_flexible_to_plumbing(porcelain)
|
2472
|
-
items.append(plumbing)
|
2473
|
-
end
|
2474
|
-
items
|
2475
|
-
end
|
2476
|
-
|
2477
|
-
def self.convert_repeated_azure_postgres_flexible_to_porcelain(plumbings)
|
2478
|
-
items = Array.new
|
2479
|
-
plumbings.each do |plumbing|
|
2480
|
-
porcelain = convert_azure_postgres_flexible_to_porcelain(plumbing)
|
2481
|
-
items.append(porcelain)
|
2482
|
-
end
|
2483
|
-
items
|
2484
|
-
end
|
2485
|
-
def self.convert_azure_postgres_single_to_porcelain(plumbing)
|
2486
|
-
if plumbing == nil
|
2487
|
-
return nil
|
2488
|
-
end
|
2489
|
-
porcelain = AzurePostgresSingle.new()
|
2429
|
+
porcelain = AzurePostgresManagedIdentity.new()
|
2490
2430
|
porcelain.bind_interface = (plumbing.bind_interface)
|
2491
2431
|
porcelain.database = (plumbing.database)
|
2492
2432
|
porcelain.egress_filter = (plumbing.egress_filter)
|
@@ -2501,15 +2441,16 @@ module SDM
|
|
2501
2441
|
porcelain.secret_store_id = (plumbing.secret_store_id)
|
2502
2442
|
porcelain.subdomain = (plumbing.subdomain)
|
2503
2443
|
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
2444
|
+
porcelain.use_azure_single_server_usernames = (plumbing.use_azure_single_server_usernames)
|
2504
2445
|
porcelain.username = (plumbing.username)
|
2505
2446
|
porcelain
|
2506
2447
|
end
|
2507
2448
|
|
2508
|
-
def self.
|
2449
|
+
def self.convert_azure_postgres_managed_identity_to_plumbing(porcelain)
|
2509
2450
|
if porcelain == nil
|
2510
2451
|
return nil
|
2511
2452
|
end
|
2512
|
-
plumbing = V1::
|
2453
|
+
plumbing = V1::AzurePostgresManagedIdentity.new()
|
2513
2454
|
plumbing.bind_interface = (porcelain.bind_interface)
|
2514
2455
|
plumbing.database = (porcelain.database)
|
2515
2456
|
plumbing.egress_filter = (porcelain.egress_filter)
|
@@ -2524,22 +2465,23 @@ module SDM
|
|
2524
2465
|
plumbing.secret_store_id = (porcelain.secret_store_id)
|
2525
2466
|
plumbing.subdomain = (porcelain.subdomain)
|
2526
2467
|
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
2468
|
+
plumbing.use_azure_single_server_usernames = (porcelain.use_azure_single_server_usernames)
|
2527
2469
|
plumbing.username = (porcelain.username)
|
2528
2470
|
plumbing
|
2529
2471
|
end
|
2530
|
-
def self.
|
2472
|
+
def self.convert_repeated_azure_postgres_managed_identity_to_plumbing(porcelains)
|
2531
2473
|
items = Array.new
|
2532
2474
|
porcelains.each do |porcelain|
|
2533
|
-
plumbing =
|
2475
|
+
plumbing = convert_azure_postgres_managed_identity_to_plumbing(porcelain)
|
2534
2476
|
items.append(plumbing)
|
2535
2477
|
end
|
2536
2478
|
items
|
2537
2479
|
end
|
2538
2480
|
|
2539
|
-
def self.
|
2481
|
+
def self.convert_repeated_azure_postgres_managed_identity_to_porcelain(plumbings)
|
2540
2482
|
items = Array.new
|
2541
2483
|
plumbings.each do |plumbing|
|
2542
|
-
porcelain =
|
2484
|
+
porcelain = convert_azure_postgres_managed_identity_to_porcelain(plumbing)
|
2543
2485
|
items.append(porcelain)
|
2544
2486
|
end
|
2545
2487
|
items
|
@@ -3780,6 +3722,7 @@ module SDM
|
|
3780
3722
|
porcelain.id = (plumbing.id)
|
3781
3723
|
porcelain.listen_address = (plumbing.listen_address)
|
3782
3724
|
porcelain.location = (plumbing.location)
|
3725
|
+
porcelain.maintenance_windows = convert_repeated_node_maintenance_window_to_porcelain(plumbing.maintenance_windows)
|
3783
3726
|
porcelain.name = (plumbing.name)
|
3784
3727
|
porcelain.state = (plumbing.state)
|
3785
3728
|
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
@@ -3799,6 +3742,7 @@ module SDM
|
|
3799
3742
|
plumbing.id = (porcelain.id)
|
3800
3743
|
plumbing.listen_address = (porcelain.listen_address)
|
3801
3744
|
plumbing.location = (porcelain.location)
|
3745
|
+
plumbing.maintenance_windows += convert_repeated_node_maintenance_window_to_plumbing(porcelain.maintenance_windows)
|
3802
3746
|
plumbing.name = (porcelain.name)
|
3803
3747
|
plumbing.state = (porcelain.state)
|
3804
3748
|
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
@@ -5541,6 +5485,42 @@ module SDM
|
|
5541
5485
|
end
|
5542
5486
|
items
|
5543
5487
|
end
|
5488
|
+
def self.convert_node_maintenance_window_to_porcelain(plumbing)
|
5489
|
+
if plumbing == nil
|
5490
|
+
return nil
|
5491
|
+
end
|
5492
|
+
porcelain = NodeMaintenanceWindow.new()
|
5493
|
+
porcelain.cron_schedule = (plumbing.cron_schedule)
|
5494
|
+
porcelain.require_idleness = (plumbing.require_idleness)
|
5495
|
+
porcelain
|
5496
|
+
end
|
5497
|
+
|
5498
|
+
def self.convert_node_maintenance_window_to_plumbing(porcelain)
|
5499
|
+
if porcelain == nil
|
5500
|
+
return nil
|
5501
|
+
end
|
5502
|
+
plumbing = V1::NodeMaintenanceWindow.new()
|
5503
|
+
plumbing.cron_schedule = (porcelain.cron_schedule)
|
5504
|
+
plumbing.require_idleness = (porcelain.require_idleness)
|
5505
|
+
plumbing
|
5506
|
+
end
|
5507
|
+
def self.convert_repeated_node_maintenance_window_to_plumbing(porcelains)
|
5508
|
+
items = Array.new
|
5509
|
+
porcelains.each do |porcelain|
|
5510
|
+
plumbing = convert_node_maintenance_window_to_plumbing(porcelain)
|
5511
|
+
items.append(plumbing)
|
5512
|
+
end
|
5513
|
+
items
|
5514
|
+
end
|
5515
|
+
|
5516
|
+
def self.convert_repeated_node_maintenance_window_to_porcelain(plumbings)
|
5517
|
+
items = Array.new
|
5518
|
+
plumbings.each do |plumbing|
|
5519
|
+
porcelain = convert_node_maintenance_window_to_porcelain(plumbing)
|
5520
|
+
items.append(porcelain)
|
5521
|
+
end
|
5522
|
+
items
|
5523
|
+
end
|
5544
5524
|
def self.convert_node_update_response_to_porcelain(plumbing)
|
5545
5525
|
if plumbing == nil
|
5546
5526
|
return nil
|
@@ -5910,6 +5890,7 @@ module SDM
|
|
5910
5890
|
porcelain.resource_name = (plumbing.resource_name)
|
5911
5891
|
porcelain.resource_tags = convert_tags_to_porcelain(plumbing.resource_tags)
|
5912
5892
|
porcelain.resource_type = (plumbing.resource_type)
|
5893
|
+
porcelain.source_ip = (plumbing.source_ip)
|
5913
5894
|
porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
|
5914
5895
|
porcelain
|
5915
5896
|
end
|
@@ -5941,6 +5922,7 @@ module SDM
|
|
5941
5922
|
plumbing.resource_name = (porcelain.resource_name)
|
5942
5923
|
plumbing.resource_tags = convert_tags_to_plumbing(porcelain.resource_tags)
|
5943
5924
|
plumbing.resource_type = (porcelain.resource_type)
|
5925
|
+
plumbing.source_ip = (porcelain.source_ip)
|
5944
5926
|
plumbing.timestamp = convert_timestamp_to_plumbing(porcelain.timestamp)
|
5945
5927
|
plumbing
|
5946
5928
|
end
|
@@ -6365,6 +6347,7 @@ module SDM
|
|
6365
6347
|
porcelain.gateway_filter = (plumbing.gateway_filter)
|
6366
6348
|
porcelain.id = (plumbing.id)
|
6367
6349
|
porcelain.location = (plumbing.location)
|
6350
|
+
porcelain.maintenance_windows = convert_repeated_node_maintenance_window_to_porcelain(plumbing.maintenance_windows)
|
6368
6351
|
porcelain.name = (plumbing.name)
|
6369
6352
|
porcelain.state = (plumbing.state)
|
6370
6353
|
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
@@ -6382,6 +6365,7 @@ module SDM
|
|
6382
6365
|
plumbing.gateway_filter = (porcelain.gateway_filter)
|
6383
6366
|
plumbing.id = (porcelain.id)
|
6384
6367
|
plumbing.location = (porcelain.location)
|
6368
|
+
plumbing.maintenance_windows += convert_repeated_node_maintenance_window_to_plumbing(porcelain.maintenance_windows)
|
6385
6369
|
plumbing.name = (porcelain.name)
|
6386
6370
|
plumbing.state = (porcelain.state)
|
6387
6371
|
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
@@ -6889,11 +6873,8 @@ module SDM
|
|
6889
6873
|
if porcelain.instance_of? AzurePostgres
|
6890
6874
|
plumbing.azure_postgres = convert_azure_postgres_to_plumbing(porcelain)
|
6891
6875
|
end
|
6892
|
-
if porcelain.instance_of?
|
6893
|
-
plumbing.
|
6894
|
-
end
|
6895
|
-
if porcelain.instance_of? AzurePostgresSingle
|
6896
|
-
plumbing.azure_postgres_single = convert_azure_postgres_single_to_plumbing(porcelain)
|
6876
|
+
if porcelain.instance_of? AzurePostgresManagedIdentity
|
6877
|
+
plumbing.azure_postgres_managed_identity = convert_azure_postgres_managed_identity_to_plumbing(porcelain)
|
6897
6878
|
end
|
6898
6879
|
if porcelain.instance_of? BigQuery
|
6899
6880
|
plumbing.big_query = convert_big_query_to_plumbing(porcelain)
|
@@ -7142,11 +7123,8 @@ module SDM
|
|
7142
7123
|
if plumbing.azure_postgres != nil
|
7143
7124
|
return convert_azure_postgres_to_porcelain(plumbing.azure_postgres)
|
7144
7125
|
end
|
7145
|
-
if plumbing.
|
7146
|
-
return
|
7147
|
-
end
|
7148
|
-
if plumbing.azure_postgres_single != nil
|
7149
|
-
return convert_azure_postgres_single_to_porcelain(plumbing.azure_postgres_single)
|
7126
|
+
if plumbing.azure_postgres_managed_identity != nil
|
7127
|
+
return convert_azure_postgres_managed_identity_to_porcelain(plumbing.azure_postgres_managed_identity)
|
7150
7128
|
end
|
7151
7129
|
if plumbing.big_query != nil
|
7152
7130
|
return convert_big_query_to_porcelain(plumbing.big_query)
|
data/lib/grpc/queries_pb.rb
CHANGED
@@ -58,6 +58,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
58
58
|
optional :query_key_id, :string, 22
|
59
59
|
optional :completed_at, :message, 23, "google.protobuf.Timestamp"
|
60
60
|
optional :capture, :message, 24, "v1.QueryCapture"
|
61
|
+
optional :source_ip, :string, 25
|
61
62
|
end
|
62
63
|
add_message "v1.QueryCapture" do
|
63
64
|
optional :width, :int32, 1
|
data/lib/models/porcelain.rb
CHANGED
@@ -1241,6 +1241,9 @@ module SDM
|
|
1241
1241
|
attr_accessor :id
|
1242
1242
|
# The IP from which this action was taken.
|
1243
1243
|
attr_accessor :ip_address
|
1244
|
+
# The User Agent present when this request was executed. Generally a client type and version
|
1245
|
+
# like strongdm-cli/55.66.77
|
1246
|
+
attr_accessor :user_agent
|
1244
1247
|
# The kind of activity which has taken place.
|
1245
1248
|
attr_accessor :verb
|
1246
1249
|
|
@@ -1251,6 +1254,7 @@ module SDM
|
|
1251
1254
|
entities: nil,
|
1252
1255
|
id: nil,
|
1253
1256
|
ip_address: nil,
|
1257
|
+
user_agent: nil,
|
1254
1258
|
verb: nil
|
1255
1259
|
)
|
1256
1260
|
@actor = actor == nil ? nil : actor
|
@@ -1259,6 +1263,7 @@ module SDM
|
|
1259
1263
|
@entities = entities == nil ? [] : entities
|
1260
1264
|
@id = id == nil ? "" : id
|
1261
1265
|
@ip_address = ip_address == nil ? "" : ip_address
|
1266
|
+
@user_agent = user_agent == nil ? "" : user_agent
|
1262
1267
|
@verb = verb == nil ? "" : verb
|
1263
1268
|
end
|
1264
1269
|
|
@@ -2380,84 +2385,8 @@ module SDM
|
|
2380
2385
|
end
|
2381
2386
|
end
|
2382
2387
|
|
2383
|
-
#
|
2384
|
-
class
|
2385
|
-
# The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
2386
|
-
attr_accessor :bind_interface
|
2387
|
-
# The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
|
2388
|
-
attr_accessor :database
|
2389
|
-
# A filter applied to the routing logic to pin datasource to nodes.
|
2390
|
-
attr_accessor :egress_filter
|
2391
|
-
# True if the datasource is reachable and the credentials are valid.
|
2392
|
-
attr_accessor :healthy
|
2393
|
-
# The host to dial to initiate a connection from the egress node to this resource.
|
2394
|
-
attr_accessor :hostname
|
2395
|
-
# Unique identifier of the Resource.
|
2396
|
-
attr_accessor :id
|
2397
|
-
# Unique human-readable name of the Resource.
|
2398
|
-
attr_accessor :name
|
2399
|
-
# If set, the database configured cannot be changed by users. This setting is not recommended for most use cases, as some clients will insist their database has changed when it has not, leading to user confusion.
|
2400
|
-
attr_accessor :override_database
|
2401
|
-
# The password to authenticate with.
|
2402
|
-
attr_accessor :password
|
2403
|
-
# The port to dial to initiate a connection from the egress node to this resource.
|
2404
|
-
attr_accessor :port
|
2405
|
-
# The local port used by clients to connect to this resource.
|
2406
|
-
attr_accessor :port_override
|
2407
|
-
# ID of the secret store containing credentials for this resource, if any.
|
2408
|
-
attr_accessor :secret_store_id
|
2409
|
-
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
2410
|
-
attr_accessor :subdomain
|
2411
|
-
# Tags is a map of key, value pairs.
|
2412
|
-
attr_accessor :tags
|
2413
|
-
# The username to authenticate with.
|
2414
|
-
attr_accessor :username
|
2415
|
-
|
2416
|
-
def initialize(
|
2417
|
-
bind_interface: nil,
|
2418
|
-
database: nil,
|
2419
|
-
egress_filter: nil,
|
2420
|
-
healthy: nil,
|
2421
|
-
hostname: nil,
|
2422
|
-
id: nil,
|
2423
|
-
name: nil,
|
2424
|
-
override_database: nil,
|
2425
|
-
password: nil,
|
2426
|
-
port: nil,
|
2427
|
-
port_override: nil,
|
2428
|
-
secret_store_id: nil,
|
2429
|
-
subdomain: nil,
|
2430
|
-
tags: nil,
|
2431
|
-
username: nil
|
2432
|
-
)
|
2433
|
-
@bind_interface = bind_interface == nil ? "" : bind_interface
|
2434
|
-
@database = database == nil ? "" : database
|
2435
|
-
@egress_filter = egress_filter == nil ? "" : egress_filter
|
2436
|
-
@healthy = healthy == nil ? false : healthy
|
2437
|
-
@hostname = hostname == nil ? "" : hostname
|
2438
|
-
@id = id == nil ? "" : id
|
2439
|
-
@name = name == nil ? "" : name
|
2440
|
-
@override_database = override_database == nil ? false : override_database
|
2441
|
-
@password = password == nil ? "" : password
|
2442
|
-
@port = port == nil ? 0 : port
|
2443
|
-
@port_override = port_override == nil ? 0 : port_override
|
2444
|
-
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
2445
|
-
@subdomain = subdomain == nil ? "" : subdomain
|
2446
|
-
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
2447
|
-
@username = username == nil ? "" : username
|
2448
|
-
end
|
2449
|
-
|
2450
|
-
def to_json(options = {})
|
2451
|
-
hash = {}
|
2452
|
-
self.instance_variables.each do |var|
|
2453
|
-
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
2454
|
-
end
|
2455
|
-
hash.to_json
|
2456
|
-
end
|
2457
|
-
end
|
2458
|
-
|
2459
|
-
# AzurePostgresSingle is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
2460
|
-
class AzurePostgresSingle
|
2388
|
+
# AzurePostgresManagedIdentity is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
2389
|
+
class AzurePostgresManagedIdentity
|
2461
2390
|
# The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
2462
2391
|
attr_accessor :bind_interface
|
2463
2392
|
# The initial database to connect to. This setting does not by itself prevent switching to another database after connecting.
|
@@ -2486,6 +2415,8 @@ module SDM
|
|
2486
2415
|
attr_accessor :subdomain
|
2487
2416
|
# Tags is a map of key, value pairs.
|
2488
2417
|
attr_accessor :tags
|
2418
|
+
# If true, appends the hostname to the username when hitting a database.azure.com address
|
2419
|
+
attr_accessor :use_azure_single_server_usernames
|
2489
2420
|
# The username to authenticate with.
|
2490
2421
|
attr_accessor :username
|
2491
2422
|
|
@@ -2504,6 +2435,7 @@ module SDM
|
|
2504
2435
|
secret_store_id: nil,
|
2505
2436
|
subdomain: nil,
|
2506
2437
|
tags: nil,
|
2438
|
+
use_azure_single_server_usernames: nil,
|
2507
2439
|
username: nil
|
2508
2440
|
)
|
2509
2441
|
@bind_interface = bind_interface == nil ? "" : bind_interface
|
@@ -2520,6 +2452,7 @@ module SDM
|
|
2520
2452
|
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
2521
2453
|
@subdomain = subdomain == nil ? "" : subdomain
|
2522
2454
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
2455
|
+
@use_azure_single_server_usernames = use_azure_single_server_usernames == nil ? false : use_azure_single_server_usernames
|
2523
2456
|
@username = username == nil ? "" : username
|
2524
2457
|
end
|
2525
2458
|
|
@@ -3828,6 +3761,19 @@ module SDM
|
|
3828
3761
|
# Location is a read only network location uploaded by the gateway process
|
3829
3762
|
# when it comes online.
|
3830
3763
|
attr_accessor :location
|
3764
|
+
# Maintenance Windows define when this node is allowed to restart. If a node
|
3765
|
+
# is requested to restart, it will check each window to determine if any of
|
3766
|
+
# them permit it to restart, and if any do, it will. This check is repeated
|
3767
|
+
# per window until the restart is successfully completed.
|
3768
|
+
#
|
3769
|
+
# If not set here, may be set on the command line or via an environment variable
|
3770
|
+
# on the process itself; any server setting will take precedence over local
|
3771
|
+
# settings. This setting is ineffective for nodes below version 38.44.0.
|
3772
|
+
#
|
3773
|
+
# If this setting is not applied via this remote configuration or via local
|
3774
|
+
# configuration, the default setting is used: always allow restarts if serving
|
3775
|
+
# no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
|
3776
|
+
attr_accessor :maintenance_windows
|
3831
3777
|
# Unique human-readable name of the Gateway. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
|
3832
3778
|
attr_accessor :name
|
3833
3779
|
# The current state of the gateway. One of: "new", "verifying_restart",
|
@@ -3847,6 +3793,7 @@ module SDM
|
|
3847
3793
|
id: nil,
|
3848
3794
|
listen_address: nil,
|
3849
3795
|
location: nil,
|
3796
|
+
maintenance_windows: nil,
|
3850
3797
|
name: nil,
|
3851
3798
|
state: nil,
|
3852
3799
|
tags: nil,
|
@@ -3859,6 +3806,7 @@ module SDM
|
|
3859
3806
|
@id = id == nil ? "" : id
|
3860
3807
|
@listen_address = listen_address == nil ? "" : listen_address
|
3861
3808
|
@location = location == nil ? "" : location
|
3809
|
+
@maintenance_windows = maintenance_windows == nil ? [] : maintenance_windows
|
3862
3810
|
@name = name == nil ? "" : name
|
3863
3811
|
@state = state == nil ? "" : state
|
3864
3812
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
@@ -5816,6 +5764,38 @@ module SDM
|
|
5816
5764
|
end
|
5817
5765
|
end
|
5818
5766
|
|
5767
|
+
class NodeMaintenanceWindow
|
5768
|
+
# Cron job syntax for when this maintenance window is active. On this schedule, associated
|
5769
|
+
# nodes will restart if requested, provided other checks allow the restart to proceed. Times
|
5770
|
+
# are represented in UTC.
|
5771
|
+
# e.g. * 7 * * 0,6 to check for a restart at every minute from 7:00 to 8:00 UTC on Sunday and
|
5772
|
+
# Saturday. Not all possible inputs are supported: the month and day of month selections
|
5773
|
+
# must be '*'.
|
5774
|
+
attr_accessor :cron_schedule
|
5775
|
+
# Require Idleness defines whether this window can sever live connections. If true,
|
5776
|
+
# this window will not allow a node to be restarted unless it is serving no connections.
|
5777
|
+
# If false, given a restart of the node has been requested (for an update, usually), the
|
5778
|
+
# node will restart as soon as it enters an allowed day / hour combination. At least one
|
5779
|
+
# maintenance window, out of all configured windows for a node, must have this as false.
|
5780
|
+
attr_accessor :require_idleness
|
5781
|
+
|
5782
|
+
def initialize(
|
5783
|
+
cron_schedule: nil,
|
5784
|
+
require_idleness: nil
|
5785
|
+
)
|
5786
|
+
@cron_schedule = cron_schedule == nil ? "" : cron_schedule
|
5787
|
+
@require_idleness = require_idleness == nil ? false : require_idleness
|
5788
|
+
end
|
5789
|
+
|
5790
|
+
def to_json(options = {})
|
5791
|
+
hash = {}
|
5792
|
+
self.instance_variables.each do |var|
|
5793
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5794
|
+
end
|
5795
|
+
hash.to_json
|
5796
|
+
end
|
5797
|
+
end
|
5798
|
+
|
5819
5799
|
# NodeUpdateResponse returns the fields of a Node after it has been updated by
|
5820
5800
|
# a NodeUpdateRequest.
|
5821
5801
|
class NodeUpdateResponse
|
@@ -6273,6 +6253,8 @@ module SDM
|
|
6273
6253
|
attr_accessor :resource_tags
|
6274
6254
|
# The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
|
6275
6255
|
attr_accessor :resource_type
|
6256
|
+
# The IP address the Query was performed from, as detected at the ingress gateway.
|
6257
|
+
attr_accessor :source_ip
|
6276
6258
|
# The time at which the Query was started.
|
6277
6259
|
attr_accessor :timestamp
|
6278
6260
|
|
@@ -6299,6 +6281,7 @@ module SDM
|
|
6299
6281
|
resource_name: nil,
|
6300
6282
|
resource_tags: nil,
|
6301
6283
|
resource_type: nil,
|
6284
|
+
source_ip: nil,
|
6302
6285
|
timestamp: nil
|
6303
6286
|
)
|
6304
6287
|
@account_email = account_email == nil ? "" : account_email
|
@@ -6323,6 +6306,7 @@ module SDM
|
|
6323
6306
|
@resource_name = resource_name == nil ? "" : resource_name
|
6324
6307
|
@resource_tags = resource_tags == nil ? SDM::_porcelain_zero_value_tags() : resource_tags
|
6325
6308
|
@resource_type = resource_type == nil ? "" : resource_type
|
6309
|
+
@source_ip = source_ip == nil ? "" : source_ip
|
6326
6310
|
@timestamp = timestamp == nil ? nil : timestamp
|
6327
6311
|
end
|
6328
6312
|
|
@@ -6801,6 +6785,19 @@ module SDM
|
|
6801
6785
|
# Location is a read only network location uploaded by the gateway process
|
6802
6786
|
# when it comes online.
|
6803
6787
|
attr_accessor :location
|
6788
|
+
# Maintenance Windows define when this node is allowed to restart. If a node
|
6789
|
+
# is requested to restart, it will check each window to determine if any of
|
6790
|
+
# them permit it to restart, and if any do, it will. This check is repeated
|
6791
|
+
# per window until the restart is successfully completed.
|
6792
|
+
#
|
6793
|
+
# If not set here, may be set on the command line or via an environment variable
|
6794
|
+
# on the process itself; any server setting will take precedence over local
|
6795
|
+
# settings. This setting is ineffective for nodes below version 38.44.0.
|
6796
|
+
#
|
6797
|
+
# If this setting is not applied via this remote configuration or via local
|
6798
|
+
# configuration, the default setting is used: always allow restarts if serving
|
6799
|
+
# no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
|
6800
|
+
attr_accessor :maintenance_windows
|
6804
6801
|
# Unique human-readable name of the Relay. Node names must include only letters, numbers, and hyphens (no spaces, underscores, or other special characters). Generated if not provided on create.
|
6805
6802
|
attr_accessor :name
|
6806
6803
|
# The current state of the relay. One of: "new", "verifying_restart",
|
@@ -6819,6 +6816,7 @@ module SDM
|
|
6819
6816
|
gateway_filter: nil,
|
6820
6817
|
id: nil,
|
6821
6818
|
location: nil,
|
6819
|
+
maintenance_windows: nil,
|
6822
6820
|
name: nil,
|
6823
6821
|
state: nil,
|
6824
6822
|
tags: nil,
|
@@ -6829,6 +6827,7 @@ module SDM
|
|
6829
6827
|
@gateway_filter = gateway_filter == nil ? "" : gateway_filter
|
6830
6828
|
@id = id == nil ? "" : id
|
6831
6829
|
@location = location == nil ? "" : location
|
6830
|
+
@maintenance_windows = maintenance_windows == nil ? [] : maintenance_windows
|
6832
6831
|
@name = name == nil ? "" : name
|
6833
6832
|
@state = state == nil ? "" : state
|
6834
6833
|
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
data/lib/strongdm.rb
CHANGED
@@ -29,7 +29,7 @@ module SDM #:nodoc:
|
|
29
29
|
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
30
30
|
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
31
31
|
API_VERSION = "2021-08-23"
|
32
|
-
USER_AGENT = "strongdm-sdk-ruby/3.
|
32
|
+
USER_AGENT = "strongdm-sdk-ruby/3.19.0"
|
33
33
|
private_constant :DEFAULT_MAX_RETRIES, :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :API_VERSION, :USER_AGENT
|
34
34
|
|
35
35
|
# Creates a new strongDM API client.
|
data/lib/svc.rb
CHANGED
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: 3.
|
4
|
+
version: 3.19.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: 2023-
|
11
|
+
date: 2023-07-13 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-039487bbd7f310787cffd29574acef4686618fba.idx"
|
85
|
+
- "./.git/objects/pack/pack-039487bbd7f310787cffd29574acef4686618fba.pack"
|
86
86
|
- "./.git/packed-refs"
|
87
87
|
- "./.git/refs/heads/master"
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|