strongdm 3.10.0 → 3.12.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-08761cccef4a0569a780c538718e708686eef894.idx → pack-83f26dcfc82bf5915a1482eab95598f69d49f986.idx} +0 -0
- data/.git/objects/pack/{pack-08761cccef4a0569a780c538718e708686eef894.pack → pack-83f26dcfc82bf5915a1482eab95598f69d49f986.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/constants.rb +27 -0
- data/lib/grpc/drivers_pb.rb +39 -0
- data/lib/grpc/plumbing.rb +200 -0
- data/lib/grpc/queries_pb.rb +18 -0
- data/lib/grpc/queries_services_pb.rb +1 -1
- data/lib/models/porcelain.rb +240 -3
- data/lib/strongdm.rb +2 -2
- data/lib/svc.rb +3 -1
- 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: 481232ca1b0dfea41d5239fb79915a8450d807b093b512c15cbe84f386377ae4
|
|
4
|
+
data.tar.gz: 2712af8fb6f3321d6555be0719baf31318ee463f720f45ea46f7b8205093b55e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7bcf937a9faae4ae3a74180ab583a4d59684bcbba6742a02f8bbf5547ebc00f177d5d87f935823cdf69d9192dd753bd464dc442e18737298eeecb333c5da4d79
|
|
7
|
+
data.tar.gz: 7309ff07d1e9a210a125a015e0bbe60b91815d87b4414012dbf4ed37d8c36072dd3774e421a63bf12ef8c51d40c970a06b9983968f72d827774a9a75beaac669
|
data/.git/ORIG_HEAD
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90
|
data/.git/index
CHANGED
|
Binary file
|
data/.git/logs/HEAD
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@e5559da7efcb.(none)> 1682098801 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90 a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@e5559da7efcb.(none)> 1682098801 +0000 checkout: moving from master to master
|
|
3
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90 f880c51210aa33186d71d9b463ddbd587ef3e4fd root <root@e5559da7efcb.(none)> 1682098801 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@e5559da7efcb.(none)> 1682098801 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90 f880c51210aa33186d71d9b463ddbd587ef3e4fd root <root@e5559da7efcb.(none)> 1682098801 +0000 merge origin/development: Fast-forward
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
1
|
+
0000000000000000000000000000000000000000 a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@e5559da7efcb.(none)> 1682098801 +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
|
+
f880c51210aa33186d71d9b463ddbd587ef3e4fd refs/remotes/origin/development
|
|
3
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90 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
|
|
@@ -42,6 +42,8 @@ ee164dbda02c66cd898f0357884c58f822b486dc refs/tags/v2.6.0
|
|
|
42
42
|
be1460e0ed022801549a84a12897334b7064f1a7 refs/tags/v2.6.3
|
|
43
43
|
ebc33c297839fbbcfa70f855e599630c0a6c880c refs/tags/v2.6.4
|
|
44
44
|
0fbd2ab317197f8aff986524b40fb96d7aa05547 refs/tags/v3.0.0
|
|
45
|
+
fb276eee8a0b2cc1415c25962410309b645373ed refs/tags/v3.10.0
|
|
46
|
+
a77792a22449d0029bebb3f66fc23f63e54a8e90 refs/tags/v3.11.0
|
|
45
47
|
40d185ce8d4f4375411706886f6fbbaa5493bef6 refs/tags/v3.2.0
|
|
46
48
|
dd6a8a74ad5675831f42e3a820208e96f7361f80 refs/tags/v3.2.1
|
|
47
49
|
09ee1a3be370a7b5e21709a7857d0f189f23da8b refs/tags/v3.2.2
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
f880c51210aa33186d71d9b463ddbd587ef3e4fd
|
data/lib/constants.rb
CHANGED
|
@@ -90,6 +90,7 @@ module SDM
|
|
|
90
90
|
module MFAProvider
|
|
91
91
|
NONE = ""
|
|
92
92
|
DUO = "duo"
|
|
93
|
+
TOTP = "totp"
|
|
93
94
|
end
|
|
94
95
|
|
|
95
96
|
# Activity Entities, all entity types that can be part of an activity.
|
|
@@ -105,6 +106,7 @@ module SDM
|
|
|
105
106
|
REMOTE_IDENTITY = "remote_identity"
|
|
106
107
|
ACCESS_REQUEST = "access_request"
|
|
107
108
|
WORKFLOW = "workflow"
|
|
109
|
+
NODE = "node"
|
|
108
110
|
end
|
|
109
111
|
|
|
110
112
|
# Activity Verbs, describe which kind of activity has taken place.
|
|
@@ -238,6 +240,8 @@ module SDM
|
|
|
238
240
|
ACCESS_REQUEST_TO_RESOURCE_CANCELED = "access request to resource canceled"
|
|
239
241
|
ACCESS_REQUEST_TO_RESOURCE_DENIED = "access request to resource denied"
|
|
240
242
|
ACCESS_REQUEST_TO_RESOURCE_TIMED_OUT = "access request to resource timed out"
|
|
243
|
+
WORKFLOW_ADDED = "access workflow added"
|
|
244
|
+
WORKFLOW_DELETED = "access workflow deleted"
|
|
241
245
|
WORKFLOW_RESOURCE_ASSIGNED = "resource assigned to workflow"
|
|
242
246
|
WORKFLOW_RESOURCE_UNASSIGNED = "resource unassigned from workflow"
|
|
243
247
|
WORKFLOW_RESOURCE_MULTIPLE_ASSIGNED = "multiple resources assigned to workflow"
|
|
@@ -245,6 +249,8 @@ module SDM
|
|
|
245
249
|
WORKFLOW_NOTIFICATION_OPTION_ADDED = "workflow notification type added"
|
|
246
250
|
WORKFLOW_NOTIFICATION_OPTION_REMOVED = "workflow notification type removed"
|
|
247
251
|
WORKFLOW_NOTIFICATION_OPTIONS_UPDATED = "workflow notification settings updated"
|
|
252
|
+
WORKFLOW_NAME_UPDATED = "workflow name updated"
|
|
253
|
+
WORKFLOW_DESCRIPTION_UPDATED = "workflow description updated"
|
|
248
254
|
ORG_VNM_SUBNET_UPDATED = "organization VNM subnet updated"
|
|
249
255
|
ORG_VNM_RESOURCES_ALLOCATED = "organization resources allocated within VNM subnet"
|
|
250
256
|
DEPRECATED_ORG_ACTIVATE_DEVICE_APPROVAL = "activate device approval"
|
|
@@ -388,4 +394,25 @@ module SDM
|
|
|
388
394
|
ECDSA_521 = "ecdsa-521"
|
|
389
395
|
ED_25519 = "ed25519"
|
|
390
396
|
end
|
|
397
|
+
|
|
398
|
+
# CaptureType designates what type of SSH/RDP/K8s capture we have.
|
|
399
|
+
module CaptureType
|
|
400
|
+
SHELL = "shell"
|
|
401
|
+
SCP_UPLOAD = "scp-upload"
|
|
402
|
+
SCP_DOWNLOAD = "scp-download"
|
|
403
|
+
COMMAND = "command"
|
|
404
|
+
RDP_BASIC = "rdp-basic"
|
|
405
|
+
RDP_ENHANCED = "rdp-enhanced"
|
|
406
|
+
K_8_S_EXEC = "k8s-exec"
|
|
407
|
+
K_8_S_EXEC_TTY = "k8s-execTTY"
|
|
408
|
+
K_8_S_PORT_FORWARD = "k8s-portForward"
|
|
409
|
+
K_8_SCP_UPLOAD = "k8s-cp-upload"
|
|
410
|
+
K_8_SCP_DOWNLOAD = "k8s-cp-download"
|
|
411
|
+
K_8_S_DESCRIBE = "k8s-describe"
|
|
412
|
+
K_8_S_GET = "k8s-get"
|
|
413
|
+
K_8_S_DELETE = "k8s-delete"
|
|
414
|
+
K_8_S_GENERIC = "k8s-generic"
|
|
415
|
+
K_8_S_APPLY = "k8s-apply"
|
|
416
|
+
SSH_PORT_FORWARD = "ssh-portForward"
|
|
417
|
+
end
|
|
391
418
|
end
|
data/lib/grpc/drivers_pb.rb
CHANGED
|
@@ -33,6 +33,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
33
33
|
optional :aws_console_static_key_pair, :message, 3001, "v1.AWSConsoleStaticKeyPair"
|
|
34
34
|
optional :amazon_eks, :message, 802, "v1.AmazonEKS"
|
|
35
35
|
optional :amazon_eks_instance_profile, :message, 809, "v1.AmazonEKSInstanceProfile"
|
|
36
|
+
optional :amazon_eks_instance_profile_user_impersonation, :message, 813, "v1.AmazonEKSInstanceProfileUserImpersonation"
|
|
36
37
|
optional :amazon_eks_user_impersonation, :message, 818, "v1.AmazonEKSUserImpersonation"
|
|
37
38
|
optional :amazon_es, :message, 600, "v1.AmazonES"
|
|
38
39
|
optional :amazon_mqamqp_091, :message, 2501, "v1.AmazonMQAMQP091"
|
|
@@ -99,6 +100,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
99
100
|
optional :sybase, :message, 2000, "v1.Sybase"
|
|
100
101
|
optional :sybase_iq, :message, 2001, "v1.SybaseIQ"
|
|
101
102
|
optional :teradata, :message, 2100, "v1.Teradata"
|
|
103
|
+
optional :trino, :message, 1401, "v1.Trino"
|
|
102
104
|
end
|
|
103
105
|
end
|
|
104
106
|
add_message "v1.AKS" do
|
|
@@ -276,6 +278,25 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
276
278
|
optional :role_arn, :string, 6
|
|
277
279
|
optional :role_external_id, :string, 7
|
|
278
280
|
end
|
|
281
|
+
add_message "v1.AmazonEKSInstanceProfileUserImpersonation" do
|
|
282
|
+
optional :id, :string, 32768
|
|
283
|
+
optional :name, :string, 32769
|
|
284
|
+
optional :healthy, :bool, 32770
|
|
285
|
+
optional :tags, :message, 32771, "v1.Tags"
|
|
286
|
+
optional :secret_store_id, :string, 32772
|
|
287
|
+
optional :egress_filter, :string, 32773
|
|
288
|
+
optional :bind_interface, :string, 32774
|
|
289
|
+
optional :subdomain, :string, 32775
|
|
290
|
+
optional :certificate_authority, :string, 2
|
|
291
|
+
optional :cluster_name, :string, 5
|
|
292
|
+
optional :endpoint, :string, 1
|
|
293
|
+
optional :healthcheck_namespace, :string, 8
|
|
294
|
+
optional :region, :string, 4
|
|
295
|
+
optional :remote_identity_group_id, :string, 9
|
|
296
|
+
optional :remote_identity_healthcheck_username, :string, 10
|
|
297
|
+
optional :role_arn, :string, 6
|
|
298
|
+
optional :role_external_id, :string, 7
|
|
299
|
+
end
|
|
279
300
|
add_message "v1.AmazonEKSUserImpersonation" do
|
|
280
301
|
optional :id, :string, 32768
|
|
281
302
|
optional :name, :string, 32769
|
|
@@ -1348,6 +1369,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
1348
1369
|
optional :port_override, :int32, 4
|
|
1349
1370
|
optional :username, :string, 2
|
|
1350
1371
|
end
|
|
1372
|
+
add_message "v1.Trino" do
|
|
1373
|
+
optional :id, :string, 32768
|
|
1374
|
+
optional :name, :string, 32769
|
|
1375
|
+
optional :healthy, :bool, 32770
|
|
1376
|
+
optional :tags, :message, 32771, "v1.Tags"
|
|
1377
|
+
optional :secret_store_id, :string, 32772
|
|
1378
|
+
optional :egress_filter, :string, 32773
|
|
1379
|
+
optional :bind_interface, :string, 32774
|
|
1380
|
+
optional :subdomain, :string, 32775
|
|
1381
|
+
optional :database, :string, 3
|
|
1382
|
+
optional :hostname, :string, 1
|
|
1383
|
+
optional :password, :string, 2
|
|
1384
|
+
optional :port, :int32, 5
|
|
1385
|
+
optional :port_override, :int32, 4
|
|
1386
|
+
optional :username, :string, 6
|
|
1387
|
+
end
|
|
1351
1388
|
end
|
|
1352
1389
|
end
|
|
1353
1390
|
|
|
@@ -1363,6 +1400,7 @@ module V1
|
|
|
1363
1400
|
AWSConsoleStaticKeyPair = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSConsoleStaticKeyPair").msgclass
|
|
1364
1401
|
AmazonEKS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKS").msgclass
|
|
1365
1402
|
AmazonEKSInstanceProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKSInstanceProfile").msgclass
|
|
1403
|
+
AmazonEKSInstanceProfileUserImpersonation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKSInstanceProfileUserImpersonation").msgclass
|
|
1366
1404
|
AmazonEKSUserImpersonation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKSUserImpersonation").msgclass
|
|
1367
1405
|
AmazonES = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonES").msgclass
|
|
1368
1406
|
AmazonMQAMQP091 = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonMQAMQP091").msgclass
|
|
@@ -1429,4 +1467,5 @@ module V1
|
|
|
1429
1467
|
Sybase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Sybase").msgclass
|
|
1430
1468
|
SybaseIQ = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.SybaseIQ").msgclass
|
|
1431
1469
|
Teradata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Teradata").msgclass
|
|
1470
|
+
Trino = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Trino").msgclass
|
|
1432
1471
|
end
|
data/lib/grpc/plumbing.rb
CHANGED
|
@@ -1726,6 +1726,72 @@ module SDM
|
|
|
1726
1726
|
end
|
|
1727
1727
|
items
|
|
1728
1728
|
end
|
|
1729
|
+
def self.convert_amazon_eks_instance_profile_user_impersonation_to_porcelain(plumbing)
|
|
1730
|
+
if plumbing == nil
|
|
1731
|
+
return nil
|
|
1732
|
+
end
|
|
1733
|
+
porcelain = AmazonEKSInstanceProfileUserImpersonation.new()
|
|
1734
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
|
1735
|
+
porcelain.certificate_authority = (plumbing.certificate_authority)
|
|
1736
|
+
porcelain.cluster_name = (plumbing.cluster_name)
|
|
1737
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
|
1738
|
+
porcelain.endpoint = (plumbing.endpoint)
|
|
1739
|
+
porcelain.healthcheck_namespace = (plumbing.healthcheck_namespace)
|
|
1740
|
+
porcelain.healthy = (plumbing.healthy)
|
|
1741
|
+
porcelain.id = (plumbing.id)
|
|
1742
|
+
porcelain.name = (plumbing.name)
|
|
1743
|
+
porcelain.region = (plumbing.region)
|
|
1744
|
+
porcelain.remote_identity_group_id = (plumbing.remote_identity_group_id)
|
|
1745
|
+
porcelain.remote_identity_healthcheck_username = (plumbing.remote_identity_healthcheck_username)
|
|
1746
|
+
porcelain.role_arn = (plumbing.role_arn)
|
|
1747
|
+
porcelain.role_external_id = (plumbing.role_external_id)
|
|
1748
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
|
1749
|
+
porcelain.subdomain = (plumbing.subdomain)
|
|
1750
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
|
1751
|
+
porcelain
|
|
1752
|
+
end
|
|
1753
|
+
|
|
1754
|
+
def self.convert_amazon_eks_instance_profile_user_impersonation_to_plumbing(porcelain)
|
|
1755
|
+
if porcelain == nil
|
|
1756
|
+
return nil
|
|
1757
|
+
end
|
|
1758
|
+
plumbing = V1::AmazonEKSInstanceProfileUserImpersonation.new()
|
|
1759
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
|
1760
|
+
plumbing.certificate_authority = (porcelain.certificate_authority)
|
|
1761
|
+
plumbing.cluster_name = (porcelain.cluster_name)
|
|
1762
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
|
1763
|
+
plumbing.endpoint = (porcelain.endpoint)
|
|
1764
|
+
plumbing.healthcheck_namespace = (porcelain.healthcheck_namespace)
|
|
1765
|
+
plumbing.healthy = (porcelain.healthy)
|
|
1766
|
+
plumbing.id = (porcelain.id)
|
|
1767
|
+
plumbing.name = (porcelain.name)
|
|
1768
|
+
plumbing.region = (porcelain.region)
|
|
1769
|
+
plumbing.remote_identity_group_id = (porcelain.remote_identity_group_id)
|
|
1770
|
+
plumbing.remote_identity_healthcheck_username = (porcelain.remote_identity_healthcheck_username)
|
|
1771
|
+
plumbing.role_arn = (porcelain.role_arn)
|
|
1772
|
+
plumbing.role_external_id = (porcelain.role_external_id)
|
|
1773
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
|
1774
|
+
plumbing.subdomain = (porcelain.subdomain)
|
|
1775
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
|
1776
|
+
plumbing
|
|
1777
|
+
end
|
|
1778
|
+
def self.convert_repeated_amazon_eks_instance_profile_user_impersonation_to_plumbing(porcelains)
|
|
1779
|
+
items = Array.new
|
|
1780
|
+
porcelains.each do |porcelain|
|
|
1781
|
+
plumbing = convert_amazon_eks_instance_profile_user_impersonation_to_plumbing(porcelain)
|
|
1782
|
+
items.append(plumbing)
|
|
1783
|
+
end
|
|
1784
|
+
items
|
|
1785
|
+
end
|
|
1786
|
+
|
|
1787
|
+
def self.convert_repeated_amazon_eks_instance_profile_user_impersonation_to_porcelain(plumbings)
|
|
1788
|
+
items = Array.new
|
|
1789
|
+
plumbings.each do |plumbing|
|
|
1790
|
+
porcelain = convert_amazon_eks_instance_profile_user_impersonation_to_porcelain(plumbing)
|
|
1791
|
+
items.append(porcelain)
|
|
1792
|
+
end
|
|
1793
|
+
items
|
|
1794
|
+
end
|
|
1729
1795
|
def self.convert_amazon_eks_user_impersonation_to_porcelain(plumbing)
|
|
1730
1796
|
if plumbing == nil
|
|
1731
1797
|
return nil
|
|
@@ -5647,6 +5713,8 @@ module SDM
|
|
|
5647
5713
|
porcelain.account_id = (plumbing.account_id)
|
|
5648
5714
|
porcelain.account_last_name = (plumbing.account_last_name)
|
|
5649
5715
|
porcelain.account_tags = convert_tags_to_porcelain(plumbing.account_tags)
|
|
5716
|
+
porcelain.capture = convert_query_capture_to_porcelain(plumbing.capture)
|
|
5717
|
+
porcelain.completed_at = convert_timestamp_to_porcelain(plumbing.completed_at)
|
|
5650
5718
|
porcelain.duration = convert_duration_to_porcelain(plumbing.duration)
|
|
5651
5719
|
porcelain.egress_node_id = (plumbing.egress_node_id)
|
|
5652
5720
|
porcelain.encrypted = (plumbing.encrypted)
|
|
@@ -5676,6 +5744,8 @@ module SDM
|
|
|
5676
5744
|
plumbing.account_id = (porcelain.account_id)
|
|
5677
5745
|
plumbing.account_last_name = (porcelain.account_last_name)
|
|
5678
5746
|
plumbing.account_tags = convert_tags_to_plumbing(porcelain.account_tags)
|
|
5747
|
+
plumbing.capture = convert_query_capture_to_plumbing(porcelain.capture)
|
|
5748
|
+
plumbing.completed_at = convert_timestamp_to_plumbing(porcelain.completed_at)
|
|
5679
5749
|
plumbing.duration = convert_duration_to_plumbing(porcelain.duration)
|
|
5680
5750
|
plumbing.egress_node_id = (porcelain.egress_node_id)
|
|
5681
5751
|
plumbing.encrypted = (porcelain.encrypted)
|
|
@@ -5711,6 +5781,64 @@ module SDM
|
|
|
5711
5781
|
end
|
|
5712
5782
|
items
|
|
5713
5783
|
end
|
|
5784
|
+
def self.convert_query_capture_to_porcelain(plumbing)
|
|
5785
|
+
if plumbing == nil
|
|
5786
|
+
return nil
|
|
5787
|
+
end
|
|
5788
|
+
porcelain = QueryCapture.new()
|
|
5789
|
+
porcelain.client_command = (plumbing.client_command)
|
|
5790
|
+
porcelain.command = (plumbing.command)
|
|
5791
|
+
porcelain.container = (plumbing.container)
|
|
5792
|
+
porcelain.env = (plumbing.env)
|
|
5793
|
+
porcelain.file_name = (plumbing.file_name)
|
|
5794
|
+
porcelain.file_size = (plumbing.file_size)
|
|
5795
|
+
porcelain.height = (plumbing.height)
|
|
5796
|
+
porcelain.pod = (plumbing.pod)
|
|
5797
|
+
porcelain.request_body = (plumbing.request_body)
|
|
5798
|
+
porcelain.request_method = (plumbing.request_method)
|
|
5799
|
+
porcelain.request_uri = (plumbing.request_uri)
|
|
5800
|
+
porcelain.type = (plumbing.type)
|
|
5801
|
+
porcelain.width = (plumbing.width)
|
|
5802
|
+
porcelain
|
|
5803
|
+
end
|
|
5804
|
+
|
|
5805
|
+
def self.convert_query_capture_to_plumbing(porcelain)
|
|
5806
|
+
if porcelain == nil
|
|
5807
|
+
return nil
|
|
5808
|
+
end
|
|
5809
|
+
plumbing = V1::QueryCapture.new()
|
|
5810
|
+
plumbing.client_command = (porcelain.client_command)
|
|
5811
|
+
plumbing.command = (porcelain.command)
|
|
5812
|
+
plumbing.container = (porcelain.container)
|
|
5813
|
+
plumbing.env = (porcelain.env)
|
|
5814
|
+
plumbing.file_name = (porcelain.file_name)
|
|
5815
|
+
plumbing.file_size = (porcelain.file_size)
|
|
5816
|
+
plumbing.height = (porcelain.height)
|
|
5817
|
+
plumbing.pod = (porcelain.pod)
|
|
5818
|
+
plumbing.request_body = (porcelain.request_body)
|
|
5819
|
+
plumbing.request_method = (porcelain.request_method)
|
|
5820
|
+
plumbing.request_uri = (porcelain.request_uri)
|
|
5821
|
+
plumbing.type = (porcelain.type)
|
|
5822
|
+
plumbing.width = (porcelain.width)
|
|
5823
|
+
plumbing
|
|
5824
|
+
end
|
|
5825
|
+
def self.convert_repeated_query_capture_to_plumbing(porcelains)
|
|
5826
|
+
items = Array.new
|
|
5827
|
+
porcelains.each do |porcelain|
|
|
5828
|
+
plumbing = convert_query_capture_to_plumbing(porcelain)
|
|
5829
|
+
items.append(plumbing)
|
|
5830
|
+
end
|
|
5831
|
+
items
|
|
5832
|
+
end
|
|
5833
|
+
|
|
5834
|
+
def self.convert_repeated_query_capture_to_porcelain(plumbings)
|
|
5835
|
+
items = Array.new
|
|
5836
|
+
plumbings.each do |plumbing|
|
|
5837
|
+
porcelain = convert_query_capture_to_porcelain(plumbing)
|
|
5838
|
+
items.append(porcelain)
|
|
5839
|
+
end
|
|
5840
|
+
items
|
|
5841
|
+
end
|
|
5714
5842
|
def self.convert_rdp_to_porcelain(plumbing)
|
|
5715
5843
|
if plumbing == nil
|
|
5716
5844
|
return nil
|
|
@@ -6537,6 +6665,9 @@ module SDM
|
|
|
6537
6665
|
if porcelain.instance_of? AmazonEKSInstanceProfile
|
|
6538
6666
|
plumbing.amazon_eks_instance_profile = convert_amazon_eks_instance_profile_to_plumbing(porcelain)
|
|
6539
6667
|
end
|
|
6668
|
+
if porcelain.instance_of? AmazonEKSInstanceProfileUserImpersonation
|
|
6669
|
+
plumbing.amazon_eks_instance_profile_user_impersonation = convert_amazon_eks_instance_profile_user_impersonation_to_plumbing(porcelain)
|
|
6670
|
+
end
|
|
6540
6671
|
if porcelain.instance_of? AmazonEKSUserImpersonation
|
|
6541
6672
|
plumbing.amazon_eks_user_impersonation = convert_amazon_eks_user_impersonation_to_plumbing(porcelain)
|
|
6542
6673
|
end
|
|
@@ -6744,6 +6875,9 @@ module SDM
|
|
|
6744
6875
|
if porcelain.instance_of? Teradata
|
|
6745
6876
|
plumbing.teradata = convert_teradata_to_plumbing(porcelain)
|
|
6746
6877
|
end
|
|
6878
|
+
if porcelain.instance_of? Trino
|
|
6879
|
+
plumbing.trino = convert_trino_to_plumbing(porcelain)
|
|
6880
|
+
end
|
|
6747
6881
|
plumbing
|
|
6748
6882
|
end
|
|
6749
6883
|
|
|
@@ -6772,6 +6906,9 @@ module SDM
|
|
|
6772
6906
|
if plumbing.amazon_eks_instance_profile != nil
|
|
6773
6907
|
return convert_amazon_eks_instance_profile_to_porcelain(plumbing.amazon_eks_instance_profile)
|
|
6774
6908
|
end
|
|
6909
|
+
if plumbing.amazon_eks_instance_profile_user_impersonation != nil
|
|
6910
|
+
return convert_amazon_eks_instance_profile_user_impersonation_to_porcelain(plumbing.amazon_eks_instance_profile_user_impersonation)
|
|
6911
|
+
end
|
|
6775
6912
|
if plumbing.amazon_eks_user_impersonation != nil
|
|
6776
6913
|
return convert_amazon_eks_user_impersonation_to_porcelain(plumbing.amazon_eks_user_impersonation)
|
|
6777
6914
|
end
|
|
@@ -6979,6 +7116,9 @@ module SDM
|
|
|
6979
7116
|
if plumbing.teradata != nil
|
|
6980
7117
|
return convert_teradata_to_porcelain(plumbing.teradata)
|
|
6981
7118
|
end
|
|
7119
|
+
if plumbing.trino != nil
|
|
7120
|
+
return convert_trino_to_porcelain(plumbing.trino)
|
|
7121
|
+
end
|
|
6982
7122
|
raise UnknownError.new("unknown polymorphic type, please upgrade your SDK")
|
|
6983
7123
|
end
|
|
6984
7124
|
def self.convert_repeated_resource_to_plumbing(porcelains)
|
|
@@ -8459,6 +8599,66 @@ module SDM
|
|
|
8459
8599
|
end
|
|
8460
8600
|
items
|
|
8461
8601
|
end
|
|
8602
|
+
def self.convert_trino_to_porcelain(plumbing)
|
|
8603
|
+
if plumbing == nil
|
|
8604
|
+
return nil
|
|
8605
|
+
end
|
|
8606
|
+
porcelain = Trino.new()
|
|
8607
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
|
8608
|
+
porcelain.database = (plumbing.database)
|
|
8609
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
|
8610
|
+
porcelain.healthy = (plumbing.healthy)
|
|
8611
|
+
porcelain.hostname = (plumbing.hostname)
|
|
8612
|
+
porcelain.id = (plumbing.id)
|
|
8613
|
+
porcelain.name = (plumbing.name)
|
|
8614
|
+
porcelain.password = (plumbing.password)
|
|
8615
|
+
porcelain.port = (plumbing.port)
|
|
8616
|
+
porcelain.port_override = (plumbing.port_override)
|
|
8617
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
|
8618
|
+
porcelain.subdomain = (plumbing.subdomain)
|
|
8619
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
|
8620
|
+
porcelain.username = (plumbing.username)
|
|
8621
|
+
porcelain
|
|
8622
|
+
end
|
|
8623
|
+
|
|
8624
|
+
def self.convert_trino_to_plumbing(porcelain)
|
|
8625
|
+
if porcelain == nil
|
|
8626
|
+
return nil
|
|
8627
|
+
end
|
|
8628
|
+
plumbing = V1::Trino.new()
|
|
8629
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
|
8630
|
+
plumbing.database = (porcelain.database)
|
|
8631
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
|
8632
|
+
plumbing.healthy = (porcelain.healthy)
|
|
8633
|
+
plumbing.hostname = (porcelain.hostname)
|
|
8634
|
+
plumbing.id = (porcelain.id)
|
|
8635
|
+
plumbing.name = (porcelain.name)
|
|
8636
|
+
plumbing.password = (porcelain.password)
|
|
8637
|
+
plumbing.port = (porcelain.port)
|
|
8638
|
+
plumbing.port_override = (porcelain.port_override)
|
|
8639
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
|
8640
|
+
plumbing.subdomain = (porcelain.subdomain)
|
|
8641
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
|
8642
|
+
plumbing.username = (porcelain.username)
|
|
8643
|
+
plumbing
|
|
8644
|
+
end
|
|
8645
|
+
def self.convert_repeated_trino_to_plumbing(porcelains)
|
|
8646
|
+
items = Array.new
|
|
8647
|
+
porcelains.each do |porcelain|
|
|
8648
|
+
plumbing = convert_trino_to_plumbing(porcelain)
|
|
8649
|
+
items.append(plumbing)
|
|
8650
|
+
end
|
|
8651
|
+
items
|
|
8652
|
+
end
|
|
8653
|
+
|
|
8654
|
+
def self.convert_repeated_trino_to_porcelain(plumbings)
|
|
8655
|
+
items = Array.new
|
|
8656
|
+
plumbings.each do |plumbing|
|
|
8657
|
+
porcelain = convert_trino_to_porcelain(plumbing)
|
|
8658
|
+
items.append(porcelain)
|
|
8659
|
+
end
|
|
8660
|
+
items
|
|
8661
|
+
end
|
|
8462
8662
|
def self.convert_update_response_metadata_to_porcelain(plumbing)
|
|
8463
8663
|
if plumbing == nil
|
|
8464
8664
|
return nil
|
data/lib/grpc/queries_pb.rb
CHANGED
|
@@ -56,6 +56,23 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
56
56
|
optional :account_email, :string, 20
|
|
57
57
|
optional :account_tags, :message, 21, "v1.Tags"
|
|
58
58
|
optional :query_key_id, :string, 22
|
|
59
|
+
optional :completed_at, :message, 23, "google.protobuf.Timestamp"
|
|
60
|
+
optional :capture, :message, 24, "v1.QueryCapture"
|
|
61
|
+
end
|
|
62
|
+
add_message "v1.QueryCapture" do
|
|
63
|
+
optional :width, :int32, 1
|
|
64
|
+
optional :height, :int32, 2
|
|
65
|
+
optional :command, :string, 3
|
|
66
|
+
map :env, :string, :string, 4
|
|
67
|
+
optional :type, :string, 5
|
|
68
|
+
optional :file_name, :string, 6
|
|
69
|
+
optional :file_size, :int64, 7
|
|
70
|
+
optional :client_command, :string, 8
|
|
71
|
+
optional :pod, :string, 9
|
|
72
|
+
optional :container, :string, 10
|
|
73
|
+
optional :request_method, :string, 11
|
|
74
|
+
optional :request_uri, :string, 12
|
|
75
|
+
optional :request_body, :bytes, 13
|
|
59
76
|
end
|
|
60
77
|
end
|
|
61
78
|
end
|
|
@@ -64,4 +81,5 @@ module V1
|
|
|
64
81
|
QueryListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListRequest").msgclass
|
|
65
82
|
QueryListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListResponse").msgclass
|
|
66
83
|
Query = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Query").msgclass
|
|
84
|
+
QueryCapture = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryCapture").msgclass
|
|
67
85
|
end
|
|
@@ -20,7 +20,7 @@ require "queries_pb"
|
|
|
20
20
|
|
|
21
21
|
module V1
|
|
22
22
|
module Queries
|
|
23
|
-
# A Query is a record of a single client request to a resource, such as
|
|
23
|
+
# A Query is a record of a single client request to a resource, such as a SQL query.
|
|
24
24
|
# Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
|
|
25
25
|
# The Queries service is read-only.
|
|
26
26
|
class Service
|
data/lib/models/porcelain.rb
CHANGED
|
@@ -1527,6 +1527,89 @@ module SDM
|
|
|
1527
1527
|
end
|
|
1528
1528
|
end
|
|
1529
1529
|
|
|
1530
|
+
class AmazonEKSInstanceProfileUserImpersonation
|
|
1531
|
+
# Bind interface
|
|
1532
|
+
attr_accessor :bind_interface
|
|
1533
|
+
|
|
1534
|
+
attr_accessor :certificate_authority
|
|
1535
|
+
|
|
1536
|
+
attr_accessor :cluster_name
|
|
1537
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
|
1538
|
+
attr_accessor :egress_filter
|
|
1539
|
+
|
|
1540
|
+
attr_accessor :endpoint
|
|
1541
|
+
# The path used to check the health of your connection. Defaults to `default`.
|
|
1542
|
+
attr_accessor :healthcheck_namespace
|
|
1543
|
+
# True if the datasource is reachable and the credentials are valid.
|
|
1544
|
+
attr_accessor :healthy
|
|
1545
|
+
# Unique identifier of the Resource.
|
|
1546
|
+
attr_accessor :id
|
|
1547
|
+
# Unique human-readable name of the Resource.
|
|
1548
|
+
attr_accessor :name
|
|
1549
|
+
|
|
1550
|
+
attr_accessor :region
|
|
1551
|
+
|
|
1552
|
+
attr_accessor :remote_identity_group_id
|
|
1553
|
+
|
|
1554
|
+
attr_accessor :remote_identity_healthcheck_username
|
|
1555
|
+
|
|
1556
|
+
attr_accessor :role_arn
|
|
1557
|
+
|
|
1558
|
+
attr_accessor :role_external_id
|
|
1559
|
+
# ID of the secret store containing credentials for this resource, if any.
|
|
1560
|
+
attr_accessor :secret_store_id
|
|
1561
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
|
1562
|
+
attr_accessor :subdomain
|
|
1563
|
+
# Tags is a map of key, value pairs.
|
|
1564
|
+
attr_accessor :tags
|
|
1565
|
+
|
|
1566
|
+
def initialize(
|
|
1567
|
+
bind_interface: nil,
|
|
1568
|
+
certificate_authority: nil,
|
|
1569
|
+
cluster_name: nil,
|
|
1570
|
+
egress_filter: nil,
|
|
1571
|
+
endpoint: nil,
|
|
1572
|
+
healthcheck_namespace: nil,
|
|
1573
|
+
healthy: nil,
|
|
1574
|
+
id: nil,
|
|
1575
|
+
name: nil,
|
|
1576
|
+
region: nil,
|
|
1577
|
+
remote_identity_group_id: nil,
|
|
1578
|
+
remote_identity_healthcheck_username: nil,
|
|
1579
|
+
role_arn: nil,
|
|
1580
|
+
role_external_id: nil,
|
|
1581
|
+
secret_store_id: nil,
|
|
1582
|
+
subdomain: nil,
|
|
1583
|
+
tags: nil
|
|
1584
|
+
)
|
|
1585
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
|
1586
|
+
@certificate_authority = certificate_authority == nil ? "" : certificate_authority
|
|
1587
|
+
@cluster_name = cluster_name == nil ? "" : cluster_name
|
|
1588
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
|
1589
|
+
@endpoint = endpoint == nil ? "" : endpoint
|
|
1590
|
+
@healthcheck_namespace = healthcheck_namespace == nil ? "" : healthcheck_namespace
|
|
1591
|
+
@healthy = healthy == nil ? false : healthy
|
|
1592
|
+
@id = id == nil ? "" : id
|
|
1593
|
+
@name = name == nil ? "" : name
|
|
1594
|
+
@region = region == nil ? "" : region
|
|
1595
|
+
@remote_identity_group_id = remote_identity_group_id == nil ? "" : remote_identity_group_id
|
|
1596
|
+
@remote_identity_healthcheck_username = remote_identity_healthcheck_username == nil ? "" : remote_identity_healthcheck_username
|
|
1597
|
+
@role_arn = role_arn == nil ? "" : role_arn
|
|
1598
|
+
@role_external_id = role_external_id == nil ? "" : role_external_id
|
|
1599
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
|
1600
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
|
1601
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
|
1602
|
+
end
|
|
1603
|
+
|
|
1604
|
+
def to_json(options = {})
|
|
1605
|
+
hash = {}
|
|
1606
|
+
self.instance_variables.each do |var|
|
|
1607
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
1608
|
+
end
|
|
1609
|
+
hash.to_json
|
|
1610
|
+
end
|
|
1611
|
+
end
|
|
1612
|
+
|
|
1530
1613
|
class AmazonEKSUserImpersonation
|
|
1531
1614
|
attr_accessor :access_key
|
|
1532
1615
|
# Bind interface
|
|
@@ -2082,7 +2165,6 @@ module SDM
|
|
|
2082
2165
|
end
|
|
2083
2166
|
end
|
|
2084
2167
|
|
|
2085
|
-
# AzureMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
|
2086
2168
|
class AzureMysql
|
|
2087
2169
|
# Bind interface
|
|
2088
2170
|
attr_accessor :bind_interface
|
|
@@ -5842,7 +5924,11 @@ module SDM
|
|
|
5842
5924
|
end
|
|
5843
5925
|
end
|
|
5844
5926
|
|
|
5845
|
-
# A Query is a record of a single client request to a resource, such as
|
|
5927
|
+
# A Query is a record of a single client request to a resource, such as a SQL query.
|
|
5928
|
+
# Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
|
|
5929
|
+
# interactive sessions will return two Query records with the same identifier, one record
|
|
5930
|
+
# at the start of the query and a second record upon the completion of the query with
|
|
5931
|
+
# additional detail.
|
|
5846
5932
|
class Query
|
|
5847
5933
|
# The email of the account performing this query, at the time the query was executed.
|
|
5848
5934
|
# If the account email is later changed, that change will not be reflected via this field.
|
|
@@ -5858,6 +5944,12 @@ module SDM
|
|
|
5858
5944
|
# The tags of the account accessed, at the time the query was executed. If the account
|
|
5859
5945
|
# tags are later changed, that change will not be reflected via this field.
|
|
5860
5946
|
attr_accessor :account_tags
|
|
5947
|
+
# For queries against SSH, Kubernetes, and RDP resources, this contains additional information
|
|
5948
|
+
# about the captured query.
|
|
5949
|
+
attr_accessor :capture
|
|
5950
|
+
# The time at which the Query was completed.
|
|
5951
|
+
# Empty if this record indicates the start of a long-running query.
|
|
5952
|
+
attr_accessor :completed_at
|
|
5861
5953
|
# The duration of the Query.
|
|
5862
5954
|
attr_accessor :duration
|
|
5863
5955
|
# The unique ID of the node through which the Resource was accessed.
|
|
@@ -5867,6 +5959,7 @@ module SDM
|
|
|
5867
5959
|
# Unique identifier of the Query.
|
|
5868
5960
|
attr_accessor :id
|
|
5869
5961
|
# The captured content of the Query.
|
|
5962
|
+
# For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
|
|
5870
5963
|
attr_accessor :query_body
|
|
5871
5964
|
# The general category of Resource against which Query was performed, e.g. "web" or "cloud".
|
|
5872
5965
|
attr_accessor :query_category
|
|
@@ -5893,7 +5986,7 @@ module SDM
|
|
|
5893
5986
|
attr_accessor :resource_tags
|
|
5894
5987
|
# The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
|
|
5895
5988
|
attr_accessor :resource_type
|
|
5896
|
-
# The time at which the Query was
|
|
5989
|
+
# The time at which the Query was started.
|
|
5897
5990
|
attr_accessor :timestamp
|
|
5898
5991
|
|
|
5899
5992
|
def initialize(
|
|
@@ -5902,6 +5995,8 @@ module SDM
|
|
|
5902
5995
|
account_id: nil,
|
|
5903
5996
|
account_last_name: nil,
|
|
5904
5997
|
account_tags: nil,
|
|
5998
|
+
capture: nil,
|
|
5999
|
+
completed_at: nil,
|
|
5905
6000
|
duration: nil,
|
|
5906
6001
|
egress_node_id: nil,
|
|
5907
6002
|
encrypted: nil,
|
|
@@ -5924,6 +6019,8 @@ module SDM
|
|
|
5924
6019
|
@account_id = account_id == nil ? "" : account_id
|
|
5925
6020
|
@account_last_name = account_last_name == nil ? "" : account_last_name
|
|
5926
6021
|
@account_tags = account_tags == nil ? SDM::_porcelain_zero_value_tags() : account_tags
|
|
6022
|
+
@capture = capture == nil ? nil : capture
|
|
6023
|
+
@completed_at = completed_at == nil ? nil : completed_at
|
|
5927
6024
|
@duration = duration == nil ? nil : duration
|
|
5928
6025
|
@egress_node_id = egress_node_id == nil ? "" : egress_node_id
|
|
5929
6026
|
@encrypted = encrypted == nil ? false : encrypted
|
|
@@ -5951,6 +6048,74 @@ module SDM
|
|
|
5951
6048
|
end
|
|
5952
6049
|
end
|
|
5953
6050
|
|
|
6051
|
+
# A QueryCapture contains additional information about queries against SSH, Kubernetes, and RDP resources.
|
|
6052
|
+
class QueryCapture
|
|
6053
|
+
# The command executed on the client for a Kubernetes session.
|
|
6054
|
+
attr_accessor :client_command
|
|
6055
|
+
# The command executed over an SSH or Kubernetes session.
|
|
6056
|
+
attr_accessor :command
|
|
6057
|
+
# The target container of a Kubernetes operation.
|
|
6058
|
+
attr_accessor :container
|
|
6059
|
+
# The environment variables for an SSH or Kubernetes session.
|
|
6060
|
+
attr_accessor :env
|
|
6061
|
+
# The remote file name of an SCP operation.
|
|
6062
|
+
attr_accessor :file_name
|
|
6063
|
+
# The file size transferred for an SCP operation.
|
|
6064
|
+
attr_accessor :file_size
|
|
6065
|
+
# The height of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
|
|
6066
|
+
attr_accessor :height
|
|
6067
|
+
# The target pod of a Kubernetes operation.
|
|
6068
|
+
attr_accessor :pod
|
|
6069
|
+
# The HTTP request body of a Kubernetes operation.
|
|
6070
|
+
attr_accessor :request_body
|
|
6071
|
+
# The HTTP request method of a Kubernetes operation.
|
|
6072
|
+
attr_accessor :request_method
|
|
6073
|
+
# The HTTP request URI of a Kubernetes operation.
|
|
6074
|
+
attr_accessor :request_uri
|
|
6075
|
+
# The CaptureType of this query capture.
|
|
6076
|
+
attr_accessor :type
|
|
6077
|
+
# The width of the terminal or window for SSH, Kubernetes, and RDP interactive sessions.
|
|
6078
|
+
attr_accessor :width
|
|
6079
|
+
|
|
6080
|
+
def initialize(
|
|
6081
|
+
client_command: nil,
|
|
6082
|
+
command: nil,
|
|
6083
|
+
container: nil,
|
|
6084
|
+
env: nil,
|
|
6085
|
+
file_name: nil,
|
|
6086
|
+
file_size: nil,
|
|
6087
|
+
height: nil,
|
|
6088
|
+
pod: nil,
|
|
6089
|
+
request_body: nil,
|
|
6090
|
+
request_method: nil,
|
|
6091
|
+
request_uri: nil,
|
|
6092
|
+
type: nil,
|
|
6093
|
+
width: nil
|
|
6094
|
+
)
|
|
6095
|
+
@client_command = client_command == nil ? "" : client_command
|
|
6096
|
+
@command = command == nil ? "" : command
|
|
6097
|
+
@container = container == nil ? "" : container
|
|
6098
|
+
@env = env == nil ? {} : env
|
|
6099
|
+
@file_name = file_name == nil ? "" : file_name
|
|
6100
|
+
@file_size = file_size == nil ? 0 : file_size
|
|
6101
|
+
@height = height == nil ? 0 : height
|
|
6102
|
+
@pod = pod == nil ? "" : pod
|
|
6103
|
+
@request_body = request_body == nil ? "" : request_body
|
|
6104
|
+
@request_method = request_method == nil ? "" : request_method
|
|
6105
|
+
@request_uri = request_uri == nil ? "" : request_uri
|
|
6106
|
+
@type = type == nil ? "" : type
|
|
6107
|
+
@width = width == nil ? 0 : width
|
|
6108
|
+
end
|
|
6109
|
+
|
|
6110
|
+
def to_json(options = {})
|
|
6111
|
+
hash = {}
|
|
6112
|
+
self.instance_variables.each do |var|
|
|
6113
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
6114
|
+
end
|
|
6115
|
+
hash.to_json
|
|
6116
|
+
end
|
|
6117
|
+
end
|
|
6118
|
+
|
|
5954
6119
|
class RDP
|
|
5955
6120
|
# Bind interface
|
|
5956
6121
|
attr_accessor :bind_interface
|
|
@@ -8007,6 +8172,78 @@ module SDM
|
|
|
8007
8172
|
end
|
|
8008
8173
|
end
|
|
8009
8174
|
|
|
8175
|
+
# Trino is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
|
8176
|
+
class Trino
|
|
8177
|
+
# Bind interface
|
|
8178
|
+
attr_accessor :bind_interface
|
|
8179
|
+
|
|
8180
|
+
attr_accessor :database
|
|
8181
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
|
8182
|
+
attr_accessor :egress_filter
|
|
8183
|
+
# True if the datasource is reachable and the credentials are valid.
|
|
8184
|
+
attr_accessor :healthy
|
|
8185
|
+
|
|
8186
|
+
attr_accessor :hostname
|
|
8187
|
+
# Unique identifier of the Resource.
|
|
8188
|
+
attr_accessor :id
|
|
8189
|
+
# Unique human-readable name of the Resource.
|
|
8190
|
+
attr_accessor :name
|
|
8191
|
+
|
|
8192
|
+
attr_accessor :password
|
|
8193
|
+
|
|
8194
|
+
attr_accessor :port
|
|
8195
|
+
|
|
8196
|
+
attr_accessor :port_override
|
|
8197
|
+
# ID of the secret store containing credentials for this resource, if any.
|
|
8198
|
+
attr_accessor :secret_store_id
|
|
8199
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
|
8200
|
+
attr_accessor :subdomain
|
|
8201
|
+
# Tags is a map of key, value pairs.
|
|
8202
|
+
attr_accessor :tags
|
|
8203
|
+
|
|
8204
|
+
attr_accessor :username
|
|
8205
|
+
|
|
8206
|
+
def initialize(
|
|
8207
|
+
bind_interface: nil,
|
|
8208
|
+
database: nil,
|
|
8209
|
+
egress_filter: nil,
|
|
8210
|
+
healthy: nil,
|
|
8211
|
+
hostname: nil,
|
|
8212
|
+
id: nil,
|
|
8213
|
+
name: nil,
|
|
8214
|
+
password: nil,
|
|
8215
|
+
port: nil,
|
|
8216
|
+
port_override: nil,
|
|
8217
|
+
secret_store_id: nil,
|
|
8218
|
+
subdomain: nil,
|
|
8219
|
+
tags: nil,
|
|
8220
|
+
username: nil
|
|
8221
|
+
)
|
|
8222
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
|
8223
|
+
@database = database == nil ? "" : database
|
|
8224
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
|
8225
|
+
@healthy = healthy == nil ? false : healthy
|
|
8226
|
+
@hostname = hostname == nil ? "" : hostname
|
|
8227
|
+
@id = id == nil ? "" : id
|
|
8228
|
+
@name = name == nil ? "" : name
|
|
8229
|
+
@password = password == nil ? "" : password
|
|
8230
|
+
@port = port == nil ? 0 : port
|
|
8231
|
+
@port_override = port_override == nil ? 0 : port_override
|
|
8232
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
|
8233
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
|
8234
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
|
8235
|
+
@username = username == nil ? "" : username
|
|
8236
|
+
end
|
|
8237
|
+
|
|
8238
|
+
def to_json(options = {})
|
|
8239
|
+
hash = {}
|
|
8240
|
+
self.instance_variables.each do |var|
|
|
8241
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
8242
|
+
end
|
|
8243
|
+
hash.to_json
|
|
8244
|
+
end
|
|
8245
|
+
end
|
|
8246
|
+
|
|
8010
8247
|
# UpdateResponseMetadata is reserved for future use.
|
|
8011
8248
|
class UpdateResponseMetadata
|
|
8012
8249
|
def initialize()
|
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.12.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.
|
|
@@ -236,7 +236,7 @@ module SDM #:nodoc:
|
|
|
236
236
|
#
|
|
237
237
|
# See {OrganizationHistory}.
|
|
238
238
|
attr_reader :organization_history
|
|
239
|
-
# A Query is a record of a single client request to a resource, such as
|
|
239
|
+
# A Query is a record of a single client request to a resource, such as a SQL query.
|
|
240
240
|
# Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
|
|
241
241
|
# The Queries service is read-only.
|
|
242
242
|
#
|
data/lib/svc.rb
CHANGED
|
@@ -1486,7 +1486,7 @@ module SDM #:nodoc:
|
|
|
1486
1486
|
end
|
|
1487
1487
|
end
|
|
1488
1488
|
|
|
1489
|
-
# A Query is a record of a single client request to a resource, such as
|
|
1489
|
+
# A Query is a record of a single client request to a resource, such as a SQL query.
|
|
1490
1490
|
# Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
|
|
1491
1491
|
# The Queries service is read-only.
|
|
1492
1492
|
#
|
|
@@ -2062,6 +2062,7 @@ module SDM #:nodoc:
|
|
|
2062
2062
|
# {AKSUserImpersonation}
|
|
2063
2063
|
# {AmazonEKS}
|
|
2064
2064
|
# {AmazonEKSInstanceProfile}
|
|
2065
|
+
# {AmazonEKSInstanceProfileUserImpersonation}
|
|
2065
2066
|
# {AmazonEKSUserImpersonation}
|
|
2066
2067
|
# {AmazonES}
|
|
2067
2068
|
# {AmazonMQAMQP091}
|
|
@@ -2131,6 +2132,7 @@ module SDM #:nodoc:
|
|
|
2131
2132
|
# {Sybase}
|
|
2132
2133
|
# {SybaseIQ}
|
|
2133
2134
|
# {Teradata}
|
|
2135
|
+
# {Trino}
|
|
2134
2136
|
class Resources
|
|
2135
2137
|
extend Gem::Deprecate
|
|
2136
2138
|
|
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.12.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-04-21 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-83f26dcfc82bf5915a1482eab95598f69d49f986.idx"
|
|
85
|
+
- "./.git/objects/pack/pack-83f26dcfc82bf5915a1482eab95598f69d49f986.pack"
|
|
86
86
|
- "./.git/packed-refs"
|
|
87
87
|
- "./.git/refs/heads/master"
|
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|