strongdm 3.9.0 → 3.11.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86a8357bf019f835f2205d750fd911fecc1ab7df0a2f44f51e00f2e814a4593f
4
- data.tar.gz: 3f2bec142d40f6ebd1923043094a324ca55d0efc939f850aa46197cb142baa8d
3
+ metadata.gz: 05d015d4f19aaf6ab38e9215d9f4012099b40c9749b58051ee3c907833eaeef5
4
+ data.tar.gz: a750ed1f27766b71aa28f38eb781fe9d7d8af82897443d1b04c0d9f3a2e64891
5
5
  SHA512:
6
- metadata.gz: 152b41187b3b89f90a6d059fe009bb278b71fe6fad96502341bc8ecd42096c1706e6cd54d5b6c2f574bf1848e752340a23b967233676d81d261508ae832a5ebb
7
- data.tar.gz: 20820ef6a06f97aef35dda453dbd784171cfc764d5e2a6b00f741971e57da52486179509fe92845e86fb2910b844fe2b0f1d022531e833ef756f25c6c9442e18
6
+ metadata.gz: 82d005454840630dfc91a4e5f890f92a1471285fae855a263f7d2974252a10f8ebb11ff609126ce7832c65cbf93d3c32815ace8dd07a8eed29805001f27d0fa3
7
+ data.tar.gz: 83cf7a434781fe5e190ecd30bad6b302a9942123f4d1d799f168fa018beff24110bff89d061ec8813d81326e5b0e096c3bb5b1d47ead74dc73a0c124d2bee925
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 07687e72efc8785eb9de64ef2d27056c6f9e3413
1
+ fb276eee8a0b2cc1415c25962410309b645373ed
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 07687e72efc8785eb9de64ef2d27056c6f9e3413 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 07687e72efc8785eb9de64ef2d27056c6f9e3413 07687e72efc8785eb9de64ef2d27056c6f9e3413 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 checkout: moving from master to master
3
- 07687e72efc8785eb9de64ef2d27056c6f9e3413 996c2591e6d895f404e977133bda196e723e1dd9 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 fb276eee8a0b2cc1415c25962410309b645373ed root <root@8ff708ee8c17.(none)> 1681499499 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ fb276eee8a0b2cc1415c25962410309b645373ed fb276eee8a0b2cc1415c25962410309b645373ed root <root@8ff708ee8c17.(none)> 1681499499 +0000 checkout: moving from master to master
3
+ fb276eee8a0b2cc1415c25962410309b645373ed a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@8ff708ee8c17.(none)> 1681499499 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 07687e72efc8785eb9de64ef2d27056c6f9e3413 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 07687e72efc8785eb9de64ef2d27056c6f9e3413 996c2591e6d895f404e977133bda196e723e1dd9 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 fb276eee8a0b2cc1415c25962410309b645373ed root <root@8ff708ee8c17.(none)> 1681499499 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ fb276eee8a0b2cc1415c25962410309b645373ed a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@8ff708ee8c17.(none)> 1681499499 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 07687e72efc8785eb9de64ef2d27056c6f9e3413 root <root@c8bf43e8bd19.(none)> 1679529693 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 fb276eee8a0b2cc1415c25962410309b645373ed root <root@8ff708ee8c17.(none)> 1681499499 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
data/.git/packed-refs CHANGED
@@ -1,6 +1,6 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- 996c2591e6d895f404e977133bda196e723e1dd9 refs/remotes/origin/development
3
- 07687e72efc8785eb9de64ef2d27056c6f9e3413 refs/remotes/origin/master
2
+ a77792a22449d0029bebb3f66fc23f63e54a8e90 refs/remotes/origin/development
3
+ fb276eee8a0b2cc1415c25962410309b645373ed 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,7 @@ 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
45
46
  40d185ce8d4f4375411706886f6fbbaa5493bef6 refs/tags/v3.2.0
46
47
  dd6a8a74ad5675831f42e3a820208e96f7361f80 refs/tags/v3.2.1
47
48
  09ee1a3be370a7b5e21709a7857d0f189f23da8b refs/tags/v3.2.2
