strongdm 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05d015d4f19aaf6ab38e9215d9f4012099b40c9749b58051ee3c907833eaeef5
4
- data.tar.gz: a750ed1f27766b71aa28f38eb781fe9d7d8af82897443d1b04c0d9f3a2e64891
3
+ metadata.gz: 481232ca1b0dfea41d5239fb79915a8450d807b093b512c15cbe84f386377ae4
4
+ data.tar.gz: 2712af8fb6f3321d6555be0719baf31318ee463f720f45ea46f7b8205093b55e
5
5
  SHA512:
6
- metadata.gz: 82d005454840630dfc91a4e5f890f92a1471285fae855a263f7d2974252a10f8ebb11ff609126ce7832c65cbf93d3c32815ace8dd07a8eed29805001f27d0fa3
7
- data.tar.gz: 83cf7a434781fe5e190ecd30bad6b302a9942123f4d1d799f168fa018beff24110bff89d061ec8813d81326e5b0e096c3bb5b1d47ead74dc73a0c124d2bee925
6
+ metadata.gz: 7bcf937a9faae4ae3a74180ab583a4d59684bcbba6742a02f8bbf5547ebc00f177d5d87f935823cdf69d9192dd753bd464dc442e18737298eeecb333c5da4d79
7
+ data.tar.gz: 7309ff07d1e9a210a125a015e0bbe60b91815d87b4414012dbf4ed37d8c36072dd3774e421a63bf12ef8c51d40c970a06b9983968f72d827774a9a75beaac669
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- fb276eee8a0b2cc1415c25962410309b645373ed
1
+ a77792a22449d0029bebb3f66fc23f63e54a8e90
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
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
+ 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
@@ -1,2 +1,2 @@
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
+ 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 fb276eee8a0b2cc1415c25962410309b645373ed root <root@8ff708ee8c17.(none)> 1681499499 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 a77792a22449d0029bebb3f66fc23f63e54a8e90 root <root@e5559da7efcb.(none)> 1682098801 +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
- a77792a22449d0029bebb3f66fc23f63e54a8e90 refs/remotes/origin/development
3
- fb276eee8a0b2cc1415c25962410309b645373ed refs/remotes/origin/master
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
@@ -43,6 +43,7 @@ be1460e0ed022801549a84a12897334b7064f1a7 refs/tags/v2.6.3
43
43
  ebc33c297839fbbcfa70f855e599630c0a6c880c refs/tags/v2.6.4
44
44
  0fbd2ab317197f8aff986524b40fb96d7aa05547 refs/tags/v3.0.0
45
45
  fb276eee8a0b2cc1415c25962410309b645373ed refs/tags/v3.10.0
46
+ a77792a22449d0029bebb3f66fc23f63e54a8e90 refs/tags/v3.11.0
46
47
  40d185ce8d4f4375411706886f6fbbaa5493bef6 refs/tags/v3.2.0
47
48
  dd6a8a74ad5675831f42e3a820208e96f7361f80 refs/tags/v3.2.1
48
49
  09ee1a3be370a7b5e21709a7857d0f189f23da8b refs/tags/v3.2.2
@@ -1 +1 @@
1
- a77792a22449d0029bebb3f66fc23f63e54a8e90
1
+ f880c51210aa33186d71d9b463ddbd587ef3e4fd
data/lib/constants.rb CHANGED
@@ -394,4 +394,25 @@ module SDM
394
394
  ECDSA_521 = "ecdsa-521"
395
395
  ED_25519 = "ed25519"
396
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
397
418
  end
data/lib/grpc/plumbing.rb CHANGED
@@ -5713,6 +5713,7 @@ module SDM
5713
5713
  porcelain.account_id = (plumbing.account_id)
5714
5714
  porcelain.account_last_name = (plumbing.account_last_name)
5715
5715
  porcelain.account_tags = convert_tags_to_porcelain(plumbing.account_tags)
5716
+ porcelain.capture = convert_query_capture_to_porcelain(plumbing.capture)
5716
5717
  porcelain.completed_at = convert_timestamp_to_porcelain(plumbing.completed_at)
