akeyless 5.0.28 → 5.0.30

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.
Files changed (159) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +49 -1
  3. data/docs/AccountGeneralSettings.md +4 -0
  4. data/docs/AnthropicTargetDetails.md +20 -0
  5. data/docs/AuthMethod.md +3 -1
  6. data/docs/AuthMethodAccessInfo.md +2 -0
  7. data/docs/AuthMethodCreateSAML.md +3 -1
  8. data/docs/AuthMethodCreateUniversalIdentity.md +2 -0
  9. data/docs/AuthMethodUpdateSAML.md +3 -1
  10. data/docs/AuthMethodUpdateUniversalIdentity.md +2 -0
  11. data/docs/BedrockTargetDetails.md +20 -0
  12. data/docs/CreateAuthMethodSAML.md +3 -1
  13. data/docs/CreateAuthMethodUniversalIdentity.md +2 -0
  14. data/docs/CreateDBTarget.md +2 -0
  15. data/docs/CreateMcpSecretBearerToken.md +46 -0
  16. data/docs/CreateMcpSecretOAuthAuthCode.md +56 -0
  17. data/docs/CreateMcpSecretOAuthClientCreds.md +52 -0
  18. data/docs/CreatePKICertIssuer.md +1 -1
  19. data/docs/CustomDnsTargetDetails.md +20 -0
  20. data/docs/DSProducerDetails.md +2 -0
  21. data/docs/DbTargetDetails.md +2 -0
  22. data/docs/EmailCustomization.md +28 -0
  23. data/docs/EmailCustomizationAccountInformation.md +24 -0
  24. data/docs/EmailCustomizationAccountInformationValues.md +24 -0
  25. data/docs/EsmGetSecretOutput.md +4 -0
  26. data/docs/FileDownloadInstructions.md +20 -0
  27. data/docs/FileInfo.md +50 -0
  28. data/docs/GatewayCreateMigration.md +2 -0
  29. data/docs/GatewayUpdateMigration.md +2 -0
  30. data/docs/GetKubeExecCreds.md +1 -1
  31. data/docs/GetPKICertificate.md +1 -1
  32. data/docs/GrokTargetDetails.md +22 -0
  33. data/docs/HashiPayload.md +2 -0
  34. data/docs/Item.md +2 -0
  35. data/docs/KeycloakTargetDetails.md +24 -0
  36. data/docs/OktaTargetDetails.md +20 -0
  37. data/docs/RuntimeAuthorityCommand.md +4 -0
  38. data/docs/SAMLAccessRules.md +3 -1
  39. data/docs/StaticSecretDetailsInfo.md +2 -0
  40. data/docs/TargetCreateAnthropic.md +36 -0
  41. data/docs/TargetCreateBedrock.md +36 -0
  42. data/docs/TargetCreateCustomDns.md +36 -0
  43. data/docs/TargetCreateDB.md +2 -0
  44. data/docs/TargetCreateGrok.md +38 -0
  45. data/docs/TargetCreateKeycloak.md +40 -0
  46. data/docs/TargetCreateOkta.md +36 -0
  47. data/docs/TargetTypeDetailsInput.md +12 -0
  48. data/docs/TargetUpdateAnthropic.md +42 -0
  49. data/docs/TargetUpdateBedrock.md +42 -0
  50. data/docs/TargetUpdateCustomDns.md +40 -0
  51. data/docs/TargetUpdateDB.md +2 -0
  52. data/docs/TargetUpdateGrok.md +44 -0
  53. data/docs/TargetUpdateKeycloak.md +44 -0
  54. data/docs/TargetUpdateOkta.md +40 -0
  55. data/docs/UidExpirationEvent.md +18 -0
  56. data/docs/UpdateAuthMethodSAML.md +3 -1
  57. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  58. data/docs/UpdateDBTarget.md +2 -0
  59. data/docs/UpdateMcpSecretBearerToken.md +40 -0
  60. data/docs/UpdateMcpSecretOAuthAuthCode.md +50 -0
  61. data/docs/UpdateMcpSecretOAuthClientCreds.md +46 -0
  62. data/docs/UpdatePKICertIssuer.md +1 -1
  63. data/docs/UscGetSecretOutput.md +4 -0
  64. data/docs/V2Api.md +1134 -0
  65. data/lib/akeyless/api/v2_api.rb +1249 -97
  66. data/lib/akeyless/models/account_general_settings.rb +20 -1
  67. data/lib/akeyless/models/anthropic_target_details.rb +224 -0
  68. data/lib/akeyless/models/auth_method.rb +15 -4
  69. data/lib/akeyless/models/auth_method_access_info.rb +13 -1
  70. data/lib/akeyless/models/auth_method_create_saml.rb +14 -4
  71. data/lib/akeyless/models/auth_method_create_universal_identity.rb +13 -1
  72. data/lib/akeyless/models/auth_method_update_saml.rb +14 -4
  73. data/lib/akeyless/models/auth_method_update_universal_identity.rb +13 -1
  74. data/lib/akeyless/models/bedrock_target_details.rb +224 -0
  75. data/lib/akeyless/models/create_auth_method_saml.rb +14 -4
  76. data/lib/akeyless/models/create_auth_method_universal_identity.rb +13 -1
  77. data/lib/akeyless/models/create_db_target.rb +11 -1
  78. data/lib/akeyless/models/create_mcp_secret_bearer_token.rb +371 -0
  79. data/lib/akeyless/models/create_mcp_secret_o_auth_auth_code.rb +423 -0
  80. data/lib/akeyless/models/create_mcp_secret_o_auth_client_creds.rb +403 -0
  81. data/lib/akeyless/models/create_pki_cert_issuer.rb +1 -1
  82. data/lib/akeyless/models/custom_dns_target_details.rb +225 -0
  83. data/lib/akeyless/models/db_target_details.rb +11 -1
  84. data/lib/akeyless/models/ds_producer_details.rb +11 -1
  85. data/lib/akeyless/models/email_customization.rb +259 -0
  86. data/lib/akeyless/models/email_customization_account_information.rb +242 -0
  87. data/lib/akeyless/models/email_customization_account_information_values.rb +241 -0
  88. data/lib/akeyless/models/esm_get_secret_output.rb +19 -1
  89. data/lib/akeyless/models/file_download_instructions.rb +223 -0
  90. data/lib/akeyless/models/file_info.rb +358 -0
  91. data/lib/akeyless/models/gateway_create_migration.rb +11 -1
  92. data/lib/akeyless/models/gateway_update_migration.rb +11 -1
  93. data/lib/akeyless/models/get_kube_exec_creds.rb +1 -1
  94. data/lib/akeyless/models/get_pki_certificate.rb +1 -1
  95. data/lib/akeyless/models/grok_target_details.rb +234 -0
  96. data/lib/akeyless/models/hashi_payload.rb +10 -1
  97. data/lib/akeyless/models/item.rb +10 -1
  98. data/lib/akeyless/models/keycloak_target_details.rb +242 -0
  99. data/lib/akeyless/models/okta_target_details.rb +224 -0
  100. data/lib/akeyless/models/runtime_authority_command.rb +21 -1
  101. data/lib/akeyless/models/saml_access_rules.rb +14 -4
  102. data/lib/akeyless/models/static_secret_details_info.rb +10 -1
  103. data/lib/akeyless/models/target_create_anthropic.rb +317 -0
  104. data/lib/akeyless/models/target_create_bedrock.rb +317 -0
  105. data/lib/akeyless/models/target_create_custom_dns.rb +330 -0
  106. data/lib/akeyless/models/target_create_db.rb +11 -1
  107. data/lib/akeyless/models/target_create_grok.rb +327 -0
  108. data/lib/akeyless/models/target_create_keycloak.rb +334 -0
  109. data/lib/akeyless/models/target_create_okta.rb +314 -0
  110. data/lib/akeyless/models/target_type_details_input.rb +55 -1
  111. data/lib/akeyless/models/target_update_anthropic.rb +351 -0
  112. data/lib/akeyless/models/target_update_bedrock.rb +351 -0
  113. data/lib/akeyless/models/target_update_custom_dns.rb +350 -0
  114. data/lib/akeyless/models/target_update_db.rb +11 -1
  115. data/lib/akeyless/models/target_update_grok.rb +361 -0
  116. data/lib/akeyless/models/target_update_keycloak.rb +354 -0
  117. data/lib/akeyless/models/target_update_okta.rb +334 -0
  118. data/lib/akeyless/models/uid_expiration_event.rb +214 -0
  119. data/lib/akeyless/models/update_auth_method_saml.rb +14 -4
  120. data/lib/akeyless/models/update_auth_method_universal_identity.rb +13 -1
  121. data/lib/akeyless/models/update_db_target.rb +11 -1
  122. data/lib/akeyless/models/update_mcp_secret_bearer_token.rb +338 -0
  123. data/lib/akeyless/models/update_mcp_secret_o_auth_auth_code.rb +390 -0
  124. data/lib/akeyless/models/update_mcp_secret_o_auth_client_creds.rb +370 -0
  125. data/lib/akeyless/models/update_pki_cert_issuer.rb +1 -1
  126. data/lib/akeyless/models/usc_get_secret_output.rb +19 -1
  127. data/lib/akeyless/version.rb +1 -1
  128. data/lib/akeyless.rb +30 -0
  129. data/spec/models/anthropic_target_details_spec.rb +42 -0
  130. data/spec/models/bedrock_target_details_spec.rb +42 -0
  131. data/spec/models/create_mcp_secret_bearer_token_spec.rb +120 -0
  132. data/spec/models/create_mcp_secret_o_auth_auth_code_spec.rb +150 -0
  133. data/spec/models/create_mcp_secret_o_auth_client_creds_spec.rb +138 -0
  134. data/spec/models/custom_dns_target_details_spec.rb +42 -0
  135. data/spec/models/email_customization_account_information_spec.rb +54 -0
  136. data/spec/models/email_customization_account_information_values_spec.rb +54 -0
  137. data/spec/models/email_customization_spec.rb +66 -0
  138. data/spec/models/file_download_instructions_spec.rb +42 -0
  139. data/spec/models/file_info_spec.rb +132 -0
  140. data/spec/models/grok_target_details_spec.rb +48 -0
  141. data/spec/models/keycloak_target_details_spec.rb +54 -0
  142. data/spec/models/okta_target_details_spec.rb +42 -0
  143. data/spec/models/target_create_anthropic_spec.rb +90 -0
  144. data/spec/models/target_create_bedrock_spec.rb +90 -0
  145. data/spec/models/target_create_custom_dns_spec.rb +90 -0
  146. data/spec/models/target_create_grok_spec.rb +96 -0
  147. data/spec/models/target_create_keycloak_spec.rb +102 -0
  148. data/spec/models/target_create_okta_spec.rb +90 -0
  149. data/spec/models/target_update_anthropic_spec.rb +108 -0
  150. data/spec/models/target_update_bedrock_spec.rb +108 -0
  151. data/spec/models/target_update_custom_dns_spec.rb +102 -0
  152. data/spec/models/target_update_grok_spec.rb +114 -0
  153. data/spec/models/target_update_keycloak_spec.rb +114 -0
  154. data/spec/models/target_update_okta_spec.rb +102 -0
  155. data/spec/models/uid_expiration_event_spec.rb +36 -0
  156. data/spec/models/update_mcp_secret_bearer_token_spec.rb +102 -0
  157. data/spec/models/update_mcp_secret_o_auth_auth_code_spec.rb +132 -0
  158. data/spec/models/update_mcp_secret_o_auth_client_creds_spec.rb +120 -0
  159. metadata +1295 -1175
