strongdm 18.1.0 → 18.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0f5d39d2f7581cfa4ddb27da4af5515db3988d2891f4b31b925a4ff5f5899f1f
4
- data.tar.gz: 1e107208b9bff97b9d3807dc8540261e336c572691b494ca62aeda41ef69e725
3
+ metadata.gz: 4d57984e67206a7d8ea47c2f136434ec12f6d147651542166b997cbc38387b06
4
+ data.tar.gz: 541a9f4b9c547f24f2659073318188389da098358241a9afbbae6c49dd740a54
5
5
  SHA512:
6
- metadata.gz: 71f1395f91a2800bfcb6f3c1f6bb956c4b3fdbf88616d93e718c63695900c8b9ac1717bc074f8c83258b6bbe2a536e66df58bb7d1e1f1811c8e2d7f3614edad6
7
- data.tar.gz: b911e7ca20393f53c5924c1a306144feef20a3e700f8b396f0f67319eab9592c2ce9b8451a9b8233055a4814eb0f314ed1e04d10517d0f77bd01a469c1f8bbf4
6
+ metadata.gz: a3572ed484d8d0ac61a11762b65de742c27049db5b691a834128fdd2b372b917afe5c7af02c96b92904034f59fea71323422c4660953d8e08a126f2961922148
7
+ data.tar.gz: 0ac1c4c48015d005b2dfd3d946b36ca88b122671bbc7075e033b5363a4fb1328f942d915e08107e8af74f9533d80337e17ad00c6a8fc9b886da2a563d6afbe25
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- a9461772e0fec378935e8a68e03da0ab162f747b
1
+ 5878fda8566d2784daf5d1ebccabe2665272e846
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 a9461772e0fec378935e8a68e03da0ab162f747b root <root@1c247bce55b1.(none)> 1788979776 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- a9461772e0fec378935e8a68e03da0ab162f747b a9461772e0fec378935e8a68e03da0ab162f747b root <root@1c247bce55b1.(none)> 1788979776 +0000 checkout: moving from master to master
3
- a9461772e0fec378935e8a68e03da0ab162f747b 16822777e56defbbd7db369a97fae005424ce340 root <root@1c247bce55b1.(none)> 1788979776 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 5878fda8566d2784daf5d1ebccabe2665272e846 root <root@86915b19f597.(none)> 1791780415 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 5878fda8566d2784daf5d1ebccabe2665272e846 5878fda8566d2784daf5d1ebccabe2665272e846 root <root@86915b19f597.(none)> 1791780415 +0000 checkout: moving from master to master
3
+ 5878fda8566d2784daf5d1ebccabe2665272e846 655074ce1cea21d379c7ce989a6b50a43798799c root <root@86915b19f597.(none)> 1791780415 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 a9461772e0fec378935e8a68e03da0ab162f747b root <root@1c247bce55b1.(none)> 1788979776 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- a9461772e0fec378935e8a68e03da0ab162f747b 16822777e56defbbd7db369a97fae005424ce340 root <root@1c247bce55b1.(none)> 1788979776 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 5878fda8566d2784daf5d1ebccabe2665272e846 root <root@86915b19f597.(none)> 1791780415 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 5878fda8566d2784daf5d1ebccabe2665272e846 655074ce1cea21d379c7ce989a6b50a43798799c root <root@86915b19f597.(none)> 1791780415 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 a9461772e0fec378935e8a68e03da0ab162f747b root <root@1c247bce55b1.(none)> 1788979776 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 5878fda8566d2784daf5d1ebccabe2665272e846 root <root@86915b19f597.(none)> 1791780415 +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
- 16822777e56defbbd7db369a97fae005424ce340 refs/remotes/origin/development
3
- a9461772e0fec378935e8a68e03da0ab162f747b refs/remotes/origin/master
2
+ 655074ce1cea21d379c7ce989a6b50a43798799c refs/remotes/origin/development
3
+ 5878fda8566d2784daf5d1ebccabe2665272e846 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
@@ -168,6 +168,8 @@ dc10f48d22db35fa4756342f7d1c30bc0c3365a6 refs/tags/v17.2.0
168
168
  0b28aabb4e9c03e35e6936a056df2fe373a117e6 refs/tags/v17.8.0
169
169
  d9fa7d185e352151179839d42fc595110154b6e5 refs/tags/v17.9.0
170
170
  a9461772e0fec378935e8a68e03da0ab162f747b refs/tags/v18.0.0
171
+ 16822777e56defbbd7db369a97fae005424ce340 refs/tags/v18.1.0
172
+ 5878fda8566d2784daf5d1ebccabe2665272e846 refs/tags/v18.2.0
171
173
  e0b1ec0134c7015ccb8c14464cc713c20034159e refs/tags/v2.0.0