@@ -58,3 +59,4 @@ ed61eaceb77e62a0c1a0bb8d36fc0bda7b242af4 refs/tags/v3.5.5
58
59
  ffd4706f2b64466550868d42ee2a5a4b88b3a372 refs/tags/v3.6.1
59
60
  10a9195bd9e91e5d6047500b92d08df567d60f78 refs/tags/v3.7.0
60
61
  07687e72efc8785eb9de64ef2d27056c6f9e3413 refs/tags/v3.8.0
62
+ 996c2591e6d895f404e977133bda196e723e1dd9 refs/tags/v3.9.0
@@ -1 +1 @@
1
- 996c2591e6d895f404e977133bda196e723e1dd9
1
+ a77792a22449d0029bebb3f66fc23f63e54a8e90
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,7 +249,10 @@ 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"
255
+ ORG_VNM_RESOURCES_ALLOCATED = "organization resources allocated within VNM subnet"
249
256
  DEPRECATED_ORG_ACTIVATE_DEVICE_APPROVAL = "activate device approval"
250
257
  DEPRECATED_ORG_DEACTIVATE_DEVICE_APPROVAL = "deactivate device approval"
251
258
  EMULATION_MIGRATION_COMPLETED = "emulation migration completed"
@@ -0,0 +1,48 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # source: account_resources_history.proto
17
+
18
+ require "google/protobuf"
19
+
20
+ require "google/protobuf/timestamp_pb"
21
+ require "account_resources_pb"
22
+ require "options_pb"
23
+ require "spec_pb"
24
+ Google::Protobuf::DescriptorPool.generated_pool.build do
25
+ add_file("account_resources_history.proto", :syntax => :proto3) do
26
+ add_message "v1.AccountResourceHistoryListRequest" do
27
+ optional :meta, :message, 1, "v1.ListRequestMetadata"
28
+ optional :filter, :string, 2
29
+ end
30
+ add_message "v1.AccountResourceHistoryListResponse" do
31
+ optional :meta, :message, 1, "v1.ListResponseMetadata"
32
+ repeated :history, :message, 2, "v1.AccountResourceHistory"
33
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
34
+ end
35
+ add_message "v1.AccountResourceHistory" do
36
+ optional :activity_id, :string, 1
37
+ optional :timestamp, :message, 2, "google.protobuf.Timestamp"
38
+ optional :account_resource, :message, 3, "v1.AccountResource"
39
+ optional :deleted_at, :message, 4, "google.protobuf.Timestamp"
40
+ end
41
+ end
42
+ end
43
+
44
+ module V1
45
+ AccountResourceHistoryListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccountResourceHistoryListRequest").msgclass
46
+ AccountResourceHistoryListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccountResourceHistoryListResponse").msgclass
47
+ AccountResourceHistory = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccountResourceHistory").msgclass
48
+ end
@@ -0,0 +1,37 @@
1
+ # Copyright 2020 StrongDM Inc
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+ #
15
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
16
+ # Source: account_resources_history.proto for package 'v1'
17
+
18
+ require "grpc"
19
+ require "account_resources_history_pb"
20
+
21
+ module V1
22
+ module AccountResourcesHistory
23
+ # AccountResourcesHistory records all changes to the state of a AccountResource.
24
+ class Service
25
+ include GRPC::GenericService
26
+
27
+ self.marshal_class_method = :encode
28
+ self.unmarshal_class_method = :decode
29
+ self.service_name = "v1.AccountResourcesHistory"
30
+
31
+ # List gets a list of AccountResourceHistory records matching a given set of criteria.
32
+ rpc :List, V1::AccountResourceHistoryListRequest, V1::AccountResourceHistoryListResponse
33
+ end
34
+
35
+ Stub = Service.rpc_stub_class
36
+ end
37
+ end
@@ -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
@@ -26,6 +26,7 @@ require_relative "./account_grants_pb"
26
26
  require_relative "./account_grants_history_pb"
27
27
  require_relative "./account_permissions_pb"
28
28
  require_relative "./account_resources_pb"
29
+ require_relative "./account_resources_history_pb"
29
30
  require_relative "./tags_pb"
