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 +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-3fc97673a40bf3c5faa9b3f479247208661eb2ee.idx → pack-df60916a72c8fa7d9555723e00c0d0a37328eb73.idx} +0 -0
- data/.git/objects/pack/{pack-3fc97673a40bf3c5faa9b3f479247208661eb2ee.pack → pack-df60916a72c8fa7d9555723e00c0d0a37328eb73.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/plumbing.rb +203 -0
- data/lib/grpc/proxy_cluster_keys_pb.rb +81 -0
- data/lib/grpc/proxy_cluster_keys_services_pb.rb +45 -0
- data/lib/models/porcelain.rb +169 -0
- data/lib/strongdm.rb +16 -1
- data/lib/svc.rb +186 -0
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2891e626bb0f081f6fe81d371be5ffd8d00dc9655ebcd3a28b528a818d48cfe4
|
|
4
|
+
data.tar.gz: cd48fb72a6d546e97cfdc86bc72dd3046b084dbc6312a9a248104bbef7068d57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 357af91d104620fa418de8a57ef12ec170f309c2d681598455ec94b4d704d589a0d4cec484ee47cb215106d95abac7c428bc1aa3768cae38650a342528d15f1a
|
|
7
|
+
data.tar.gz: e0351ab29a0f0d08e245d2ad9de038f73eb1b90f386fe4ad9c02d42fa7e51969731b6d17a2f1d6ae12028786e8f5bab3ae648b4022958d8b94937c03b1cd21ff
|
data/.git/ORIG_HEAD
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
065048b7cde632b75a2b72a61a3357e10db96a61
|
data/.git/index
CHANGED
|
Binary file
|
data/.git/logs/HEAD
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
3
|
-
|
|
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
|
data/.git/logs/refs/heads/master
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
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
|
|
1
|
+
0000000000000000000000000000000000000000 065048b7cde632b75a2b72a61a3357e10db96a61 root <root@91b09fb9d94c.(none)> 1726770894 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
Binary file
|
|
Binary file
|
data/.git/packed-refs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# pack-refs with: peeled fully-peeled sorted
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
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
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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
|
data/lib/models/porcelain.rb
CHANGED
|
@@ -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.
|
|
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
data/lib/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: strongdm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 11.
|
|
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-
|
|
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-
|
|
85
|
-
- "./.git/objects/pack/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"
|