strongdm 11.15.0 → 11.17.0
Sign up to get free protection for your applications and to get access to all the features.
- 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-4f2968bd20a0045494b845027aca2efe999a68c0.idx → pack-69c1a45cd1d71a0a1a6bf0981aa9e0ac28aad184.idx} +0 -0
- data/.git/objects/pack/{pack-4f2968bd20a0045494b845027aca2efe999a68c0.pack → pack-69c1a45cd1d71a0a1a6bf0981aa9e0ac28aad184.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/drivers_pb.rb +18 -0
- data/lib/grpc/health_checks_pb.rb +52 -0
- data/lib/grpc/health_checks_services_pb.rb +38 -0
- data/lib/grpc/plumbing.rb +149 -0
- data/lib/models/porcelain.rb +140 -0
- data/lib/strongdm.rb +8 -1
- data/lib/svc.rb +57 -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: 1ca44dffaac601860e6f5af54ff1cbfffc733cc52934c59fc66c16fd09dc695d
|
4
|
+
data.tar.gz: 6dcf82eaa5e6a2777084736685c8c3bf2b4ec29f1b93a4287f20ed0ea405becb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 344b6e6fd9afe1b865adf23437b356430de15b24813b516d572d6ed34a079caced0ee3096dbea744fc0fd7476f5c8ced3633d08fbb2581fb8fcf7094b32ca533
|
7
|
+
data.tar.gz: 1a784eae70baf0accfff024800ec96297ab2b1d2259e5d2a0814f802bf21147a903d347766eeda4aebc4bf6255dc42ac36bfacc70da8c7d7d31524e33b75b33d
|
data/.git/ORIG_HEAD
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
5ea659281f2b7a99a04b52522551bce0625859eb
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
3
|
-
|
1
|
+
0000000000000000000000000000000000000000 5ea659281f2b7a99a04b52522551bce0625859eb root <root@216f1be888a4.(none)> 1730393736 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
5ea659281f2b7a99a04b52522551bce0625859eb 5ea659281f2b7a99a04b52522551bce0625859eb root <root@216f1be888a4.(none)> 1730393736 +0000 checkout: moving from master to master
|
3
|
+
5ea659281f2b7a99a04b52522551bce0625859eb 1e1852727f8fb5404f59461655b2b73fb270d925 root <root@216f1be888a4.(none)> 1730393736 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 5ea659281f2b7a99a04b52522551bce0625859eb root <root@216f1be888a4.(none)> 1730393736 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
5ea659281f2b7a99a04b52522551bce0625859eb 1e1852727f8fb5404f59461655b2b73fb270d925 root <root@216f1be888a4.(none)> 1730393736 +0000 merge origin/development: Fast-forward
|
@@ -1 +1 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
1
|
+
0000000000000000000000000000000000000000 5ea659281f2b7a99a04b52522551bce0625859eb root <root@216f1be888a4.(none)> 1730393736 +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
|
+
1e1852727f8fb5404f59461655b2b73fb270d925 refs/remotes/origin/development
|
3
|
+
5ea659281f2b7a99a04b52522551bce0625859eb refs/remotes/origin/master
|
4
4
|
2e4fe8087177ddea9b3991ca499f758384839c89 refs/tags/untagged-84fd83a4484c785cce63
|
5
5
|
04f604866214fab4d5663b5171a3e596331577bd refs/tags/v0.9.4
|
6
6
|
6f9a7b75b345c65fb554884907b7060680c807b7 refs/tags/v0.9.5
|
@@ -42,6 +42,8 @@ bf1c418728ff5a8ff1ffb1c261dcffbca06612f6 refs/tags/v11.11.2
|
|
42
42
|
aca824df29f19d5db284f1b94a34f5a3f2d2cbc7 refs/tags/v11.12.0
|
43
43
|
323de62143b58142c1b49dba2ab9e120aa44926e refs/tags/v11.13.0
|
44
44
|
30dce70c61509dfd3e9f9b427dcb406e68985697 refs/tags/v11.14.0
|
45
|
+
76f5a2a075048c179bcabe4cad4f3e66e1f10b12 refs/tags/v11.15.0
|
46
|
+
5ea659281f2b7a99a04b52522551bce0625859eb refs/tags/v11.16.0
|
45
47
|
9103d7d0e3104e99edb3d9a188d231ae0ce3947f refs/tags/v11.3.0
|
46
48
|
8c7312bf4266bdfeff959667faba7f8ef1e58f27 refs/tags/v11.4.0
|
47
49
|
d181d0dc49250f81e47eea64cdd8e6a93f7a95da refs/tags/v11.5.0
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
1e1852727f8fb5404f59461655b2b73fb270d925
|
data/lib/grpc/drivers_pb.rb
CHANGED
@@ -32,6 +32,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
32
32
|
optional :aws, :message, 2300, "v1.AWS"
|
33
33
|
optional :aws_console, :message, 3000, "v1.AWSConsole"
|
34
34
|
optional :aws_console_static_key_pair, :message, 3001, "v1.AWSConsoleStaticKeyPair"
|
35
|
+
optional :aws_instance_profile, :message, 2301, "v1.AWSInstanceProfile"
|
35
36
|
optional :amazon_eks, :message, 802, "v1.AmazonEKS"
|
36
37
|
optional :amazon_eks_instance_profile, :message, 809, "v1.AmazonEKSInstanceProfile"
|
37
38
|
optional :amazon_eks_instance_profile_user_impersonation, :message, 813, "v1.AmazonEKSInstanceProfileUserImpersonation"
|
@@ -264,6 +265,22 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
264
265
|
optional :session_expiry, :int32, 6
|
265
266
|
optional :subdomain, :string, 7
|
266
267
|
end
|
268
|
+
add_message "v1.AWSInstanceProfile" do
|
269
|
+
optional :id, :string, 32768
|
270
|
+
optional :name, :string, 32769
|
271
|
+
optional :healthy, :bool, 32770
|
272
|
+
optional :tags, :message, 32771, "v1.Tags"
|
273
|
+
optional :secret_store_id, :string, 32772
|
274
|
+
optional :egress_filter, :string, 32773
|
275
|
+
optional :bind_interface, :string, 32774
|
276
|
+
optional :proxy_cluster_id, :string, 32776
|
277
|
+
optional :subdomain, :string, 32775
|
278
|
+
optional :enable_env_variables, :bool, 1
|
279
|
+
optional :port_override, :int32, 8
|
280
|
+
optional :region, :string, 2
|
281
|
+
optional :role_arn, :string, 3
|
282
|
+
optional :role_external_id, :string, 4
|
283
|
+
end
|
267
284
|
add_message "v1.AmazonEKS" do
|
268
285
|
optional :id, :string, 32768
|
269
286
|
optional :name, :string, 32769
|
@@ -1705,6 +1722,7 @@ module V1
|
|
1705
1722
|
AWS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWS").msgclass
|
1706
1723
|
AWSConsole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSConsole").msgclass
|
1707
1724
|
AWSConsoleStaticKeyPair = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSConsoleStaticKeyPair").msgclass
|
1725
|
+
AWSInstanceProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSInstanceProfile").msgclass
|
1708
1726
|
AmazonEKS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKS").msgclass
|
1709
1727
|
AmazonEKSInstanceProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKSInstanceProfile").msgclass
|
1710
1728
|
AmazonEKSInstanceProfileUserImpersonation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AmazonEKSInstanceProfileUserImpersonation").msgclass
|
@@ -0,0 +1,52 @@
|
|
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: health_checks.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("health_checks.proto", :syntax => :proto3) do
|
26
|
+
add_message "v1.HealthcheckListRequest" do
|
27
|
+
optional :meta, :message, 1, "v1.ListRequestMetadata"
|
28
|
+
optional :filter, :string, 2
|
29
|
+
end
|
30
|
+
add_message "v1.HealthcheckListResponse" do
|
31
|
+
optional :meta, :message, 1, "v1.ListResponseMetadata"
|
32
|
+
repeated :healthchecks, :message, 2, "v1.Healthcheck"
|
33
|
+
optional :rate_limit, :message, 3, "v1.RateLimitMetadata"
|
34
|
+
end
|
35
|
+
add_message "v1.Healthcheck" do
|
36
|
+
optional :id, :string, 1
|
37
|
+
optional :resource_id, :string, 2
|
38
|
+
optional :resource_name, :string, 3
|
39
|
+
optional :node_id, :string, 4
|
40
|
+
optional :node_name, :string, 5
|
41
|
+
optional :healthy, :bool, 6
|
42
|
+
optional :error_msg, :string, 7
|
43
|
+
optional :timestamp, :message, 8, "google.protobuf.Timestamp"
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
module V1
|
49
|
+
HealthcheckListRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.HealthcheckListRequest").msgclass
|
50
|
+
HealthcheckListResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.HealthcheckListResponse").msgclass
|
51
|
+
Healthcheck = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.Healthcheck").msgclass
|
52
|
+
end
|
@@ -0,0 +1,38 @@
|
|
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: health_checks.proto for package 'v1'
|
17
|
+
|
18
|
+
require "grpc"
|
19
|
+
require "health_checks_pb"
|
20
|
+
|
21
|
+
module V1
|
22
|
+
module HealthChecks
|
23
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
24
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
25
|
+
class Service
|
26
|
+
include ::GRPC::GenericService
|
27
|
+
|
28
|
+
self.marshal_class_method = :encode
|
29
|
+
self.unmarshal_class_method = :decode
|
30
|
+
self.service_name = "v1.HealthChecks"
|
31
|
+
|
32
|
+
# List gets a list of Healthchecks matching a given set of criteria.
|
33
|
+
rpc :List, ::V1::HealthcheckListRequest, ::V1::HealthcheckListResponse
|
34
|
+
end
|
35
|
+
|
36
|
+
Stub = Service.rpc_stub_class
|
37
|
+
end
|
38
|
+
end
|
data/lib/grpc/plumbing.rb
CHANGED
@@ -42,6 +42,7 @@ require_relative "./approval_workflows_pb"
|
|
42
42
|
require_relative "./approval_workflows_history_pb"
|
43
43
|
require_relative "./control_panel_pb"
|
44
44
|
require_relative "./drivers_pb"
|
45
|
+
require_relative "./health_checks_pb"
|
45
46
|
require_relative "./identity_aliases_pb"
|
46
47
|
require_relative "./identity_aliases_history_pb"
|
47
48
|
require_relative "./identity_sets_pb"
|
@@ -746,6 +747,66 @@ module SDM
|
|
746
747
|
end
|
747
748
|
items
|
748
749
|
end
|
750
|
+
def self.convert_aws_instance_profile_to_porcelain(plumbing)
|
751
|
+
if plumbing == nil
|
752
|
+
return nil
|
753
|
+
end
|
754
|
+
porcelain = AWSInstanceProfile.new()
|
755
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
756
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
757
|
+
porcelain.enable_env_variables = (plumbing.enable_env_variables)
|
758
|
+
porcelain.healthy = (plumbing.healthy)
|
759
|
+
porcelain.id = (plumbing.id)
|
760
|
+
porcelain.name = (plumbing.name)
|
761
|
+
porcelain.port_override = (plumbing.port_override)
|
762
|
+
porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
|
763
|
+
porcelain.region = (plumbing.region)
|
764
|
+
porcelain.role_arn = (plumbing.role_arn)
|
765
|
+
porcelain.role_external_id = (plumbing.role_external_id)
|
766
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
767
|
+
porcelain.subdomain = (plumbing.subdomain)
|
768
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
769
|
+
porcelain
|
770
|
+
end
|
771
|
+
|
772
|
+
def self.convert_aws_instance_profile_to_plumbing(porcelain)
|
773
|
+
if porcelain == nil
|
774
|
+
return nil
|
775
|
+
end
|
776
|
+
plumbing = V1::AWSInstanceProfile.new()
|
777
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
778
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
779
|
+
plumbing.enable_env_variables = (porcelain.enable_env_variables)
|
780
|
+
plumbing.healthy = (porcelain.healthy)
|
781
|
+
plumbing.id = (porcelain.id)
|
782
|
+
plumbing.name = (porcelain.name)
|
783
|
+
plumbing.port_override = (porcelain.port_override)
|
784
|
+
plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
|
785
|
+
plumbing.region = (porcelain.region)
|
786
|
+
plumbing.role_arn = (porcelain.role_arn)
|
787
|
+
plumbing.role_external_id = (porcelain.role_external_id)
|
788
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
789
|
+
plumbing.subdomain = (porcelain.subdomain)
|
790
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
791
|
+
plumbing
|
792
|
+
end
|
793
|
+
def self.convert_repeated_aws_instance_profile_to_plumbing(porcelains)
|
794
|
+
items = Array.new
|
795
|
+
porcelains.each do |porcelain|
|
796
|
+
plumbing = convert_aws_instance_profile_to_plumbing(porcelain)
|
797
|
+
items.append(plumbing)
|
798
|
+
end
|
799
|
+
items
|
800
|
+
end
|
801
|
+
|
802
|
+
def self.convert_repeated_aws_instance_profile_to_porcelain(plumbings)
|
803
|
+
items = Array.new
|
804
|
+
plumbings.each do |plumbing|
|
805
|
+
porcelain = convert_aws_instance_profile_to_porcelain(plumbing)
|
806
|
+
items.append(porcelain)
|
807
|
+
end
|
808
|
+
items
|
809
|
+
end
|
749
810
|
def self.convert_aws_store_to_porcelain(plumbing)
|
750
811
|
if plumbing == nil
|
751
812
|
return nil
|
@@ -5691,6 +5752,88 @@ module SDM
|
|
5691
5752
|
end
|
5692
5753
|
items
|
5693
5754
|
end
|
5755
|
+
def self.convert_healthcheck_to_porcelain(plumbing)
|
5756
|
+
if plumbing == nil
|
5757
|
+
return nil
|
5758
|
+
end
|
5759
|
+
porcelain = Healthcheck.new()
|
5760
|
+
porcelain.error_msg = (plumbing.error_msg)
|
5761
|
+
porcelain.healthy = (plumbing.healthy)
|
5762
|
+
porcelain.id = (plumbing.id)
|
5763
|
+
porcelain.node_id = (plumbing.node_id)
|
5764
|
+
porcelain.node_name = (plumbing.node_name)
|
5765
|
+
porcelain.resource_id = (plumbing.resource_id)
|
5766
|
+
porcelain.resource_name = (plumbing.resource_name)
|
5767
|
+
porcelain.timestamp = convert_timestamp_to_porcelain(plumbing.timestamp)
|
5768
|
+
porcelain
|
5769
|
+
end
|
5770
|
+
|
5771
|
+
def self.convert_healthcheck_to_plumbing(porcelain)
|
5772
|
+
if porcelain == nil
|
5773
|
+
return nil
|
5774
|
+
end
|
5775
|
+
plumbing = V1::Healthcheck.new()
|
5776
|
+
plumbing.error_msg = (porcelain.error_msg)
|
5777
|
+
plumbing.healthy = (porcelain.healthy)
|
5778
|
+
plumbing.id = (porcelain.id)
|
5779
|
+
plumbing.node_id = (porcelain.node_id)
|
5780
|
+
plumbing.node_name = (porcelain.node_name)
|
5781
|
+
plumbing.resource_id = (porcelain.resource_id)
|
5782
|
+
plumbing.resource_name = (porcelain.resource_name)
|
5783
|
+
plumbing.timestamp = convert_timestamp_to_plumbing(porcelain.timestamp)
|
5784
|
+
plumbing
|
5785
|
+
end
|
5786
|
+
def self.convert_repeated_healthcheck_to_plumbing(porcelains)
|
5787
|
+
items = Array.new
|
5788
|
+
porcelains.each do |porcelain|
|
5789
|
+
plumbing = convert_healthcheck_to_plumbing(porcelain)
|
5790
|
+
items.append(plumbing)
|
5791
|
+
end
|
5792
|
+
items
|
5793
|
+
end
|
5794
|
+
|
5795
|
+
def self.convert_repeated_healthcheck_to_porcelain(plumbings)
|
5796
|
+
items = Array.new
|
5797
|
+
plumbings.each do |plumbing|
|
5798
|
+
porcelain = convert_healthcheck_to_porcelain(plumbing)
|
5799
|
+
items.append(porcelain)
|
5800
|
+
end
|
5801
|
+
items
|
5802
|
+
end
|
5803
|
+
def self.convert_healthcheck_list_response_to_porcelain(plumbing)
|
5804
|
+
if plumbing == nil
|
5805
|
+
return nil
|
5806
|
+
end
|
5807
|
+
porcelain = HealthcheckListResponse.new()
|
5808
|
+
porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
|
5809
|
+
porcelain
|
5810
|
+
end
|
5811
|
+
|
5812
|
+
def self.convert_healthcheck_list_response_to_plumbing(porcelain)
|
5813
|
+
if porcelain == nil
|
5814
|
+
return nil
|
5815
|
+
end
|
5816
|
+
plumbing = V1::HealthcheckListResponse.new()
|
5817
|
+
plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
|
5818
|
+
plumbing
|
5819
|
+
end
|
5820
|
+
def self.convert_repeated_healthcheck_list_response_to_plumbing(porcelains)
|
5821
|
+
items = Array.new
|
5822
|
+
porcelains.each do |porcelain|
|
5823
|
+
plumbing = convert_healthcheck_list_response_to_plumbing(porcelain)
|
5824
|
+
items.append(plumbing)
|
5825
|
+
end
|
5826
|
+
items
|
5827
|
+
end
|
5828
|
+
|
5829
|
+
def self.convert_repeated_healthcheck_list_response_to_porcelain(plumbings)
|
5830
|
+
items = Array.new
|
5831
|
+
plumbings.each do |plumbing|
|
5832
|
+
porcelain = convert_healthcheck_list_response_to_porcelain(plumbing)
|
5833
|
+
items.append(porcelain)
|
5834
|
+
end
|
5835
|
+
items
|
5836
|
+
end
|
5694
5837
|
def self.convert_identity_alias_to_porcelain(plumbing)
|
5695
5838
|
if plumbing == nil
|
5696
5839
|
return nil
|
@@ -10281,6 +10424,9 @@ module SDM
|
|
10281
10424
|
if porcelain.instance_of? AWSConsoleStaticKeyPair
|
10282
10425
|
plumbing.aws_console_static_key_pair = convert_aws_console_static_key_pair_to_plumbing(porcelain)
|
10283
10426
|
end
|
10427
|
+
if porcelain.instance_of? AWSInstanceProfile
|
10428
|
+
plumbing.aws_instance_profile = convert_aws_instance_profile_to_plumbing(porcelain)
|
10429
|
+
end
|
10284
10430
|
if porcelain.instance_of? Azure
|
10285
10431
|
plumbing.azure = convert_azure_to_plumbing(porcelain)
|
10286
10432
|
end
|
@@ -10549,6 +10695,9 @@ module SDM
|
|
10549
10695
|
if plumbing.aws_console_static_key_pair != nil
|
10550
10696
|
return convert_aws_console_static_key_pair_to_porcelain(plumbing.aws_console_static_key_pair)
|
10551
10697
|
end
|
10698
|
+
if plumbing.aws_instance_profile != nil
|
10699
|
+
return convert_aws_instance_profile_to_porcelain(plumbing.aws_instance_profile)
|
10700
|
+
end
|
10552
10701
|
if plumbing.azure != nil
|
10553
10702
|
return convert_azure_to_porcelain(plumbing.azure)
|
10554
10703
|
end
|
data/lib/models/porcelain.rb
CHANGED
@@ -728,6 +728,77 @@ module SDM
|
|
728
728
|
end
|
729
729
|
end
|
730
730
|
|
731
|
+
class AWSInstanceProfile
|
732
|
+
# The bind interface is the IP address to which the port override of a resource is bound (for example, 127.0.0.1). It is automatically generated if not provided.
|
733
|
+
attr_accessor :bind_interface
|
734
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
735
|
+
attr_accessor :egress_filter
|
736
|
+
# If true, prefer environment variables to authenticate connection even if EC2 roles are configured.
|
737
|
+
attr_accessor :enable_env_variables
|
738
|
+
# True if the datasource is reachable and the credentials are valid.
|
739
|
+
attr_accessor :healthy
|
740
|
+
# Unique identifier of the Resource.
|
741
|
+
attr_accessor :id
|
742
|
+
# Unique human-readable name of the Resource.
|
743
|
+
attr_accessor :name
|
744
|
+
# The local port used by clients to connect to this resource.
|
745
|
+
attr_accessor :port_override
|
746
|
+
# ID of the proxy cluster for this resource, if any.
|
747
|
+
attr_accessor :proxy_cluster_id
|
748
|
+
# The AWS region to connect to.
|
749
|
+
attr_accessor :region
|
750
|
+
# The role to assume after logging in.
|
751
|
+
attr_accessor :role_arn
|
752
|
+
# The external ID to associate with assume role requests. Does nothing if a role ARN is not provided.
|
753
|
+
attr_accessor :role_external_id
|
754
|
+
# ID of the secret store containing credentials for this resource, if any.
|
755
|
+
attr_accessor :secret_store_id
|
756
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
757
|
+
attr_accessor :subdomain
|
758
|
+
# Tags is a map of key, value pairs.
|
759
|
+
attr_accessor :tags
|
760
|
+
|
761
|
+
def initialize(
|
762
|
+
bind_interface: nil,
|
763
|
+
egress_filter: nil,
|
764
|
+
enable_env_variables: nil,
|
765
|
+
healthy: nil,
|
766
|
+
id: nil,
|
767
|
+
name: nil,
|
768
|
+
port_override: nil,
|
769
|
+
proxy_cluster_id: nil,
|
770
|
+
region: nil,
|
771
|
+
role_arn: nil,
|
772
|
+
role_external_id: nil,
|
773
|
+
secret_store_id: nil,
|
774
|
+
subdomain: nil,
|
775
|
+
tags: nil
|
776
|
+
)
|
777
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
778
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
779
|
+
@enable_env_variables = enable_env_variables == nil ? false : enable_env_variables
|
780
|
+
@healthy = healthy == nil ? false : healthy
|
781
|
+
@id = id == nil ? "" : id
|
782
|
+
@name = name == nil ? "" : name
|
783
|
+
@port_override = port_override == nil ? 0 : port_override
|
784
|
+
@proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
|
785
|
+
@region = region == nil ? "" : region
|
786
|
+
@role_arn = role_arn == nil ? "" : role_arn
|
787
|
+
@role_external_id = role_external_id == nil ? "" : role_external_id
|
788
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
789
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
790
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
791
|
+
end
|
792
|
+
|
793
|
+
def to_json(options = {})
|
794
|
+
hash = {}
|
795
|
+
self.instance_variables.each do |var|
|
796
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
797
|
+
end
|
798
|
+
hash.to_json
|
799
|
+
end
|
800
|
+
end
|
801
|
+
|
731
802
|
class AWSStore
|
732
803
|
# Unique identifier of the SecretStore.
|
733
804
|
attr_accessor :id
|
@@ -5652,6 +5723,75 @@ module SDM
|
|
5652
5723
|
end
|
5653
5724
|
end
|
5654
5725
|
|
5726
|
+
# Healthcheck defines the status of the link between a node and a resource
|
5727
|
+
class Healthcheck
|
5728
|
+
# The error if unhealthy
|
5729
|
+
attr_accessor :error_msg
|
5730
|
+
# Whether the healthcheck succeeded.
|
5731
|
+
attr_accessor :healthy
|
5732
|
+
# Unique identifier of the healthcheck.
|
5733
|
+
attr_accessor :id
|
5734
|
+
# Unique identifier of the healthcheck node.
|
5735
|
+
attr_accessor :node_id
|
5736
|
+
# The name of the node.
|
5737
|
+
attr_accessor :node_name
|
5738
|
+
# Unique identifier of the healthcheck resource.
|
5739
|
+
attr_accessor :resource_id
|
5740
|
+
# The name of the resource.
|
5741
|
+
attr_accessor :resource_name
|
5742
|
+
# The time at which the healthcheck state was recorded.
|
5743
|
+
attr_accessor :timestamp
|
5744
|
+
|
5745
|
+
def initialize(
|
5746
|
+
error_msg: nil,
|
5747
|
+
healthy: nil,
|
5748
|
+
id: nil,
|
5749
|
+
node_id: nil,
|
5750
|
+
node_name: nil,
|
5751
|
+
resource_id: nil,
|
5752
|
+
resource_name: nil,
|
5753
|
+
timestamp: nil
|
5754
|
+
)
|
5755
|
+
@error_msg = error_msg == nil ? "" : error_msg
|
5756
|
+
@healthy = healthy == nil ? false : healthy
|
5757
|
+
@id = id == nil ? "" : id
|
5758
|
+
@node_id = node_id == nil ? "" : node_id
|
5759
|
+
@node_name = node_name == nil ? "" : node_name
|
5760
|
+
@resource_id = resource_id == nil ? "" : resource_id
|
5761
|
+
@resource_name = resource_name == nil ? "" : resource_name
|
5762
|
+
@timestamp = timestamp == nil ? nil : timestamp
|
5763
|
+
end
|
5764
|
+
|
5765
|
+
def to_json(options = {})
|
5766
|
+
hash = {}
|
5767
|
+
self.instance_variables.each do |var|
|
5768
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5769
|
+
end
|
5770
|
+
hash.to_json
|
5771
|
+
end
|
5772
|
+
end
|
5773
|
+
|
5774
|
+
# HealthcheckListResponse returns a list of Healthchecks that meet the criteria of a
|
5775
|
+
# HealthcheckListRequest.
|
5776
|
+
class HealthcheckListResponse
|
5777
|
+
# Rate limit information.
|
5778
|
+
attr_accessor :rate_limit
|
5779
|
+
|
5780
|
+
def initialize(
|
5781
|
+
rate_limit: nil
|
5782
|
+
)
|
5783
|
+
@rate_limit = rate_limit == nil ? nil : rate_limit
|
5784
|
+
end
|
5785
|
+
|
5786
|
+
def to_json(options = {})
|
5787
|
+
hash = {}
|
5788
|
+
self.instance_variables.each do |var|
|
5789
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
5790
|
+
end
|
5791
|
+
hash.to_json
|
5792
|
+
end
|
5793
|
+
end
|
5794
|
+
|
5655
5795
|
# IdentityAliases define the username to be used for a specific account
|
5656
5796
|
# when connecting to a remote resource using that identity set.
|
5657
5797
|
class IdentityAlias
|
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.17.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.
|
@@ -75,6 +75,7 @@ module SDM #:nodoc:
|
|
75
75
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
76
76
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
77
77
|
@control_panel = ControlPanel.new(@channel, self)
|
78
|
+
@health_checks = HealthChecks.new(@channel, self)
|
78
79
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
79
80
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
80
81
|
@identity_sets = IdentitySets.new(@channel, self)
|
@@ -290,6 +291,11 @@ module SDM #:nodoc:
|
|
290
291
|
#
|
291
292
|
# See {ControlPanel}.
|
292
293
|
attr_reader :control_panel
|
294
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
295
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
296
|
+
#
|
297
|
+
# See {HealthChecks}.
|
298
|
+
attr_reader :health_checks
|
293
299
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
294
300
|
# The alias is used as the username when connecting to a identity supported resource.
|
295
301
|
#
|
@@ -485,6 +491,7 @@ module SDM #:nodoc:
|
|
485
491
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
486
492
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
487
493
|
@control_panel = ControlPanel.new(@channel, self)
|
494
|
+
@health_checks = HealthChecks.new(@channel, self)
|
488
495
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
489
496
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
490
497
|
@identity_sets = IdentitySets.new(@channel, self)
|
data/lib/svc.rb
CHANGED
@@ -2107,6 +2107,62 @@ module SDM #:nodoc:
|
|
2107
2107
|
end
|
2108
2108
|
end
|
2109
2109
|
|
2110
|
+
# HealthChecks lists the last healthcheck between each node and resource.
|
2111
|
+
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
2112
|
+
#
|
2113
|
+
# See {Healthcheck}.
|
2114
|
+
class HealthChecks
|
2115
|
+
extend Gem::Deprecate
|
2116
|
+
|
2117
|
+
def initialize(channel, parent)
|
2118
|
+
begin
|
2119
|
+
@stub = V1::HealthChecks::Stub.new(nil, nil, channel_override: channel)
|
2120
|
+
rescue => exception
|
2121
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2122
|
+
end
|
2123
|
+
@parent = parent
|
2124
|
+
end
|
2125
|
+
|
2126
|
+
# List gets a list of Healthchecks matching a given set of criteria.
|
2127
|
+
def list(
|
2128
|
+
filter,
|
2129
|
+
*args,
|
2130
|
+
deadline: nil
|
2131
|
+
)
|
2132
|
+
req = V1::HealthcheckListRequest.new()
|
2133
|
+
req.meta = V1::ListRequestMetadata.new()
|
2134
|
+
if @parent.page_limit > 0
|
2135
|
+
req.meta.limit = @parent.page_limit
|
2136
|
+
end
|
2137
|
+
if not @parent.snapshot_time.nil?
|
2138
|
+
req.meta.snapshot_at = @parent.snapshot_time
|
2139
|
+
end
|
2140
|
+
|
2141
|
+
req.filter = Plumbing::quote_filter_args(filter, *args)
|
2142
|
+
resp = Enumerator::Generator.new { |g|
|
2143
|
+
tries = 0
|
2144
|
+
loop do
|
2145
|
+
begin
|
2146
|
+
plumbing_response = @stub.list(req, metadata: @parent.get_metadata("HealthChecks.List", req), deadline: deadline)
|
2147
|
+
rescue => exception
|
2148
|
+
if (@parent.shouldRetry(tries, exception))
|
2149
|
+
tries + +@parent.jitterSleep(tries)
|
2150
|
+
next
|
2151
|
+
end
|
2152
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2153
|
+
end
|
2154
|
+
tries = 0
|
2155
|
+
plumbing_response.healthchecks.each do |plumbing_item|
|
2156
|
+
g.yield Plumbing::convert_healthcheck_to_porcelain(plumbing_item)
|
2157
|
+
end
|
2158
|
+
break if plumbing_response.meta.next_cursor == ""
|
2159
|
+
req.meta.cursor = plumbing_response.meta.next_cursor
|
2160
|
+
end
|
2161
|
+
}
|
2162
|
+
resp
|
2163
|
+
end
|
2164
|
+
end
|
2165
|
+
|
2110
2166
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
2111
2167
|
# The alias is used as the username when connecting to a identity supported resource.
|
2112
2168
|
#
|
@@ -4594,6 +4650,7 @@ module SDM #:nodoc:
|
|
4594
4650
|
# {AWS}
|
4595
4651
|
# {AWSConsole}
|
4596
4652
|
# {AWSConsoleStaticKeyPair}
|
4653
|
+
# {AWSInstanceProfile}
|
4597
4654
|
# {Azure}
|
4598
4655
|
# {AzureCertificate}
|
4599
4656
|
# {AzureMysql}
|
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.17.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-10-
|
11
|
+
date: 2024-10-31 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-69c1a45cd1d71a0a1a6bf0981aa9e0ac28aad184.idx"
|
85
|
+
- "./.git/objects/pack/pack-69c1a45cd1d71a0a1a6bf0981aa9e0ac28aad184.pack"
|
86
86
|
- "./.git/packed-refs"
|
87
87
|
- "./.git/refs/heads/master"
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|
@@ -133,6 +133,8 @@ files:
|
|
133
133
|
- "./lib/grpc/control_panel_pb.rb"
|
134
134
|
- "./lib/grpc/control_panel_services_pb.rb"
|
135
135
|
- "./lib/grpc/drivers_pb.rb"
|
136
|
+
- "./lib/grpc/health_checks_pb.rb"
|
137
|
+
- "./lib/grpc/health_checks_services_pb.rb"
|
136
138
|
- "./lib/grpc/identity_aliases_history_pb.rb"
|
137
139
|
- "./lib/grpc/identity_aliases_history_services_pb.rb"
|
138
140
|
- "./lib/grpc/identity_aliases_pb.rb"
|