strongdm 11.10.1 → 11.11.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: f176e04e1e414d291ab49b4247a00f5a1753cde16df2337e10402e9b9937c229
4
- data.tar.gz: faac0974621473c42433ddbf137ec647575212114b4533dcfb7658147f067b17
3
+ metadata.gz: 2891e626bb0f081f6fe81d371be5ffd8d00dc9655ebcd3a28b528a818d48cfe4
4
+ data.tar.gz: cd48fb72a6d546e97cfdc86bc72dd3046b084dbc6312a9a248104bbef7068d57
5
5
  SHA512:
6
- metadata.gz: f088c326b787fe22b63732d36cf14dfb5eca6b75e25cf50954bd26082fe0b6bb198805b5cdaa09ebba74bca47c2c9093d3cc2a20aa6175c65c35d682dcad8691
7
- data.tar.gz: acd8aedc6e4a33d179b2668e1ce9dc79bb9a2474f920b30e6a74b4aabd57570954231bd084aa16c3c23651593392557b7c7bc8d964a455df5fd21e9049c26989
6
+ metadata.gz: 357af91d104620fa418de8a57ef12ec170f309c2d681598455ec94b4d704d589a0d4cec484ee47cb215106d95abac7c428bc1aa3768cae38650a342528d15f1a
7
+ data.tar.gz: e0351ab29a0f0d08e245d2ad9de038f73eb1b90f386fe4ad9c02d42fa7e51969731b6d17a2f1d6ae12028786e8f5bab3ae648b4022958d8b94937c03b1cd21ff
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6
1
+ 065048b7cde632b75a2b72a61a3357e10db96a61
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 root <root@41b6b560c229.(none)> 1726510064 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 root <root@41b6b560c229.(none)> 1726510064 +0000 checkout: moving from master to master
3
- 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@41b6b560c229.(none)> 1726510064 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@91b09fb9d94c.(none)> 1726770894 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 065048b7cde632b75a2b72a61a3357e10db96a61 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@91b09fb9d94c.(none)> 1726770894 +0000 checkout: moving from master to master
3
+ 065048b7cde632b75a2b72a61a3357e10db96a61 8050d1009a2517ea944bab4992fdd246936353b4 root <root@91b09fb9d94c.(none)> 1726770894 +0000 merge origin/development: Fast-forward
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 root <root@41b6b560c229.(none)> 1726510064 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@41b6b560c229.(none)> 1726510064 +0000 merge origin/development: Fast-forward
1
+ 0000000000000000000000000000000000000000 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@91b09fb9d94c.(none)> 1726770894 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
+ 065048b7cde632b75a2b72a61a3357e10db96a61 8050d1009a2517ea944bab4992fdd246936353b4 root <root@91b09fb9d94c.(none)> 1726770894 +0000 merge origin/development: Fast-forward
@@ -1 +1 @@
1
- 0000000000000000000000000000000000000000 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 root <root@41b6b560c229.(none)> 1726510064 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@91b09fb9d94c.(none)> 1726770894 +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
- 065048b7cde632b75a2b72a61a3357e10db96a61 refs/remotes/origin/development
3
- 9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 refs/remotes/origin/master
2
+ 8050d1009a2517ea944bab4992fdd246936353b4 refs/remotes/origin/development
3
+ 065048b7cde632b75a2b72a61a3357e10db96a61 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
@@ -36,6 +36,7 @@ d035aa3acb4c3a0935121bc00bfbb0a9e999d410 refs/tags/v1.0.7
36
36
  3a2a67e03f5b2f1bbcc8d2fa9dffcba764d76196 refs/tags/v11.0.0
37
37
  be8c2d87c98f8febe52ace473a9d3382d59d8ad2 refs/tags/v11.1.0
38
38
  9bdf7dbc21ca83b2b8baabfc02d474feee2cfdd6 refs/tags/v11.10.0
39
+ 065048b7cde632b75a2b72a61a3357e10db96a61 refs/tags/v11.10.1
39
40
  9103d7d0e3104e99edb3d9a188d231ae0ce3947f refs/tags/v11.3.0
40
41
  8c7312bf4266bdfeff959667faba7f8ef1e58f27 refs/tags/v11.4.0
41
42
  d181d0dc49250f81e47eea64cdd8e6a93f7a95da refs/tags/v11.5.0
@@ -1 +1 @@
1
- 065048b7cde632b75a2b72a61a3357e10db96a61
1
+ 8050d1009a2517ea944bab4992fdd246936353b4
data/lib/grpc/plumbing.rb CHANGED
@@ -55,6 +55,7 @@ require_relative "./peering_group_resources_pb"
55
55
  require_relative "./peering_groups_pb"
56
56
  require_relative "./policies_pb"
57
57
  require_relative "./policies_history_pb"
58
+ require_relative "./proxy_cluster_keys_pb"
58
59
  require_relative "./queries_pb"
59
60
  require_relative "./remote_identities_pb"
60
61
  require_relative "./remote_identities_history_pb"
@@ -7318,6 +7319,9 @@ module SDM
7318
7319
  if porcelain.instance_of? Gateway