@@ -22,6 +22,9 @@ module Akeyless
22
22
  # AccountDefaultKeyName is the name of the DFC key item configured as the default key This is here simply for the response to include the item name in addition to the display ID so the client can properly show this to the user. It will not be saved to the DB, only the AccountDefaultKeyItemID will.
23
23
  attr_accessor :account_default_key_name
24
24
 
25
+ # AccountFileBytesUsed tracks active + pending file-item plain bytes for quota enforcement.
26
+ attr_accessor :account_file_bytes_used
27
+
25
28
  attr_accessor :ai_insights
26
29
 
27
30
  attr_accessor :allow_auto_fill
@@ -46,6 +49,8 @@ module Akeyless
46
49
 
47
50
  attr_accessor :dynamic_secret_max_ttl
48
51
 
52
+ attr_accessor :email_customization
53
+
49
54
  attr_accessor :enable_request_for_access
50
55
 
51
56
  attr_accessor :enable_search_history
@@ -85,6 +90,7 @@ module Akeyless
85
90
  {
86
91
  :'account_default_key_item_id' => :'account_default_key_item_id',
87
92
  :'account_default_key_name' => :'account_default_key_name',
93
+ :'account_file_bytes_used' => :'account_file_bytes_used',
88
94
  :'ai_insights' => :'ai_insights',
89
95
  :'allow_auto_fill' => :'allow_auto_fill',
90
96
  :'allow_passkeys' => :'allow_passkeys',
@@ -97,6 +103,7 @@ module Akeyless
97
103
  :'default_auth_method' => :'default_auth_method',
98
104
  :'default_home_page' => :'default_home_page',
99
105
  :'dynamic_secret_max_ttl' => :'dynamic_secret_max_ttl',
106
+ :'email_customization' => :'email_customization',
100
107
  :'enable_request_for_access' => :'enable_request_for_access',
101
108
  :'enable_search_history' => :'enable_search_history',
102
109
  :'hide_personal_folder' => :'hide_personal_folder',
@@ -126,6 +133,7 @@ module Akeyless
126
133
  {
127
134
  :'account_default_key_item_id' => :'Integer',
128
135
  :'account_default_key_name' => :'String',
136
+ :'account_file_bytes_used' => :'Integer',
129
137
  :'ai_insights' => :'AiInsightsSetting',
130
138
  :'allow_auto_fill' => :'Boolean',
131
139
  :'allow_passkeys' => :'Boolean',
@@ -138,6 +146,7 @@ module Akeyless
138
146
  :'default_auth_method' => :'DefaultAuthMethodSettings',
139
147
  :'default_home_page' => :'DefaultHomePage',
140
148
  :'dynamic_secret_max_ttl' => :'DynamicSecretMaxTtl',
149
+ :'email_customization' => :'EmailCustomization',
141
150
  :'enable_request_for_access' => :'Boolean',
142
151
  :'enable_search_history' => :'Boolean',
143
152
  :'hide_personal_folder' => :'Boolean',
@@ -186,6 +195,10 @@ module Akeyless
186
195
  self.account_default_key_name = attributes[:'account_default_key_name']
187
196
  end
188
197
 
198
+ if attributes.key?(:'account_file_bytes_used')
199
+ self.account_file_bytes_used = attributes[:'account_file_bytes_used']
200
+ end
201
+
189
202
  if attributes.key?(:'ai_insights')
190
203
  self.ai_insights = attributes[:'ai_insights']
191
204
  end
@@ -234,6 +247,10 @@ module Akeyless
234
247
  self.dynamic_secret_max_ttl = attributes[:'dynamic_secret_max_ttl']
235
248
  end
236
249
 
250
+ if attributes.key?(:'email_customization')
251
+ self.email_customization = attributes[:'email_customization']
252
+ end
253
+
237
254
  if attributes.key?(:'enable_request_for_access')
238
255
  self.enable_request_for_access = attributes[:'enable_request_for_access']
239
256
  end
@@ -321,6 +338,7 @@ module Akeyless
321
338
  self.class == o.class &&
322
339
  account_default_key_item_id == o.account_default_key_item_id &&
323
340
  account_default_key_name == o.account_default_key_name &&
341
+ account_file_bytes_used == o.account_file_bytes_used &&
324
342
  ai_insights == o.ai_insights &&
325
343
  allow_auto_fill == o.allow_auto_fill &&
326
344
  allow_passkeys == o.allow_passkeys &&
@@ -333,6 +351,7 @@ module Akeyless
333
351
  default_auth_method == o.default_auth_method &&
334
352
  default_home_page == o.default_home_page &&
335
353
  dynamic_secret_max_ttl == o.dynamic_secret_max_ttl &&
354
+ email_customization == o.email_customization &&
336
355
  enable_request_for_access == o.enable_request_for_access &&
337
356
  enable_search_history == o.enable_search_history &&
338
357
  hide_personal_folder == o.hide_personal_folder &&
@@ -360,7 +379,7 @@ module Akeyless
360
379
  # Calculates hash code according to all attributes.
361
380
  # @return [Integer] Hash code
362
381
  def hash
363
- [account_default_key_item_id, account_default_key_name, ai_insights, allow_auto_fill, allow_passkeys, allowed_client_types, allowed_clients_ips, allowed_gateways_ips, auth_usage_event, certificate_expiration_events, data_protection_section, default_auth_method, default_home_page, dynamic_secret_max_ttl, enable_request_for_access, enable_search_history, hide_personal_folder, hide_secret_reveal_copy, hide_static_password, invalid_characters, item_locking, item_usage_event, lock_default_key, password_expiration_info, password_policy, password_score, personal_folder_global_mapping, protect_items_by_default, rotation_secret_max_interval, sharing_policy].hash
382
+ [account_default_key_item_id, account_default_key_name, account_file_bytes_used, ai_insights, allow_auto_fill, allow_passkeys, allowed_client_types, allowed_clients_ips, allowed_gateways_ips, auth_usage_event, certificate_expiration_events, data_protection_section, default_auth_method, default_home_page, dynamic_secret_max_ttl, email_customization, enable_request_for_access, enable_search_history, hide_personal_folder, hide_secret_reveal_copy, hide_static_password, invalid_characters, item_locking, item_usage_event, lock_default_key, password_expiration_info, password_policy, password_score, personal_folder_global_mapping, protect_items_by_default, rotation_secret_max_interval, sharing_policy].hash
364
383
  end
365
384
 
366
385
  # Builds the object from hash
@@ -0,0 +1,224 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ # AnthropicTargetDetails defines details related to connecting to an Anthropic provider
18
+ class AnthropicTargetDetails
19
+ attr_accessor :anthropic_url
20
+
21
+ attr_accessor :api_key
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'anthropic_url' => :'anthropic_url',
27
+ :'api_key' => :'api_key'
28
+ }
29
+ end
30
+
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'anthropic_url' => :'String',
40
+ :'api_key' => :'String'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::AnthropicTargetDetails` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::AnthropicTargetDetails`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'anthropic_url')
66
+ self.anthropic_url = attributes[:'anthropic_url']
67
+ end
68
+
69
+ if attributes.key?(:'api_key')
70
+ self.api_key = attributes[:'api_key']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ invalid_properties
80
+ end
81
+
82
+ # Check to see if the all the properties in the model are valid
83
+ # @return true if the model is valid
84
+ def valid?
85
+ warn '[DEPRECATED] the `valid?` method is obsolete'
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ anthropic_url == o.anthropic_url &&
95
+ api_key == o.api_key
96
+ end
97
+
98
+ # @see the `==` method
99
+ # @param [Object] Object to be compared
100
+ def eql?(o)
101
+ self == o
102
+ end
103
+
104
+ # Calculates hash code according to all attributes.
105
+ # @return [Integer] Hash code
106
+ def hash
107
+ [anthropic_url, api_key].hash
108
+ end
109
+
110
+ # Builds the object from hash
111
+ # @param [Hash] attributes Model attributes in the form of hash
112
+ # @return [Object] Returns the model itself
113
+ def self.build_from_hash(attributes)
114
+ return nil unless attributes.is_a?(Hash)
115
+ attributes = attributes.transform_keys(&:to_sym)
116
+ transformed_hash = {}
117
+ openapi_types.each_pair do |key, type|
118
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
119
+ transformed_hash["#{key}"] = nil
120
+ elsif type =~ /\AArray<(.*)>/i
121
+ # check to ensure the input is an array given that the attribute
122
+ # is documented as an array but the input is not
123
+ if attributes[attribute_map[key]].is_a?(Array)
124
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
125
+ end
126
+ elsif !attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
128
+ end
129
+ end
130
+ new(transformed_hash)
131
+ end
132
+
133
+ # Deserializes the data based on type
134
+ # @param string type Data type
135
+ # @param string value Value to be deserialized
136
+ # @return [Object] Deserialized data
137
+ def self._deserialize(type, value)
138
+ case type.to_sym
139
+ when :Time
140
+ Time.parse(value)
141
+ when :Date
142
+ Date.parse(value)
143
+ when :String
144
+ value.to_s
145
+ when :Integer
146
+ value.to_i
147
+ when :Float
148
+ value.to_f
149
+ when :Boolean
150
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
151
+ true
152
+ else
153
+ false
154
+ end
155
+ when :Object
156
+ # generic object (usually a Hash), return directly
157
+ value
158
+ when /\AArray<(?<inner_type>.+)>\z/
159
+ inner_type = Regexp.last_match[:inner_type]
160
+ value.map { |v| _deserialize(inner_type, v) }
161
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
162
+ k_type = Regexp.last_match[:k_type]
163
+ v_type = Regexp.last_match[:v_type]
164
+ {}.tap do |hash|
165
+ value.each do |k, v|
166
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
167
+ end
168
+ end
169
+ else # model
170
+ # models (e.g. Pet) or oneOf
171
+ klass = Akeyless.const_get(type)
172
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
173
+ end
174
+ end
175
+
176
+ # Returns the string representation of the object
177
+ # @return [String] String presentation of the object
178
+ def to_s
179
+ to_hash.to_s
180
+ end
181
+
182
+ # to_body is an alias to to_hash (backward compatibility)
183
+ # @return [Hash] Returns the object in the form of hash
184
+ def to_body
185
+ to_hash
186
+ end
187
+
188
+ # Returns the object in the form of hash
189
+ # @return [Hash] Returns the object in the form of hash
190
+ def to_hash
191
+ hash = {}
192
+ self.class.attribute_map.each_pair do |attr, param|
193
+ value = self.send(attr)
194
+ if value.nil?
195
+ is_nullable = self.class.openapi_nullable.include?(attr)
196
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
197
+ end
198
+
199
+ hash[param] = _to_hash(value)
200
+ end
201
+ hash
202
+ end
203
+
204
+ # Outputs non-array value in the form of hash
205
+ # For object, use to_hash. Otherwise, just return the value
206
+ # @param [Object] value Any valid value
207
+ # @return [Hash] Returns the value in the form of hash
208
+ def _to_hash(value)
209
+ if value.is_a?(Array)
210
+ value.compact.map { |v| _to_hash(v) }
211
+ elsif value.is_a?(Hash)
212
+ {}.tap do |hash|
213
+ value.each { |k, v| hash[k] = _to_hash(v) }
214
+ end
215
+ elsif value.respond_to? :to_hash
216
+ value.to_hash
217
+ else
218
+ value
219
+ end
220
+ end
221
+
222
+ end
223
+
224
+ end
@@ -49,6 +49,8 @@ module Akeyless
49
49
 