5717
5718
  porcelain.duration = convert_duration_to_porcelain(plumbing.duration)
5718
5719
  porcelain.egress_node_id = (plumbing.egress_node_id)
@@ -5743,6 +5744,7 @@ module SDM
5743
5744
  plumbing.account_id = (porcelain.account_id)
5744
5745
  plumbing.account_last_name = (porcelain.account_last_name)
5745
5746
  plumbing.account_tags = convert_tags_to_plumbing(porcelain.account_tags)
5747
+ plumbing.capture = convert_query_capture_to_plumbing(porcelain.capture)
5746
5748
  plumbing.completed_at = convert_timestamp_to_plumbing(porcelain.completed_at)
5747
5749
  plumbing.duration = convert_duration_to_plumbing(porcelain.duration)
5748
5750
  plumbing.egress_node_id = (porcelain.egress_node_id)
@@ -5779,6 +5781,64 @@ module SDM
5779
5781
  end
5780
5782
  items
5781
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
5782
5842
  def self.convert_rdp_to_porcelain(plumbing)
5783
5843
  if plumbing == nil
5784
5844
  return nil
@@ -57,6 +57,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
57
57
  optional :account_tags, :message, 21, "v1.Tags"
58
58
  optional :query_key_id, :string, 22
59
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
60
76
  end
61
77
  end
62
78
  end
@@ -65,4 +81,5 @@ module V1
65
81
  QueryListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListRequest").msgclass
66
82
  QueryListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryListResponse").msgclass
67
83
  Query = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Query").msgclass
84
+ QueryCapture = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.QueryCapture").msgclass
68
85
  end
@@ -5944,6 +5944,9 @@ module SDM
5944
5944
  # The tags of the account accessed, at the time the query was executed. If the account
5945
5945
  # tags are later changed, that change will not be reflected via this field.
5946
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
5947
5950
  # The time at which the Query was completed.
5948
5951
  # Empty if this record indicates the start of a long-running query.
5949
5952
  attr_accessor :completed_at
@@ -5956,6 +5959,7 @@ module SDM
5956
5959
  # Unique identifier of the Query.
5957
5960
  attr_accessor :id
5958
5961
  # The captured content of the Query.
5962
+ # For queries against SSH, Kubernetes, and RDP resources, this contains a JSON representation of the QueryCapture.
5959
5963
  attr_accessor :query_body
5960
5964
  # The general category of Resource against which Query was performed, e.g. "web" or "cloud".
5961
5965
  attr_accessor :query_category
@@ -5991,6 +5995,7 @@ module SDM
5991
5995
  account_id: nil,
5992
5996
  account_last_name: nil,
5993
5997
  account_tags: nil,
5998
+ capture: nil,
5994
5999
  completed_at: nil,
5995
6000
  duration: nil,
5996
6001
  egress_node_id: nil,
@@ -6014,6 +6019,7 @@ module SDM
6014
6019
  @account_id = account_id == nil ? "" : account_id
6015
6020
  @account_last_name = account_last_name == nil ? "" : account_last_name
6016
6021
  @account_tags = account_tags == nil ? SDM::_porcelain_zero_value_tags() : account_tags
6022
+ @capture = capture == nil ? nil : capture
6017
6023
  @completed_at = completed_at == nil ? nil : completed_at
6018
6024
  @duration = duration == nil ? nil : duration
6019
6025
  @egress_node_id = egress_node_id == nil ? "" : egress_node_id
@@ -6042,6 +6048,74 @@ module SDM
6042
6048
  end
6043
6049
  end
6044
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
+
6045
6119
  class RDP
6046
6120
  # Bind interface
6047
6121
  attr_accessor :bind_interface
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.11.0"
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.
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "3.11.0"
16
+ VERSION = "3.12.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.11.0"
16
+ VERSION = "3.12.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.11.0
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-04-14 00:00:00.000000000 Z
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-4eb0d24ffce2f2f85af8f38bad16b738c3ff5ae6.idx"
85
- - "./.git/objects/pack/pack-4eb0d24ffce2f2f85af8f38bad16b738c3ff5ae6.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"