172
174
  62a146d9d56852b2ad14ec5d2796cad158d66e1c refs/tags/v2.1.0
173
175
  9de04e628082f4ad0eb9511311479a089d302008 refs/tags/v2.2.0
@@ -1 +1 @@
1
- 16822777e56defbbd7db369a97fae005424ce340
1
+ 655074ce1cea21d379c7ce989a6b50a43798799c
data/lib/constants.rb CHANGED
@@ -573,6 +573,13 @@ module SDM
573
573
  EU = "app.eu.strongdm.com:443"
574
574
  end
575
575
 
576
+ # InitiatorType defines who established a connection to a resource, as classified by the local StrongDM client.
577
+ module InitiatorType
578
+ AI_AGENT = "ai_agent"
579
+ HUMAN = "human"
580
+ UNKNOWN = "unknown"
581
+ end
582
+
576
583
  # ApproverReference defines the type for approver references.
577
584
  module ApproverReference
578
585
  NONE = ""
@@ -73,6 +73,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
73
73
  optional :kubernetes, :message, 1, "v1.KubernetesPrivileges"
74
74
  optional :entraGroups, :message, 2, "v1.EntraGroupPrivileges"
75
75
  optional :oktaGroups, :message, 3, "v1.OktaGroupPrivileges"
76
+ optional :googleGroups, :message, 4, "v1.GoogleGroupPrivileges"
76
77
  end
77
78
  add_message "v1.KubernetesPrivileges" do
78
79
  repeated :groups, :string, 1
@@ -83,6 +84,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
83
84
  add_message "v1.OktaGroupPrivileges" do
84
85
  repeated :groups, :string, 1
85
86
  end
87
+ add_message "v1.GoogleGroupPrivileges" do
88
+ repeated :groups, :string, 1
89
+ end
86
90
  add_message "v1.AccessRequestConfig" do
87
91
  optional :resource_id, :string, 1
88
92
  optional :reason, :string, 2
@@ -109,6 +113,7 @@ module V1
109
113
  KubernetesPrivileges = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.KubernetesPrivileges").msgclass
110
114
  EntraGroupPrivileges = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.EntraGroupPrivileges").msgclass
111
115
  OktaGroupPrivileges = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.OktaGroupPrivileges").msgclass
116
+ GoogleGroupPrivileges = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GoogleGroupPrivileges").msgclass
112
117
  AccessRequestConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AccessRequestConfig").msgclass
113
118
  RequestAccessRequestConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RequestAccessRequestConfig").msgclass
114
119
  end
@@ -68,6 +68,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
68
68
  optional :condition, :string, 1941323
69
69
  repeated :conditions, :string, 1941325
70
70
  optional :expect_file, :bool, 1941324
71
+ optional :nullable, :bool, 1941326
71
72
  end
72
73
  add_message "v1.EnumOptions" do
73
74
  repeated :targets, :string, 1941330
@@ -71,6 +71,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
71
71
  optional :discard_replays, :bool, 30
72
72
  optional :public_key_pem, :string, 31
73
73
  optional :log_config, :message, 32, "v1.LogConfig"
74
+ optional :peer_policies_enabled, :bool, 33
74
75
  end
75
76
  add_message "v1.LogConfig" do
76
77
  optional :local_storage, :string, 1
data/lib/grpc/plumbing.rb CHANGED
@@ -10605,6 +10605,46 @@ module SDM
10605
10605
  end
10606
10606
  items
10607
10607
  end
10608
+ def self.convert_initiator_to_porcelain(plumbing)
10609
+ if plumbing == nil
10610
+ return nil
10611
+ end
10612
+ porcelain = Initiator.new()
10613
+ porcelain.ai_agent = (plumbing.ai_agent)
10614
+ porcelain.trusted = (plumbing.trusted)
10615
+ porcelain.type = (plumbing.type)
10616
+ porcelain.version = (plumbing.version)
10617
+ porcelain
10618
+ end
10619
+
10620
+ def self.convert_initiator_to_plumbing(porcelain)
10621
+ if porcelain == nil
10622
+ return nil
10623
+ end
10624
+ plumbing = V1::Initiator.new()
10625
+ plumbing.ai_agent = (porcelain.ai_agent)
10626
+ plumbing.trusted = (porcelain.trusted)
10627
+ plumbing.type = (porcelain.type)
10628
+ plumbing.version = (porcelain.version)
10629
+ plumbing
10630
+ end
10631
+ def self.convert_repeated_initiator_to_plumbing(porcelains)
10632
+ items = Array.new
10633
+ porcelains.each do |porcelain|
10634
+ plumbing = convert_initiator_to_plumbing(porcelain)
10635
+ items.append(plumbing)
10636
+ end
10637
+ items
10638
+ end
10639
+
10640
+ def self.convert_repeated_initiator_to_porcelain(plumbings)
10641
+ items = Array.new
10642
+ plumbings.each do |plumbing|
10643
+ porcelain = convert_initiator_to_porcelain(plumbing)
10644
+ items.append(porcelain)
10645
+ end
10646
+ items
10647
+ end
10608
10648
  def self.convert_key_value_engine_to_porcelain(plumbing)