50
50
  attr_accessor :modification_date
51
51
 
52
+ attr_accessor :uid_expiration_events
53
+
52
54
  # Attribute mapping from ruby-style variable name to JSON key.
53
55
  def self.attribute_map
54
56
  {
@@ -68,7 +70,8 @@ module Akeyless
68
70
  :'description' => :'description',
69
71
  :'expiration_events' => :'expiration_events',
70
72
  :'is_approved' => :'is_approved',
71
- :'modification_date' => :'modification_date'
73
+ :'modification_date' => :'modification_date',
74
+ :'uid_expiration_events' => :'uid_expiration_events'
72
75
  }
73
76
  end
74
77
 
@@ -96,7 +99,8 @@ module Akeyless
96
99
  :'description' => :'String',
97
100
  :'expiration_events' => :'Array<AuthExpirationEvent>',
98
101
  :'is_approved' => :'Boolean',
99
- :'modification_date' => :'Time'
102
+ :'modification_date' => :'Time',
103
+ :'uid_expiration_events' => :'Array<UidExpirationEvent>'
100
104
  }
101
105
  end
102
106
 
@@ -196,6 +200,12 @@ module Akeyless
196
200
  if attributes.key?(:'modification_date')
197
201
  self.modification_date = attributes[:'modification_date']
