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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5c057417bc8df129e58f80222c92f1d47974637172f83b9049183a9dfa062952
4
- data.tar.gz: 380e652a133f54b2951e41f9ab9036ce7083e8bbae474c11366599ecdb1e6b60
3
+ metadata.gz: 9126b0fed8d1f9d6bace10080c99994b18fea3dfb5d10728cb14f0ccbf2cac5b
4
+ data.tar.gz: 45523efb30a4a5615704eac6078c24187c8033739066669afac11c30c032f2ac
5
5
  SHA512:
6
- metadata.gz: c886b286f177d51cb64793394983de2694dfcc2cf0e76ef59021e59e76063ed3c632224c7d3f79f63283acafe8b2c05caec74d1ff7651f0ac10d11d93d9aa57b
7
- data.tar.gz: 67a3a57f5bbe4a3f78798ea81fa48d8137ff7d910591e97d4c90881bf6b58e7eb248d5bd649a0bbafe4e100b272cae876b54c897f4dfe034b460486e312b77d8
6
+ metadata.gz: 8b95773f4109c5e056bcfb92dd4b95ebc52eec97e178c8794622e2169e4bae765f420df3a763d5cf94bf37f1a1f443732abb1344cd4174f8d66d629cb47ed1d5
7
+ data.tar.gz: 66429d1d6759fb9f349b8fc110ae80ff297f43f3ae7bb98f6ac56de3f8fd338a6f0ecef79b81f4430e787c4974c433a0313e66510f70b9b67efa5f77ae58a2d1
data/.git/ORIG_HEAD CHANGED
@@ -1 +1 @@
1
- c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c
1
+ 7659a644ef149debee2515386136b7e2d5e917ea
data/.git/index CHANGED
Binary file
data/.git/logs/HEAD CHANGED
@@ -1,3 +1,3 @@
1
- 0000000000000000000000000000000000000000 c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c sdmrelease <support@strongdm.com> 1710521783 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c sdmrelease <support@strongdm.com> 1710521783 +0000 checkout: moving from master to master
3
- c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c f34575bc142eabf113dbbc5b40b3a16e0c026355 sdmrelease <support@strongdm.com> 1710521783 +0000 merge origin/development: Fast-forward
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
@@ -1,2 +1,2 @@
1
- 0000000000000000000000000000000000000000 c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c sdmrelease <support@strongdm.com> 1710521783 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
2
- c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c f34575bc142eabf113dbbc5b40b3a16e0c026355 sdmrelease <support@strongdm.com> 1710521783 +0000 merge origin/development: Fast-forward
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 c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c sdmrelease <support@strongdm.com> 1710521783 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
1
+ 0000000000000000000000000000000000000000 7659a644ef149debee2515386136b7e2d5e917ea sdmrelease <support@strongdm.com> 1714059057 +0000 clone: from github.com:strongdm/strongdm-sdk-ruby.git
data/.git/packed-refs CHANGED
@@ -1,6 +1,6 @@
1
1
  # pack-refs with: peeled fully-peeled sorted
2
- f34575bc142eabf113dbbc5b40b3a16e0c026355 refs/remotes/origin/development
3
- c69cd1f08e014470bbe2e4dbc4ad494d4bf78d6c refs/remotes/origin/master
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
@@ -1 +1 @@
1
- f34575bc142eabf113dbbc5b40b3a16e0c026355
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"
@@ -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
 
@@ -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
@@ -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-14"
32
- USER_AGENT = "strongdm-sdk-ruby/7.1.0"
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
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "7.1.0"
16
+ VERSION = "8.1.0"
17
17
  end
data/lib/version.rb CHANGED
@@ -13,5 +13,5 @@
13
13
  # limitations under the License.
14
14
  #
15
15
  module SDM
16
- VERSION = "7.1.0"
16
+ VERSION = "8.1.0"
17
17
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strongdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.1.0
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-03-15 00:00:00.000000000 Z
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-9cd0615b40bc7f8b12560a1af725da3a06bcb1d9.idx"
85
- - "./.git/objects/pack/pack-9cd0615b40bc7f8b12560a1af725da3a06bcb1d9.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"