30
31
  require_relative "./accounts_pb"
31
32
  require_relative "./accounts_history_pb"
@@ -1343,6 +1344,46 @@ module SDM
1343
1344
  end
1344
1345
  items
1345
1346
  end
1347
+ def self.convert_account_resource_history_to_porcelain(plumbing)
1348
+ if plumbing == nil
1349
+ return nil
1350
+ end
1351
+ porcelain = AccountResourceHistory.new()
1352
+ porcelain.account_resource = convert_account_resource_to_porcelain(plumbing.account_resource)
1353
+ porcelain.activity_id = (plumbing.activity_id)
1354
+ porcelain.deleted_at = convert_timestamp_to_porcelain(plumbing.deleted_at)
1355
+ porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
1356
+ porcelain
1357
+ end
1358
+
1359
+ def self.convert_account_resource_history_to_plumbing(porcelain)
1360
+ if porcelain == nil
1361
+ return nil
1362
+ end
1363
+ plumbing = V1::AccountResourceHistory.new()
1364
+ plumbing.account_resource = convert_account_resource_to_plumbing(porcelain.account_resource)
1365
+ plumbing.activity_id = (porcelain.activity_id)
1366
+ plumbing.deleted_at = convert_timestamp_to_plumbing(porcelain.deleted_at)
1367
+ plumbing.timestamp = convert_timestamp_to_plumbing(porcelain.timestamp)
1368
+ plumbing
1369
+ end
1370
+ def self.convert_repeated_account_resource_history_to_plumbing(porcelains)
1371
+ items = Array.new
1372
+ porcelains.each do |porcelain|
1373
+ plumbing = convert_account_resource_history_to_plumbing(porcelain)
1374
+ items.append(plumbing)
1375
+ end
1376
+ items
1377
+ end
1378
+
1379
+ def self.convert_repeated_account_resource_history_to_porcelain(plumbings)
1380
+ items = Array.new
1381
+ plumbings.each do |plumbing|
1382
+ porcelain = convert_account_resource_history_to_porcelain(plumbing)
1383
+ items.append(porcelain)
1384
+ end
1385
+ items
1386
+ end
1346
1387
  def self.convert_account_update_response_to_porcelain(plumbing)
1347
1388
  if plumbing == nil
1348
1389
  return nil
@@ -1685,6 +1726,72 @@ module SDM
1685
1726
  end
1686
1727
  items
1687
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
1688
1795
  def self.convert_amazon_eks_user_impersonation_to_porcelain(plumbing)
1689
1796
  if plumbing == nil
1690
1797
  return nil
@@ -5606,6 +5713,7 @@ module SDM
5606
5713
  porcelain.account_id = (plumbing.account_id)
5607
5714
  porcelain.account_last_name = (plumbing.account_last_name)
5608
5715
  porcelain.account_tags = convert_tags_to_porcelain(plumbing.account_tags)
5716
+ porcelain.completed_at = convert_timestamp_to_porcelain(plumbing.completed_at)
5609
5717
  porcelain.duration = convert_duration_to_porcelain(plumbing.duration)
5610
5718
  porcelain.egress_node_id = (plumbing.egress_node_id)
5611
5719
  porcelain.encrypted = (plumbing.encrypted)
@@ -5635,6 +5743,7 @@ module SDM
5635
5743
  plumbing.account_id = (porcelain.account_id)
5636
5744
  plumbing.account_last_name = (porcelain.account_last_name)
5637
5745
  plumbing.account_tags = convert_tags_to_plumbing(porcelain.account_tags)
5746
+ plumbing.completed_at = convert_timestamp_to_plumbing(porcelain.completed_at)
5638
5747
  plumbing.duration = convert_duration_to_plumbing(porcelain.duration)
5639
5748
  plumbing.egress_node_id = (porcelain.egress_node_id)
5640
5749
  plumbing.encrypted = (porcelain.encrypted)
@@ -6496,6 +6605,9 @@ module SDM
6496
6605
  if porcelain.instance_of? AmazonEKSInstanceProfile
6497
6606
  plumbing.amazon_eks_instance_profile = convert_amazon_eks_instance_profile_to_plumbing(porcelain)