198
202
  end
203
+
204
+ if attributes.key?(:'uid_expiration_events')
205
+ if (value = attributes[:'uid_expiration_events']).is_a?(Array)
206
+ self.uid_expiration_events = value
207
+ end
208
+ end
199
209
  end
200
210
 
201
211
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -234,7 +244,8 @@ module Akeyless
234
244
  description == o.description &&
235
245
  expiration_events == o.expiration_events &&
236
246
  is_approved == o.is_approved &&
237
- modification_date == o.modification_date
247
+ modification_date == o.modification_date &&
248
+ uid_expiration_events == o.uid_expiration_events
238
249
  end
239
250
 
240
251
  # @see the `==` method
@@ -246,7 +257,7 @@ module Akeyless
246
257
  # Calculates hash code according to all attributes.
247
258
  # @return [Integer] Hash code
248
259
  def hash
249
- [access_date, access_date_display, access_info, account_id, associated_gw_ids, auth_method_access_id, auth_method_additional_data, auth_method_id, auth_method_name, auth_method_roles_assoc, client_permissions, creation_date, delete_protection, description, expiration_events, is_approved, modification_date].hash
260
+ [access_date, access_date_display, access_info, account_id, associated_gw_ids, auth_method_access_id, auth_method_additional_data, auth_method_id, auth_method_name, auth_method_roles_assoc, client_permissions, creation_date, delete_protection, description, expiration_events, is_approved, modification_date, uid_expiration_events].hash
250
261
  end