7319
7320
  plumbing.gateway = convert_gateway_to_plumbing(porcelain)
7320
7321
  end
7322
+ if porcelain.instance_of? ProxyCluster
7323
+ plumbing.proxy_cluster = convert_proxy_cluster_to_plumbing(porcelain)
7324
+ end
7321
7325
  if porcelain.instance_of? Relay
7322
7326
  plumbing.relay = convert_relay_to_plumbing(porcelain)
7323
7327
  end
@@ -7331,6 +7335,9 @@ module SDM
7331
7335
  if plumbing.gateway != nil
7332
7336
  return convert_gateway_to_porcelain(plumbing.gateway)
7333
7337
  end
7338
+ if plumbing.proxy_cluster != nil
7339
+ return convert_proxy_cluster_to_porcelain(plumbing.proxy_cluster)
7340
+ end
7334
7341
  if plumbing.relay != nil
7335
7342
  return convert_relay_to_porcelain(plumbing.relay)
7336
7343
  end
@@ -8749,6 +8756,202 @@ module SDM
8749
8756
  end
8750
8757
  items
8751
8758
  end
8759
+ def self.convert_proxy_cluster_to_porcelain(plumbing)
8760
+ if plumbing == nil
8761
+ return nil
8762
+ end
8763
+ porcelain = ProxyCluster.new()
8764
+ porcelain.address = (plumbing.address)
8765
+ porcelain.id = (plumbing.id)
8766
+ porcelain.maintenance_windows = convert_repeated_node_maintenance_window_to_porcelain(plumbing.maintenance_windows)
8767
+ porcelain.name = (plumbing.name)
8768
+ porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
8769
+ porcelain
8770
+ end
8771
+
8772
+ def self.convert_proxy_cluster_to_plumbing(porcelain)
8773
+ if porcelain == nil
8774
+ return nil
8775
+ end
8776
+ plumbing = V1::ProxyCluster.new()
8777
+ plumbing.address = (porcelain.address)
8778
+ plumbing.id = (porcelain.id)
8779
+ plumbing.maintenance_windows += convert_repeated_node_maintenance_window_to_plumbing(porcelain.maintenance_windows)
8780
+ plumbing.name = (porcelain.name)
8781
+ plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
8782
+ plumbing
8783
+ end
8784
+ def self.convert_repeated_proxy_cluster_to_plumbing(porcelains)
8785
+ items = Array.new
8786
+ porcelains.each do |porcelain|
8787
+ plumbing = convert_proxy_cluster_to_plumbing(porcelain)
8788
+ items.append(plumbing)
8789
+ end
8790
+ items
8791
+ end
8792
+
8793
+ def self.convert_repeated_proxy_cluster_to_porcelain(plumbings)
8794
+ items = Array.new
8795
+ plumbings.each do |plumbing|
8796
+ porcelain = convert_proxy_cluster_to_porcelain(plumbing)
8797
+ items.append(porcelain)
8798
+ end
8799
+ items
8800
+ end
8801
+ def self.convert_proxy_cluster_key_to_porcelain(plumbing)
8802
+ if plumbing == nil
8803
+ return nil
8804
+ end
8805
+ porcelain = ProxyClusterKey.new()
8806
+ porcelain.created_at = convert_timestamp_to_porcelain(plumbing.created_at)
8807
+ porcelain.id = (plumbing.id)
8808
+ porcelain.last_used_at = convert_timestamp_to_porcelain(plumbing.last_used_at)
8809
+ porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
8810
+ porcelain
8811
+ end
8812
+
8813
+ def self.convert_proxy_cluster_key_to_plumbing(porcelain)
8814
+ if porcelain == nil
8815
+ return nil
8816
+ end
8817
+ plumbing = V1::ProxyClusterKey.new()
8818
+ plumbing.created_at = convert_timestamp_to_plumbing(porcelain.created_at)
8819
+ plumbing.id = (porcelain.id)
8820
+ plumbing.last_used_at = convert_timestamp_to_plumbing(porcelain.last_used_at)
8821
+ plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
8822
+ plumbing
8823
+ end
8824
+ def self.convert_repeated_proxy_cluster_key_to_plumbing(porcelains)
8825
+ items = Array.new
8826
+ porcelains.each do |porcelain|
8827
+ plumbing = convert_proxy_cluster_key_to_plumbing(porcelain)
8828
+ items.append(plumbing)
8829
+ end
8830
+ items
8831
+ end
8832
+
8833
+ def self.convert_repeated_proxy_cluster_key_to_porcelain(plumbings)
8834
+ items = Array.new
8835
+ plumbings.each do |plumbing|
8836
+ porcelain = convert_proxy_cluster_key_to_porcelain(plumbing)
8837
+ items.append(porcelain)
8838
+ end
8839
+ items
8840
+ end
8841
+ def self.convert_proxy_cluster_key_create_response_to_porcelain(plumbing)
8842
+ if plumbing == nil
8843
+ return nil
8844
+ end
8845
+ porcelain = ProxyClusterKeyCreateResponse.new()
8846
+ porcelain.meta = convert_create_response_metadata_to_porcelain(plumbing.meta)
8847
+ porcelain.proxy_cluster_key = convert_proxy_cluster_key_to_porcelain(plumbing.proxy_cluster_key)
8848
+ porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
8849
+ porcelain.secret_key = (plumbing.secret_key)
8850
+ porcelain
8851
+ end
8852
+
8853
+ def self.convert_proxy_cluster_key_create_response_to_plumbing(porcelain)
8854
+ if porcelain == nil
8855
+ return nil
8856
+ end
8857
+ plumbing = V1::ProxyClusterKeyCreateResponse.new()
8858
+ plumbing.meta = convert_create_response_metadata_to_plumbing(porcelain.meta)
8859
+ plumbing.proxy_cluster_key = convert_proxy_cluster_key_to_plumbing(porcelain.proxy_cluster_key)
8860
+ plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
8861
+ plumbing.secret_key = (porcelain.secret_key)
8862
+ plumbing
8863
+ end
8864
+ def self.convert_repeated_proxy_cluster_key_create_response_to_plumbing(porcelains)
8865
+ items = Array.new
8866
+ porcelains.each do |porcelain|
8867
+ plumbing = convert_proxy_cluster_key_create_response_to_plumbing(porcelain)
8868
+ items.append(plumbing)
8869
+ end
8870
+ items
8871
+ end
8872
+
8873
+ def self.convert_repeated_proxy_cluster_key_create_response_to_porcelain(plumbings)
8874
+ items = Array.new
8875
+ plumbings.each do |plumbing|
8876
+ porcelain = convert_proxy_cluster_key_create_response_to_porcelain(plumbing)
8877
+ items.append(porcelain)
8878
+ end
8879
+ items
8880
+ end
8881
+ def self.convert_proxy_cluster_key_delete_response_to_porcelain(plumbing)
8882
+ if plumbing == nil
8883
+ return nil
8884
+ end
8885
+ porcelain = ProxyClusterKeyDeleteResponse.new()
8886
+ porcelain.meta = convert_delete_response_metadata_to_porcelain(plumbing.meta)
8887
+ porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
8888
+ porcelain
8889
+ end
8890
+
8891
+ def self.convert_proxy_cluster_key_delete_response_to_plumbing(porcelain)
8892
+ if porcelain == nil
8893
+ return nil
8894
+ end
8895
+ plumbing = V1::ProxyClusterKeyDeleteResponse.new()
8896
+ plumbing.meta = convert_delete_response_metadata_to_plumbing(porcelain.meta)
8897
+ plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
8898
+ plumbing
8899
+ end
8900
+ def self.convert_repeated_proxy_cluster_key_delete_response_to_plumbing(porcelains)
8901
+ items = Array.new
8902
+ porcelains.each do |porcelain|
8903
+ plumbing = convert_proxy_cluster_key_delete_response_to_plumbing(porcelain)
8904
+ items.append(plumbing)
8905
+ end
8906
+ items
8907
+ end
8908
+
8909
+ def self.convert_repeated_proxy_cluster_key_delete_response_to_porcelain(plumbings)
8910
+ items = Array.new
8911
+ plumbings.each do |plumbing|
8912
+ porcelain = convert_proxy_cluster_key_delete_response_to_porcelain(plumbing)
8913
+ items.append(porcelain)
8914
+ end
8915
+ items
8916
+ end
8917
+ def self.convert_proxy_cluster_key_get_response_to_porcelain(plumbing)
8918
+ if plumbing == nil
8919
+ return nil
8920
+ end
8921
+ porcelain = ProxyClusterKeyGetResponse.new()
8922
+ porcelain.meta = convert_get_response_metadata_to_porcelain(plumbing.meta)
8923
+ porcelain.proxy_cluster_key = convert_proxy_cluster_key_to_porcelain(plumbing.proxy_cluster_key)
8924
+ porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
8925
+ porcelain
8926
+ end
8927
+
8928
+ def self.convert_proxy_cluster_key_get_response_to_plumbing(porcelain)
8929
+ if porcelain == nil
8930
+ return nil
8931
+ end
8932
+ plumbing = V1::ProxyClusterKeyGetResponse.new()
8933
+ plumbing.meta = convert_get_response_metadata_to_plumbing(porcelain.meta)
8934
+ plumbing.proxy_cluster_key = convert_proxy_cluster_key_to_plumbing(porcelain.proxy_cluster_key)
8935
+ plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
8936
+ plumbing
8937
+ end
8938
+ def self.convert_repeated_proxy_cluster_key_get_response_to_plumbing(porcelains)
8939
+ items = Array.new
8940
+ porcelains.each do |porcelain|
8941
+ plumbing = convert_proxy_cluster_key_get_response_to_plumbing(porcelain)
8942
+ items.append(plumbing)
8943
+ end
8944
+ items
8945
+ end
8946
+
8947
+ def self.convert_repeated_proxy_cluster_key_get_response_to_porcelain(plumbings)
8948
+ items = Array.new
8949
+ plumbings.each do |plumbing|
8950
+ porcelain = convert_proxy_cluster_key_get_response_to_porcelain(plumbing)
8951
+ items.append(porcelain)
8952
+ end
8953
+ items
8954
+ end
8752
8955
  def self.convert_query_to_porcelain(plumbing)