6498
6607
  end
6608
+ if porcelain.instance_of? AmazonEKSInstanceProfileUserImpersonation
6609
+ plumbing.amazon_eks_instance_profile_user_impersonation = convert_amazon_eks_instance_profile_user_impersonation_to_plumbing(porcelain)
6610
+ end
6499
6611
  if porcelain.instance_of? AmazonEKSUserImpersonation
6500
6612
  plumbing.amazon_eks_user_impersonation = convert_amazon_eks_user_impersonation_to_plumbing(porcelain)
6501
6613
  end
@@ -6703,6 +6815,9 @@ module SDM
6703
6815
  if porcelain.instance_of? Teradata
6704
6816
  plumbing.teradata = convert_teradata_to_plumbing(porcelain)
6705
6817
  end
6818
+ if porcelain.instance_of? Trino
6819
+ plumbing.trino = convert_trino_to_plumbing(porcelain)
6820
+ end
6706
6821
  plumbing
6707
6822
  end
6708
6823
 
@@ -6731,6 +6846,9 @@ module SDM
6731
6846
  if plumbing.amazon_eks_instance_profile != nil
6732
6847
  return convert_amazon_eks_instance_profile_to_porcelain(plumbing.amazon_eks_instance_profile)
6733
6848
  end
6849
+ if plumbing.amazon_eks_instance_profile_user_impersonation != nil
6850
+ return convert_amazon_eks_instance_profile_user_impersonation_to_porcelain(plumbing.amazon_eks_instance_profile_user_impersonation)
6851
+ end
6734
6852
  if plumbing.amazon_eks_user_impersonation != nil
6735
6853
  return convert_amazon_eks_user_impersonation_to_porcelain(plumbing.amazon_eks_user_impersonation)
6736
6854
  end
@@ -6938,6 +7056,9 @@ module SDM
6938
7056
  if plumbing.teradata != nil
6939
7057
  return convert_teradata_to_porcelain(plumbing.teradata)
6940
7058
  end
7059
+ if plumbing.trino != nil
7060
+ return convert_trino_to_porcelain(plumbing.trino)
7061
+ end
6941
7062
  raise UnknownError.new("unknown polymorphic type, please upgrade your SDK")
6942
7063
  end
6943
7064
  def self.convert_repeated_resource_to_plumbing(porcelains)
@@ -8418,6 +8539,66 @@ module SDM
8418
8539
  end
8419
8540
  items
8420
8541
  end
8542
+ def self.convert_trino_to_porcelain(plumbing)
8543
+ if plumbing == nil
8544
+ return nil
8545
+ end
8546
+ porcelain = Trino.new()
8547
+ porcelain.bind_interface = (plumbing.bind_interface)
8548
+ porcelain.database = (plumbing.database)
8549
+ porcelain.egress_filter = (plumbing.egress_filter)
8550
+ porcelain.healthy = (plumbing.healthy)
8551
+ porcelain.hostname = (plumbing.hostname)
8552
+ porcelain.id = (plumbing.id)
8553
+ porcelain.name = (plumbing.name)
8554
+ porcelain.password = (plumbing.password)
8555
+ porcelain.port = (plumbing.port)
8556
+ porcelain.port_override = (plumbing.port_override)
8557
+ porcelain.secret_store_id = (plumbing.secret_store_id)
8558
+ porcelain.subdomain = (plumbing.subdomain)
8559
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
8560
+ porcelain.username = (plumbing.username)
8561
+ porcelain
8562
+ end
8563
+
8564
+ def self.convert_trino_to_plumbing(porcelain)
8565
+ if porcelain == nil
8566
+ return nil
8567
+ end
8568
+ plumbing = V1::Trino.new()
8569
+ plumbing.bind_interface = (porcelain.bind_interface)
8570
+ plumbing.database = (porcelain.database)
8571
+ plumbing.egress_filter = (porcelain.egress_filter)
8572
+ plumbing.healthy = (porcelain.healthy)
8573
+ plumbing.hostname = (porcelain.hostname)
8574
+ plumbing.id = (porcelain.id)
8575
+ plumbing.name = (porcelain.name)
8576
+ plumbing.password = (porcelain.password)
8577
+ plumbing.port = (porcelain.port)
8578
+ plumbing.port_override = (porcelain.port_override)
8579
+ plumbing.secret_store_id = (porcelain.secret_store_id)
8580
+ plumbing.subdomain = (porcelain.subdomain)
8581
+ plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
8582
+ plumbing.username = (porcelain.username)
8583
+ plumbing
8584
+ end
8585
+ def self.convert_repeated_trino_to_plumbing(porcelains)
8586
+ items = Array.new
8587
+ porcelains.each do |porcelain|
8588
+ plumbing = convert_trino_to_plumbing(porcelain)
8589
+ items.append(plumbing)
8590
+ end
8591
+ items
8592
+ end
8593
+
8594
+ def self.convert_repeated_trino_to_porcelain(plumbings)
8595
+ items = Array.new
8596
+ plumbings.each do |plumbing|
8597
+ porcelain = convert_trino_to_porcelain(plumbing)
8598
+ items.append(porcelain)
8599
+ end
8600
+ items
8601
+ end
8421
8602
  def self.convert_update_response_metadata_to_porcelain(plumbing)