251
262
 
252
263
  # Builds the object from hash
@@ -68,6 +68,9 @@ module Akeyless
68
68
 
69
69
  attr_accessor :sub_claims_delimiters
70
70
 
71
+ # Relevant only for Universal Identity auth methods: token about-to-expire notification thresholds.
72
+ attr_accessor :uid_expiration_events
73
+
71
74
  attr_accessor :universal_identity_access_rules
72
75
 
73
76
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -98,6 +101,7 @@ module Akeyless
98
101
  :'rules_type' => :'rules_type',
99
102
  :'saml_access_rules' => :'saml_access_rules',
100
103
  :'sub_claims_delimiters' => :'sub_claims_delimiters',
104
+ :'uid_expiration_events' => :'uid_expiration_events',
101
105
  :'universal_identity_access_rules' => :'universal_identity_access_rules'
102
106
  }
103
107
  end
@@ -135,6 +139,7 @@ module Akeyless
135
139
  :'rules_type' => :'String',
136
140
  :'saml_access_rules' => :'SAMLAccessRules',
137
141
  :'sub_claims_delimiters' => :'Array<String>',
142
+ :'uid_expiration_events' => :'Array<UidExpirationEvent>',
138
143
  :'universal_identity_access_rules' => :'UniversalIdentityAccessRules'