8753
8956
  if plumbing == nil
8754
8957
  return nil
@@ -0,0 +1,81 @@
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: proxy_cluster_keys.proto
17
+
18
+ require "google/protobuf"
19
+
20
+ require "google/protobuf/timestamp_pb"
21
+ require "options_pb"
22
+ require "spec_pb"
23
+
24
+ Google::Protobuf::DescriptorPool.generated_pool.build do
25
+ add_file("proxy_cluster_keys.proto", :syntax => :proto3) do
26
+ add_message "v1.ProxyClusterKeyCreateRequest" do
27
+ optional :meta, :message, 1, "v1.CreateRequestMetadata"
28
+ optional :proxy_cluster_key, :message, 2, "v1.ProxyClusterKey"
29
+ end
30
+ add_message "v1.ProxyClusterKeyCreateResponse" do
31
+ optional :meta, :message, 1, "v1.CreateResponseMetadata"
32
+ optional :proxy_cluster_key, :message, 2, "v1.ProxyClusterKey"
33
+ optional :secret_key, :string, 3
34
+ optional :rate_limit, :message, 4, "v1.RateLimitMetadata"
35
+ end
36
+ add_message "v1.ProxyClusterKeyGetRequest" do
37
+ optional :meta, :message, 1, "v1.GetRequestMetadata"
38
+ optional :id, :string, 2
39
+ end
40
+ add_message "v1.ProxyClusterKeyGetResponse" do
41
+ optional :meta, :message, 1, "v1.GetResponseMetadata"
42
+ optional :proxy_cluster_key, :message, 2, "v1.ProxyClusterKey"
43
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
44
+ end
45
+ add_message "v1.ProxyClusterKeyDeleteRequest" do
46
+ optional :meta, :message, 1, "v1.DeleteRequestMetadata"
47
+ optional :id, :string, 2
48
+ end
49
+ add_message "v1.ProxyClusterKeyDeleteResponse" do
50
+ optional :meta, :message, 1, "v1.DeleteResponseMetadata"
51
+ optional :rate_limit, :message, 2, "v1.RateLimitMetadata"
52
+ end
53
+ add_message "v1.ProxyClusterKeyListRequest" do
54
+ optional :meta, :message, 1, "v1.ListRequestMetadata"
55
+ optional :filter, :string, 2
56
+ end
57
+ add_message "v1.ProxyClusterKeyListResponse" do
58
+ optional :meta, :message, 1, "v1.ListResponseMetadata"
59
+ repeated :proxy_cluster_keys, :message, 2, "v1.ProxyClusterKey"
60
+ optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
61
+ end
62
+ add_message "v1.ProxyClusterKey" do
63
+ optional :id, :string, 1
64
+ optional :proxy_cluster_id, :string, 2
65
+ optional :created_at, :message, 3, "google.protobuf.Timestamp"
66
+ optional :last_used_at, :message, 4, "google.protobuf.Timestamp"
67
+ end
68
+ end
69
+ end
70
+
71
+ module V1
72
+ ProxyClusterKeyCreateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyCreateRequest").msgclass
73
+ ProxyClusterKeyCreateResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyCreateResponse").msgclass
74
+ ProxyClusterKeyGetRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyGetRequest").msgclass
75
+ ProxyClusterKeyGetResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyGetResponse").msgclass
76
+ ProxyClusterKeyDeleteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyDeleteRequest").msgclass
77
+ ProxyClusterKeyDeleteResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyDeleteResponse").msgclass
78
+ ProxyClusterKeyListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyListRequest").msgclass
79
+ ProxyClusterKeyListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKeyListResponse").msgclass
80
+ ProxyClusterKey = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.ProxyClusterKey").msgclass
81
+ end
@@ -0,0 +1,45 @@
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: proxy_cluster_keys.proto for package 'v1'
17
+
18
+ require "grpc"
19
+ require "proxy_cluster_keys_pb"
20
+
21
+ module V1
22
+ module ProxyClusterKeys
23
+ # Proxy Cluster Keys are authentication keys for all proxies within a cluster.
24
+ # The proxies within a cluster share the same key. One cluster can have
25
+ # multiple keys in order to facilitate key rotation.
26
+ class Service
27
+ include ::GRPC::GenericService
28
+
29
+ self.marshal_class_method = :encode
30
+ self.unmarshal_class_method = :decode
31
+ self.service_name = "v1.ProxyClusterKeys"
32
+
33
+ # Create registers a new ProxyClusterKey.
34
+ rpc :Create, ::V1::ProxyClusterKeyCreateRequest, ::V1::ProxyClusterKeyCreateResponse
35
+ # Get reads one ProxyClusterKey by ID.
36
+ rpc :Get, ::V1::ProxyClusterKeyGetRequest, ::V1::ProxyClusterKeyGetResponse
37
+ # Delete removes a ProxyClusterKey by ID.
38
+ rpc :Delete, ::V1::ProxyClusterKeyDeleteRequest, ::V1::ProxyClusterKeyDeleteResponse
39
+ # List gets a list of ProxyClusterKeys matching a given set of criteria.
40
+ rpc :List, ::V1::ProxyClusterKeyListRequest, ::V1::ProxyClusterKeyListResponse
41
+ end
42
+
43
+ Stub = Service.rpc_stub_class
44
+ end
45
+ end
@@ -8544,6 +8544,175 @@ module SDM
8544
8544
  end
