akeyless 5.0.39 → 5.0.40

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 (177) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +190 -0
  3. data/README.md +15 -1
  4. data/akeyless.gemspec +1 -1
  5. data/docs/AccountGeneralSettings.md +2 -0
  6. data/docs/AliCloudTargetDetails.md +28 -0
  7. data/docs/AssocTargetItem.md +12 -0
  8. data/docs/AuthMethodAccessInfo.md +2 -0
  9. data/docs/AuthMethodCreateOIDC.md +8 -0
  10. data/docs/AuthMethodCreateOutput.md +3 -1
  11. data/docs/AuthMethodCreateSAML.md +8 -0
  12. data/docs/AuthMethodUpdateOIDC.md +8 -0
  13. data/docs/AuthMethodUpdateOutput.md +3 -1
  14. data/docs/AuthMethodUpdateSAML.md +8 -0
  15. data/docs/CreateUSC.md +2 -0
  16. data/docs/DynamicSecretCreateEks.md +3 -1
  17. data/docs/DynamicSecretCreateGke.md +3 -1
  18. data/docs/DynamicSecretCreateK8s.md +3 -1
  19. data/docs/DynamicSecretUpdateEks.md +3 -1
  20. data/docs/DynamicSecretUpdateGke.md +3 -1
  21. data/docs/DynamicSecretUpdateK8s.md +3 -1
  22. data/docs/EventForwarderCreateEmail.md +1 -1
  23. data/docs/EventForwarderUpdateEmail.md +1 -1
  24. data/docs/GatewayCreateMigration.md +2 -0
  25. data/docs/GatewayCreateProducerEks.md +3 -1
  26. data/docs/GatewayCreateProducerGke.md +3 -1
  27. data/docs/GatewayCreateProducerNativeK8S.md +3 -1
  28. data/docs/GatewayUpdateMigration.md +2 -0
  29. data/docs/GatewayUpdateProducerEks.md +3 -1
  30. data/docs/GatewayUpdateProducerGke.md +3 -1
  31. data/docs/GatewayUpdateProducerNativeK8S.md +3 -1
  32. data/docs/GetGroupOutput.md +13 -1
  33. data/docs/GetScimStatus.md +24 -0
  34. data/docs/GrantedRole.md +20 -0
  35. data/docs/Group.md +13 -1
  36. data/docs/ListTargets.md +1 -1
  37. data/docs/RotatedSecretCreateAliCloud.md +90 -0
  38. data/docs/RotatedSecretCreateAzure.md +1 -1
  39. data/docs/RotatedSecretUpdateAliCloud.md +92 -0
  40. data/docs/RotatedSecretUpdateAzure.md +1 -1
  41. data/docs/ScimSettings.md +30 -0
  42. data/docs/ScimStatus.md +42 -0
  43. data/docs/TargetCreateAliCloud.md +52 -0
  44. data/docs/TargetList.md +1 -1
  45. data/docs/TargetTypeDetailsInput.md +2 -0
  46. data/docs/TargetUpdateAliCloud.md +56 -0
  47. data/docs/UpdateItem.md +3 -1
  48. data/docs/UpdateRotatedSecret.md +3 -1
  49. data/docs/UscCreate.md +3 -1
  50. data/docs/UscDelete.md +4 -0
  51. data/docs/UscGet.md +4 -0
  52. data/docs/UscList.md +4 -0
  53. data/docs/UscUpdate.md +4 -0
  54. data/docs/V2Api.md +322 -6
  55. data/lib/akeyless/api/v2_api.rb +325 -5
  56. data/lib/akeyless/models/account_general_settings.rb +13 -1
  57. data/lib/akeyless/models/ali_cloud_target_details.rb +259 -0
  58. data/lib/akeyless/models/assoc_target_item.rb +63 -1
  59. data/lib/akeyless/models/attribute_type_and_value.rb +1 -1
  60. data/lib/akeyless/models/auth_method_access_info.rb +10 -1
  61. data/lib/akeyless/models/auth_method_create_oidc.rb +41 -1
  62. data/lib/akeyless/models/auth_method_create_output.rb +14 -4
  63. data/lib/akeyless/models/auth_method_create_saml.rb +41 -1
  64. data/lib/akeyless/models/auth_method_update_oidc.rb +41 -1
  65. data/lib/akeyless/models/auth_method_update_output.rb +14 -4
  66. data/lib/akeyless/models/auth_method_update_saml.rb +41 -1
  67. data/lib/akeyless/models/create_mcp_secret_bearer_token.rb +3 -0
  68. data/lib/akeyless/models/create_mcp_secret_o_auth_auth_code.rb +3 -0
  69. data/lib/akeyless/models/create_mcp_secret_o_auth_client_creds.rb +3 -0
  70. data/lib/akeyless/models/create_secret.rb +3 -0
  71. data/lib/akeyless/models/create_usc.rb +11 -1
  72. data/lib/akeyless/models/dynamic_secret_create_eks.rb +12 -2
  73. data/lib/akeyless/models/dynamic_secret_create_gke.rb +12 -2
  74. data/lib/akeyless/models/dynamic_secret_create_k8s.rb +12 -2
  75. data/lib/akeyless/models/dynamic_secret_update_eks.rb +12 -2
  76. data/lib/akeyless/models/dynamic_secret_update_gke.rb +12 -2
  77. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +12 -2
  78. data/lib/akeyless/models/event_forwarder_create_email.rb +1 -1
  79. data/lib/akeyless/models/event_forwarder_update_email.rb +1 -1
  80. data/lib/akeyless/models/gateway_create_migration.rb +12 -1
  81. data/lib/akeyless/models/gateway_create_producer_artifactory.rb +4 -0
  82. data/lib/akeyless/models/gateway_create_producer_aws.rb +4 -0
  83. data/lib/akeyless/models/gateway_create_producer_azure.rb +4 -0
  84. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +4 -0
  85. data/lib/akeyless/models/gateway_create_producer_chef.rb +4 -0
  86. data/lib/akeyless/models/gateway_create_producer_custom.rb +4 -0
  87. data/lib/akeyless/models/gateway_create_producer_dockerhub.rb +4 -0
  88. data/lib/akeyless/models/gateway_create_producer_eks.rb +16 -2
  89. data/lib/akeyless/models/gateway_create_producer_gcp.rb +4 -0
  90. data/lib/akeyless/models/gateway_create_producer_github.rb +4 -0
  91. data/lib/akeyless/models/gateway_create_producer_gke.rb +16 -2
  92. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +4 -0
  93. data/lib/akeyless/models/gateway_create_producer_ldap.rb +4 -0
  94. data/lib/akeyless/models/gateway_create_producer_mongo.rb +4 -0
  95. data/lib/akeyless/models/gateway_create_producer_mssql.rb +4 -0
  96. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +4 -0
  97. data/lib/akeyless/models/gateway_create_producer_native_k8_s.rb +16 -2
  98. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +4 -0
  99. data/lib/akeyless/models/gateway_create_producer_ping.rb +4 -0
  100. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +4 -0
  101. data/lib/akeyless/models/gateway_create_producer_rabbit_mq.rb +4 -0
  102. data/lib/akeyless/models/gateway_create_producer_rdp.rb +4 -0
  103. data/lib/akeyless/models/gateway_create_producer_redis.rb +4 -0
  104. data/lib/akeyless/models/gateway_create_producer_redshift.rb +4 -0
  105. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +4 -0
  106. data/lib/akeyless/models/gateway_create_producer_venafi.rb +4 -0
  107. data/lib/akeyless/models/gateway_delete_producer.rb +4 -0
  108. data/lib/akeyless/models/gateway_get_producer.rb +4 -0
  109. data/lib/akeyless/models/gateway_get_tmp_users.rb +4 -0
  110. data/lib/akeyless/models/gateway_revoke_tmp_users.rb +4 -0
  111. data/lib/akeyless/models/gateway_start_producer.rb +4 -0
  112. data/lib/akeyless/models/gateway_stop_producer.rb +4 -0
  113. data/lib/akeyless/models/gateway_update_migration.rb +12 -1
  114. data/lib/akeyless/models/gateway_update_producer_artifactory.rb +4 -0
  115. data/lib/akeyless/models/gateway_update_producer_aws.rb +4 -0
  116. data/lib/akeyless/models/gateway_update_producer_azure.rb +4 -0
  117. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +4 -0
  118. data/lib/akeyless/models/gateway_update_producer_chef.rb +4 -0
  119. data/lib/akeyless/models/gateway_update_producer_custom.rb +4 -0
  120. data/lib/akeyless/models/gateway_update_producer_dockerhub.rb +4 -0
  121. data/lib/akeyless/models/gateway_update_producer_eks.rb +16 -2
  122. data/lib/akeyless/models/gateway_update_producer_gcp.rb +4 -0
  123. data/lib/akeyless/models/gateway_update_producer_github.rb +4 -0
  124. data/lib/akeyless/models/gateway_update_producer_gke.rb +16 -2
  125. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +4 -0
  126. data/lib/akeyless/models/gateway_update_producer_ldap.rb +4 -0
  127. data/lib/akeyless/models/gateway_update_producer_mongo.rb +4 -0
  128. data/lib/akeyless/models/gateway_update_producer_mssql.rb +4 -0
  129. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +4 -0
  130. data/lib/akeyless/models/gateway_update_producer_native_k8_s.rb +16 -2
  131. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +4 -0
  132. data/lib/akeyless/models/gateway_update_producer_ping.rb +4 -0
  133. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +4 -0
  134. data/lib/akeyless/models/gateway_update_producer_rabbit_mq.rb +4 -0
  135. data/lib/akeyless/models/gateway_update_producer_rdp.rb +4 -0
  136. data/lib/akeyless/models/gateway_update_producer_redis.rb +4 -0
  137. data/lib/akeyless/models/gateway_update_producer_redshift.rb +4 -0
  138. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +4 -0
  139. data/lib/akeyless/models/gateway_update_producer_venafi.rb +4 -0
  140. data/lib/akeyless/models/gateway_update_tmp_users.rb +4 -0
  141. data/lib/akeyless/models/get_group_output.rb +63 -4
  142. data/lib/akeyless/models/get_scim_status.rb +254 -0
  143. data/lib/akeyless/models/granted_role.rb +224 -0
  144. data/lib/akeyless/models/group.rb +63 -4
  145. data/lib/akeyless/models/list_targets.rb +1 -1
  146. data/lib/akeyless/models/rotated_secret_create_ali_cloud.rb +605 -0
  147. data/lib/akeyless/models/rotated_secret_create_azure.rb +1 -1
  148. data/lib/akeyless/models/rotated_secret_update_ali_cloud.rb +605 -0
  149. data/lib/akeyless/models/rotated_secret_update_azure.rb +1 -1
  150. data/lib/akeyless/models/scim_settings.rb +271 -0
  151. data/lib/akeyless/models/scim_status.rb +323 -0
  152. data/lib/akeyless/models/target_create_ali_cloud.rb +394 -0
  153. data/lib/akeyless/models/target_list.rb +1 -1
  154. data/lib/akeyless/models/target_type_details_input.rb +10 -1
  155. data/lib/akeyless/models/target_update_ali_cloud.rb +414 -0
  156. data/lib/akeyless/models/update_item.rb +23 -2
  157. data/lib/akeyless/models/update_mcp_secret_bearer_token.rb +3 -0
  158. data/lib/akeyless/models/update_mcp_secret_o_auth_auth_code.rb +3 -0
  159. data/lib/akeyless/models/update_mcp_secret_o_auth_client_creds.rb +3 -0
  160. data/lib/akeyless/models/update_rotated_secret.rb +20 -2
  161. data/lib/akeyless/models/usc_create.rb +12 -2
  162. data/lib/akeyless/models/usc_delete.rb +21 -1
  163. data/lib/akeyless/models/usc_get.rb +21 -1
  164. data/lib/akeyless/models/usc_list.rb +21 -1
  165. data/lib/akeyless/models/usc_update.rb +21 -1
  166. data/lib/akeyless/version.rb +1 -1
  167. data/lib/akeyless.rb +9 -0
  168. data/spec/models/ali_cloud_target_details_spec.rb +66 -0
  169. data/spec/models/get_scim_status_spec.rb +54 -0
  170. data/spec/models/granted_role_spec.rb +42 -0
  171. data/spec/models/rotated_secret_create_ali_cloud_spec.rb +252 -0
  172. data/spec/models/rotated_secret_update_ali_cloud_spec.rb +258 -0
  173. data/spec/models/scim_settings_spec.rb +72 -0
  174. data/spec/models/scim_status_spec.rb +108 -0
  175. data/spec/models/target_create_ali_cloud_spec.rb +138 -0
  176. data/spec/models/target_update_ali_cloud_spec.rb +150 -0
  177. metadata +54 -17