8422
8603
  if plumbing == nil
8423
8604
  return nil
@@ -56,6 +56,7 @@ 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"
59
60
  end
60
61
  end
61
62
  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 an SQL query.
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
@@ -1143,6 +1143,41 @@ module SDM
1143
1143
  end
1144
1144
  end
1145
1145
 
1146
+ # AccountResourceHistory records the state of a AccountResource at a given point in time,
1147
+ # where every change (create or delete) to a AccountResource produces an
1148
+ # AccountResourceHistory record.
1149
+ class AccountResourceHistory
1150
+ # The complete AccountResource state at this time.
1151
+ attr_accessor :account_resource
1152
+ # The unique identifier of the Activity that produced this change to the AccountResource.
1153
+ # May be empty for some system-initiated updates.
1154
+ attr_accessor :activity_id
1155
+ # If this AccountResource was deleted, the time it was deleted.
1156
+ attr_accessor :deleted_at
1157
+ # The time at which the AccountResource state was recorded.
1158
+ attr_accessor :timestamp
1159
+
1160
+ def initialize(
1161
+ account_resource: nil,
1162
+ activity_id: nil,
1163
+ deleted_at: nil,
1164
+ timestamp: nil
1165
+ )
1166
+ @account_resource = account_resource == nil ? nil : account_resource
1167
+ @activity_id = activity_id == nil ? "" : activity_id
1168
+ @deleted_at = deleted_at == nil ? nil : deleted_at
1169
+ @timestamp = timestamp == nil ? nil : timestamp
1170
+ end
1171
+
1172
+ def to_json(options = {})
1173
+ hash = {}
1174
+ self.instance_variables.each do |var|
1175
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
1176
+ end
1177
+ hash.to_json
1178
+ end
1179
+ end
1180
+
1146
1181
  # AccountUpdateResponse returns the fields of a Account after it has been updated by
1147
1182
  # a AccountUpdateRequest.
1148
1183
  class AccountUpdateResponse
@@ -1492,6 +1527,89 @@ module SDM
1492
1527
  end
1493
1528
  end
1494
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
+
1495
1613
  class AmazonEKSUserImpersonation
1496
1614
  attr_accessor :access_key
1497
1615
  # Bind interface
@@ -2047,7 +2165,6 @@ module SDM
2047
2165
  end
2048
2166
  end
2049
2167
 
2050
- # AzureMysql is currently unstable, and its API may change, or it may be removed, without a major version bump.
2051
2168
  class AzureMysql
2052
2169
  # Bind interface
2053
2170
  attr_accessor :bind_interface
@@ -5807,7 +5924,11 @@ module SDM
5807
5924
  end
5808
5925
  end
5809
5926
 
5810
- # A Query is a record of a single client request to a resource, such as an SQL query.
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.
5811
5932
  class Query
5812
5933
  # The email of the account performing this query, at the time the query was executed.