8545
8545
  end
8546
8546
 
8547
+ # ProxyCluster represents a cluster of StrongDM proxies.
8548
+ class ProxyCluster
8549
+ # The public hostname/port tuple at which the proxy cluster will be
8550
+ # accessible to clients.
8551
+ attr_accessor :address
8552
+ # Unique identifier of the Proxy Cluster.
8553
+ attr_accessor :id
8554
+ # Maintenance Windows define when this node is allowed to restart. If a node
8555
+ # is requested to restart, it will check each window to determine if any of
8556
+ # them permit it to restart, and if any do, it will. This check is repeated
8557
+ # per window until the restart is successfully completed.
8558
+ #
8559
+ # If not set here, may be set on the command line or via an environment variable
8560
+ # on the process itself; any server setting will take precedence over local
8561
+ # settings. This setting is ineffective for nodes below version 38.44.0.
8562
+ #
8563
+ # If this setting is not applied via this remote configuration or via local
8564
+ # configuration, the default setting is used: always allow restarts if serving
8565
+ # no connections, and allow a restart even if serving connections between 7-8 UTC, any day.
8566
+ attr_accessor :maintenance_windows
8567
+ # Unique human-readable name of the proxy cluster. Names must
8568
+ # include only letters, numbers, and hyphens (no spaces, underscores, or
8569
+ # other special characters). Generated if not provided on create.
8570
+ attr_accessor :name
8571
+ # Tags is a map of key, value pairs.
8572
+ attr_accessor :tags
8573
+
8574
+ def initialize(
8575
+ address: nil,
8576
+ id: nil,
8577
+ maintenance_windows: nil,
8578
+ name: nil,
8579
+ tags: nil
8580
+ )
8581
+ @address = address == nil ? "" : address
8582
+ @id = id == nil ? "" : id
8583
+ @maintenance_windows = maintenance_windows == nil ? [] : maintenance_windows
8584
+ @name = name == nil ? "" : name
8585
+ @tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
8586
+ end
8587
+
8588
+ def to_json(options = {})
8589
+ hash = {}
8590
+ self.instance_variables.each do |var|
8591
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8592
+ end
8593
+ hash.to_json
8594
+ end
8595
+ end
8596
+
8597
+ # Proxy Cluster Keys are authentication keys for all proxies within a cluster.
8598
+ # The proxies within a cluster share the same key. One cluster can have
8599
+ # multiple keys in order to facilitate key rotation.
8600
+ class ProxyClusterKey
8601
+ # The timestamp when this key was created.
8602
+ attr_accessor :created_at
8603
+ # Unique identifier of the Relay.
8604
+ attr_accessor :id
8605
+ # The timestamp when this key was last used, if at all.
8606
+ attr_accessor :last_used_at
8607
+ # The ID of the proxy cluster which this key authenticates to.
8608
+ attr_accessor :proxy_cluster_id
8609
+
8610
+ def initialize(
8611
+ created_at: nil,
8612
+ id: nil,
8613
+ last_used_at: nil,
8614
+ proxy_cluster_id: nil
8615
+ )
8616
+ @created_at = created_at == nil ? nil : created_at
8617
+ @id = id == nil ? "" : id
8618
+ @last_used_at = last_used_at == nil ? nil : last_used_at
8619
+ @proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
8620
+ end
8621
+
8622
+ def to_json(options = {})
8623
+ hash = {}
8624
+ self.instance_variables.each do |var|
8625
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8626
+ end
8627
+ hash.to_json
8628
+ end
8629
+ end
8630
+
8631
+ # ProxyClusterKeyCreateResponse reports how the ProxyClusterKeys were created in the system.
8632
+ class ProxyClusterKeyCreateResponse
8633
+ # Reserved for future use.
8634
+ attr_accessor :meta
8635
+ # The created ProxyClusterKey.
8636
+ attr_accessor :proxy_cluster_key
8637
+ # Rate limit information.
8638
+ attr_accessor :rate_limit
8639
+ # The secret key component of this key. It must be saved upon creation
8640
+ # because it will not be available for retrieval later.
8641
+ attr_accessor :secret_key
8642
+
8643
+ def initialize(
8644
+ meta: nil,
8645
+ proxy_cluster_key: nil,
8646
+ rate_limit: nil,
8647
+ secret_key: nil
8648
+ )
8649
+ @meta = meta == nil ? nil : meta
8650
+ @proxy_cluster_key = proxy_cluster_key == nil ? nil : proxy_cluster_key
8651
+ @rate_limit = rate_limit == nil ? nil : rate_limit
8652
+ @secret_key = secret_key == nil ? "" : secret_key
8653
+ end
8654
+
8655
+ def to_json(options = {})
8656
+ hash = {}
8657
+ self.instance_variables.each do |var|
8658
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8659
+ end
8660
+ hash.to_json
8661
+ end
8662
+ end
8663
+
8664
+ # ProxyClusterKeyDeleteResponse returns information about a ProxyClusterKey that was deleted.
8665
+ class ProxyClusterKeyDeleteResponse
8666
+ # Reserved for future use.
8667
+ attr_accessor :meta
8668
+ # Rate limit information.
8669
+ attr_accessor :rate_limit
8670
+
8671
+ def initialize(
8672
+ meta: nil,
8673
+ rate_limit: nil
8674
+ )
8675
+ @meta = meta == nil ? nil : meta
8676
+ @rate_limit = rate_limit == nil ? nil : rate_limit
8677
+ end
8678
+
8679
+ def to_json(options = {})
8680
+ hash = {}
8681
+ self.instance_variables.each do |var|
8682
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8683
+ end
8684
+ hash.to_json
8685
+ end
8686
+ end
8687
+
8688
+ # ProxyClusterKeyGetResponse returns a requested ProxyClusterKey.
8689
+ class ProxyClusterKeyGetResponse
8690
+ # Reserved for future use.
8691
+ attr_accessor :meta
8692
+ # The requested ProxyClusterKey.
8693
+ attr_accessor :proxy_cluster_key
8694
+ # Rate limit information.
8695
+ attr_accessor :rate_limit
8696
+
8697
+ def initialize(
8698
+ meta: nil,
8699
+ proxy_cluster_key: nil,
8700
+ rate_limit: nil
8701
+ )
8702
+ @meta = meta == nil ? nil : meta
8703
+ @proxy_cluster_key = proxy_cluster_key == nil ? nil : proxy_cluster_key
8704
+ @rate_limit = rate_limit == nil ? nil : rate_limit
8705
+ end
8706
+
8707
+ def to_json(options = {})
8708
+ hash = {}
8709
+ self.instance_variables.each do |var|
8710
+ hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
8711
+ end
8712
+ hash.to_json
8713
+ end
8714
+ end
8715
+
8547
8716
  # A Query is a record of a single client request to a resource, such as a SQL query.