10609
10649
  if plumbing == nil
10610
10650
  return nil
@@ -15455,6 +15495,7 @@ module SDM
15455
15495
  porcelain.encrypted = (plumbing.encrypted)
15456
15496
  porcelain.id = (plumbing.id)
15457
15497
  porcelain.identity_alias_username = (plumbing.identity_alias_username)
15498
+ porcelain.initiator = convert_initiator_to_porcelain(plumbing.initiator)
15458
15499
  porcelain.metadata_json = (plumbing.metadata_json)
15459
15500
  porcelain.query_body = (plumbing.query_body)
15460
15501
  porcelain.query_category = (plumbing.query_category)
@@ -15492,6 +15533,7 @@ module SDM
15492
15533
  plumbing.encrypted = (porcelain.encrypted)
15493
15534
  plumbing.id = (porcelain.id)
15494
15535
  plumbing.identity_alias_username = (porcelain.identity_alias_username)
15536
+ plumbing.initiator = convert_initiator_to_plumbing(porcelain.initiator)
15495
15537
  plumbing.metadata_json = (porcelain.metadata_json)
15496
15538
  plumbing.query_body = (porcelain.query_body)
15497
15539
  plumbing.query_category = (porcelain.query_category)
@@ -66,6 +66,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
66
66
  optional :client_ip, :string, 29
67
67
  optional :identity_alias_username, :string, 30
68
68
  optional :metadata_json, :string, 31
69
+ optional :initiator, :message, 32, "v1.Initiator"
70
+ end
71
+ add_message "v1.Initiator" do
72
+ optional :type, :string, 1
73
+ optional :ai_agent, :string, 2
74
+ optional :version, :string, 3
75
+ optional :trusted, :bool, 4
69
76
  end
70
77
  add_message "v1.QueryCapture" do
71
78
  optional :width, :int32, 1
@@ -92,5 +99,6 @@ module V1
92
99
  QueryListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListRequest").msgclass
93
100
  QueryListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListResponse").msgclass
94
101
  Query = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Query").msgclass
102
+ Initiator = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Initiator").msgclass
95
103
  QueryCapture = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryCapture").msgclass
96
104
  end
data/lib/grpc/roles_pb.rb CHANGED
@@ -74,6 +74,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
74
74
  optional :tags, :message, 4, "v1.Tags"
75
75
  optional :access_rules, :string, 5
76
76
  optional :managed_by, :string, 6
77
+ optional :scope, :message, 7, "v1.RoleScope"
78
+ end
79
+ add_message "v1.RoleScope" do
80
+ optional :type, :string, 1
81
+ repeated :agents, :string, 2
77
82
  end
78
83
  end
79
84
  end
@@ -90,4 +95,5 @@ module V1
90
95
  RoleListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RoleListRequest").msgclass
91
96
  RoleListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RoleListResponse").msgclass
92
97
  Role = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Role").msgclass
98
+ RoleScope = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.RoleScope").msgclass
93
99
  end
@@ -8009,14 +8009,15 @@ module SDM
8009
8009
  end
8010
8010
  end
8011
8011
 
8012
- # GoogleGroups is currently unstable, and its API may change, or it may be removed, without a major version bump.
8013
8012
  class GoogleGroups
8014
8013
  # The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided and may also be set to one of the ResourceIPAllocationMode constants to select between VNM, loopback, or default allocation.
8015
8014
  attr_accessor :bind_interface
8016
8015
  # If true, configures discovery of the Google Workspace account to be run
8017
8016
  # from a node.
8018
8017
  attr_accessor :discovery_enabled
8019
- # The primary domain of the Google Workspace account that owns the groups.
8018
+ # The Google Workspace domain that owns the groups. Only groups whose email
8019
+ # address is at this exact domain are discovered; add one resource per
8020
+ # secondary domain.
8020
8021
  attr_accessor :domain
8021
8022
  # A filter applied to the routing logic to pin datasource to nodes.
8022
8023
  attr_accessor :egress_filter
@@ -9754,6 +9755,42 @@ module SDM
9754
9755
  end
9755
9756
  end
9756
9757
 