5813
5934
  # If the account email is later changed, that change will not be reflected via this field.
@@ -5823,6 +5944,9 @@ module SDM
5823
5944
  # The tags of the account accessed, at the time the query was executed. If the account
5824
5945
  # tags are later changed, that change will not be reflected via this field.
5825
5946
  attr_accessor :account_tags
5947
+ # The time at which the Query was completed.
5948
+ # Empty if this record indicates the start of a long-running query.
5949
+ attr_accessor :completed_at
5826
5950
  # The duration of the Query.
5827
5951
  attr_accessor :duration
5828
5952
  # The unique ID of the node through which the Resource was accessed.
@@ -5858,7 +5982,7 @@ module SDM
5858
5982
  attr_accessor :resource_tags
5859
5983
  # The specific type of Resource against which the Query was performed, e.g. "ssh" or "postgres".
5860
5984
  attr_accessor :resource_type
5861
- # The time at which the Query was performed.
5985
+ # The time at which the Query was started.
5862
5986
  attr_accessor :timestamp
5863
5987
 
5864
5988
  def initialize(
@@ -5867,6 +5991,7 @@ module SDM
5867
5991
  account_id: nil,
5868
5992
  account_last_name: nil,
5869
5993
  account_tags: nil,
5994
+ completed_at: nil,
5870
5995
  duration: nil,
5871
5996
  egress_node_id: nil,
5872
5997
  encrypted: nil,
@@ -5889,6 +6014,7 @@ module SDM
5889
6014
  @account_id = account_id == nil ? "" : account_id
5890
6015
  @account_last_name = account_last_name == nil ? "" : account_last_name
5891
6016
  @account_tags = account_tags == nil ? SDM::_porcelain_zero_value_tags() : account_tags
6017
+ @completed_at = completed_at == nil ? nil : completed_at
5892
6018
  @duration = duration == nil ? nil : duration
5893
6019
  @egress_node_id = egress_node_id == nil ? "" : egress_node_id
5894
6020
  @encrypted = encrypted == nil ? false : encrypted
@@ -7972,6 +8098,78 @@ module SDM
7972
8098
  end
7973
8099
  end
7974
8100
 
8101
+ # Trino is currently unstable, and its API may change, or it may be removed, without a major version bump.
8102
+ class Trino
8103
+ # Bind interface
8104
+ attr_accessor :bind_interface
8105
+
8106
+ attr_accessor :database
8107
+ # A filter applied to the routing logic to pin datasource to nodes.
8108
+ attr_accessor :egress_filter
8109
+ # True if the datasource is reachable and the credentials are valid.
8110
+ attr_accessor :healthy
8111
+
8112
+ attr_accessor :hostname
8113
+ # Unique identifier of the Resource.
8114
+ attr_accessor :id
8115
+ # Unique human-readable name of the Resource.
8116
+ attr_accessor :name
8117
+
8118
+ attr_accessor :password
8119
+
8120
+ attr_accessor :port
8121
+
8122
+ attr_accessor :port_override
8123
+ # ID of the secret store containing credentials for this resource, if any.
8124
+ attr_accessor :secret_store_id
8125
+ # Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
8126
+ attr_accessor :subdomain
8127
+ # Tags is a map of key, value pairs.
8128
+ attr_accessor :tags
8129
+
8130
+ attr_accessor :username
8131
+
8132
+ def initialize(
8133
+ bind_interface: nil,
8134
+ database: nil,
8135
+ egress_filter: nil,
8136
+ healthy: nil,
8137
+ hostname: nil,
8138
+ id: nil,
8139
+ name: nil,
8140
+ password: nil,
8141
+ port: nil,
8142
+ port_override: nil,
8143
+ secret_store_id: nil,
8144
+ subdomain: nil,
8145
+ tags: nil,
8146
+ username: nil
8147
+ )
8148
+ @bind_interface = bind_interface == nil ? "" : bind_interface
8149
+ @database = database == nil ? "" : database
8150
+ @egress_filter = egress_filter == nil ? "" : egress_filter
8151
+ @healthy = healthy == nil ? false : healthy
8152
+ @hostname = hostname == nil ? "" : hostname
8153
+ @id = id == nil ? "" : id
8154
+ @name = name == nil ? "" : name
8155
+ @password = password == nil ? "" : password
8156
+ @port = port == nil ? 0 : port
8157
+ @port_override = port_override == nil ? 0 : port_override
8158
+ @secret_store_id = secret_store_id == nil ? "" : secret_store_id
8159
+ @subdomain = subdomain == nil ? "" : subdomain
8160
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
8161
+ @username = username == nil ? "" : username
8162
+ end
8163
+
8164
+ def to_json(options = {})
8165
+ hash = {}
8166
+ self.instance_variables.each do |var|
8167
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8168
+ end
8169
+ hash.to_json
8170
+ end
8171
+ end
8172
+
7975
8173
  # UpdateResponseMetadata is reserved for future use.
7976
8174
  class UpdateResponseMetadata
7977
8175
  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.9.0"
32
+ USER_AGENT = "strongdm-sdk-ruby/3.11.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.
@@ -60,6 +60,7 @@ module SDM #:nodoc:
60
60
  @account_grants_history = AccountGrantsHistory.new(@channel, self)
61
61
  @account_permissions = AccountPermissions.new(@channel, self)
62
62
  @account_resources = AccountResources.new(@channel, self)
63
+ @account_resources_history = AccountResourcesHistory.new(@channel, self)
63
64
  @accounts = Accounts.new(@channel, self)
64
65
  @accounts_history = AccountsHistory.new(@channel, self)
65
66
  @activities = Activities.new(@channel, self)
@@ -197,6 +198,10 @@ module SDM #:nodoc:
197
198
  #
198
199
  # See {AccountResources}.
199
200
  attr_reader :account_resources
201
+ # AccountResourcesHistory records all changes to the state of a AccountResource.
202
+ #
203
+ # See {AccountResourcesHistory}.
204
+ attr_reader :account_resources_history
200
205
  # Accounts are users that have access to strongDM. There are two types of accounts:
201
206
  # 1. **Users:** humans who are authenticated through username and password or SSO.
202
207
  # 2. **Service Accounts:** machines that are authenticated using a service token.
@@ -231,7 +236,7 @@ module SDM #:nodoc:
231
236
  #
232
237
  # See {OrganizationHistory}.
233
238
  attr_reader :organization_history
234
- # A Query is a record of a single client request to a resource, such as an SQL query.
239
+ # A Query is a record of a single client request to a resource, such as a SQL query.
235
240
  # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
236
241
  # The Queries service is read-only.
237
242
  #
@@ -311,6 +316,7 @@ module SDM #:nodoc:
311
316
  @account_grants_history = AccountGrantsHistory.new(@channel, self)
312
317
  @account_permissions = AccountPermissions.new(@channel, self)
313
318
  @account_resources = AccountResources.new(@channel, self)
319
+ @account_resources_history = AccountResourcesHistory.new(@channel, self)
314
320
  @accounts = Accounts.new(@channel, self)
315
321
  @accounts_history = AccountsHistory.new(@channel, self)
316
322
  @activities = Activities.new(@channel, self)
data/lib/svc.rb CHANGED
@@ -662,6 +662,62 @@ module SDM #:nodoc:
662
662
  end
663
663
  end
664
664
 
665
+ # AccountResourcesHistory records all changes to the state of a AccountResource.
666
+ #
667
+ # See {AccountResourceHistory}.
668
+ class AccountResourcesHistory
669
+ extend Gem::Deprecate
670
+
671
+ def initialize(channel, parent)
672
+ begin
673
+ @stub = V1::AccountResourcesHistory::Stub.new(nil, nil, channel_override: channel)
674
+ rescue => exception
675
+ raise Plumbing::convert_error_to_porcelain(exception)
676
+ end
677
+ @parent = parent
678
+ end
679
+
680
+ # List gets a list of AccountResourceHistory records matching a given set of criteria.
681
+ def list(
682
+ filter,
683
+ *args,
684
+ deadline: nil
685
+ )
686
+ req = V1::AccountResourceHistoryListRequest.new()
687
+ req.meta = V1::ListRequestMetadata.new()
688
+ page_size_option = @parent._test_options["PageSize"]
689
+ if page_size_option.is_a? Integer
690
+ req.meta.limit = page_size_option
691
+ end
692
+ if not @parent.snapshot_time.nil?
693
+ req.meta.snapshot_at = @parent.snapshot_time
694
+ end
695
+
696
+ req.filter = Plumbing::quote_filter_args(filter, *args)
697
+ resp = Enumerator::Generator.new { |g|
698
+ tries = 0
699
+ loop do
700
+ begin
701
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("AccountResourcesHistory.List", req), deadline: deadline)
702
+ rescue => exception
703
+ if (@parent.shouldRetry(tries, exception))
704
+ tries + +@parent.jitterSleep(tries)
705
+ next
706
+ end
707
+ raise Plumbing::convert_error_to_porcelain(exception)
708
+ end
709
+ tries = 0
710
+ plumbing_response.history.each do |plumbing_item|
711
+ g.yield Plumbing::convert_account_resource_history_to_porcelain(plumbing_item)
712
+ end
713
+ break if plumbing_response.meta.next_cursor == ""
714
+ req.meta.cursor = plumbing_response.meta.next_cursor
715
+ end
716
+ }
717
+ resp
718
+ end
719
+ end
720
+
665
721
  # Accounts are users that have access to strongDM. There are two types of accounts:
666
722
  # 1. **Users:** humans who are authenticated through username and password or SSO.
667
723
  # 2. **Service Accounts:** machines that are authenticated using a service token.
@@ -1430,7 +1486,7 @@ module SDM #:nodoc:
1430
1486
  end
1431
1487
  end
1432
1488
 
1433
- # A Query is a record of a single client request to a resource, such as an SQL query.
1489
+ # A Query is a record of a single client request to a resource, such as a SQL query.
1434
1490
  # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
1435
1491
  # The Queries service is read-only.
1436
1492
  #
@@ -2006,6 +2062,7 @@ module SDM #:nodoc:
2006
2062
  # {AKSUserImpersonation}
2007
2063
  # {AmazonEKS}
2008
2064
  # {AmazonEKSInstanceProfile}
2065
+ # {AmazonEKSInstanceProfileUserImpersonation}
2009
2066
  # {AmazonEKSUserImpersonation}
2010
2067
  # {AmazonES}
2011
2068
  # {AmazonMQAMQP091}
@@ -2075,6 +2132,7 @@ module SDM #:nodoc:
2075
2132
  # {Sybase}
2076
2133
  # {SybaseIQ}
2077
2134
  # {Teradata}
2135
+ # {Trino}
2078
2136
  class Resources
2079
2137
  extend Gem::Deprecate