8548
8717
  # Longer-running queries including long-running SSH commands and SSH, RDP, or Kubernetes
8549
8718
  # interactive sessions will return two Query records with the same identifier, one record
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 = "2024-03-28"
32
- USER_AGENT = "strongdm-sdk-ruby/11.10.1"
32
+ USER_AGENT = "strongdm-sdk-ruby/11.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.
@@ -88,6 +88,7 @@ module SDM #:nodoc:
88
88
  @peering_groups = PeeringGroups.new(@channel, self)
89
89
  @policies = Policies.new(@channel, self)
90
90
  @policies_history = PoliciesHistory.new(@channel, self)
91
+ @proxy_cluster_keys = ProxyClusterKeys.new(@channel, self)
91
92
  @queries = Queries.new(@channel, self)
92
93
  @remote_identities = RemoteIdentities.new(@channel, self)
93
94
  @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self)
@@ -346,6 +347,12 @@ module SDM #:nodoc:
346
347
  #
347
348
  # See {PoliciesHistory}.
348
349
  attr_reader :policies_history
350
+ # Proxy Cluster Keys are authentication keys for all proxies within a cluster.
351
+ # The proxies within a cluster share the same key. One cluster can have
352
+ # multiple keys in order to facilitate key rotation.
353
+ #
354
+ # See {ProxyClusterKeys}.
355
+ attr_reader :proxy_cluster_keys
349
356
  # A Query is a record of a single client request to a resource, such as a SQL query.