@@ -0,0 +1,605 @@
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
+ class RotatedSecretUpdateAliCloud
18
+ # AliCloud RAM user AccessKey secret to rotate (relevant only for rotator-type=access-key)
19
+ attr_accessor :access_key
20
+
21
+ # AliCloud RAM user AccessKey ID to rotate (relevant only for rotator-type=access-key). On create with authentication-credentials=use-target-creds it may be empty, then Akeyless creates the AccessKey on the RAM user of the target and manages it
22
+ attr_accessor :access_key_id
23
+
24
+ # List of the new tags that will be attached to this item
25
+ attr_accessor :add_tag
26
+
27
+ # Enable or disable Agentic Runtime Authority rule enforcement for this item. When false, user-defined input/output rules are stored but not enforced; the base security validation still runs. AraEnabled is tri-state (nil/true/false), not a plain bool: it self-encodes its wire value (see akl.OptionalBool) so an explicit false survives the curl-proxy relay instead of being dropped like a default-false bool flag.
28
+ attr_accessor :ara_enabled
29
+
30
+ # The credentials to connect with use-user-creds/use-target-creds
31
+ attr_accessor :authentication_credentials
32
+
33
+ attr_accessor :auto_rotate
34
+
35
+ # Protection from accidental deletion of this object [true/false]
36
+ attr_accessor :delete_protection
37
+
38
+ # Description of the object
39
+ attr_accessor :description
40
+
41
+ # EnableAra is the documented spelling of AraEnabled. Both set the same field; --ara-enabled shipped first and stays as an undocumented alias so existing scripts and the Terraform provider keep working.
42
+ attr_accessor :enable_agentic_runtime_authority
43
+
44
+ # Turns on AI Quorum checks for this item.
45
+ attr_accessor :enable_ai_quorum
46
+
47
+ # Enable graceful rotation (keep both versions temporarily). When enabled, a new secret version is created while the previous version is kept for the grace period, so both versions exist for a limited time. [true/false]
48
+ attr_accessor :grace_rotation
49
+
50
+ # The Hour of the grace rotation in UTC
51
+ attr_accessor :grace_rotation_hour
52
+
53
+ # The number of days to wait before deleting the old key (must be bigger than rotation-interval)
54
+ attr_accessor :grace_rotation_interval
55
+
56
+ # When to create the new version relative to the rotation date [after/before]
57
+ attr_accessor :grace_rotation_timing
58
+
59
+ # Agentic input rule in name=...,rule=... format (e.g. name=rule1,rule=Sanitize input)
60
+ attr_accessor :input_rule
61
+
62
+ # Additional custom fields to associate with the item
63
+ attr_accessor :item_custom_fields
64
+
65
+ # Set output format to JSON
66
+ attr_accessor :json
67
+
68
+ # Whether to keep previous version [true/false]. If not set, use default according to account settings
69
+ attr_accessor :keep_prev_version
70
+
71
+ attr_accessor :key
72
+
73
+ # Lock this secret after each successful value read
74
+ attr_accessor :lock_on_read
75
+
76
+ # Lock TTL in minutes
77
+ attr_accessor :lock_ttl
78
+
79
+ # Set the maximum number of versions, limited by the account settings defaults.
80
+ attr_accessor :max_versions
81
+
82
+ # Rotated secret name
83
+ attr_accessor :name
84
+
85
+ # New item name
86
+ attr_accessor :new_name
87
+
88
+ # Agentic output rule in name=...,rule=... format (e.g. name=rule1,rule=Mask secrets)
89
+ attr_accessor :output_rule
90
+
91
+ # The length of the password to be generated
92
+ attr_accessor :password_length
93
+
94
+ # List of the existent tags that will be removed from this item
95
+ attr_accessor :rm_tag
96
+
97
+ # Rotate this secret after it is unlocked
98
+ attr_accessor :rotate_on_unlock
99
+
100
+ # How many days before the rotation of the item would you like to be notified
101
+ attr_accessor :rotation_event_in
102
+
103
+ attr_accessor :rotation_hour
104
+
105
+ attr_accessor :rotation_interval
106
+
107
+ # If set, dry-run will be skipped [true/false]
108
+ attr_accessor :skip_dry_run
109
+
110
+ # Authentication token (see `/auth` and `/configure`)
111
+ attr_accessor :token
112
+
113
+ # The universal identity token, Required only for universal_identity authentication
114
+ attr_accessor :uid_token
115
+
116
+ # Specifies whether the generated temporary password must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). [true/false]
117
+ attr_accessor :use_capital_letters
118
+
119
+ # Specifies whether the generated temporary password must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). [true/false]
120
+ attr_accessor :use_lower_letters
121
+
122
+ # Specifies whether the generated temporary password must contain at least one numeric character (0 to 9). [true/false]
123
+ attr_accessor :use_numbers
124
+
125
+ attr_accessor :use_special_characters
126
+
127
+ # Attribute mapping from ruby-style variable name to JSON key.
128
+ def self.attribute_map
129
+ {
130
+ :'access_key' => :'access-key',
131
+ :'access_key_id' => :'access-key-id',
132
+ :'add_tag' => :'add-tag',
133
+ :'ara_enabled' => :'ara-enabled',
134
+ :'authentication_credentials' => :'authentication-credentials',
135
+ :'auto_rotate' => :'auto-rotate',
136
+ :'delete_protection' => :'delete_protection',
137
+ :'description' => :'description',
138
+ :'enable_agentic_runtime_authority' => :'enable-agentic-runtime-authority',
139
+ :'enable_ai_quorum' => :'enable-ai-quorum',
140
+ :'grace_rotation' => :'grace-rotation',
141
+ :'grace_rotation_hour' => :'grace-rotation-hour',
142
+ :'grace_rotation_interval' => :'grace-rotation-interval',
143
+ :'grace_rotation_timing' => :'grace-rotation-timing',
144
+ :'input_rule' => :'input-rule',
145
+ :'item_custom_fields' => :'item-custom-fields',
146
+ :'json' => :'json',
147
+ :'keep_prev_version' => :'keep-prev-version',
148
+ :'key' => :'key',
149
+ :'lock_on_read' => :'lock-on-read',
150
+ :'lock_ttl' => :'lock-ttl',
151
+ :'max_versions' => :'max-versions',
152
+ :'name' => :'name',
153
+ :'new_name' => :'new-name',
154
+ :'output_rule' => :'output-rule',
155
+ :'password_length' => :'password-length',
156
+ :'rm_tag' => :'rm-tag',
157
+ :'rotate_on_unlock' => :'rotate-on-unlock',
158
+ :'rotation_event_in' => :'rotation-event-in',
159
+ :'rotation_hour' => :'rotation-hour',
160
+ :'rotation_interval' => :'rotation-interval',
161
+ :'skip_dry_run' => :'skip-dry-run',
162
+ :'token' => :'token',
163
+ :'uid_token' => :'uid-token',
164
+ :'use_capital_letters' => :'use-capital-letters',
165
+ :'use_lower_letters' => :'use-lower-letters',
166
+ :'use_numbers' => :'use-numbers',
167
+ :'use_special_characters' => :'use-special-characters'
168
+ }
169
+ end
170
+
171
+ # Returns all the JSON keys this model knows about
172
+ def self.acceptable_attributes
173
+ attribute_map.values
174
+ end
175
+
176
+ # Attribute type mapping.
177
+ def self.openapi_types
178
+ {
179
+ :'access_key' => :'String',
180
+ :'access_key_id' => :'String',
181
+ :'add_tag' => :'Array<String>',
182
+ :'ara_enabled' => :'Boolean',
183
+ :'authentication_credentials' => :'String',
184
+ :'auto_rotate' => :'String',
185
+ :'delete_protection' => :'String',
186
+ :'description' => :'String',
187
+ :'enable_agentic_runtime_authority' => :'Boolean',
188
+ :'enable_ai_quorum' => :'Boolean',
189
+ :'grace_rotation' => :'String',
190
+ :'grace_rotation_hour' => :'Integer',
191
+ :'grace_rotation_interval' => :'String',
192
+ :'grace_rotation_timing' => :'String',
193
+ :'input_rule' => :'Array<String>',
194
+ :'item_custom_fields' => :'Hash<String, String>',
195
+ :'json' => :'Boolean',
196
+ :'keep_prev_version' => :'String',
197
+ :'key' => :'String',
198
+ :'lock_on_read' => :'String',
199
+ :'lock_ttl' => :'String',
200
+ :'max_versions' => :'String',
201
+ :'name' => :'String',
202
+ :'new_name' => :'String',
203
+ :'output_rule' => :'Array<String>',
204
+ :'password_length' => :'String',
205
+ :'rm_tag' => :'Array<String>',
206
+ :'rotate_on_unlock' => :'String',
207
+ :'rotation_event_in' => :'Array<String>',
208
+ :'rotation_hour' => :'Integer',
209
+ :'rotation_interval' => :'String',
210
+ :'skip_dry_run' => :'Boolean',
211
+ :'token' => :'String',
212
+ :'uid_token' => :'String',
213
+ :'use_capital_letters' => :'String',
214
+ :'use_lower_letters' => :'String',
215
+ :'use_numbers' => :'String',
216
+ :'use_special_characters' => :'String'
217
+ }
218
+ end
219
+
220
+ # List of attributes with nullable: true
221
+ def self.openapi_nullable
222
+ Set.new([
223
+ ])
224
+ end
225
+
226
+ # Initializes the object
227
+ # @param [Hash] attributes Model attributes in the form of hash
228
+ def initialize(attributes = {})
229
+ if (!attributes.is_a?(Hash))
230
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::RotatedSecretUpdateAliCloud` initialize method"
231
+ end
232
+
233
+ # check to see if the attribute exists and convert string to symbol for hash key
234
+ attributes = attributes.each_with_object({}) { |(k, v), h|
235
+ if (!self.class.attribute_map.key?(k.to_sym))
236
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::RotatedSecretUpdateAliCloud`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
237
+ end
238
+ h[k.to_sym] = v
239
+ }
240
+
241
+ if attributes.key?(:'access_key')
242
+ self.access_key = attributes[:'access_key']
243
+ end
244
+
245
+ if attributes.key?(:'access_key_id')
246
+ self.access_key_id = attributes[:'access_key_id']
247
+ end
248
+
249
+ if attributes.key?(:'add_tag')
250
+ if (value = attributes[:'add_tag']).is_a?(Array)
251
+ self.add_tag = value
252
+ end
253
+ end
254
+
255
+ if attributes.key?(:'ara_enabled')
256
+ self.ara_enabled = attributes[:'ara_enabled']
257
+ end
258
+
259
+ if attributes.key?(:'authentication_credentials')
260
+ self.authentication_credentials = attributes[:'authentication_credentials']
261
+ else
262
+ self.authentication_credentials = 'use-user-creds'
263
+ end
264
+
265
+ if attributes.key?(:'auto_rotate')
266
+ self.auto_rotate = attributes[:'auto_rotate']
267
+ end
268
+
269
+ if attributes.key?(:'delete_protection')
270
+ self.delete_protection = attributes[:'delete_protection']
271
+ end
272
+
273
+ if attributes.key?(:'description')
274
+ self.description = attributes[:'description']
275
+ else
276
+ self.description = 'default_metadata'
277
+ end
278
+
279
+ if attributes.key?(:'enable_agentic_runtime_authority')
280
+ self.enable_agentic_runtime_authority = attributes[:'enable_agentic_runtime_authority']
281
+ end
282
+
283
+ if attributes.key?(:'enable_ai_quorum')
284
+ self.enable_ai_quorum = attributes[:'enable_ai_quorum']
285
+ end
286
+
287
+ if attributes.key?(:'grace_rotation')
288
+ self.grace_rotation = attributes[:'grace_rotation']
289
+ end
290
+
291
+ if attributes.key?(:'grace_rotation_hour')
292
+ self.grace_rotation_hour = attributes[:'grace_rotation_hour']
293
+ end
294
+
295
+ if attributes.key?(:'grace_rotation_interval')
296
+ self.grace_rotation_interval = attributes[:'grace_rotation_interval']
297
+ end
298
+
299
+ if attributes.key?(:'grace_rotation_timing')
300
+ self.grace_rotation_timing = attributes[:'grace_rotation_timing']
301
+ end
302
+
303
+ if attributes.key?(:'input_rule')
304
+ if (value = attributes[:'input_rule']).is_a?(Array)
305
+ self.input_rule = value
306
+ end
307
+ end
308
+
309
+ if attributes.key?(:'item_custom_fields')
310
+ if (value = attributes[:'item_custom_fields']).is_a?(Hash)
311
+ self.item_custom_fields = value
312
+ end
313
+ end
314
+
315
+ if attributes.key?(:'json')
316
+ self.json = attributes[:'json']
317
+ else
318
+ self.json = false
319
+ end
320
+
321
+ if attributes.key?(:'keep_prev_version')
322
+ self.keep_prev_version = attributes[:'keep_prev_version']
323
+ end
324
+
325
+ if attributes.key?(:'key')
326
+ self.key = attributes[:'key']
327
+ end
328
+
329
+ if attributes.key?(:'lock_on_read')
330
+ self.lock_on_read = attributes[:'lock_on_read']
331
+ end
332
+
333
+ if attributes.key?(:'lock_ttl')
334
+ self.lock_ttl = attributes[:'lock_ttl']
335
+ end
336
+
337
+ if attributes.key?(:'max_versions')
338
+ self.max_versions = attributes[:'max_versions']
339
+ end
340
+
341
+ if attributes.key?(:'name')
342
+ self.name = attributes[:'name']
343
+ else
344
+ self.name = nil
345
+ end
346
+
347
+ if attributes.key?(:'new_name')
348
+ self.new_name = attributes[:'new_name']
349
+ end
350
+
351
+ if attributes.key?(:'output_rule')
352
+ if (value = attributes[:'output_rule']).is_a?(Array)
353
+ self.output_rule = value
354
+ end
355
+ end
356
+
357
+ if attributes.key?(:'password_length')
358
+ self.password_length = attributes[:'password_length']
359
+ end
360
+
361
+ if attributes.key?(:'rm_tag')
362
+ if (value = attributes[:'rm_tag']).is_a?(Array)
363
+ self.rm_tag = value
364
+ end
365
+ end
366
+
367
+ if attributes.key?(:'rotate_on_unlock')
368
+ self.rotate_on_unlock = attributes[:'rotate_on_unlock']
369
+ end
370
+
371
+ if attributes.key?(:'rotation_event_in')
372
+ if (value = attributes[:'rotation_event_in']).is_a?(Array)
373
+ self.rotation_event_in = value
374
+ end
375
+ end
376
+
377
+ if attributes.key?(:'rotation_hour')
378
+ self.rotation_hour = attributes[:'rotation_hour']
379
+ end
380
+
381
+ if attributes.key?(:'rotation_interval')
382
+ self.rotation_interval = attributes[:'rotation_interval']
383
+ end
384
+
385
+ if attributes.key?(:'skip_dry_run')
386
+ self.skip_dry_run = attributes[:'skip_dry_run']
387
+ end
388
+
389
+ if attributes.key?(:'token')
390
+ self.token = attributes[:'token']
391
+ end
392
+
393
+ if attributes.key?(:'uid_token')
394
+ self.uid_token = attributes[:'uid_token']
395
+ end
396
+
397
+ if attributes.key?(:'use_capital_letters')
398
+ self.use_capital_letters = attributes[:'use_capital_letters']
399
+ end
400
+
401
+ if attributes.key?(:'use_lower_letters')
402
+ self.use_lower_letters = attributes[:'use_lower_letters']
403
+ end
404
+
405
+ if attributes.key?(:'use_numbers')
406
+ self.use_numbers = attributes[:'use_numbers']
407
+ end
408
+
409
+ if attributes.key?(:'use_special_characters')
410
+ self.use_special_characters = attributes[:'use_special_characters']
411
+ end
412
+ end
413
+
414
+ # Show invalid properties with the reasons. Usually used together with valid?
415
+ # @return Array for valid properties with the reasons
416
+ def list_invalid_properties
417
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
418
+ invalid_properties = Array.new
419
+ if @name.nil?
420
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
421
+ end
422
+
423
+ invalid_properties
424
+ end
425
+
426
+ # Check to see if the all the properties in the model are valid
427
+ # @return true if the model is valid
428
+ def valid?
429
+ warn '[DEPRECATED] the `valid?` method is obsolete'
430
+ return false if @name.nil?
431
+ true
432
+ end
433
+
434
+ # Checks equality by comparing each attribute.
435
+ # @param [Object] Object to be compared
436
+ def ==(o)
437
+ return true if self.equal?(o)
438
+ self.class == o.class &&
439
+ access_key == o.access_key &&
440
+ access_key_id == o.access_key_id &&
441
+ add_tag == o.add_tag &&
442
+ ara_enabled == o.ara_enabled &&
443
+ authentication_credentials == o.authentication_credentials &&
444
+ auto_rotate == o.auto_rotate &&
445
+ delete_protection == o.delete_protection &&
446
+ description == o.description &&
447
+ enable_agentic_runtime_authority == o.enable_agentic_runtime_authority &&
448
+ enable_ai_quorum == o.enable_ai_quorum &&
449
+ grace_rotation == o.grace_rotation &&
450
+ grace_rotation_hour == o.grace_rotation_hour &&
451
+ grace_rotation_interval == o.grace_rotation_interval &&
452
+ grace_rotation_timing == o.grace_rotation_timing &&
453
+ input_rule == o.input_rule &&
454
+ item_custom_fields == o.item_custom_fields &&
455
+ json == o.json &&
456
+ keep_prev_version == o.keep_prev_version &&
457
+ key == o.key &&
458
+ lock_on_read == o.lock_on_read &&
459
+ lock_ttl == o.lock_ttl &&
460
+ max_versions == o.max_versions &&
461
+ name == o.name &&
462
+ new_name == o.new_name &&
463
+ output_rule == o.output_rule &&
464
+ password_length == o.password_length &&
465
+ rm_tag == o.rm_tag &&
466
+ rotate_on_unlock == o.rotate_on_unlock &&
467
+ rotation_event_in == o.rotation_event_in &&
468
+ rotation_hour == o.rotation_hour &&
469
+ rotation_interval == o.rotation_interval &&
470
+ skip_dry_run == o.skip_dry_run &&
471
+ token == o.token &&
472
+ uid_token == o.uid_token &&
473
+ use_capital_letters == o.use_capital_letters &&
474
+ use_lower_letters == o.use_lower_letters &&
475
+ use_numbers == o.use_numbers &&
476
+ use_special_characters == o.use_special_characters
477
+ end
478
+
479
+ # @see the `==` method
480
+ # @param [Object] Object to be compared
481
+ def eql?(o)
482
+ self == o
483
+ end
484
+
485
+ # Calculates hash code according to all attributes.
486
+ # @return [Integer] Hash code
487
+ def hash
488
+ [access_key, access_key_id, add_tag, ara_enabled, authentication_credentials, auto_rotate, delete_protection, description, enable_agentic_runtime_authority, enable_ai_quorum, grace_rotation, grace_rotation_hour, grace_rotation_interval, grace_rotation_timing, input_rule, item_custom_fields, json, keep_prev_version, key, lock_on_read, lock_ttl, max_versions, name, new_name, output_rule, password_length, rm_tag, rotate_on_unlock, rotation_event_in, rotation_hour, rotation_interval, skip_dry_run, token, uid_token, use_capital_letters, use_lower_letters, use_numbers, use_special_characters].hash
489
+ end
490
+
491
+ # Builds the object from hash
492
+ # @param [Hash] attributes Model attributes in the form of hash
493
+ # @return [Object] Returns the model itself
494
+ def self.build_from_hash(attributes)
495
+ return nil unless attributes.is_a?(Hash)
496
+ attributes = attributes.transform_keys(&:to_sym)
497
+ transformed_hash = {}
498
+ openapi_types.each_pair do |key, type|
499
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
500
+ transformed_hash["#{key}"] = nil
501
+ elsif type =~ /\AArray<(.*)>/i
502
+ # check to ensure the input is an array given that the attribute
503
+ # is documented as an array but the input is not
504
+ if attributes[attribute_map[key]].is_a?(Array)
505
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
506
+ end
507
+ elsif !attributes[attribute_map[key]].nil?
508
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
509
+ end
510
+ end
511
+ new(transformed_hash)
512
+ end
513
+
514
+ # Deserializes the data based on type
515
+ # @param string type Data type
516
+ # @param string value Value to be deserialized
517
+ # @return [Object] Deserialized data
518
+ def self._deserialize(type, value)
519
+ case type.to_sym
520
+ when :Time
521
+ Time.parse(value)
522
+ when :Date
523
+ Date.parse(value)
524
+ when :String
525
+ value.to_s
526
+ when :Integer
527
+ value.to_i
528
+ when :Float
529
+ value.to_f
530
+ when :Boolean
531
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
532
+ true
533
+ else
534
+ false
535
+ end
536
+ when :Object
537
+ # generic object (usually a Hash), return directly
538
+ value
539
+ when /\AArray<(?<inner_type>.+)>\z/
540
+ inner_type = Regexp.last_match[:inner_type]
541
+ value.map { |v| _deserialize(inner_type, v) }
542
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
543
+ k_type = Regexp.last_match[:k_type]
544
+ v_type = Regexp.last_match[:v_type]
545
+ {}.tap do |hash|
546
+ value.each do |k, v|
547
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
548
+ end
549
+ end
550
+ else # model
551
+ # models (e.g. Pet) or oneOf
552
+ klass = Akeyless.const_get(type)
553
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
554
+ end
555
+ end
556
+
557
+ # Returns the string representation of the object
558
+ # @return [String] String presentation of the object
559
+ def to_s
560
+ to_hash.to_s
561
+ end
562
+
563
+ # to_body is an alias to to_hash (backward compatibility)
564
+ # @return [Hash] Returns the object in the form of hash
565
+ def to_body
566
+ to_hash
567
+ end
568
+
569
+ # Returns the object in the form of hash
570
+ # @return [Hash] Returns the object in the form of hash
571
+ def to_hash
572
+ hash = {}
573
+ self.class.attribute_map.each_pair do |attr, param|
574
+ value = self.send(attr)
575
+ if value.nil?
576
+ is_nullable = self.class.openapi_nullable.include?(attr)
577
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
578
+ end
579
+
580
+ hash[param] = _to_hash(value)
581
+ end
582
+ hash
583
+ end
584
+
585
+ # Outputs non-array value in the form of hash
586
+ # For object, use to_hash. Otherwise, just return the value
587
+ # @param [Object] value Any valid value
588
+ # @return [Hash] Returns the value in the form of hash
589
+ def _to_hash(value)
590
+ if value.is_a?(Array)
591
+ value.compact.map { |v| _to_hash(v) }
592
+ elsif value.is_a?(Hash)
593
+ {}.tap do |hash|
594
+ value.each { |k, v| hash[k] = _to_hash(v) }
595
+ end
596
+ elsif value.respond_to? :to_hash
597
+ value.to_hash
598
+ else
599
+ value
600
+ end
601
+ end
602
+
603
+ end
604
+
605
+ end
@@ -24,7 +24,7 @@ module Akeyless
24
24
  # API key to rotate (relevant only for rotator-type=api-key)
25
25
  attr_accessor :api_key
26
26
 
27
- # Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key & authentication-credentials=use-target-creds)
27
+ # Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key)
28
28
  attr_accessor :application_id
29
29
 
30
30
  # Enable or disable Agentic Runtime Authority rule enforcement for this item. When false, user-defined input/output rules are stored but not enforced; the base security validation still runs. AraEnabled is tri-state (nil/true/false), not a plain bool: it self-encodes its wire value (see akl.OptionalBool) so an explicit false survives the curl-proxy relay instead of being dropped like a default-false bool flag.