139
144
  }
140
145
  end
@@ -268,6 +273,12 @@ module Akeyless
268
273
  end
269
274
  end
270
275
 
276
+ if attributes.key?(:'uid_expiration_events')
277
+ if (value = attributes[:'uid_expiration_events']).is_a?(Array)
278
+ self.uid_expiration_events = value
279
+ end
280
+ end
281
+
271
282
  if attributes.key?(:'universal_identity_access_rules')
272
283
  self.universal_identity_access_rules = attributes[:'universal_identity_access_rules']
273
284
  end
@@ -318,6 +329,7 @@ module Akeyless
318
329
  rules_type == o.rules_type &&
319
330
  saml_access_rules == o.saml_access_rules &&
320
331
  sub_claims_delimiters == o.sub_claims_delimiters &&
332
+ uid_expiration_events == o.uid_expiration_events &&
321
333
  universal_identity_access_rules == o.universal_identity_access_rules
322
334
  end
323
335
 
@@ -330,7 +342,7 @@ module Akeyless
330
342
  # Calculates hash code according to all attributes.
331
343
  # @return [Integer] Hash code
332
344
  def hash
333
- [access_expires, access_id_alias, allowed_client_type, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, sub_claims_delimiters, universal_identity_access_rules].hash
345
+ [access_expires, access_id_alias, allowed_client_type, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, sub_claims_delimiters, uid_expiration_events, universal_identity_access_rules].hash
334
346
  end
335
347
 
336
348
  # Builds the object from hash
@@ -76,6 +76,9 @@ module Akeyless
76
76
  # A unique identifier (ID) value should be configured for OAuth2, LDAP and SAML authentication method types and is usually a value such as the email, username, or upn for example. Whenever a user logs in with a token, these authentication types issue a \"sub claim\" that contains details uniquely identifying that user. This sub claim includes a key containing the ID value that you configured, and is used to distinguish between different users from within the same organization.
77
77
  attr_accessor :unique_identifier
78
78
 
79
+ # Use dedicated per-access-id SP URLs for login
80
+ attr_accessor :use_dedicated_saml_urls
81
+
79
82
  # Attribute mapping from ruby-style variable name to JSON key.
80
83
  def self.attribute_map
81
84
  {
@@ -98,7 +101,8 @@ module Akeyless
98
101
  :'subclaims_delimiters' => :'subclaims-delimiters',
99
102
  :'token' => :'token',
100
103
  :'uid_token' => :'uid-token',
101
- :'unique_identifier' => :'unique-identifier'
104
+ :'unique_identifier' => :'unique-identifier',
105
+ :'use_dedicated_saml_urls' => :'use-dedicated-saml-urls'
102
106
  }
103
107
  end
104
108
 
@@ -129,7 +133,8 @@ module Akeyless
129
133
  :'subclaims_delimiters' => :'Array<String>',
130
134
  :'token' => :'String',
131
135
  :'uid_token' => :'String',
132
- :'unique_identifier' => :'String'
136
+ :'unique_identifier' => :'String',
137
+ :'use_dedicated_saml_urls' => :'Boolean'
133
138
  }
134
139
  end
135
140
 
@@ -259,6 +264,10 @@ module Akeyless
259
264
  else
