strongdm 7.1.0 → 8.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.git/ORIG_HEAD +1 -1
- data/.git/index +0 -0
- data/.git/logs/HEAD +3 -3
- data/.git/logs/refs/heads/master +2 -2
- data/.git/logs/refs/remotes/origin/HEAD +1 -1
- data/.git/objects/pack/{pack-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"
|