9758
+ # An Initiator describes who established the connection to the resource, as classified by
9759
+ # the local StrongDM client.
9760
+ class Initiator
9761
+ # A stable identifier of the AI Agent that established the connection, e.g. "claude-code".
9762
+ # Empty unless type is "ai_agent".
9763
+ attr_accessor :ai_agent
9764
+ # Indicates whether the initiator detection is trusted, meaning it cannot be spoofed by the end user.
9765
+ attr_accessor :trusted
9766
+ # The kind of initiator, one of the InitiatorType constants: "ai_agent" when a supported AI
9767
+ # Agent was detected, "human" when no supported AI Agent was detected, or "unknown" when the
9768
+ # client could not determine the initiator.
9769
+ attr_accessor :type
9770
+ # The version of the AI Agent, when it could be determined.
9771
+ attr_accessor :version
9772
+
9773
+ def initialize(
9774
+ ai_agent: nil,
9775
+ trusted: nil,
9776
+ type: nil,
9777
+ version: nil
9778
+ )
9779
+ @ai_agent = ai_agent == nil ? "" : ai_agent
9780
+ @trusted = trusted == nil ? false : trusted
9781
+ @type = type == nil ? "" : type
9782
+ @version = version == nil ? "" : version
9783
+ end
9784
+
9785
+ def to_json(options = {})
9786
+ hash = {}
9787
+ self.instance_variables.each do |var|
9788
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
9789
+ end
9790
+ hash.to_json
9791
+ end
9792
+ end
9793
+
9757
9794
  class KeyValueEngine
9758
9795
  # Unique identifier of the Secret Engine.
9759
9796
  attr_accessor :id
@@ -14499,6 +14536,9 @@ module SDM
14499
14536
  attr_accessor :id
14500
14537
  # The username of the IdentityAlias used to access the Resource.
14501
14538
  attr_accessor :identity_alias_username
14539
+ # Who established the connection to the resource, as classified by the local StrongDM client.
14540
+ # Absent when the initiator was not recorded or the organization does not have AI Agent controls.
14541
+ attr_accessor :initiator
14502
14542
  # Driver specific metadata associated with this query.
14503
14543
  attr_accessor :metadata_json
14504
14544
  # The captured content of the Query.
@@ -14551,6 +14591,7 @@ module SDM
14551
14591
  encrypted: nil,
14552
14592
  id: nil,
14553
14593
  identity_alias_username: nil,
14594
+ initiator: nil,
14554
14595
  metadata_json: nil,
14555
14596
  query_body: nil,
14556
14597
  query_category: nil,
@@ -14581,6 +14622,7 @@ module SDM
14581
14622
  @encrypted = encrypted == nil ? false : encrypted
14582
14623
  @id = id == nil ? "" : id
14583
14624
  @identity_alias_username = identity_alias_username == nil ? "" : identity_alias_username
14625
+ @initiator = initiator == nil ? nil : initiator
14584
14626
  @metadata_json = metadata_json == nil ? "" : metadata_json
14585
14627
  @query_body = query_body == nil ? "" : query_body
14586
14628
  @query_category = query_category == nil ? "" : query_category
data/lib/strongdm.rb CHANGED
@@ -31,7 +31,7 @@ module SDM #:nodoc:
31
31
  DEFAULT_RETRY_FACTOR = 1.6
32
32
  DEFAULT_RETRY_JITTER = 0.2
33
33
  API_VERSION = "2025-04-14"
34
- USER_AGENT = "strongdm-sdk-ruby/18.1.0"
34
+ USER_AGENT = "strongdm-sdk-ruby/18.3.0"
35
35
  private_constant :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :DEFAULT_RETRY_FACTOR, :DEFAULT_RETRY_JITTER, :API_VERSION, :USER_AGENT
36
36
 
37
37
  # Creates a new strongDM API client.
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "18.1.0"
16
+ VERSION = "18.3.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 = "18.1.0"
16
+ VERSION = "18.3.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: 18.1.0
4
+ version: 18.3.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: 2026-09-09 00:00:00.000000000 Z
11
+ date: 2026-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: grpc
@@ -81,8 +81,8 @@ files:
81
81
  - "./.git/logs/HEAD"
82
82
  - "./.git/logs/refs/heads/master"
83
83
  - "./.git/logs/refs/remotes/origin/HEAD"
84
- - "./.git/objects/pack/pack-f7f25f9461ae3c78adc6d865d6c64077dd353fa2.idx"
85
- - "./.git/objects/pack/pack-f7f25f9461ae3c78adc6d865d6c64077dd353fa2.pack"
84
+ - "./.git/objects/pack/pack-d3ae2c449844d355a0436f761156e63f33b4e056.idx"
85
+ - "./.git/objects/pack/pack-d3ae2c449844d355a0436f761156e63f33b4e056.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"