260
265
  self.unique_identifier = nil
261
266
  end
267
+
268
+ if attributes.key?(:'use_dedicated_saml_urls')
269
+ self.use_dedicated_saml_urls = attributes[:'use_dedicated_saml_urls']
270
+ end
262
271
  end
263
272
 
264
273
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -310,7 +319,8 @@ module Akeyless
310
319
  subclaims_delimiters == o.subclaims_delimiters &&
311
320
  token == o.token &&
312
321
  uid_token == o.uid_token &&
313
- unique_identifier == o.unique_identifier
322
+ unique_identifier == o.unique_identifier &&
323
+ use_dedicated_saml_urls == o.use_dedicated_saml_urls
314
324
  end
315
325
 
316
326
  # @see the `==` method
@@ -322,7 +332,7 @@ module Akeyless
322
332
  # Calculates hash code according to all attributes.
323
333
  # @return [Integer] Hash code
324
334
  def hash
325
- [access_expires, allowed_client_type, allowed_redirect_uri, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, idp_metadata_url, idp_metadata_xml_data, json, jwt_ttl, name, product_type, subclaims_delimiters, token, uid_token, unique_identifier].hash
335
+ [access_expires, allowed_client_type, allowed_redirect_uri, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, idp_metadata_url, idp_metadata_xml_data, json, jwt_ttl, name, product_type, subclaims_delimiters, token, uid_token, unique_identifier, use_dedicated_saml_urls].hash
326
336
  end
327
337
 
328
338
  # Builds the object from hash
@@ -73,6 +73,9 @@ module Akeyless
73
73
  # Token ttl
74
74
  attr_accessor :ttl
75
75
 
76
+ # Notify when this percent of the token TTL has elapsed (1-99).
77
+ attr_accessor :uid_expiration_event_at
78
+
76
79
  # The universal identity token, Required only for universal_identity authentication
77
80
  attr_accessor :uid_token
78
81
 
@@ -98,6 +101,7 @@ module Akeyless
98
101
  :'token' => :'token',
99
102
  :'tree_length' => :'tree-length',
100
103
  :'ttl' => :'ttl',
104
+ :'uid_expiration_event_at' => :'uid-expiration-event-at',
101
105
  :'uid_token' => :'uid-token'
102
106
  }
103
107
  end
@@ -129,6 +133,7 @@ module Akeyless
129
133
  :'token' => :'String',
130
134
  :'tree_length' => :'Integer',
131
135
  :'ttl' => :'Integer',
136
+ :'uid_expiration_event_at' => :'Array<String>',
132
137
  :'uid_token' => :'String'
133
138
  }
134
139
  end
@@ -256,6 +261,12 @@ module Akeyless
256
261
  self.ttl = 60
257
262
  end
258
263
 
264
+ if attributes.key?(:'uid_expiration_event_at')
265
+ if (value = attributes[:'uid_expiration_event_at']).is_a?(Array)
266
+ self.uid_expiration_event_at = value
267
+ end
268
+ end
269
+
259
270
  if attributes.key?(:'uid_token')
260
271
  self.uid_token = attributes[:'uid_token']
261
272
  end
@@ -305,6 +316,7 @@ module Akeyless
305
316
  token == o.token &&
306
317
  tree_length == o.tree_length &&
307
318
  ttl == o.ttl &&
319
+ uid_expiration_event_at == o.uid_expiration_event_at &&
308
320
  uid_token == o.uid_token
309
321
  end
310
322
 
@@ -317,7 +329,7 @@ module Akeyless
317
329
  # Calculates hash code according to all attributes.
318
330
  # @return [Integer] Hash code
319
331
  def hash
320
- [access_expires, allowed_client_type, audit_logs_claims, bound_ips, child_ttl_limit, delete_protection, deny_inheritance, deny_rotate, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, token, tree_length, ttl, uid_token].hash
332
+ [access_expires, allowed_client_type, audit_logs_claims, bound_ips, child_ttl_limit, delete_protection, deny_inheritance, deny_rotate, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, product_type, token, tree_length, ttl, uid_expiration_event_at, uid_token].hash
321
333
  end
322
334
 
323
335
  # Builds the object from hash
@@ -79,6 +79,9 @@ module Akeyless
79
79
  # A unique identifier (ID) value should be configured for OAuth2, LDAP and SAML authentication method types and is usually a value such as the email, username, or upn for example. Whenever a user logs in with a token, these authentication types issue a \"sub claim\" that contains details uniquely identifying that user. This sub claim includes a key containing the ID value that you configured, and is used to distinguish between different users from within the same organization.
80
80
  attr_accessor :unique_identifier
81
81
 
82
+ # Use dedicated per-access-id SP URLs for login
83
+ attr_accessor :use_dedicated_saml_urls
84
+
82
85
  # Attribute mapping from ruby-style variable name to JSON key.
83
86
  def self.attribute_map
