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 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"