2080
2138
 
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "3.9.0"
16
+ VERSION = "3.11.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "3.9.0"
16
+ VERSION = "3.11.0"
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.9.0
4
+ version: 3.11.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-03-23 00:00:00.000000000 Z
11
+ date: 2023-04-14 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-f2b15914b2f3a34011acabdc2fa8ca0c4058ef77.idx"
85
- - "./.git/objects/pack/pack-f2b15914b2f3a34011acabdc2fa8ca0c4058ef77.pack"
84
+ - "./.git/objects/pack/pack-4eb0d24ffce2f2f85af8f38bad16b738c3ff5ae6.idx"
85
+ - "./.git/objects/pack/pack-4eb0d24ffce2f2f85af8f38bad16b738c3ff5ae6.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"
@@ -102,6 +102,8 @@ files:
102
102
  - "./lib/grpc/account_grants_services_pb.rb"
103
103
  - "./lib/grpc/account_permissions_pb.rb"
104
104
  - "./lib/grpc/account_permissions_services_pb.rb"
105
+ - "./lib/grpc/account_resources_history_pb.rb"
106
+ - "./lib/grpc/account_resources_history_services_pb.rb"
105
107
  - "./lib/grpc/account_resources_pb.rb"
106
108
  - "./lib/grpc/account_resources_services_pb.rb"
107
109
  - "./lib/grpc/accounts_history_pb.rb"