350
357
  # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
351
358
  # The Queries service is read-only.
@@ -491,6 +498,7 @@ module SDM #:nodoc:
491
498
  @peering_groups = PeeringGroups.new(@channel, self)
492
499
  @policies = Policies.new(@channel, self)
493
500
  @policies_history = PoliciesHistory.new(@channel, self)
501
+ @proxy_cluster_keys = ProxyClusterKeys.new(@channel, self)
494
502
  @queries = Queries.new(@channel, self)
495
503
  @remote_identities = RemoteIdentities.new(@channel, self)
496
504
  @remote_identities_history = RemoteIdentitiesHistory.new(@channel, self)
@@ -533,6 +541,7 @@ module SDM #:nodoc:
533
541
  @identity_sets = SnapshotIdentitySets.new(client.identity_sets)
534
542
  @nodes = SnapshotNodes.new(client.nodes)
535
543
  @policies = SnapshotPolicies.new(client.policies)
544
+ @proxy_cluster_keys = SnapshotProxyClusterKeys.new(client.proxy_cluster_keys)
536
545
  @remote_identities = SnapshotRemoteIdentities.new(client.remote_identities)
537
546
  @remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups)
538
547
  @resources = SnapshotResources.new(client.resources)
@@ -608,6 +617,12 @@ module SDM #:nodoc:
608
617
  #