84
87
  {
@@ -102,7 +105,8 @@ module Akeyless
102
105
  :'subclaims_delimiters' => :'subclaims-delimiters',
103
106
  :'token' => :'token',
104
107
  :'uid_token' => :'uid-token',
105
- :'unique_identifier' => :'unique-identifier'
108
+ :'unique_identifier' => :'unique-identifier',
109
+ :'use_dedicated_saml_urls' => :'use-dedicated-saml-urls'
106
110
  }
107
111
  end
108
112
 
@@ -134,7 +138,8 @@ module Akeyless
134
138
  :'subclaims_delimiters' => :'Array<String>',
135
139
  :'token' => :'String',
136
140
  :'uid_token' => :'String',
137
- :'unique_identifier' => :'String'
141
+ :'unique_identifier' => :'String',
142
+ :'use_dedicated_saml_urls' => :'Boolean'
138
143
  }
139
144
  end
140
145
 
@@ -268,6 +273,10 @@ module Akeyless
268
273
  else
269
274
  self.unique_identifier = nil
270
275
  end
276
+
277
+ if attributes.key?(:'use_dedicated_saml_urls')
278
+ self.use_dedicated_saml_urls = attributes[:'use_dedicated_saml_urls']
279
+ end
271
280
  end
272
281
 
273
282
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -320,7 +329,8 @@ module Akeyless
320
329
  subclaims_delimiters == o.subclaims_delimiters &&
321
330
  token == o.token &&
322
331
  uid_token == o.uid_token &&
323
- unique_identifier == o.unique_identifier
332
+ unique_identifier == o.unique_identifier &&
333
+ use_dedicated_saml_urls == o.use_dedicated_saml_urls
324
334
  end
325
335
 
326
336
  # @see the `==` method
@@ -332,7 +342,7 @@ module Akeyless
332
342
  # Calculates hash code according to all attributes.
333
343
  # @return [Integer] Hash code
334
344
  def hash
335
- [access_expires, allowed_client_type, allowed_redirect_uri, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, idp_metadata_url, idp_metadata_xml_data, json, jwt_ttl, name, new_name, product_type, subclaims_delimiters, token, uid_token, unique_identifier].hash
345
+ [access_expires, allowed_client_type, allowed_redirect_uri, audit_logs_claims, bound_ips, delete_protection, description, expiration_event_in, force_sub_claims, gw_bound_ips, idp_metadata_url, idp_metadata_xml_data, json, jwt_ttl, name, new_name, product_type, subclaims_delimiters, token, uid_token, unique_identifier, use_dedicated_saml_urls].hash
336
346
  end
337
347
 
338
348
  # Builds the object from hash
@@ -76,6 +76,9 @@ module Akeyless
76
76
  # Token ttl
77
77
  attr_accessor :ttl
78
78
 
79
+ # Notify when this percent of the token TTL has elapsed (1-99).
80
+ attr_accessor :uid_expiration_event_at
81
+
79
82
  # The universal identity token, Required only for universal_identity authentication
80
83
  attr_accessor :uid_token
81
84
 
@@ -102,6 +105,7 @@ module Akeyless
102
105
  :'token' => :'token',
103
106
  :'tree_length' => :'tree-length',
104
107
  :'ttl' => :'ttl',
108
+ :'uid_expiration_event_at' => :'uid-expiration-event-at',
105
109
  :'uid_token' => :'uid-token'
106
110
  }
107
111
  end
@@ -134,6 +138,7 @@ module Akeyless
134
138
  :'token' => :'String',
135
139
  :'tree_length' => :'Integer',
136
140
  :'ttl' => :'Integer',
141
+ :'uid_expiration_event_at' => :'Array<String>',
137
142
  :'uid_token' => :'String'
138
143
  }
139
144
  end
@@ -265,6 +270,12 @@ module Akeyless
265
270
  self.ttl = 60
266
271
  end
267
272
 
273
+ if attributes.key?(:'uid_expiration_event_at')
274
+ if (value = attributes[:'uid_expiration_event_at']).is_a?(Array)
275
+ self.uid_expiration_event_at = value
276
+ end
277
+ end
278
+
268
279
  if attributes.key?(:'uid_token')
269
280
  self.uid_token = attributes[:'uid_token']
270
281
  end
@@ -315,6 +326,7 @@ module Akeyless
315
326
  token == o.token &&
316
327
  tree_length == o.tree_length &&
317
328
  ttl == o.ttl &&
329
+ uid_expiration_event_at == o.uid_expiration_event_at &&
318
330
  uid_token == o.uid_token
319
331
  end
320
332
 
@@ -327,7 +339,7 @@ module Akeyless
327
339
  # Calculates hash code according to all attributes.
328
340
  # @return [Integer] Hash code
329
341
  def hash
330
- [access_expires, allowed_client_type, audit_logs_claims, bound_ips, child_ttl_limit, delete_protection, deny_inheritance, deny_rotate, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, new_name, product_type, token, tree_length, ttl, uid_token].hash
342
+ [access_expires, allowed_client_type, audit_logs_claims, bound_ips, child_ttl_limit, delete_protection, deny_inheritance, deny_rotate, description, expiration_event_in, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, new_name, product_type, token, tree_length, ttl, uid_expiration_event_at, uid_token].hash
331
343
  end
332
344
 
333
345
  # Builds the object from hash