strongdm 15.2.0 → 15.4.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-c46a8993f8bf0b2070bf29c24dc20e72e3ec271c.idx → pack-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.idx} +0 -0
- data/.git/objects/pack/{pack-c46a8993f8bf0b2070bf29c24dc20e72e3ec271c.pack → pack-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.pack} +0 -0
- data/.git/packed-refs +3 -2
- data/.git/refs/heads/master +1 -1
- data/lib/grpc/approval_workflow_approvers_pb.rb +1 -0
- data/lib/grpc/approval_workflows_pb.rb +1 -0
- data/lib/grpc/drivers_pb.rb +39 -0
- data/lib/grpc/plumbing.rb +139 -1
- data/lib/models/porcelain.rb +166 -0
- data/lib/strongdm.rb +16 -16
- data/lib/svc.rb +216 -214
- data/lib/version +1 -1
- data/lib/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f276d1e777643cadd804787813f7c61a090461a6222f826afa129ec3e372c831
|
4
|
+
data.tar.gz: 667a1207967cee10cbd68a141a64afa17052d8e794aeed2983c8499350427d80
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4342d222dda68d50df2d749e8978344b5c2996641a2daef2addf9d14bfeb27154864ef932bc9749cf9dbeeaf12fec636d728b070f66e94164865eb18980e59cc
|
7
|
+
data.tar.gz: 1e71bf2daf268cf89cd62de4442b7c594beee87bd8f5c5260804647014023cc182e1e94ed79e904fc1bc5acaaae6528051f1fb2192e6068188cd1cbdc2fa7926
|
data/.git/ORIG_HEAD
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64
|
data/.git/index
CHANGED
Binary file
|
data/.git/logs/HEAD
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
3
|
-
|
1
|
+
0000000000000000000000000000000000000000 95ca84ab082b3f19fa3b0d1799ac55e4beebea64 root <root@95aba831521d.(none)> 1753950833 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64 95ca84ab082b3f19fa3b0d1799ac55e4beebea64 root <root@95aba831521d.(none)> 1753950833 +0000 checkout: moving from master to master
|
3
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64 cf3b15b82cb0c4229609c07c870c6cb4fd38ef75 root <root@95aba831521d.(none)> 1753950833 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
2
|
-
|
1
|
+
0000000000000000000000000000000000000000 95ca84ab082b3f19fa3b0d1799ac55e4beebea64 root <root@95aba831521d.(none)> 1753950833 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
2
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64 cf3b15b82cb0c4229609c07c870c6cb4fd38ef75 root <root@95aba831521d.(none)> 1753950833 +0000 merge origin/development: Fast-forward
|
@@ -1 +1 @@
|
|
1
|
-
0000000000000000000000000000000000000000
|
1
|
+
0000000000000000000000000000000000000000 95ca84ab082b3f19fa3b0d1799ac55e4beebea64 root <root@95aba831521d.(none)> 1753950833 +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
|
+
cf3b15b82cb0c4229609c07c870c6cb4fd38ef75 refs/remotes/origin/development
|
3
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64 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
|
@@ -103,6 +103,7 @@ f5e3068d4f6c73c93d409699726cc9fb3c5cf482 refs/tags/v14.5.0
|
|
103
103
|
5c3dad71c286baa1fed7056f23334ecfbf114abc refs/tags/v14.9.0
|
104
104
|
08fd7fd2e52f2718155d68f541842535a3261ebd refs/tags/v15.0.0
|
105
105
|
28d4387142c309e532c47f809e4ef3c80150f523 refs/tags/v15.1.0
|
106
|
+
95ca84ab082b3f19fa3b0d1799ac55e4beebea64 refs/tags/v15.2.0
|
106
107
|
e0b1ec0134c7015ccb8c14464cc713c20034159e refs/tags/v2.0.0
|
107
108
|
62a146d9d56852b2ad14ec5d2796cad158d66e1c refs/tags/v2.1.0
|
108
109
|
9de04e628082f4ad0eb9511311479a089d302008 refs/tags/v2.2.0
|
data/.git/refs/heads/master
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
cf3b15b82cb0c4229609c07c870c6cb4fd38ef75
|
data/lib/grpc/drivers_pb.rb
CHANGED
@@ -29,6 +29,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
29
29
|
optional :aks_service_account, :message, 807, "v1.AKSServiceAccount"
|
30
30
|
optional :aks_service_account_user_impersonation, :message, 810, "v1.AKSServiceAccountUserImpersonation"
|
31
31
|
optional :aks_user_impersonation, :message, 814, "v1.AKSUserImpersonation"
|
32
|
+
optional :amqp, :message, 2502, "v1.AMQP"
|
32
33
|
optional :aws, :message, 2300, "v1.AWS"
|
33
34
|
optional :aws_console, :message, 3000, "v1.AWSConsole"
|
34
35
|
optional :aws_console_static_key_pair, :message, 3001, "v1.AWSConsoleStaticKeyPair"
|
@@ -51,6 +52,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
51
52
|
optional :azure_certificate, :message, 2801, "v1.AzureCertificate"
|
52
53
|
optional :azure_console, :message, 2803, "v1.AzureConsole"
|
53
54
|
optional :azure_mysql, :message, 1107, "v1.AzureMysql"
|
55
|
+
optional :azure_mysql_managed_identity, :message, 1110, "v1.AzureMysqlManagedIdentity"
|
54
56
|
optional :azure_postgres, :message, 1307, "v1.AzurePostgres"
|
55
57
|
optional :azure_postgres_managed_identity, :message, 1308, "v1.AzurePostgresManagedIdentity"
|
56
58
|
optional :big_query, :message, 200, "v1.BigQuery"
|
@@ -228,6 +230,23 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
228
230
|
optional :port, :int32, 2
|
229
231
|
optional :port_override, :int32, 10
|
230
232
|
end
|
233
|
+
add_message "v1.AMQP" do
|
234
|
+
optional :id, :string, 32768
|
235
|
+
optional :name, :string, 32769
|
236
|
+
optional :healthy, :bool, 32770
|
237
|
+
optional :tags, :message, 32771, "v1.Tags"
|
238
|
+
optional :secret_store_id, :string, 32772
|
239
|
+
optional :egress_filter, :string, 32773
|
240
|
+
optional :bind_interface, :string, 32774
|
241
|
+
optional :proxy_cluster_id, :string, 32776
|
242
|
+
optional :subdomain, :string, 32775
|
243
|
+
optional :hostname, :string, 1
|
244
|
+
optional :password, :string, 5
|
245
|
+
optional :port, :int32, 3
|
246
|
+
optional :port_override, :int32, 2
|
247
|
+
optional :tls_required, :bool, 8
|
248
|
+
optional :username, :string, 4
|
249
|
+
end
|
231
250
|
add_message "v1.AWS" do
|
232
251
|
optional :id, :string, 32768
|
233
252
|
optional :name, :string, 32769
|
@@ -632,6 +651,24 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
632
651
|
optional :use_azure_single_server_usernames, :bool, 9
|
633
652
|
optional :username, :string, 2
|
634
653
|
end
|
654
|
+
add_message "v1.AzureMysqlManagedIdentity" do
|
655
|
+
optional :id, :string, 32768
|
656
|
+
optional :name, :string, 32769
|
657
|
+
optional :healthy, :bool, 32770
|
658
|
+
optional :tags, :message, 32771, "v1.Tags"
|
659
|
+
optional :secret_store_id, :string, 32772
|
660
|
+
optional :egress_filter, :string, 32773
|
661
|
+
optional :bind_interface, :string, 32774
|
662
|
+
optional :proxy_cluster_id, :string, 32776
|
663
|
+
optional :subdomain, :string, 32775
|
664
|
+
optional :database, :string, 4
|
665
|
+
optional :hostname, :string, 1
|
666
|
+
optional :password, :string, 3
|
667
|
+
optional :port, :int32, 6
|
668
|
+
optional :port_override, :int32, 5
|
669
|
+
optional :use_azure_single_server_usernames, :bool, 8
|
670
|
+
optional :username, :string, 2
|
671
|
+
end
|
635
672
|
add_message "v1.AzurePostgres" do
|
636
673
|
optional :id, :string, 32768
|
637
674
|
optional :name, :string, 32769
|
@@ -2071,6 +2108,7 @@ module V1
|
|
2071
2108
|
AKSServiceAccount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AKSServiceAccount").msgclass
|
2072
2109
|
AKSServiceAccountUserImpersonation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AKSServiceAccountUserImpersonation").msgclass
|
2073
2110
|
AKSUserImpersonation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AKSUserImpersonation").msgclass
|
2111
|
+
AMQP = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AMQP").msgclass
|
2074
2112
|
AWS = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWS").msgclass
|
2075
2113
|
AWSConsole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSConsole").msgclass
|
2076
2114
|
AWSConsoleStaticKeyPair = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AWSConsoleStaticKeyPair").msgclass
|
@@ -2093,6 +2131,7 @@ module V1
|
|
2093
2131
|
AzureCertificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureCertificate").msgclass
|
2094
2132
|
AzureConsole = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureConsole").msgclass
|
2095
2133
|
AzureMysql = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureMysql").msgclass
|
2134
|
+
AzureMysqlManagedIdentity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzureMysqlManagedIdentity").msgclass
|
2096
2135
|
AzurePostgres = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgres").msgclass
|
2097
2136
|
AzurePostgresManagedIdentity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.AzurePostgresManagedIdentity").msgclass
|
2098
2137
|
BigQuery = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.BigQuery").msgclass
|
data/lib/grpc/plumbing.rb
CHANGED
@@ -42,6 +42,7 @@ require_relative "./approval_workflow_steps_history_pb"
|
|
42
42
|
require_relative "./approval_workflows_pb"
|
43
43
|
require_relative "./approval_workflows_history_pb"
|
44
44
|
require_relative "./control_panel_pb"
|
45
|
+
require_relative "./roles_pb"
|
45
46
|
require_relative "./health_checks_pb"
|
46
47
|
require_relative "./identity_aliases_pb"
|
47
48
|
require_relative "./identity_aliases_history_pb"
|
@@ -68,7 +69,6 @@ require_relative "./resources_pb"
|
|
68
69
|
require_relative "./resources_history_pb"
|
69
70
|
require_relative "./role_resources_pb"
|
70
71
|
require_relative "./role_resources_history_pb"
|
71
|
-
require_relative "./roles_pb"
|
72
72
|
require_relative "./roles_history_pb"
|
73
73
|
require_relative "./secret_engine_policy_pb"
|
74
74
|
require_relative "./secret_engine_types_pb"
|
@@ -547,6 +547,68 @@ module SDM
|
|
547
547
|
end
|
548
548
|
items
|
549
549
|
end
|
550
|
+
def self.convert_amqp_to_porcelain(plumbing)
|
551
|
+
if plumbing == nil
|
552
|
+
return nil
|
553
|
+
end
|
554
|
+
porcelain = AMQP.new()
|
555
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
556
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
557
|
+
porcelain.healthy = (plumbing.healthy)
|
558
|
+
porcelain.hostname = (plumbing.hostname)
|
559
|
+
porcelain.id = (plumbing.id)
|
560
|
+
porcelain.name = (plumbing.name)
|
561
|
+
porcelain.password = (plumbing.password)
|
562
|
+
porcelain.port = (plumbing.port)
|
563
|
+
porcelain.port_override = (plumbing.port_override)
|
564
|
+
porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
|
565
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
566
|
+
porcelain.subdomain = (plumbing.subdomain)
|
567
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
568
|
+
porcelain.tls_required = (plumbing.tls_required)
|
569
|
+
porcelain.username = (plumbing.username)
|
570
|
+
porcelain
|
571
|
+
end
|
572
|
+
|
573
|
+
def self.convert_amqp_to_plumbing(porcelain)
|
574
|
+
if porcelain == nil
|
575
|
+
return nil
|
576
|
+
end
|
577
|
+
plumbing = V1::AMQP.new()
|
578
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
579
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
580
|
+
plumbing.healthy = (porcelain.healthy)
|
581
|
+
plumbing.hostname = (porcelain.hostname)
|
582
|
+
plumbing.id = (porcelain.id)
|
583
|
+
plumbing.name = (porcelain.name)
|
584
|
+
plumbing.password = (porcelain.password)
|
585
|
+
plumbing.port = (porcelain.port)
|
586
|
+
plumbing.port_override = (porcelain.port_override)
|
587
|
+
plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
|
588
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
589
|
+
plumbing.subdomain = (porcelain.subdomain)
|
590
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
591
|
+
plumbing.tls_required = (porcelain.tls_required)
|
592
|
+
plumbing.username = (porcelain.username)
|
593
|
+
plumbing
|
594
|
+
end
|
595
|
+
def self.convert_repeated_amqp_to_plumbing(porcelains)
|
596
|
+
items = Array.new
|
597
|
+
porcelains.each do |porcelain|
|
598
|
+
plumbing = convert_amqp_to_plumbing(porcelain)
|
599
|
+
items.append(plumbing)
|
600
|
+
end
|
601
|
+
items
|
602
|
+
end
|
603
|
+
|
604
|
+
def self.convert_repeated_amqp_to_porcelain(plumbings)
|
605
|
+
items = Array.new
|
606
|
+
plumbings.each do |plumbing|
|
607
|
+
porcelain = convert_amqp_to_porcelain(plumbing)
|
608
|
+
items.append(porcelain)
|
609
|
+
end
|
610
|
+
items
|
611
|
+
end
|
550
612
|
def self.convert_aws_to_porcelain(plumbing)
|
551
613
|
if plumbing == nil
|
552
614
|
return nil
|
@@ -4184,6 +4246,70 @@ module SDM
|
|
4184
4246
|
end
|
4185
4247
|
items
|
4186
4248
|
end
|
4249
|
+
def self.convert_azure_mysql_managed_identity_to_porcelain(plumbing)
|
4250
|
+
if plumbing == nil
|
4251
|
+
return nil
|
4252
|
+
end
|
4253
|
+
porcelain = AzureMysqlManagedIdentity.new()
|
4254
|
+
porcelain.bind_interface = (plumbing.bind_interface)
|
4255
|
+
porcelain.database = (plumbing.database)
|
4256
|
+
porcelain.egress_filter = (plumbing.egress_filter)
|
4257
|
+
porcelain.healthy = (plumbing.healthy)
|
4258
|
+
porcelain.hostname = (plumbing.hostname)
|
4259
|
+
porcelain.id = (plumbing.id)
|
4260
|
+
porcelain.name = (plumbing.name)
|
4261
|
+
porcelain.password = (plumbing.password)
|
4262
|
+
porcelain.port = (plumbing.port)
|
4263
|
+
porcelain.port_override = (plumbing.port_override)
|
4264
|
+
porcelain.proxy_cluster_id = (plumbing.proxy_cluster_id)
|
4265
|
+
porcelain.secret_store_id = (plumbing.secret_store_id)
|
4266
|
+
porcelain.subdomain = (plumbing.subdomain)
|
4267
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
4268
|
+
porcelain.use_azure_single_server_usernames = (plumbing.use_azure_single_server_usernames)
|
4269
|
+
porcelain.username = (plumbing.username)
|
4270
|
+
porcelain
|
4271
|
+
end
|
4272
|
+
|
4273
|
+
def self.convert_azure_mysql_managed_identity_to_plumbing(porcelain)
|
4274
|
+
if porcelain == nil
|
4275
|
+
return nil
|
4276
|
+
end
|
4277
|
+
plumbing = V1::AzureMysqlManagedIdentity.new()
|
4278
|
+
plumbing.bind_interface = (porcelain.bind_interface)
|
4279
|
+
plumbing.database = (porcelain.database)
|
4280
|
+
plumbing.egress_filter = (porcelain.egress_filter)
|
4281
|
+
plumbing.healthy = (porcelain.healthy)
|
4282
|
+
plumbing.hostname = (porcelain.hostname)
|
4283
|
+
plumbing.id = (porcelain.id)
|
4284
|
+
plumbing.name = (porcelain.name)
|
4285
|
+
plumbing.password = (porcelain.password)
|
4286
|
+
plumbing.port = (porcelain.port)
|
4287
|
+
plumbing.port_override = (porcelain.port_override)
|
4288
|
+
plumbing.proxy_cluster_id = (porcelain.proxy_cluster_id)
|
4289
|
+
plumbing.secret_store_id = (porcelain.secret_store_id)
|
4290
|
+
plumbing.subdomain = (porcelain.subdomain)
|
4291
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
4292
|
+
plumbing.use_azure_single_server_usernames = (porcelain.use_azure_single_server_usernames)
|
4293
|
+
plumbing.username = (porcelain.username)
|
4294
|
+
plumbing
|
4295
|
+
end
|
4296
|
+
def self.convert_repeated_azure_mysql_managed_identity_to_plumbing(porcelains)
|
4297
|
+
items = Array.new
|
4298
|
+
porcelains.each do |porcelain|
|
4299
|
+
plumbing = convert_azure_mysql_managed_identity_to_plumbing(porcelain)
|
4300
|
+
items.append(plumbing)
|
4301
|
+
end
|
4302
|
+
items
|
4303
|
+
end
|
4304
|
+
|
4305
|
+
def self.convert_repeated_azure_mysql_managed_identity_to_porcelain(plumbings)
|
4306
|
+
items = Array.new
|
4307
|
+
plumbings.each do |plumbing|
|
4308
|
+
porcelain = convert_azure_mysql_managed_identity_to_porcelain(plumbing)
|
4309
|
+
items.append(porcelain)
|
4310
|
+
end
|
4311
|
+
items
|
4312
|
+
end
|
4187
4313
|
def self.convert_azure_postgres_to_porcelain(plumbing)
|
4188
4314
|
if plumbing == nil
|
4189
4315
|
return nil
|
@@ -12913,6 +13039,9 @@ module SDM
|
|
12913
13039
|
if porcelain.instance_of? AmazonMQAMQP091
|
12914
13040
|
plumbing.amazon_mqamqp_091 = convert_amazon_mqamqp_091_to_plumbing(porcelain)
|
12915
13041
|
end
|
13042
|
+
if porcelain.instance_of? AMQP
|
13043
|
+
plumbing.amqp = convert_amqp_to_plumbing(porcelain)
|
13044
|
+
end
|
12916
13045
|
if porcelain.instance_of? Athena
|
12917
13046
|
plumbing.athena = convert_athena_to_plumbing(porcelain)
|
12918
13047
|
end
|
@@ -12955,6 +13084,9 @@ module SDM
|
|
12955
13084
|
if porcelain.instance_of? AzureMysql
|
12956
13085
|
plumbing.azure_mysql = convert_azure_mysql_to_plumbing(porcelain)
|
12957
13086
|
end
|
13087
|
+
if porcelain.instance_of? AzureMysqlManagedIdentity
|
13088
|
+
plumbing.azure_mysql_managed_identity = convert_azure_mysql_managed_identity_to_plumbing(porcelain)
|
13089
|
+
end
|
12958
13090
|
if porcelain.instance_of? AzurePostgres
|
12959
13091
|
plumbing.azure_postgres = convert_azure_postgres_to_plumbing(porcelain)
|
12960
13092
|
end
|
@@ -13241,6 +13373,9 @@ module SDM
|
|
13241
13373
|
if plumbing.amazon_mqamqp_091 != nil
|
13242
13374
|
return convert_amazon_mqamqp_091_to_porcelain(plumbing.amazon_mqamqp_091)
|
13243
13375
|
end
|
13376
|
+
if plumbing.amqp != nil
|
13377
|
+
return convert_amqp_to_porcelain(plumbing.amqp)
|
13378
|
+
end
|
13244
13379
|
if plumbing.athena != nil
|
13245
13380
|
return convert_athena_to_porcelain(plumbing.athena)
|
13246
13381
|
end
|
@@ -13283,6 +13418,9 @@ module SDM
|
|
13283
13418
|
if plumbing.azure_mysql != nil
|
13284
13419
|
return convert_azure_mysql_to_porcelain(plumbing.azure_mysql)
|
13285
13420
|
end
|
13421
|
+
if plumbing.azure_mysql_managed_identity != nil
|
13422
|
+
return convert_azure_mysql_managed_identity_to_porcelain(plumbing.azure_mysql_managed_identity)
|
13423
|
+
end
|
13286
13424
|
if plumbing.azure_postgres != nil
|
13287
13425
|
return convert_azure_postgres_to_porcelain(plumbing.azure_postgres)
|
13288
13426
|
end
|
data/lib/models/porcelain.rb
CHANGED
@@ -286,6 +286,7 @@ module SDM
|
|
286
286
|
end
|
287
287
|
end
|
288
288
|
|
289
|
+
# AKSServiceAccountUserImpersonation is deprecated, see docs for more info.
|
289
290
|
class AKSServiceAccountUserImpersonation
|
290
291
|
# 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.
|
291
292
|
attr_accessor :bind_interface
|
@@ -357,6 +358,7 @@ module SDM
|
|
357
358
|
end
|
358
359
|
end
|
359
360
|
|
361
|
+
# AKSUserImpersonation is deprecated, see docs for more info.
|
360
362
|
class AKSUserImpersonation
|
361
363
|
# 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.
|
362
364
|
attr_accessor :bind_interface
|
@@ -436,6 +438,82 @@ module SDM
|
|
436
438
|
end
|
437
439
|
end
|
438
440
|
|
441
|
+
# AMQP is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
442
|
+
class AMQP
|
443
|
+
# 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.
|
444
|
+
attr_accessor :bind_interface
|
445
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
446
|
+
attr_accessor :egress_filter
|
447
|
+
# True if the datasource is reachable and the credentials are valid.
|
448
|
+
attr_accessor :healthy
|
449
|
+
# The host to dial to initiate a connection from the egress node to this resource.
|
450
|
+
attr_accessor :hostname
|
451
|
+
# Unique identifier of the Resource.
|
452
|
+
attr_accessor :id
|
453
|
+
# Unique human-readable name of the Resource.
|
454
|
+
attr_accessor :name
|
455
|
+
# The password to authenticate with.
|
456
|
+
attr_accessor :password
|
457
|
+
# The port to dial to initiate a connection from the egress node to this resource.
|
458
|
+
attr_accessor :port
|
459
|
+
# The local port used by clients to connect to this resource.
|
460
|
+
attr_accessor :port_override
|
461
|
+
# ID of the proxy cluster for this resource, if any.
|
462
|
+
attr_accessor :proxy_cluster_id
|
463
|
+
# ID of the secret store containing credentials for this resource, if any.
|
464
|
+
attr_accessor :secret_store_id
|
465
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
466
|
+
attr_accessor :subdomain
|
467
|
+
# Tags is a map of key, value pairs.
|
468
|
+
attr_accessor :tags
|
469
|
+
# If set, TLS must be used to connect to this resource.
|
470
|
+
attr_accessor :tls_required
|
471
|
+
# The username to authenticate with.
|
472
|
+
attr_accessor :username
|
473
|
+
|
474
|
+
def initialize(
|
475
|
+
bind_interface: nil,
|
476
|
+
egress_filter: nil,
|
477
|
+
healthy: nil,
|
478
|
+
hostname: nil,
|
479
|
+
id: nil,
|
480
|
+
name: nil,
|
481
|
+
password: nil,
|
482
|
+
port: nil,
|
483
|
+
port_override: nil,
|
484
|
+
proxy_cluster_id: nil,
|
485
|
+
secret_store_id: nil,
|
486
|
+
subdomain: nil,
|
487
|
+
tags: nil,
|
488
|
+
tls_required: nil,
|
489
|
+
username: nil
|
490
|
+
)
|
491
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
492
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
493
|
+
@healthy = healthy == nil ? false : healthy
|
494
|
+
@hostname = hostname == nil ? "" : hostname
|
495
|
+
@id = id == nil ? "" : id
|
496
|
+
@name = name == nil ? "" : name
|
497
|
+
@password = password == nil ? "" : password
|
498
|
+
@port = port == nil ? 0 : port
|
499
|
+
@port_override = port_override == nil ? 0 : port_override
|
500
|
+
@proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
|
501
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
502
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
503
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
504
|
+
@tls_required = tls_required == nil ? false : tls_required
|
505
|
+
@username = username == nil ? "" : username
|
506
|
+
end
|
507
|
+
|
508
|
+
def to_json(options = {})
|
509
|
+
hash = {}
|
510
|
+
self.instance_variables.each do |var|
|
511
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
512
|
+
end
|
513
|
+
hash.to_json
|
514
|
+
end
|
515
|
+
end
|
516
|
+
|
439
517
|
class AWS
|
440
518
|
# The Access Key ID to use to authenticate.
|
441
519
|
attr_accessor :access_key
|
@@ -2243,6 +2321,7 @@ module SDM
|
|
2243
2321
|
end
|
2244
2322
|
end
|
2245
2323
|
|
2324
|
+
# AmazonEKSInstanceProfileUserImpersonation is deprecated, see docs for more info.
|
2246
2325
|
class AmazonEKSInstanceProfileUserImpersonation
|
2247
2326
|
# 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.
|
2248
2327
|
attr_accessor :bind_interface
|
@@ -2326,6 +2405,7 @@ module SDM
|
|
2326
2405
|
end
|
2327
2406
|
end
|
2328
2407
|
|
2408
|
+
# AmazonEKSUserImpersonation is deprecated, see docs for more info.
|
2329
2409
|
class AmazonEKSUserImpersonation
|
2330
2410
|
# The Access Key ID to use to authenticate.
|
2331
2411
|
attr_accessor :access_key
|
@@ -2741,6 +2821,7 @@ module SDM
|
|
2741
2821
|
end
|
2742
2822
|
|
2743
2823
|
# ApprovalWorkflowApprover links an approval workflow approver to an ApprovalWorkflowStep
|
2824
|
+
# ApprovalWorkflowApprover is deprecated, see docs for more info.
|
2744
2825
|
class ApprovalWorkflowApprover
|
2745
2826
|
# The approver account id.
|
2746
2827
|
attr_accessor :account_id
|
@@ -3047,6 +3128,7 @@ module SDM
|
|
3047
3128
|
end
|
3048
3129
|
|
3049
3130
|
# ApprovalWorkflowStep links an approval workflow step to an ApprovalWorkflow
|
3131
|
+
# ApprovalWorkflowStep is deprecated, see docs for more info.
|
3050
3132
|
class ApprovalWorkflowStep
|
3051
3133
|
# The approval flow id specified the approval workflow that this step belongs to
|
3052
3134
|
attr_accessor :approval_flow_id
|
@@ -4002,6 +4084,86 @@ module SDM
|
|
4002
4084
|
end
|
4003
4085
|
end
|
4004
4086
|
|
4087
|
+
# AzureMysqlManagedIdentity is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
4088
|
+
class AzureMysqlManagedIdentity
|
4089
|
+
# 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.
|
4090
|
+
attr_accessor :bind_interface
|
4091
|
+
# The database for healthchecks. Does not affect client requests.
|
4092
|
+
attr_accessor :database
|
4093
|
+
# A filter applied to the routing logic to pin datasource to nodes.
|
4094
|
+
attr_accessor :egress_filter
|
4095
|
+
# True if the datasource is reachable and the credentials are valid.
|
4096
|
+
attr_accessor :healthy
|
4097
|
+
# The host to dial to initiate a connection from the egress node to this resource.
|
4098
|
+
attr_accessor :hostname
|
4099
|
+
# Unique identifier of the Resource.
|
4100
|
+
attr_accessor :id
|
4101
|
+
# Unique human-readable name of the Resource.
|
4102
|
+
attr_accessor :name
|
4103
|
+
# The password to authenticate with.
|
4104
|
+
attr_accessor :password
|
4105
|
+
# The port to dial to initiate a connection from the egress node to this resource.
|
4106
|
+
attr_accessor :port
|
4107
|
+
# The local port used by clients to connect to this resource.
|
4108
|
+
attr_accessor :port_override
|
4109
|
+
# ID of the proxy cluster for this resource, if any.
|
4110
|
+
attr_accessor :proxy_cluster_id
|
4111
|
+
# ID of the secret store containing credentials for this resource, if any.
|
4112
|
+
attr_accessor :secret_store_id
|
4113
|
+
# Subdomain is the local DNS address. (e.g. app-prod1 turns into app-prod1.your-org-name.sdm.network)
|
4114
|
+
attr_accessor :subdomain
|
4115
|
+
# Tags is a map of key, value pairs.
|
4116
|
+
attr_accessor :tags
|
4117
|
+
# If true, appends the hostname to the username when hitting a database.azure.com address
|
4118
|
+
attr_accessor :use_azure_single_server_usernames
|
4119
|
+
# The username to authenticate with.
|
4120
|
+
attr_accessor :username
|
4121
|
+
|
4122
|
+
def initialize(
|
4123
|
+
bind_interface: nil,
|
4124
|
+
database: nil,
|
4125
|
+
egress_filter: nil,
|
4126
|
+
healthy: nil,
|
4127
|
+
hostname: nil,
|
4128
|
+
id: nil,
|
4129
|
+
name: nil,
|
4130
|
+
password: nil,
|
4131
|
+
port: nil,
|
4132
|
+
port_override: nil,
|
4133
|
+
proxy_cluster_id: nil,
|
4134
|
+
secret_store_id: nil,
|
4135
|
+
subdomain: nil,
|
4136
|
+
tags: nil,
|
4137
|
+
use_azure_single_server_usernames: nil,
|
4138
|
+
username: nil
|
4139
|
+
)
|
4140
|
+
@bind_interface = bind_interface == nil ? "" : bind_interface
|
4141
|
+
@database = database == nil ? "" : database
|
4142
|
+
@egress_filter = egress_filter == nil ? "" : egress_filter
|
4143
|
+
@healthy = healthy == nil ? false : healthy
|
4144
|
+
@hostname = hostname == nil ? "" : hostname
|
4145
|
+
@id = id == nil ? "" : id
|
4146
|
+
@name = name == nil ? "" : name
|
4147
|
+
@password = password == nil ? "" : password
|
4148
|
+
@port = port == nil ? 0 : port
|
4149
|
+
@port_override = port_override == nil ? 0 : port_override
|
4150
|
+
@proxy_cluster_id = proxy_cluster_id == nil ? "" : proxy_cluster_id
|
4151
|
+
@secret_store_id = secret_store_id == nil ? "" : secret_store_id
|
4152
|
+
@subdomain = subdomain == nil ? "" : subdomain
|
4153
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
4154
|
+
@use_azure_single_server_usernames = use_azure_single_server_usernames == nil ? false : use_azure_single_server_usernames
|
4155
|
+
@username = username == nil ? "" : username
|
4156
|
+
end
|
4157
|
+
|
4158
|
+
def to_json(options = {})
|
4159
|
+
hash = {}
|
4160
|
+
self.instance_variables.each do |var|
|
4161
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
4162
|
+
end
|
4163
|
+
hash.to_json
|
4164
|
+
end
|
4165
|
+
end
|
4166
|
+
|
4005
4167
|
class AzurePostgres
|
4006
4168
|
# 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.
|
4007
4169
|
attr_accessor :bind_interface
|
@@ -6548,6 +6710,7 @@ module SDM
|
|
6548
6710
|
end
|
6549
6711
|
end
|
6550
6712
|
|
6713
|
+
# GoogleGKEUserImpersonation is deprecated, see docs for more info.
|
6551
6714
|
class GoogleGKEUserImpersonation
|
6552
6715
|
# 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.
|
6553
6716
|
attr_accessor :bind_interface
|
@@ -7953,6 +8116,7 @@ module SDM
|
|
7953
8116
|
end
|
7954
8117
|
end
|
7955
8118
|
|
8119
|
+
# KubernetesServiceAccountUserImpersonation is deprecated, see docs for more info.
|
7956
8120
|
class KubernetesServiceAccountUserImpersonation
|
7957
8121
|
# 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.
|
7958
8122
|
attr_accessor :bind_interface
|
@@ -8024,6 +8188,7 @@ module SDM
|
|
8024
8188
|
end
|
8025
8189
|
end
|
8026
8190
|
|
8191
|
+
# KubernetesUserImpersonation is deprecated, see docs for more info.
|
8027
8192
|
class KubernetesUserImpersonation
|
8028
8193
|
# 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.
|
8029
8194
|
attr_accessor :bind_interface
|
@@ -15699,6 +15864,7 @@ module SDM
|
|
15699
15864
|
end
|
15700
15865
|
|
15701
15866
|
# WorkflowApprover is an account or a role with the ability to approve requests bound to a workflow.
|
15867
|
+
# WorkflowApprover is deprecated, see docs for more info.
|
15702
15868
|
class WorkflowApprover
|
15703
15869
|
# The approver account id.
|
15704
15870
|
attr_accessor :account_id
|
data/lib/strongdm.rb
CHANGED
@@ -30,7 +30,7 @@ module SDM #:nodoc:
|
|
30
30
|
DEFAULT_RETRY_FACTOR = 1.6
|
31
31
|
DEFAULT_RETRY_JITTER = 0.2
|
32
32
|
API_VERSION = "2025-04-14"
|
33
|
-
USER_AGENT = "strongdm-sdk-ruby/15.
|
33
|
+
USER_AGENT = "strongdm-sdk-ruby/15.4.0"
|
34
34
|
private_constant :DEFAULT_BASE_RETRY_DELAY, :DEFAULT_MAX_RETRY_DELAY, :DEFAULT_RETRY_FACTOR, :DEFAULT_RETRY_JITTER, :API_VERSION, :USER_AGENT
|
35
35
|
|
36
36
|
# Creates a new strongDM API client.
|
@@ -77,6 +77,7 @@ module SDM #:nodoc:
|
|
77
77
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
78
78
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
79
79
|
@control_panel = ControlPanel.new(@channel, self)
|
80
|
+
@roles = Roles.new(@channel, self)
|
80
81
|
@health_checks = HealthChecks.new(@channel, self)
|
81
82
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
82
83
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
@@ -103,7 +104,6 @@ module SDM #:nodoc:
|
|
103
104
|
@resources_history = ResourcesHistory.new(@channel, self)
|
104
105
|
@role_resources = RoleResources.new(@channel, self)
|
105
106
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
106
|
-
@roles = Roles.new(@channel, self)
|
107
107
|
@roles_history = RolesHistory.new(@channel, self)
|
108
108
|
@secret_stores = SecretStores.new(@channel, self)
|
109
109
|
@secret_engines = SecretEngines.new(@channel, self)
|
@@ -315,6 +315,12 @@ module SDM #:nodoc:
|
|
315
315
|
#
|
316
316
|
# See {ControlPanel}.
|
317
317
|
attr_reader :control_panel
|
318
|
+
# A Role has a list of access rules which determine which Resources the members
|
319
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
320
|
+
# AccountAttachments.
|
321
|
+
#
|
322
|
+
# See {Roles}.
|
323
|
+
attr_reader :roles
|
318
324
|
# HealthChecks lists the last healthcheck between each node and resource.
|
319
325
|
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
320
326
|
#
|
@@ -435,12 +441,6 @@ module SDM #:nodoc:
|
|
435
441
|
#
|
436
442
|
# See {RoleResourcesHistory}.
|
437
443
|
attr_reader :role_resources_history
|
438
|
-
# A Role has a list of access rules which determine which Resources the members
|
439
|
-
# of the Role have access to. An Account can be a member of multiple Roles via
|
440
|
-
# AccountAttachments.
|
441
|
-
#
|
442
|
-
# See {Roles}.
|
443
|
-
attr_reader :roles
|
444
444
|
# RolesHistory records all changes to the state of a Role.
|
445
445
|
#
|
446
446
|
# See {RolesHistory}.
|
@@ -516,6 +516,7 @@ module SDM #:nodoc:
|
|
516
516
|
@approval_workflows = ApprovalWorkflows.new(@channel, self)
|
517
517
|
@approval_workflows_history = ApprovalWorkflowsHistory.new(@channel, self)
|
518
518
|
@control_panel = ControlPanel.new(@channel, self)
|
519
|
+
@roles = Roles.new(@channel, self)
|
519
520
|
@health_checks = HealthChecks.new(@channel, self)
|
520
521
|
@identity_aliases = IdentityAliases.new(@channel, self)
|
521
522
|
@identity_aliases_history = IdentityAliasesHistory.new(@channel, self)
|
@@ -542,7 +543,6 @@ module SDM #:nodoc:
|
|
542
543
|
@resources_history = ResourcesHistory.new(@channel, self)
|
543
544
|
@role_resources = RoleResources.new(@channel, self)
|
544
545
|
@role_resources_history = RoleResourcesHistory.new(@channel, self)
|
545
|
-
@roles = Roles.new(@channel, self)
|
546
546
|
@roles_history = RolesHistory.new(@channel, self)
|
547
547
|
@secret_stores = SecretStores.new(@channel, self)
|
548
548
|
@secret_engines = SecretEngines.new(@channel, self)
|
@@ -569,6 +569,7 @@ module SDM #:nodoc:
|
|
569
569
|
@approval_workflow_approvers = SnapshotApprovalWorkflowApprovers.new(client.approval_workflow_approvers)
|
570
570
|
@approval_workflow_steps = SnapshotApprovalWorkflowSteps.new(client.approval_workflow_steps)
|
571
571
|
@approval_workflows = SnapshotApprovalWorkflows.new(client.approval_workflows)
|
572
|
+
@roles = SnapshotRoles.new(client.roles)
|
572
573
|
@identity_aliases = SnapshotIdentityAliases.new(client.identity_aliases)
|
573
574
|
@identity_sets = SnapshotIdentitySets.new(client.identity_sets)
|
574
575
|
@nodes = SnapshotNodes.new(client.nodes)
|
@@ -578,7 +579,6 @@ module SDM #:nodoc:
|
|
578
579
|
@remote_identity_groups = SnapshotRemoteIdentityGroups.new(client.remote_identity_groups)
|
579
580
|
@resources = SnapshotResources.new(client.resources)
|
580
581
|
@role_resources = SnapshotRoleResources.new(client.role_resources)
|
581
|
-
@roles = SnapshotRoles.new(client.roles)
|
582
582
|
@secret_stores = SnapshotSecretStores.new(client.secret_stores)
|
583
583
|
@workflow_approvers = SnapshotWorkflowApprovers.new(client.workflow_approvers)
|
584
584
|
@workflow_roles = SnapshotWorkflowRoles.new(client.workflow_roles)
|
@@ -627,6 +627,12 @@ module SDM #:nodoc:
|
|
627
627
|
#
|
628
628
|
# See {SnapshotApprovalWorkflows}.
|
629
629
|
attr_reader :approval_workflows
|
630
|
+
# A Role has a list of access rules which determine which Resources the members
|
631
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
632
|
+
# AccountAttachments.
|
633
|
+
#
|
634
|
+
# See {SnapshotRoles}.
|
635
|
+
attr_reader :roles
|
630
636
|
# IdentityAliases assign an alias to an account within an IdentitySet.
|
631
637
|
# The alias is used as the username when connecting to a identity supported resource.
|
632
638
|
#
|
@@ -673,12 +679,6 @@ module SDM #:nodoc:
|
|
673
679
|
#
|
674
680
|
# See {SnapshotRoleResources}.
|
675
681
|
attr_reader :role_resources
|
676
|
-
# A Role has a list of access rules which determine which Resources the members
|
677
|
-
# of the Role have access to. An Account can be a member of multiple Roles via
|
678
|
-
# AccountAttachments.
|
679
|
-
#
|
680
|
-
# See {SnapshotRoles}.
|
681
|
-
attr_reader :roles
|
682
682
|
# SecretStores are servers where resource secrets (passwords, keys) are stored.
|
683
683
|
#
|
684
684
|
# See {SnapshotSecretStores}.
|
data/lib/svc.rb
CHANGED
@@ -2108,6 +2108,220 @@ module SDM #:nodoc:
|
|
2108
2108
|
end
|
2109
2109
|
end
|
2110
2110
|
|
2111
|
+
# A Role has a list of access rules which determine which Resources the members
|
2112
|
+
# of the Role have access to. An Account can be a member of multiple Roles via
|
2113
|
+
# AccountAttachments.
|
2114
|
+
#
|
2115
|
+
# See {Role}.
|
2116
|
+
class Roles
|
2117
|
+
extend Gem::Deprecate
|
2118
|
+
|
2119
|
+
def initialize(channel, parent)
|
2120
|
+
begin
|
2121
|
+
@stub = V1::Roles::Stub.new(nil, nil, channel_override: channel)
|
2122
|
+
rescue => exception
|
2123
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2124
|
+
end
|
2125
|
+
@parent = parent
|
2126
|
+
end
|
2127
|
+
|
2128
|
+
# Create registers a new Role.
|
2129
|
+
def create(
|
2130
|
+
role,
|
2131
|
+
deadline: nil
|
2132
|
+
)
|
2133
|
+
req = V1::RoleCreateRequest.new()
|
2134
|
+
|
2135
|
+
req.role = Plumbing::convert_role_to_plumbing(role)
|
2136
|
+
tries = 0
|
2137
|
+
plumbing_response = nil
|
2138
|
+
loop do
|
2139
|
+
begin
|
2140
|
+
plumbing_response = @stub.create(req, metadata: @parent.get_metadata("Roles.Create", req), deadline: deadline)
|
2141
|
+
rescue => exception
|
2142
|
+
if (@parent.shouldRetry(tries, exception, deadline))
|
2143
|
+
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
2144
|
+
next
|
2145
|
+
end
|
2146
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2147
|
+
end
|
2148
|
+
break
|
2149
|
+
end
|
2150
|
+
|
2151
|
+
resp = RoleCreateResponse.new()
|
2152
|
+
resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta)
|
2153
|
+
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
2154
|
+
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
2155
|
+
resp
|
2156
|
+
end
|
2157
|
+
|
2158
|
+
# Get reads one Role by ID.
|
2159
|
+
def get(
|
2160
|
+
id,
|
2161
|
+
deadline: nil
|
2162
|
+
)
|
2163
|
+
req = V1::RoleGetRequest.new()
|
2164
|
+
if not @parent.snapshot_time.nil?
|
2165
|
+
req.meta = V1::GetRequestMetadata.new()
|
2166
|
+
req.meta.snapshot_at = @parent.snapshot_time
|
2167
|
+
end
|
2168
|
+
|
2169
|
+
req.id = (id)
|
2170
|
+
tries = 0
|
2171
|
+
plumbing_response = nil
|
2172
|
+
loop do
|
2173
|
+
begin
|
2174
|
+
plumbing_response = @stub.get(req, metadata: @parent.get_metadata("Roles.Get", req), deadline: deadline)
|
2175
|
+
rescue => exception
|
2176
|
+
if (@parent.shouldRetry(tries, exception, deadline))
|
2177
|
+
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
2178
|
+
next
|
2179
|
+
end
|
2180
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2181
|
+
end
|
2182
|
+
break
|
2183
|
+
end
|
2184
|
+
|
2185
|
+
resp = RoleGetResponse.new()
|
2186
|
+
resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
|
2187
|
+
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
2188
|
+
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
2189
|
+
resp
|
2190
|
+
end
|
2191
|
+
|
2192
|
+
# Update replaces all the fields of a Role by ID.
|
2193
|
+
def update(
|
2194
|
+
role,
|
2195
|
+
deadline: nil
|
2196
|
+
)
|
2197
|
+
req = V1::RoleUpdateRequest.new()
|
2198
|
+
|
2199
|
+
req.role = Plumbing::convert_role_to_plumbing(role)
|
2200
|
+
tries = 0
|
2201
|
+
plumbing_response = nil
|
2202
|
+
loop do
|
2203
|
+
begin
|
2204
|
+
plumbing_response = @stub.update(req, metadata: @parent.get_metadata("Roles.Update", req), deadline: deadline)
|
2205
|
+
rescue => exception
|
2206
|
+
if (@parent.shouldRetry(tries, exception, deadline))
|
2207
|
+
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
2208
|
+
next
|
2209
|
+
end
|
2210
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2211
|
+
end
|
2212
|
+
break
|
2213
|
+
end
|
2214
|
+
|
2215
|
+
resp = RoleUpdateResponse.new()
|
2216
|
+
resp.meta = Plumbing::convert_update_response_metadata_to_porcelain(plumbing_response.meta)
|
2217
|
+
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
2218
|
+
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
2219
|
+
resp
|
2220
|
+
end
|
2221
|
+
|
2222
|
+
# Delete removes a Role by ID.
|
2223
|
+
def delete(
|
2224
|
+
id,
|
2225
|
+
deadline: nil
|
2226
|
+
)
|
2227
|
+
req = V1::RoleDeleteRequest.new()
|
2228
|
+
|
2229
|
+
req.id = (id)
|
2230
|
+
tries = 0
|
2231
|
+
plumbing_response = nil
|
2232
|
+
loop do
|
2233
|
+
begin
|
2234
|
+
plumbing_response = @stub.delete(req, metadata: @parent.get_metadata("Roles.Delete", req), deadline: deadline)
|
2235
|
+
rescue => exception
|
2236
|
+
if (@parent.shouldRetry(tries, exception, deadline))
|
2237
|
+
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
2238
|
+
next
|
2239
|
+
end
|
2240
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2241
|
+
end
|
2242
|
+
break
|
2243
|
+
end
|
2244
|
+
|
2245
|
+
resp = RoleDeleteResponse.new()
|
2246
|
+
resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta)
|
2247
|
+
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
2248
|
+
resp
|
2249
|
+
end
|
2250
|
+
|
2251
|
+
# List gets a list of Roles matching a given set of criteria.
|
2252
|
+
def list(
|
2253
|
+
filter,
|
2254
|
+
*args,
|
2255
|
+
deadline: nil
|
2256
|
+
)
|
2257
|
+
req = V1::RoleListRequest.new()
|
2258
|
+
req.meta = V1::ListRequestMetadata.new()
|
2259
|
+
if not @parent.page_limit.nil?
|
2260
|
+
req.meta.limit = @parent.page_limit
|
2261
|
+
end
|
2262
|
+
if not @parent.snapshot_time.nil?
|
2263
|
+
req.meta.snapshot_at = @parent.snapshot_time
|
2264
|
+
end
|
2265
|
+
|
2266
|
+
req.filter = Plumbing::quote_filter_args(filter, *args)
|
2267
|
+
resp = Enumerator::Generator.new { |g|
|
2268
|
+
tries = 0
|
2269
|
+
loop do
|
2270
|
+
begin
|
2271
|
+
plumbing_response = @stub.list(req, metadata: @parent.get_metadata("Roles.List", req), deadline: deadline)
|
2272
|
+
rescue => exception
|
2273
|
+
if (@parent.shouldRetry(tries, exception, deadline))
|
2274
|
+
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
2275
|
+
next
|
2276
|
+
end
|
2277
|
+
raise Plumbing::convert_error_to_porcelain(exception)
|
2278
|
+
end
|
2279
|
+
tries = 0
|
2280
|
+
plumbing_response.roles.each do |plumbing_item|
|
2281
|
+
g.yield Plumbing::convert_role_to_porcelain(plumbing_item)
|
2282
|
+
end
|
2283
|
+
break if plumbing_response.meta.next_cursor == ""
|
2284
|
+
req.meta.cursor = plumbing_response.meta.next_cursor
|
2285
|
+
end
|
2286
|
+
}
|
2287
|
+
resp
|
2288
|
+
end
|
2289
|
+
end
|
2290
|
+
|
2291
|
+
# SnapshotRoles exposes the read only methods of the Roles
|
2292
|
+
# service for historical queries.
|
2293
|
+
class SnapshotRoles
|
2294
|
+
extend Gem::Deprecate
|
2295
|
+
|
2296
|
+
def initialize(roles)
|
2297
|
+
@roles = roles
|
2298
|
+
end
|
2299
|
+
|
2300
|
+
# Get reads one Role by ID.
|
2301
|
+
def get(
|
2302
|
+
id,
|
2303
|
+
deadline: nil
|
2304
|
+
)
|
2305
|
+
return @roles.get(
|
2306
|
+
id,
|
2307
|
+
deadline: deadline,
|
2308
|
+
)
|
2309
|
+
end
|
2310
|
+
|
2311
|
+
# List gets a list of Roles matching a given set of criteria.
|
2312
|
+
def list(
|
2313
|
+
filter,
|
2314
|
+
*args,
|
2315
|
+
deadline: nil
|
2316
|
+
)
|
2317
|
+
return @roles.list(
|
2318
|
+
filter,
|
2319
|
+
*args,
|
2320
|
+
deadline: deadline,
|
2321
|
+
)
|
2322
|
+
end
|
2323
|
+
end
|
2324
|
+
|
2111
2325
|
# HealthChecks lists the last healthcheck between each node and resource.
|
2112
2326
|
# Note the unconventional capitalization here is to prevent having a collision with GRPC
|
2113
2327
|
#
|
@@ -4997,6 +5211,7 @@ module SDM #:nodoc:
|
|
4997
5211
|
# {AmazonES}
|
4998
5212
|
# {AmazonESIAM}
|
4999
5213
|
# {AmazonMQAMQP091}
|
5214
|
+
# {AMQP}
|
5000
5215
|
# {Athena}
|
5001
5216
|
# {AthenaIAM}
|
5002
5217
|
# {AuroraMysql}
|
@@ -5011,6 +5226,7 @@ module SDM #:nodoc:
|
|
5011
5226
|
# {AzureCertificate}
|
5012
5227
|
# {AzureConsole}
|
5013
5228
|
# {AzureMysql}
|
5229
|
+
# {AzureMysqlManagedIdentity}
|
5014
5230
|
# {AzurePostgres}
|
5015
5231
|
# {AzurePostgresManagedIdentity}
|
5016
5232
|
# {BigQuery}
|
@@ -5559,220 +5775,6 @@ module SDM #:nodoc:
|
|
5559
5775
|
end
|
5560
5776
|
end
|
5561
5777
|
|
5562
|
-
# A Role has a list of access rules which determine which Resources the members
|
5563
|
-
# of the Role have access to. An Account can be a member of multiple Roles via
|
5564
|
-
# AccountAttachments.
|
5565
|
-
#
|
5566
|
-
# See {Role}.
|
5567
|
-
class Roles
|
5568
|
-
extend Gem::Deprecate
|
5569
|
-
|
5570
|
-
def initialize(channel, parent)
|
5571
|
-
begin
|
5572
|
-
@stub = V1::Roles::Stub.new(nil, nil, channel_override: channel)
|
5573
|
-
rescue => exception
|
5574
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5575
|
-
end
|
5576
|
-
@parent = parent
|
5577
|
-
end
|
5578
|
-
|
5579
|
-
# Create registers a new Role.
|
5580
|
-
def create(
|
5581
|
-
role,
|
5582
|
-
deadline: nil
|
5583
|
-
)
|
5584
|
-
req = V1::RoleCreateRequest.new()
|
5585
|
-
|
5586
|
-
req.role = Plumbing::convert_role_to_plumbing(role)
|
5587
|
-
tries = 0
|
5588
|
-
plumbing_response = nil
|
5589
|
-
loop do
|
5590
|
-
begin
|
5591
|
-
plumbing_response = @stub.create(req, metadata: @parent.get_metadata("Roles.Create", req), deadline: deadline)
|
5592
|
-
rescue => exception
|
5593
|
-
if (@parent.shouldRetry(tries, exception, deadline))
|
5594
|
-
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
5595
|
-
next
|
5596
|
-
end
|
5597
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5598
|
-
end
|
5599
|
-
break
|
5600
|
-
end
|
5601
|
-
|
5602
|
-
resp = RoleCreateResponse.new()
|
5603
|
-
resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta)
|
5604
|
-
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
5605
|
-
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
5606
|
-
resp
|
5607
|
-
end
|
5608
|
-
|
5609
|
-
# Get reads one Role by ID.
|
5610
|
-
def get(
|
5611
|
-
id,
|
5612
|
-
deadline: nil
|
5613
|
-
)
|
5614
|
-
req = V1::RoleGetRequest.new()
|
5615
|
-
if not @parent.snapshot_time.nil?
|
5616
|
-
req.meta = V1::GetRequestMetadata.new()
|
5617
|
-
req.meta.snapshot_at = @parent.snapshot_time
|
5618
|
-
end
|
5619
|
-
|
5620
|
-
req.id = (id)
|
5621
|
-
tries = 0
|
5622
|
-
plumbing_response = nil
|
5623
|
-
loop do
|
5624
|
-
begin
|
5625
|
-
plumbing_response = @stub.get(req, metadata: @parent.get_metadata("Roles.Get", req), deadline: deadline)
|
5626
|
-
rescue => exception
|
5627
|
-
if (@parent.shouldRetry(tries, exception, deadline))
|
5628
|
-
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
5629
|
-
next
|
5630
|
-
end
|
5631
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5632
|
-
end
|
5633
|
-
break
|
5634
|
-
end
|
5635
|
-
|
5636
|
-
resp = RoleGetResponse.new()
|
5637
|
-
resp.meta = Plumbing::convert_get_response_metadata_to_porcelain(plumbing_response.meta)
|
5638
|
-
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
5639
|
-
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
5640
|
-
resp
|
5641
|
-
end
|
5642
|
-
|
5643
|
-
# Update replaces all the fields of a Role by ID.
|
5644
|
-
def update(
|
5645
|
-
role,
|
5646
|
-
deadline: nil
|
5647
|
-
)
|
5648
|
-
req = V1::RoleUpdateRequest.new()
|
5649
|
-
|
5650
|
-
req.role = Plumbing::convert_role_to_plumbing(role)
|
5651
|
-
tries = 0
|
5652
|
-
plumbing_response = nil
|
5653
|
-
loop do
|
5654
|
-
begin
|
5655
|
-
plumbing_response = @stub.update(req, metadata: @parent.get_metadata("Roles.Update", req), deadline: deadline)
|
5656
|
-
rescue => exception
|
5657
|
-
if (@parent.shouldRetry(tries, exception, deadline))
|
5658
|
-
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
5659
|
-
next
|
5660
|
-
end
|
5661
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5662
|
-
end
|
5663
|
-
break
|
5664
|
-
end
|
5665
|
-
|
5666
|
-
resp = RoleUpdateResponse.new()
|
5667
|
-
resp.meta = Plumbing::convert_update_response_metadata_to_porcelain(plumbing_response.meta)
|
5668
|
-
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
5669
|
-
resp.role = Plumbing::convert_role_to_porcelain(plumbing_response.role)
|
5670
|
-
resp
|
5671
|
-
end
|
5672
|
-
|
5673
|
-
# Delete removes a Role by ID.
|
5674
|
-
def delete(
|
5675
|
-
id,
|
5676
|
-
deadline: nil
|
5677
|
-
)
|
5678
|
-
req = V1::RoleDeleteRequest.new()
|
5679
|
-
|
5680
|
-
req.id = (id)
|
5681
|
-
tries = 0
|
5682
|
-
plumbing_response = nil
|
5683
|
-
loop do
|
5684
|
-
begin
|
5685
|
-
plumbing_response = @stub.delete(req, metadata: @parent.get_metadata("Roles.Delete", req), deadline: deadline)
|
5686
|
-
rescue => exception
|
5687
|
-
if (@parent.shouldRetry(tries, exception, deadline))
|
5688
|
-
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
5689
|
-
next
|
5690
|
-
end
|
5691
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5692
|
-
end
|
5693
|
-
break
|
5694
|
-
end
|
5695
|
-
|
5696
|
-
resp = RoleDeleteResponse.new()
|
5697
|
-
resp.meta = Plumbing::convert_delete_response_metadata_to_porcelain(plumbing_response.meta)
|
5698
|
-
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
5699
|
-
resp
|
5700
|
-
end
|
5701
|
-
|
5702
|
-
# List gets a list of Roles matching a given set of criteria.
|
5703
|
-
def list(
|
5704
|
-
filter,
|
5705
|
-
*args,
|
5706
|
-
deadline: nil
|
5707
|
-
)
|
5708
|
-
req = V1::RoleListRequest.new()
|
5709
|
-
req.meta = V1::ListRequestMetadata.new()
|
5710
|
-
if not @parent.page_limit.nil?
|
5711
|
-
req.meta.limit = @parent.page_limit
|
5712
|
-
end
|
5713
|
-
if not @parent.snapshot_time.nil?
|
5714
|
-
req.meta.snapshot_at = @parent.snapshot_time
|
5715
|
-
end
|
5716
|
-
|
5717
|
-
req.filter = Plumbing::quote_filter_args(filter, *args)
|
5718
|
-
resp = Enumerator::Generator.new { |g|
|
5719
|
-
tries = 0
|
5720
|
-
loop do
|
5721
|
-
begin
|
5722
|
-
plumbing_response = @stub.list(req, metadata: @parent.get_metadata("Roles.List", req), deadline: deadline)
|
5723
|
-
rescue => exception
|
5724
|
-
if (@parent.shouldRetry(tries, exception, deadline))
|
5725
|
-
tries + +sleep(@parent.exponentialBackoff(tries, deadline))
|
5726
|
-
next
|
5727
|
-
end
|
5728
|
-
raise Plumbing::convert_error_to_porcelain(exception)
|
5729
|
-
end
|
5730
|
-
tries = 0
|
5731
|
-
plumbing_response.roles.each do |plumbing_item|
|
5732
|
-
g.yield Plumbing::convert_role_to_porcelain(plumbing_item)
|
5733
|
-
end
|
5734
|
-
break if plumbing_response.meta.next_cursor == ""
|
5735
|
-
req.meta.cursor = plumbing_response.meta.next_cursor
|
5736
|
-
end
|
5737
|
-
}
|
5738
|
-
resp
|
5739
|
-
end
|
5740
|
-
end
|
5741
|
-
|
5742
|
-
# SnapshotRoles exposes the read only methods of the Roles
|
5743
|
-
# service for historical queries.
|
5744
|
-
class SnapshotRoles
|
5745
|
-
extend Gem::Deprecate
|
5746
|
-
|
5747
|
-
def initialize(roles)
|
5748
|
-
@roles = roles
|
5749
|
-
end
|
5750
|
-
|
5751
|
-
# Get reads one Role by ID.
|
5752
|
-
def get(
|
5753
|
-
id,
|
5754
|
-
deadline: nil
|
5755
|
-
)
|
5756
|
-
return @roles.get(
|
5757
|
-
id,
|
5758
|
-
deadline: deadline,
|
5759
|
-
)
|
5760
|
-
end
|
5761
|
-
|
5762
|
-
# List gets a list of Roles matching a given set of criteria.
|
5763
|
-
def list(
|
5764
|
-
filter,
|
5765
|
-
*args,
|
5766
|
-
deadline: nil
|
5767
|
-
)
|
5768
|
-
return @roles.list(
|
5769
|
-
filter,
|
5770
|
-
*args,
|
5771
|
-
deadline: deadline,
|
5772
|
-
)
|
5773
|
-
end
|
5774
|
-
end
|
5775
|
-
|
5776
5778
|
# RolesHistory records all changes to the state of a Role.
|
5777
5779
|
#
|
5778
5780
|
# See {RoleHistory}.
|
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: 15.
|
4
|
+
version: 15.4.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: 2025-
|
11
|
+
date: 2025-07-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-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.idx"
|
85
|
+
- "./.git/objects/pack/pack-f192d3803f5fe19b9f8007286fd69d55cd44e0ee.pack"
|
86
86
|
- "./.git/packed-refs"
|
87
87
|
- "./.git/refs/heads/master"
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|