609
618
  # See {SnapshotPolicies}.
610
619
  attr_reader :policies
620
+ # Proxy Cluster Keys are authentication keys for all proxies within a cluster.
621
+ # The proxies within a cluster share the same key. One cluster can have
622
+ # multiple keys in order to facilitate key rotation.
623
+ #
624
+ # See {SnapshotProxyClusterKeys}.
625
+ attr_reader :proxy_cluster_keys
611
626
  # RemoteIdentities assign a resource directly to an account, giving the account the permission to connect to that resource.
612
627
  #
613
628
  # See {SnapshotRemoteIdentities}.
data/lib/svc.rb CHANGED
@@ -2649,6 +2649,7 @@ module SDM #:nodoc:
2649
2649
  #
2650
2650
  # See:
2651
2651
  # {Gateway}
2652
+ # {ProxyCluster}
2652
2653
  # {Relay}
2653
2654
  class Nodes
2654
2655
  extend Gem::Deprecate
@@ -3827,6 +3828,191 @@ module SDM #:nodoc:
3827
3828
  end
3828
3829
  end
3829
3830
 
3831
+ # Proxy Cluster Keys are authentication keys for all proxies within a cluster.
3832
+ # The proxies within a cluster share the same key. One cluster can have
3833
+ # multiple keys in order to facilitate key rotation.
3834
+ #
3835
+ # See {ProxyClusterKey}.
3836
+ class ProxyClusterKeys
3837
+ extend Gem::Deprecate
3838
+
3839
+ def initialize(channel, parent)
3840
+ begin
3841
+ @stub = V1::ProxyClusterKeys::Stub.new(nil, nil, channel_override: channel)
3842
+ rescue => exception
3843
+ raise Plumbing::convert_error_to_porcelain(exception)
3844
+ end
3845
+ @parent = parent
3846
+ end
3847
+
3848
+ # Create registers a new ProxyClusterKey.
3849
+ def create(
3850
+ proxy_cluster_key,
3851
+ deadline: nil
3852
+ )
3853
+ req = V1::ProxyClusterKeyCreateRequest.new()
3854
+
3855
+ req.proxy_cluster_key = Plumbing::convert_proxy_cluster_key_to_plumbing(proxy_cluster_key)
3856
+ tries = 0
3857
+ plumbing_response = nil
3858
+ loop do
3859
+ begin
3860
+ plumbing_response = @stub.create(req, metadata: @parent.get_metadata("ProxyClusterKeys.Create", req), deadline: deadline)
3861
+ rescue => exception
3862
+ if (@parent.shouldRetry(tries, exception))
3863
+ tries + +@parent.jitterSleep(tries)
3864
+ next
3865
+ end
3866
+ raise Plumbing::convert_error_to_porcelain(exception)
3867
+ end
3868
+ break
3869
+ end
3870
+
3871
+ resp = ProxyClusterKeyCreateResponse.new()
3872
+ resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta)
3873
+ resp.proxy_cluster_key = Plumbing::convert_proxy_cluster_key_to_porcelain(plumbing_response.proxy_cluster_key)
3874
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
3875
+ resp.secret_key = (plumbing_response.secret_key)
3876
+ resp
3877
+ end
3878
+
3879
+ # Get reads one ProxyClusterKey by ID.
3880
+ def get(
3881
+ id,
3882
+ deadline: nil
3883
+ )
3884
+ req = V1::ProxyClusterKeyGetRequest.new()
3885
+ if not @parent.snapshot_time.nil?
3886
+ req.meta = V1::GetRequestMetadata.new()
3887
+ req.meta.snapshot_at = @parent.snapshot_time
3888
+ end
3889
+
3890
+ req.id = (id)
3891
+ tries = 0
3892
+ plumbing_response = nil
3893
+ loop do
3894
+ begin
3895
+ plumbing_response = @stub.get(req, metadata: @parent.get_metadata("ProxyClusterKeys.Get", req), deadline: deadline)
3896
+ rescue => exception
3897
+ if (@parent.shouldRetry(tries, exception))
3898
+ tries + +@parent.jitterSleep(tries)
3899
+ next
3900
+ end
3901
+ raise Plumbing::convert_error_to_porcelain(exception)
3902
+ end
3903
+ break
3904
+ end
3905
+
3906
+ resp = ProxyClusterKeyGetResponse.new()
3907
+ resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
3908
+ resp.proxy_cluster_key = Plumbing::convert_proxy_cluster_key_to_porcelain(plumbing_response.proxy_cluster_key)
3909
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
3910
+ resp
3911
+ end
3912
+
3913
+ # Delete removes a ProxyClusterKey by ID.
3914
+ def delete(
3915
+ id,
3916
+ deadline: nil
3917
+ )
3918
+ req = V1::ProxyClusterKeyDeleteRequest.new()
3919
+
3920
+ req.id = (id)
3921
+ tries = 0
3922
+ plumbing_response = nil
3923
+ loop do
3924
+ begin
3925
+ plumbing_response = @stub.delete(req, metadata: @parent.get_metadata("ProxyClusterKeys.Delete", req), deadline: deadline)
3926
+ rescue => exception
3927
+ if (@parent.shouldRetry(tries, exception))
3928
+ tries + +@parent.jitterSleep(tries)
3929
+ next
3930
+ end
3931
+ raise Plumbing::convert_error_to_porcelain(exception)
3932
+ end
3933
+ break
3934
+ end
3935
+
3936
+ resp = ProxyClusterKeyDeleteResponse.new()
3937
+ resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta)
3938
+ resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
3939
+ resp
3940
+ end
3941
+
3942
+ # List gets a list of ProxyClusterKeys matching a given set of criteria.
3943
+ def list(
3944
+ filter,
3945
+ *args,
3946
+ deadline: nil
3947
+ )
3948
+ req = V1::ProxyClusterKeyListRequest.new()
3949
+ req.meta = V1::ListRequestMetadata.new()
3950
+ if @parent.page_limit > 0
3951
+ req.meta.limit = @parent.page_limit
3952
+ end
3953
+ if not @parent.snapshot_time.nil?
3954
+ req.meta.snapshot_at = @parent.snapshot_time
3955
+ end
3956
+
3957
+ req.filter = Plumbing::quote_filter_args(filter, *args)
3958
+ resp = Enumerator::Generator.new { |g|
3959
+ tries = 0
3960
+ loop do
3961
+ begin
3962
+ plumbing_response = @stub.list(req, metadata: @parent.get_metadata("ProxyClusterKeys.List", req), deadline: deadline)
3963
+ rescue => exception
3964
+ if (@parent.shouldRetry(tries, exception))
3965
+ tries + +@parent.jitterSleep(tries)
3966
+ next
3967
+ end
3968
+ raise Plumbing::convert_error_to_porcelain(exception)
3969
+ end
3970
+ tries = 0
3971
+ plumbing_response.proxy_cluster_keys.each do |plumbing_item|
3972
+ g.yield Plumbing::convert_proxy_cluster_key_to_porcelain(plumbing_item)
3973
+ end
3974
+ break if plumbing_response.meta.next_cursor == ""
3975
+ req.meta.cursor = plumbing_response.meta.next_cursor
3976
+ end
3977
+ }
3978
+ resp
3979
+ end
3980
+ end
3981
+
3982
+ # SnapshotProxyClusterKeys exposes the read only methods of the ProxyClusterKeys
3983
+ # service for historical queries.
3984
+ class SnapshotProxyClusterKeys
3985
+ extend Gem::Deprecate
3986
+
3987
+ def initialize(proxy_cluster_keys)
3988
+ @proxy_cluster_keys = proxy_cluster_keys
3989
+ end
3990
+
3991
+ # Get reads one ProxyClusterKey by ID.
3992
+ def get(
3993
+ id,
3994
+ deadline: nil
3995
+ )
3996
+ return @proxy_cluster_keys.get(
3997
+ id,
3998
+ deadline: deadline,
3999
+ )
4000
+ end
4001
+
4002
+ # List gets a list of ProxyClusterKeys matching a given set of criteria.
4003
+ def list(
4004
+ filter,
4005
+ *args,
4006
+ deadline: nil
4007
+ )
4008
+ return @proxy_cluster_keys.list(
4009
+ filter,
4010
+ *args,
4011
+ deadline: deadline,
4012
+ )
4013
+ end
4014
+ end
4015
+
3830
4016
  # A Query is a record of a single client request to a resource, such as a SQL query.
