strongdm 3.10.0 → 3.12.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-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"
|