strongdm 7.1.0 → 8.1.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-9cd0615b40bc7f8b12560a1af725da3a06bcb1d9.idx → pack-63b03bbfbc64adbf239ae7962c94b13e00085e38.idx} +0 -0
- data/.git/objects/pack/{pack-9cd0615b40bc7f8b12560a1af725da3a06bcb1d9.pack → pack-63b03bbfbc64adbf239ae7962c94b13e00085e38.pack} +0 -0
- data/.git/packed-refs +4 -2
- data/.git/refs/heads/master +1 -1
- data/lib/constants.rb +4 -0
- data/lib/grpc/accounts_pb.rb +6 -0
- data/lib/grpc/accounts_services_pb.rb +1 -0
- data/lib/grpc/options_pb.rb +1 -0
- data/lib/grpc/plumbing.rb +124 -0
- data/lib/grpc/secret_store_types_pb.rb +17 -0
- data/lib/models/porcelain.rb +134 -0
- data/lib/strongdm.rb +4 -2
- data/lib/svc.rb +5 -0
- 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: 9126b0fed8d1f9d6bace10080c99994b18fea3dfb5d10728cb14f0ccbf2cac5b
|
|
4
|
+
data.tar.gz: 45523efb30a4a5615704eac6078c24187c8033739066669afac11c30c032f2ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8b95773f4109c5e056bcfb92dd4b95ebc52eec97e178c8794622e2169e4bae765f420df3a763d5cf94bf37f1a1f443732abb1344cd4174f8d66d629cb47ed1d5
|
|
7
|
+
data.tar.gz: 66429d1d6759fb9f349b8fc110ae80ff297f43f3ae7bb98f6ac56de3f8fd338a6f0ecef79b81f4430e787c4974c433a0313e66510f70b9b67efa5f77ae58a2d1
|
data/.git/ORIG_HEAD
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
7659a644ef149debee2515386136b7e2d5e917ea
|
data/.git/index
CHANGED
|
Binary file
|
data/.git/logs/HEAD
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
7659a644ef149debee2515386136b7e2d5e917ea 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 checkout: moving from master to master
|
|
3
|
+
7659a644ef149debee2515386136b7e2d5e917ea 14ef2b24960a5e854b60586884494ed913221b5b sdmrelease <support@strongdm.com> 1714059057 +0000 merge origin/development: Fast-forward
|
data/.git/logs/refs/heads/master
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
2
|
-
|
|
1
|
+
0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
|
|
2
|
+
7659a644ef149debee2515386136b7e2d5e917ea 14ef2b24960a5e854b60586884494ed913221b5b sdmrelease <support@strongdm.com> 1714059057 +0000 merge origin/development: Fast-forward
|
|
@@ -1 +1 @@
|
|
|
1
|
-
0000000000000000000000000000000000000000
|
|
1
|
+
0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +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
|
+
14ef2b24960a5e854b60586884494ed913221b5b refs/remotes/origin/development
|
|
3
|
+
7659a644ef149debee2515386136b7e2d5e917ea 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,3 +103,5 @@ e37aa2b50ffd917949a8e1c7a1fa28d12071fa69 refs/tags/v6.7.0
|
|
|
103
103
|
0429c9a2739f699ea33db7e6dd85e6be47e9190e refs/tags/v6.8.0
|
|
104
104
|
d8a1092c15d3618de31ada43875014d96bd21e36 refs/tags/v6.9.0
|
|
105
105
|
c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c refs/tags/v7.0.0
|
|
106
|
+
f34575bc142eabf113dbbc5b40b3a16e0c026355 refs/tags/v7.1.0
|
|
107
|
+
7659a644ef149debee2515386136b7e2d5e917ea refs/tags/v8.0.0
|
data/.git/refs/heads/master
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
14ef2b24960a5e854b60586884494ed913221b5b
|
data/lib/constants.rb
CHANGED
|
@@ -241,9 +241,13 @@ module SDM
|
|
|
241
241
|
REMOTE_IDENTITY_GROUP_CREATED = "remote identity group created"
|
|
242
242
|
REMOTE_IDENTITY_GROUP_UPDATED = "remote identity group updated"
|
|
243
243
|
REMOTE_IDENTITY_GROUP_DELETED = "remote identity group deleted"
|
|
244
|
+
IDENTITY_SET_PROVISIONING_ENABLED = "identity set provisioning enabled"
|
|
245
|
+
IDENTITY_SET_PROVISIONING_DISABLED = "identity set provisioning disabled"
|
|
244
246
|
REMOTE_IDENTITY_CREATED = "remote identity created"
|
|
245
247
|
REMOTE_IDENTITY_UPDATED = "remote identity updated"
|
|
246
248
|
REMOTE_IDENTITY_DELETED = "remote identity deleted"
|
|
249
|
+
IDENTITY_ALIAS_PROVISIONING_ENABLED = "identity alias provisioning enabled"
|
|
250
|
+
IDENTITY_ALIAS_PROVISIONING_DISABLED = "identity alias provisioning disabled"
|
|
247
251
|
ACCESS_REQUESTED_TO_RESOURCE = "access requested to resource"
|
|
248
252
|
ACCESS_REQUEST_TO_RESOURCE_APPROVAL_ADDED = "access request to resource approval added"
|
|
249
253
|
ACCESS_REQUEST_TO_RESOURCE_CANCELED = "access request to resource canceled"
|
data/lib/grpc/accounts_pb.rb
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
require "google/protobuf"
|
|
19
19
|
|
|
20
|
+
require "google/protobuf/duration_pb"
|
|
20
21
|
require "google/protobuf/timestamp_pb"
|
|
21
22
|
require "options_pb"
|
|
22
23
|
require "spec_pb"
|
|
@@ -33,6 +34,8 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
33
34
|
optional :account, :message, 2, "v1.Account"
|
|
34
35
|
optional :token, :string, 3
|
|
35
36
|
optional :rate_limit, :message, 4, "v1.RateLimitMetadata"
|
|
37
|
+
optional :access_key, :string, 5
|
|
38
|
+
optional :secret_key, :string, 6
|
|
36
39
|
end
|
|
37
40
|
add_message "v1.AccountGetRequest" do
|
|
38
41
|
optional :meta, :message, 1, "v1.GetRequestMetadata"
|
|
@@ -103,6 +106,9 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
103
106
|
optional :tags, :message, 4, "v1.Tags"
|
|
104
107
|
optional :rekeyed, :message, 5, "google.protobuf.Timestamp"
|
|
105
108
|
optional :deadline, :message, 6, "google.protobuf.Timestamp"
|
|
109
|
+
optional :account_type, :string, 7
|
|
110
|
+
repeated :permissions, :string, 8
|
|
111
|
+
optional :duration, :message, 9, "google.protobuf.Duration"
|
|
106
112
|
end
|
|
107
113
|
end
|
|
108
114
|
end
|
|
@@ -23,6 +23,7 @@ module V1
|
|
|
23
23
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
24
24
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
25
25
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
26
|
+
# 3. **Tokens** are access keys with permissions that can be used for authentication.
|
|
26
27
|
class Service
|
|
27
28
|
include ::GRPC::GenericService
|
|
28
29
|
|
data/lib/grpc/options_pb.rb
CHANGED
|
@@ -44,6 +44,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
44
44
|
repeated :targets, :string, 1941306
|
|
45
45
|
optional :terraform_docs, :message, 1941304, "v1.TerraformDocs"
|
|
46
46
|
optional :custom, :message, 1941305, "v1.CustomOptions"
|
|
47
|
+
optional :terraform_datasource_only, :bool, 1941307
|
|
47
48
|
end
|
|
48
49
|
add_message "v1.OneofOptions" do
|
|
49
50
|
repeated :common_fields, :string, 1941381
|
data/lib/grpc/plumbing.rb
CHANGED
|
@@ -1041,6 +1041,9 @@ module SDM
|
|
|
1041
1041
|
if porcelain.instance_of? Service
|
|
1042
1042
|
plumbing.service = convert_service_to_plumbing(porcelain)
|
|
1043
1043
|
end
|
|
1044
|
+
if porcelain.instance_of? Token
|
|
1045
|
+
plumbing.token = convert_token_to_plumbing(porcelain)
|
|
1046
|
+
end
|
|
1044
1047
|
if porcelain.instance_of? User
|
|
1045
1048
|
plumbing.user = convert_user_to_plumbing(porcelain)
|
|
1046
1049
|
end
|
|
@@ -1054,6 +1057,9 @@ module SDM
|
|
|
1054
1057
|
if plumbing.service != nil
|
|
1055
1058
|
return convert_service_to_porcelain(plumbing.service)
|
|
1056
1059
|
end
|
|
1060
|
+
if plumbing.token != nil
|
|
1061
|
+
return convert_token_to_porcelain(plumbing.token)
|
|
1062
|
+
end
|
|
1057
1063
|
if plumbing.user != nil
|
|
1058
1064
|
return convert_user_to_porcelain(plumbing.user)
|
|
1059
1065
|
end
|
|
@@ -1271,9 +1277,11 @@ module SDM
|
|
|
1271
1277
|
return nil
|
|
1272
1278
|
end
|
|
1273
1279
|
porcelain = AccountCreateResponse.new()
|
|
1280
|
+
porcelain.access_key = (plumbing.access_key)
|
|
1274
1281
|
porcelain.account = convert_account_to_porcelain(plumbing.account)
|
|
1275
1282
|
porcelain.meta = convert_create_response_metadata_to_porcelain(plumbing.meta)
|
|
1276
1283
|
porcelain.rate_limit = convert_rate_limit_metadata_to_porcelain(plumbing.rate_limit)
|
|
1284
|
+
porcelain.secret_key = (plumbing.secret_key)
|
|
1277
1285
|
porcelain.token = (plumbing.token)
|
|
1278
1286
|
porcelain
|
|
1279
1287
|
end
|
|
@@ -1283,9 +1291,11 @@ module SDM
|
|
|
1283
1291
|
return nil
|
|
1284
1292
|
end
|
|
1285
1293
|
plumbing = V1::AccountCreateResponse.new()
|
|
1294
|
+
plumbing.access_key = (porcelain.access_key)
|
|
1286
1295
|
plumbing.account = convert_account_to_plumbing(porcelain.account)
|
|
1287
1296
|
plumbing.meta = convert_create_response_metadata_to_plumbing(porcelain.meta)
|
|
1288
1297
|
plumbing.rate_limit = convert_rate_limit_metadata_to_plumbing(porcelain.rate_limit)
|
|
1298
|
+
plumbing.secret_key = (porcelain.secret_key)
|
|
1289
1299
|
plumbing.token = (porcelain.token)
|
|
1290
1300
|
plumbing
|
|
1291
1301
|
end
|
|
@@ -5406,6 +5416,64 @@ module SDM
|
|
|
5406
5416
|
end
|
|
5407
5417
|
items
|
|
5408
5418
|
end
|
|
5419
|
+
def self.convert_keyfactor_x_509_store_to_porcelain(plumbing)
|
|
5420
|
+
if plumbing == nil
|
|
5421
|
+
return nil
|
|
5422
|
+
end
|
|
5423
|
+
porcelain = KeyfactorX509Store.new()
|
|
5424
|
+
porcelain.ca_file_path = (plumbing.ca_file_path)
|
|
5425
|
+
porcelain.certificate_file_path = (plumbing.certificate_file_path)
|
|
5426
|
+
porcelain.default_certificate_authority_name = (plumbing.default_certificate_authority_name)
|
|
5427
|
+
porcelain.default_certificate_profile_name = (plumbing.default_certificate_profile_name)
|
|
5428
|
+
porcelain.default_end_entity_profile_name = (plumbing.default_end_entity_profile_name)
|
|
5429
|
+
porcelain.enrollment_code_env_var = (plumbing.enrollment_code_env_var)
|
|
5430
|
+
porcelain.enrollment_username_env_var = (plumbing.enrollment_username_env_var)
|
|
5431
|
+
porcelain.id = (plumbing.id)
|
|
5432
|
+
porcelain.key_file_path = (plumbing.key_file_path)
|
|
5433
|
+
porcelain.key_password_env_var = (plumbing.key_password_env_var)
|
|
5434
|
+
porcelain.name = (plumbing.name)
|
|
5435
|
+
porcelain.server_address = (plumbing.server_address)
|
|
5436
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
|
5437
|
+
porcelain
|
|
5438
|
+
end
|
|
5439
|
+
|
|
5440
|
+
def self.convert_keyfactor_x_509_store_to_plumbing(porcelain)
|
|
5441
|
+
if porcelain == nil
|
|
5442
|
+
return nil
|
|
5443
|
+
end
|
|
5444
|
+
plumbing = V1::KeyfactorX509Store.new()
|
|
5445
|
+
plumbing.ca_file_path = (porcelain.ca_file_path)
|
|
5446
|
+
plumbing.certificate_file_path = (porcelain.certificate_file_path)
|
|
5447
|
+
plumbing.default_certificate_authority_name = (porcelain.default_certificate_authority_name)
|
|
5448
|
+
plumbing.default_certificate_profile_name = (porcelain.default_certificate_profile_name)
|
|
5449
|
+
plumbing.default_end_entity_profile_name = (porcelain.default_end_entity_profile_name)
|
|
5450
|
+
plumbing.enrollment_code_env_var = (porcelain.enrollment_code_env_var)
|
|
5451
|
+
plumbing.enrollment_username_env_var = (porcelain.enrollment_username_env_var)
|
|
5452
|
+
plumbing.id = (porcelain.id)
|
|
5453
|
+
plumbing.key_file_path = (porcelain.key_file_path)
|
|
5454
|
+
plumbing.key_password_env_var = (porcelain.key_password_env_var)
|
|
5455
|
+
plumbing.name = (porcelain.name)
|
|
5456
|
+
plumbing.server_address = (porcelain.server_address)
|
|
5457
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
|
5458
|
+
plumbing
|
|
5459
|
+
end
|
|
5460
|
+
def self.convert_repeated_keyfactor_x_509_store_to_plumbing(porcelains)
|
|
5461
|
+
items = Array.new
|
|
5462
|
+
porcelains.each do |porcelain|
|
|
5463
|
+
plumbing = convert_keyfactor_x_509_store_to_plumbing(porcelain)
|
|
5464
|
+
items.append(plumbing)
|
|
5465
|
+
end
|
|
5466
|
+
items
|
|
5467
|
+
end
|
|
5468
|
+
|
|
5469
|
+
def self.convert_repeated_keyfactor_x_509_store_to_porcelain(plumbings)
|
|
5470
|
+
items = Array.new
|
|
5471
|
+
plumbings.each do |plumbing|
|
|
5472
|
+
porcelain = convert_keyfactor_x_509_store_to_porcelain(plumbing)
|
|
5473
|
+
items.append(porcelain)
|
|
5474
|
+
end
|
|
5475
|
+
items
|
|
5476
|
+
end
|
|
5409
5477
|
def self.convert_kubernetes_to_porcelain(plumbing)
|
|
5410
5478
|
if plumbing == nil
|
|
5411
5479
|
return nil
|
|
@@ -10363,6 +10431,9 @@ module SDM
|
|
|
10363
10431
|
if porcelain.instance_of? GCPCertX509Store
|
|
10364
10432
|
plumbing.gcp_cert_x_509 = convert_gcp_cert_x_509_store_to_plumbing(porcelain)
|
|
10365
10433
|
end
|
|
10434
|
+
if porcelain.instance_of? KeyfactorX509Store
|
|
10435
|
+
plumbing.keyfactor_x_509 = convert_keyfactor_x_509_store_to_plumbing(porcelain)
|
|
10436
|
+
end
|
|
10366
10437
|
if porcelain.instance_of? VaultAppRoleStore
|
|
10367
10438
|
plumbing.vault_app_role = convert_vault_app_role_store_to_plumbing(porcelain)
|
|
10368
10439
|
end
|
|
@@ -10427,6 +10498,9 @@ module SDM
|
|
|
10427
10498
|
if plumbing.gcp_cert_x_509 != nil
|
|
10428
10499
|
return convert_gcp_cert_x_509_store_to_porcelain(plumbing.gcp_cert_x_509)
|
|
10429
10500
|
end
|
|
10501
|
+
if plumbing.keyfactor_x_509 != nil
|
|
10502
|
+
return convert_keyfactor_x_509_store_to_porcelain(plumbing.keyfactor_x_509)
|
|
10503
|
+
end
|
|
10430
10504
|
if plumbing.vault_app_role != nil
|
|
10431
10505
|
return convert_vault_app_role_store_to_porcelain(plumbing.vault_app_role)
|
|
10432
10506
|
end
|
|
@@ -11207,6 +11281,56 @@ module SDM
|
|
|
11207
11281
|
end
|
|
11208
11282
|
items
|
|
11209
11283
|
end
|
|
11284
|
+
def self.convert_token_to_porcelain(plumbing)
|
|
11285
|
+
if plumbing == nil
|
|
11286
|
+
return nil
|
|
11287
|
+
end
|
|
11288
|
+
porcelain = Token.new()
|
|
11289
|
+
porcelain.account_type = (plumbing.account_type)
|
|
11290
|
+
porcelain.deadline = convert_timestamp_to_porcelain(plumbing.deadline)
|
|
11291
|
+
porcelain.duration = convert_duration_to_porcelain(plumbing.duration)
|
|
11292
|
+
porcelain.id = (plumbing.id)
|
|
11293
|
+
porcelain.name = (plumbing.name)
|
|
11294
|
+
porcelain.permissions = (plumbing.permissions)
|
|
11295
|
+
porcelain.rekeyed = convert_timestamp_to_porcelain(plumbing.rekeyed)
|
|
11296
|
+
porcelain.suspended = (plumbing.suspended)
|
|
11297
|
+
porcelain.tags = convert_tags_to_porcelain(plumbing.tags)
|
|
11298
|
+
porcelain
|
|
11299
|
+
end
|
|
11300
|
+
|
|
11301
|
+
def self.convert_token_to_plumbing(porcelain)
|
|
11302
|
+
if porcelain == nil
|
|
11303
|
+
return nil
|
|
11304
|
+
end
|
|
11305
|
+
plumbing = V1::Token.new()
|
|
11306
|
+
plumbing.account_type = (porcelain.account_type)
|
|
11307
|
+
plumbing.deadline = convert_timestamp_to_plumbing(porcelain.deadline)
|
|
11308
|
+
plumbing.duration = convert_duration_to_plumbing(porcelain.duration)
|
|
11309
|
+
plumbing.id = (porcelain.id)
|
|
11310
|
+
plumbing.name = (porcelain.name)
|
|
11311
|
+
plumbing.permissions += (porcelain.permissions)
|
|
11312
|
+
plumbing.rekeyed = convert_timestamp_to_plumbing(porcelain.rekeyed)
|
|
11313
|
+
plumbing.suspended = (porcelain.suspended)
|
|
11314
|
+
plumbing.tags = convert_tags_to_plumbing(porcelain.tags)
|
|
11315
|
+
plumbing
|
|
11316
|
+
end
|
|
11317
|
+
def self.convert_repeated_token_to_plumbing(porcelains)
|
|
11318
|
+
items = Array.new
|
|
11319
|
+
porcelains.each do |porcelain|
|
|
11320
|
+
plumbing = convert_token_to_plumbing(porcelain)
|
|
11321
|
+
items.append(plumbing)
|
|
11322
|
+
end
|
|
11323
|
+
items
|
|
11324
|
+
end
|
|
11325
|
+
|
|
11326
|
+
def self.convert_repeated_token_to_porcelain(plumbings)
|
|
11327
|
+
items = Array.new
|
|
11328
|
+
plumbings.each do |plumbing|
|
|
11329
|
+
porcelain = convert_token_to_porcelain(plumbing)
|
|
11330
|
+
items.append(porcelain)
|
|
11331
|
+
end
|
|
11332
|
+
items
|
|
11333
|
+
end
|
|
11210
11334
|
def self.convert_trino_to_porcelain(plumbing)
|
|
11211
11335
|
if plumbing == nil
|
|
11212
11336
|
return nil
|
|
@@ -34,6 +34,7 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
34
34
|
optional :delinea, :message, 2900, "v1.DelineaStore"
|
|
35
35
|
optional :gcp, :message, 201, "v1.GCPStore"
|
|
36
36
|
optional :gcp_cert_x_509, :message, 202, "v1.GCPCertX509Store"
|
|
37
|
+
optional :keyfactor_x_509, :message, 200, "v1.KeyfactorX509Store"
|
|
37
38
|
optional :vault_app_role, :message, 4, "v1.VaultAppRoleStore"
|
|
38
39
|
optional :vault_app_role_cert_ssh, :message, 94, "v1.VaultAppRoleCertSSHStore"
|
|
39
40
|
optional :vault_app_role_cert_x_509, :message, 95, "v1.VaultAppRoleCertX509Store"
|
|
@@ -114,6 +115,21 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
|
|
|
114
115
|
optional :projectID, :string, 3
|
|
115
116
|
optional :tags, :message, 32771, "v1.Tags"
|
|
116
117
|
end
|
|
118
|
+
add_message "v1.KeyfactorX509Store" do
|
|
119
|
+
optional :id, :string, 1
|
|
120
|
+
optional :name, :string, 2
|
|
121
|
+
optional :ca_file_path, :string, 6
|
|
122
|
+
optional :certificate_file_path, :string, 4
|
|
123
|
+
optional :default_certificate_authority_name, :string, 10
|
|
124
|
+
optional :default_certificate_profile_name, :string, 8
|
|
125
|
+
optional :default_end_entity_profile_name, :string, 9
|
|
126
|
+
optional :enrollment_code_env_var, :string, 12
|
|
127
|
+
optional :enrollment_username_env_var, :string, 11
|
|
128
|
+
optional :key_file_path, :string, 5
|
|
129
|
+
optional :key_password_env_var, :string, 7
|
|
130
|
+
optional :server_address, :string, 3
|
|
131
|
+
optional :tags, :message, 32771, "v1.Tags"
|
|
132
|
+
end
|
|
117
133
|
add_message "v1.VaultAppRoleStore" do
|
|
118
134
|
optional :id, :string, 1
|
|
119
135
|
optional :name, :string, 2
|
|
@@ -219,6 +235,7 @@ module V1
|
|
|
219
235
|
DelineaStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.DelineaStore").msgclass
|
|
220
236
|
GCPStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GCPStore").msgclass
|
|
221
237
|
GCPCertX509Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.GCPCertX509Store").msgclass
|
|
238
|
+
KeyfactorX509Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.KeyfactorX509Store").msgclass
|
|
222
239
|
VaultAppRoleStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.VaultAppRoleStore").msgclass
|
|
223
240
|
VaultAppRoleCertSSHStore = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.VaultAppRoleCertSSHStore").msgclass
|
|
224
241
|
VaultAppRoleCertX509Store = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("v1.VaultAppRoleCertX509Store").msgclass
|
data/lib/models/porcelain.rb
CHANGED
|
@@ -1081,25 +1081,33 @@ module SDM
|
|
|
1081
1081
|
|
|
1082
1082
|
# AccountCreateResponse reports how the Accounts were created in the system.
|
|
1083
1083
|
class AccountCreateResponse
|
|
1084
|
+
# ID part of the API key.
|
|
1085
|
+
attr_accessor :access_key
|
|
1084
1086
|
# The created Account.
|
|
1085
1087
|
attr_accessor :account
|
|
1086
1088
|
# Reserved for future use.
|
|
1087
1089
|
attr_accessor :meta
|
|
1088
1090
|
# Rate limit information.
|
|
1089
1091
|
attr_accessor :rate_limit
|
|
1092
|
+
# Secret part of the API key.
|
|
1093
|
+
attr_accessor :secret_key
|
|
1090
1094
|
# The auth token generated for the Account. The Account will use this token to
|
|
1091
1095
|
# authenticate with the strongDM API.
|
|
1092
1096
|
attr_accessor :token
|
|
1093
1097
|
|
|
1094
1098
|
def initialize(
|
|
1099
|
+
access_key: nil,
|
|
1095
1100
|
account: nil,
|
|
1096
1101
|
meta: nil,
|
|
1097
1102
|
rate_limit: nil,
|
|
1103
|
+
secret_key: nil,
|
|
1098
1104
|
token: nil
|
|
1099
1105
|
)
|
|
1106
|
+
@access_key = access_key == nil ? "" : access_key
|
|
1100
1107
|
@account = account == nil ? nil : account
|
|
1101
1108
|
@meta = meta == nil ? nil : meta
|
|
1102
1109
|
@rate_limit = rate_limit == nil ? nil : rate_limit
|
|
1110
|
+
@secret_key = secret_key == nil ? "" : secret_key
|
|
1103
1111
|
@token = token == nil ? "" : token
|
|
1104
1112
|
end
|
|
1105
1113
|
|
|
@@ -5245,6 +5253,79 @@ module SDM
|
|
|
5245
5253
|
end
|
|
5246
5254
|
end
|
|
5247
5255
|
|
|
5256
|
+
class KeyfactorX509Store
|
|
5257
|
+
# Path to the root CA that signed the certificate passed to the client for HTTPS connection.
|
|
5258
|
+
# This is not required if the CA is trusted by the host operating system. This should be a PEM
|
|
5259
|
+
# formatted certificate, and doesn't necessarily have to be the CA that signed CertificateFile.
|
|
5260
|
+
attr_accessor :ca_file_path
|
|
5261
|
+
# Path to client certificate in PEM format. This certificate must contain a client certificate that
|
|
5262
|
+
# is recognized by the EJBCA instance represented by Hostname. This PEM file may also contain the private
|
|
5263
|
+
# key associated with the certificate, but KeyFile can also be set to configure the private key.
|
|
5264
|
+
attr_accessor :certificate_file_path
|
|
5265
|
+
# Name of EJBCA certificate authority that will enroll CSR.
|
|
5266
|
+
attr_accessor :default_certificate_authority_name
|
|
5267
|
+
# Certificate profile name that EJBCA will enroll the CSR with.
|
|
5268
|
+
attr_accessor :default_certificate_profile_name
|
|
5269
|
+
# End entity profile that EJBCA will enroll the CSR with.
|
|
5270
|
+
attr_accessor :default_end_entity_profile_name
|
|
5271
|
+
# code used by EJBCA during enrollment. May be left blank if no code is required.
|
|
5272
|
+
attr_accessor :enrollment_code_env_var
|
|
5273
|
+
# username that used by the EJBCA during enrollment. This can be left out.
|
|
5274
|
+
# If so, the username must be auto-generated on the Keyfactor side.
|
|
5275
|
+
attr_accessor :enrollment_username_env_var
|
|
5276
|
+
# Unique identifier of the SecretStore.
|
|
5277
|
+
attr_accessor :id
|
|
5278
|
+
# Path to private key in PEM format. This file should contain the private key associated with the
|
|
5279
|
+
# client certificate configured in CertificateFile.
|
|
5280
|
+
attr_accessor :key_file_path
|
|
5281
|
+
# optional environment variable housing the password that is used to decrypt the key file.
|
|
5282
|
+
attr_accessor :key_password_env_var
|
|
5283
|
+
# Unique human-readable name of the SecretStore.
|
|
5284
|
+
attr_accessor :name
|
|
5285
|
+
# the host of the Key Factor CA
|
|
5286
|
+
attr_accessor :server_address
|
|
5287
|
+
# Tags is a map of key, value pairs.
|
|
5288
|
+
attr_accessor :tags
|
|
5289
|
+
|
|
5290
|
+
def initialize(
|
|
5291
|
+
ca_file_path: nil,
|
|
5292
|
+
certificate_file_path: nil,
|
|
5293
|
+
default_certificate_authority_name: nil,
|
|
5294
|
+
default_certificate_profile_name: nil,
|
|
5295
|
+
default_end_entity_profile_name: nil,
|
|
5296
|
+
enrollment_code_env_var: nil,
|
|
5297
|
+
enrollment_username_env_var: nil,
|
|
5298
|
+
id: nil,
|
|
5299
|
+
key_file_path: nil,
|
|
5300
|
+
key_password_env_var: nil,
|
|
5301
|
+
name: nil,
|
|
5302
|
+
server_address: nil,
|
|
5303
|
+
tags: nil
|
|
5304
|
+
)
|
|
5305
|
+
@ca_file_path = ca_file_path == nil ? "" : ca_file_path
|
|
5306
|
+
@certificate_file_path = certificate_file_path == nil ? "" : certificate_file_path
|
|
5307
|
+
@default_certificate_authority_name = default_certificate_authority_name == nil ? "" : default_certificate_authority_name
|
|
5308
|
+
@default_certificate_profile_name = default_certificate_profile_name == nil ? "" : default_certificate_profile_name
|
|
5309
|
+
@default_end_entity_profile_name = default_end_entity_profile_name == nil ? "" : default_end_entity_profile_name
|
|
5310
|
+
@enrollment_code_env_var = enrollment_code_env_var == nil ? "" : enrollment_code_env_var
|
|
5311
|
+
@enrollment_username_env_var = enrollment_username_env_var == nil ? "" : enrollment_username_env_var
|
|
5312
|
+
@id = id == nil ? "" : id
|
|
5313
|
+
@key_file_path = key_file_path == nil ? "" : key_file_path
|
|
5314
|
+
@key_password_env_var = key_password_env_var == nil ? "" : key_password_env_var
|
|
5315
|
+
@name = name == nil ? "" : name
|
|
5316
|
+
@server_address = server_address == nil ? "" : server_address
|
|
5317
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
|
5318
|
+
end
|
|
5319
|
+
|
|
5320
|
+
def to_json(options = {})
|
|
5321
|
+
hash = {}
|
|
5322
|
+
self.instance_variables.each do |var|
|
|
5323
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
5324
|
+
end
|
|
5325
|
+
hash.to_json
|
|
5326
|
+
end
|
|
5327
|
+
end
|
|
5328
|
+
|
|
5248
5329
|
class Kubernetes
|
|
5249
5330
|
# 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.
|
|
5250
5331
|
attr_accessor :bind_interface
|
|
@@ -10409,6 +10490,59 @@ module SDM
|
|
|
10409
10490
|
end
|
|
10410
10491
|
end
|
|
10411
10492
|
|
|
10493
|
+
# A Token is an account providing tokenized access for automation or integration use.
|
|
10494
|
+
# Tokens include admin tokens, API keys, and SCIM tokens.
|
|
10495
|
+
class Token
|
|
10496
|
+
# Corresponds to the type of token, e.g. api or admin-token.
|
|
10497
|
+
attr_accessor :account_type
|
|
10498
|
+
# The timestamp when the Token will expire.
|
|
10499
|
+
attr_accessor :deadline
|
|
10500
|
+
# Duration from token creation to expiration.
|
|
10501
|
+
attr_accessor :duration
|
|
10502
|
+
# Unique identifier of the Token.
|
|
10503
|
+
attr_accessor :id
|
|
10504
|
+
# Unique human-readable name of the Token.
|
|
10505
|
+
attr_accessor :name
|
|
10506
|
+
# Permissions assigned to the token, e.g. role:create.
|
|
10507
|
+
attr_accessor :permissions
|
|
10508
|
+
# The timestamp when the Token was last rekeyed.
|
|
10509
|
+
attr_accessor :rekeyed
|
|
10510
|
+
# Reserved for future use. Always false for tokens.
|
|
10511
|
+
attr_accessor :suspended
|
|
10512
|
+
# Tags is a map of key, value pairs.
|
|
10513
|
+
attr_accessor :tags
|
|
10514
|
+
|
|
10515
|
+
def initialize(
|
|
10516
|
+
account_type: nil,
|
|
10517
|
+
deadline: nil,
|
|
10518
|
+
duration: nil,
|
|
10519
|
+
id: nil,
|
|
10520
|
+
name: nil,
|
|
10521
|
+
permissions: nil,
|
|
10522
|
+
rekeyed: nil,
|
|
10523
|
+
suspended: nil,
|
|
10524
|
+
tags: nil
|
|
10525
|
+
)
|
|
10526
|
+
@account_type = account_type == nil ? "" : account_type
|
|
10527
|
+
@deadline = deadline == nil ? nil : deadline
|
|
10528
|
+
@duration = duration == nil ? nil : duration
|
|
10529
|
+
@id = id == nil ? "" : id
|
|
10530
|
+
@name = name == nil ? "" : name
|
|
10531
|
+
@permissions = permissions == nil ? [] : permissions
|
|
10532
|
+
@rekeyed = rekeyed == nil ? nil : rekeyed
|
|
10533
|
+
@suspended = suspended == nil ? false : suspended
|
|
10534
|
+
@tags = tags == nil ? SDM::_porcelain_zero_value_tags() : tags
|
|
10535
|
+
end
|
|
10536
|
+
|
|
10537
|
+
def to_json(options = {})
|
|
10538
|
+
hash = {}
|
|
10539
|
+
self.instance_variables.each do |var|
|
|
10540
|
+
hash[var.id2name.delete_prefix("@")] = self.instance_variable_get var
|
|
10541
|
+
end
|
|
10542
|
+
hash.to_json
|
|
10543
|
+
end
|
|
10544
|
+
end
|
|
10545
|
+
|
|
10412
10546
|
# Trino is currently unstable, and its API may change, or it may be removed, without a major version bump.
|
|
10413
10547
|
class Trino
|
|
10414
10548
|
# 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.
|
data/lib/strongdm.rb
CHANGED
|
@@ -28,8 +28,8 @@ module SDM #:nodoc:
|
|
|
28
28
|
DEFAULT_MAX_RETRIES = 3
|
|
29
29
|
DEFAULT_BASE_RETRY_DELAY = 0.0030 # 30 ms
|
|
30
30
|
DEFAULT_MAX_RETRY_DELAY = 300 # 300 seconds
|
|
31
|
-
API_VERSION = "2024-03-
|
|
32
|
-
USER_AGENT = "strongdm-sdk-ruby/
|
|
31
|
+
API_VERSION = "2024-03-28"
|
|
32
|
+
USER_AGENT = "strongdm-sdk-ruby/8.1.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.
|
|
@@ -240,6 +240,7 @@ module SDM #:nodoc:
|
|
|
240
240
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
241
241
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
242
242
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
243
|
+
# 3. **Tokens** are access keys with permissions that can be used for authentication.
|
|
243
244
|
#
|
|
244
245
|
# See {Accounts}.
|
|
245
246
|
attr_reader :accounts
|
|
@@ -527,6 +528,7 @@ module SDM #:nodoc:
|
|
|
527
528
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
528
529
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
529
530
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
531
|
+
# 3. **Tokens** are access keys with permissions that can be used for authentication.
|
|
530
532
|
#
|
|
531
533
|
# See {SnapshotAccounts}.
|
|
532
534
|
attr_reader :accounts
|
data/lib/svc.rb
CHANGED
|
@@ -902,9 +902,11 @@ module SDM #:nodoc:
|
|
|
902
902
|
# Accounts are users that have access to strongDM. There are two types of accounts:
|
|
903
903
|
# 1. **Users:** humans who are authenticated through username and password or SSO.
|
|
904
904
|
# 2. **Service Accounts:** machines that are authenticated using a service token.
|
|
905
|
+
# 3. **Tokens** are access keys with permissions that can be used for authentication.
|
|
905
906
|
#
|
|
906
907
|
# See:
|
|
907
908
|
# {Service}
|
|
909
|
+
# {Token}
|
|
908
910
|
# {User}
|
|
909
911
|
class Accounts
|
|
910
912
|
extend Gem::Deprecate
|
|
@@ -942,9 +944,11 @@ module SDM #:nodoc:
|
|
|
942
944
|
end
|
|
943
945
|
|
|
944
946
|
resp = AccountCreateResponse.new()
|
|
947
|
+
resp.access_key = (plumbing_response.access_key)
|
|
945
948
|
resp.account = Plumbing::convert_account_to_porcelain(plumbing_response.account)
|
|
946
949
|
resp.meta = Plumbing::convert_create_response_metadata_to_porcelain(plumbing_response.meta)
|
|
947
950
|
resp.rate_limit = Plumbing::convert_rate_limit_metadata_to_porcelain(plumbing_response.rate_limit)
|
|
951
|
+
resp.secret_key = (plumbing_response.secret_key)
|
|
948
952
|
resp.token = (plumbing_response.token)
|
|
949
953
|
resp
|
|
950
954
|
end
|
|
@@ -4504,6 +4508,7 @@ module SDM #:nodoc:
|
|
|
4504
4508
|
# {DelineaStore}
|
|
4505
4509
|
# {GCPStore}
|
|
4506
4510
|
# {GCPCertX509Store}
|
|
4511
|
+
# {KeyfactorX509Store}
|
|
4507
4512
|
# {VaultAppRoleStore}
|
|
4508
4513
|
# {VaultAppRoleCertSSHStore}
|
|
4509
4514
|
# {VaultAppRoleCertX509Store}
|
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:
|
|
4
|
+
version: 8.1.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-
|
|
11
|
+
date: 2024-04-25 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-63b03bbfbc64adbf239ae7962c94b13e00085e38.idx"
|
|
85
|
+
- "./.git/objects/pack/pack-63b03bbfbc64adbf239ae7962c94b13e00085e38.pack"
|
|
86
86
|
- "./.git/packed-refs"
|
|
87
87
|
- "./.git/refs/heads/master"
|
|
88
88
|
- "./.git/refs/remotes/origin/HEAD"
|