3831
4017
  # Long-running SSH, RDP, or Kubernetes interactive sessions also count as queries.
3832
4018
  # The Queries service is read-only.
data/lib/version CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "11.10.1"
16
+ VERSION = "11.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 = "11.10.1"
16
+ VERSION = "11.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: 11.10.1
4
+ version: 11.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: 2024-09-16 00:00:00.000000000 Z
11
+ date: 2024-09-19 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-3fc97673a40bf3c5faa9b3f479247208661eb2ee.idx"
85
- - "./.git/objects/pack/pack-3fc97673a40bf3c5faa9b3f479247208661eb2ee.pack"
84
+ - "./.git/objects/pack/pack-df60916a72c8fa7d9555723e00c0d0a37328eb73.idx"
85
+ - "./.git/objects/pack/pack-df60916a72c8fa7d9555723e00c0d0a37328eb73.pack"
86
86
  - "./.git/packed-refs"
87
87
  - "./.git/refs/heads/master"
88
88
  - "./.git/refs/remotes/origin/HEAD"
@@ -161,6 +161,8 @@ files:
161
161
  - "./lib/grpc/policies_history_services_pb.rb"
162
162
  - "./lib/grpc/policies_pb.rb"
163
163
  - "./lib/grpc/policies_services_pb.rb"
164
+ - "./lib/grpc/proxy_cluster_keys_pb.rb"
165
+ - "./lib/grpc/proxy_cluster_keys_services_pb.rb"
164
166
  - "./lib/grpc/queries_pb.rb"
165
167
  - "./lib/grpc/queries_services_pb.rb"
166
168
  - "./lib/grpc/remote_identities_history_pb.rb"