strongdm 11.15.0 → 11.17.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: ce9c97401ad24fa884267608c388af3c972c89a740283491d00c51c91dc56176
4
- data.tar.gz: 9f85d4e89bc22f4f83f264c465b90a82a5a1e3a0f70ef027b9f4a05f1e768c5b
3
+ metadata.gz: 1ca44dffaac601860e6f5af54ff1cbfffc733cc52934c59fc66c16fd09dc695d
4
+ data.tar.gz: 6dcf82eaa5e6a2777084736685c8c3bf2b4ec29f1b93a4287f20ed0ea405becb
5
5
  SHA512:
6
- metadata.gz: c91303d6ffca7579607a3cf78f7ad9e289c85b7afd230b5ac047b0fa584c7cde622217fba0ec05fa10c6e80e0e4cc44cef3eacb67cca009ddd3fde57225ec911
7
- data.tar.gz: ae8af37b0aa683175e972768283beba4d396c1e6cd7018d031fe49bc29cee7a4266d149b8d6af37b70a69e2855454fa60f3879cb7fc5626b566525e43a8b9db7
6
+ metadata.gz: 344b6e6fd9afe1b865adf23437b356430de15b24813b516d572d6ed34a079caced0ee3096dbea744fc0fd7476f5c8ced3633d08fbb2581fb8fcf7094b32ca533
7
+ data.tar.gz: 1a784eae70baf0accfff024800ec96297ab2b1d2259e5d2a0814f802bf21147a903d347766eeda4aebc4bf6255dc42ac36bfacc70da8c7d7d31524e33b75b33d
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- 30dce70c61509dfd3e9f9b427dcb406e68985697
1
+ 5ea659281f2b7a99a04b52522551bce0625859eb
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 30dce70c61509dfd3e9f9b427dcb406e68985697 root <root@fa59e9c586c7.(none)> 1728921917 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 30dce70c61509dfd3e9f9b427dcb406e68985697 30dce70c61509dfd3e9f9b427dcb406e68985697 root <root@fa59e9c586c7.(none)> 1728921917 +0000 checkout: moving from master to master
3
- 30dce70c61509dfd3e9f9b427dcb406e68985697 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@fa59e9c586c7.(none)> 1728921917 +0000 merge origin/development: Fast-forward
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
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 30dce70c61509dfd3e9f9b427dcb406e68985697 root <root@fa59e9c586c7.(none)> 1728921917 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- 30dce70c61509dfd3e9f9b427dcb406e68985697 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 root <root@fa59e9c586c7.(none)> 1728921917 +0000 merge origin/development: Fast-forward
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 30dce70c61509dfd3e9f9b427dcb406e68985697 root <root@fa59e9c586c7.(none)> 1728921917 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 5ea659281f2b7a99a04b52522551bce0625859eb root <root@216f1be888a4.(none)> 1730393736 +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
- 76f5a2a075048c179bcabe4cad4f3e66e1f10b12 refs/remotes/origin/development
3
- 30dce70c61509dfd3e9f9b427dcb406e68985697 refs/remotes/origin/master
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
@@ -1 +1 @@
1
- 76f5a2a075048c179bcabe4cad4f3e66e1f10b12
1
+ 1e1852727f8fb5404f59461655b2b73fb270d925
@@ -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
@@ -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.15.0"
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
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "11.15.0"
16
+ VERSION = "11.17.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.15.0"
16
+ VERSION = "11.17.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.15.0
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-14 00:00:00.000000000 Z
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-4f2968bd20a0045494b845027aca2efe999a68c0.idx"
85
- - "./.git/objects/pack/pack-4f2968bd20a0045494b845027aca2efe999a68c0.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"