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 RotatedSecretCreateAliCloud
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
+ # 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.
25
+ attr_accessor :ara_enabled
26
+
27
+ # The credentials to connect with use-user-creds/use-target-creds
28
+ attr_accessor :authentication_credentials
29
+
30
+ attr_accessor :auto_rotate
31
+
32
+ # Protection from accidental deletion of this object [true/false]
33
+ attr_accessor :delete_protection
34
+
35
+ # Description of the object
36
+ attr_accessor :description
37
+
38
+ # 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.
39
+ attr_accessor :enable_agentic_runtime_authority
40
+
41
+ # Turns on AI Quorum checks for this item.
42
+ attr_accessor :enable_ai_quorum
43
+
44
+ # 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]
45
+ attr_accessor :grace_rotation
46
+
47
+ # The Hour of the grace rotation in UTC
48
+ attr_accessor :grace_rotation_hour
49
+
50
+ # The number of days to wait before deleting the old key (must be bigger than rotation-interval)
51
+ attr_accessor :grace_rotation_interval
52
+
53
+ # When to create the new version relative to the rotation date [after/before]
54
+ attr_accessor :grace_rotation_timing
55
+
56
+ # Agentic input rule in name=...,rule=... format (e.g. name=rule1,rule=Sanitize input)
57
+ attr_accessor :input_rule
58
+
59
+ # Additional custom fields to associate with the item
60
+ attr_accessor :item_custom_fields
61
+
62
+ # Set output format to JSON
63
+ attr_accessor :json
64
+
65
+ attr_accessor :key
66
+
67
+ # Lock this secret after each successful value read
68
+ attr_accessor :lock_on_read
69
+
70
+ # Lock TTL in minutes
71
+ attr_accessor :lock_ttl
72
+
73
+ # Set the maximum number of versions, limited by the account settings defaults.
74
+ attr_accessor :max_versions
75
+
76
+ # Rotated secret name
77
+ attr_accessor :name
78
+
79
+ # Agentic output rule in name=...,rule=... format (e.g. name=rule1,rule=Mask secrets)
80
+ attr_accessor :output_rule
81
+
82
+ # The length of the password to be generated
83
+ attr_accessor :password_length
84
+
85
+ # Rotate this secret after it is unlocked
86
+ attr_accessor :rotate_on_unlock
87
+
88
+ # How many days before the rotation of the item would you like to be notified
89
+ attr_accessor :rotation_event_in
90
+
91
+ attr_accessor :rotation_hour
92
+
93
+ attr_accessor :rotation_interval
94
+
95
+ # The rotator type. options: [target/access-key]
96
+ attr_accessor :rotator_type
97
+
98
+ # If set, dry-run will be skipped [true/false]
99
+ attr_accessor :skip_dry_run
100
+
101
+ # Add tags attached to this object
102
+ attr_accessor :tags
103
+
104
+ # The target name to associate
105
+ attr_accessor :target_name
106
+
107
+ # Authentication token (see `/auth` and `/configure`)
108
+ attr_accessor :token
109
+
110
+ # The universal identity token, Required only for universal_identity authentication
111
+ attr_accessor :uid_token
112
+
113
+ # Specifies whether the generated temporary password must contain at least one uppercase character from the ISO basic Latin alphabet (A to Z). [true/false]
114
+ attr_accessor :use_capital_letters
115
+
116
+ # Specifies whether the generated temporary password must contain at least one lowercase character from the ISO basic Latin alphabet (a to z). [true/false]
117
+ attr_accessor :use_lower_letters
118
+
119
+ # Specifies whether the generated temporary password must contain at least one numeric character (0 to 9). [true/false]
120
+ attr_accessor :use_numbers
121
+
122
+ attr_accessor :use_special_characters
123
+
124
+ # Attribute mapping from ruby-style variable name to JSON key.
125
+ def self.attribute_map
126
+ {
127
+ :'access_key' => :'access-key',
128
+ :'access_key_id' => :'access-key-id',
129
+ :'ara_enabled' => :'ara-enabled',
130
+ :'authentication_credentials' => :'authentication-credentials',
131
+ :'auto_rotate' => :'auto-rotate',
132
+ :'delete_protection' => :'delete_protection',
133
+ :'description' => :'description',
134
+ :'enable_agentic_runtime_authority' => :'enable-agentic-runtime-authority',
135
+ :'enable_ai_quorum' => :'enable-ai-quorum',
136
+ :'grace_rotation' => :'grace-rotation',
137
+ :'grace_rotation_hour' => :'grace-rotation-hour',
138
+ :'grace_rotation_interval' => :'grace-rotation-interval',
139
+ :'grace_rotation_timing' => :'grace-rotation-timing',
140
+ :'input_rule' => :'input-rule',
141
+ :'item_custom_fields' => :'item-custom-fields',
142
+ :'json' => :'json',
143
+ :'key' => :'key',
144
+ :'lock_on_read' => :'lock-on-read',
145
+ :'lock_ttl' => :'lock-ttl',
146
+ :'max_versions' => :'max-versions',
147
+ :'name' => :'name',
148
+ :'output_rule' => :'output-rule',
149
+ :'password_length' => :'password-length',
150
+ :'rotate_on_unlock' => :'rotate-on-unlock',
151
+ :'rotation_event_in' => :'rotation-event-in',
152
+ :'rotation_hour' => :'rotation-hour',
153
+ :'rotation_interval' => :'rotation-interval',
154
+ :'rotator_type' => :'rotator-type',
155
+ :'skip_dry_run' => :'skip-dry-run',
156
+ :'tags' => :'tags',
157
+ :'target_name' => :'target-name',
158
+ :'token' => :'token',
159
+ :'uid_token' => :'uid-token',
160
+ :'use_capital_letters' => :'use-capital-letters',
161
+ :'use_lower_letters' => :'use-lower-letters',
162
+ :'use_numbers' => :'use-numbers',
163
+ :'use_special_characters' => :'use-special-characters'
164
+ }
165
+ end
166
+
167
+ # Returns all the JSON keys this model knows about
168
+ def self.acceptable_attributes
169
+ attribute_map.values
170
+ end
171
+
172
+ # Attribute type mapping.
173
+ def self.openapi_types
174
+ {
175
+ :'access_key' => :'String',
176
+ :'access_key_id' => :'String',
177
+ :'ara_enabled' => :'Boolean',
178
+ :'authentication_credentials' => :'String',
179
+ :'auto_rotate' => :'String',
180
+ :'delete_protection' => :'String',
181
+ :'description' => :'String',
182
+ :'enable_agentic_runtime_authority' => :'Boolean',
183
+ :'enable_ai_quorum' => :'Boolean',
184
+ :'grace_rotation' => :'String',
185
+ :'grace_rotation_hour' => :'Integer',
186
+ :'grace_rotation_interval' => :'String',
187
+ :'grace_rotation_timing' => :'String',
188
+ :'input_rule' => :'Array<String>',
189
+ :'item_custom_fields' => :'Hash<String, String>',
190
+ :'json' => :'Boolean',
191
+ :'key' => :'String',
192
+ :'lock_on_read' => :'String',
193
+ :'lock_ttl' => :'String',
194
+ :'max_versions' => :'String',
195
+ :'name' => :'String',
196
+ :'output_rule' => :'Array<String>',
197
+ :'password_length' => :'String',
198
+ :'rotate_on_unlock' => :'String',
199
+ :'rotation_event_in' => :'Array<String>',
200
+ :'rotation_hour' => :'Integer',
201
+ :'rotation_interval' => :'String',
202
+ :'rotator_type' => :'String',
203
+ :'skip_dry_run' => :'Boolean',
204
+ :'tags' => :'Array<String>',
205
+ :'target_name' => :'String',
206
+ :'token' => :'String',
207
+ :'uid_token' => :'String',
208
+ :'use_capital_letters' => :'String',
209
+ :'use_lower_letters' => :'String',
210
+ :'use_numbers' => :'String',
211
+ :'use_special_characters' => :'String'
212
+ }
213
+ end
214
+
215
+ # List of attributes with nullable: true
216
+ def self.openapi_nullable
217
+ Set.new([
218
+ ])
219
+ end
220
+
221
+ # Initializes the object
222
+ # @param [Hash] attributes Model attributes in the form of hash
223
+ def initialize(attributes = {})
224
+ if (!attributes.is_a?(Hash))
225
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::RotatedSecretCreateAliCloud` initialize method"
226
+ end
227
+
228
+ # check to see if the attribute exists and convert string to symbol for hash key
229
+ attributes = attributes.each_with_object({}) { |(k, v), h|
230
+ if (!self.class.attribute_map.key?(k.to_sym))
231
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::RotatedSecretCreateAliCloud`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
232
+ end
233
+ h[k.to_sym] = v
234
+ }
235
+
236
+ if attributes.key?(:'access_key')
237
+ self.access_key = attributes[:'access_key']
238
+ end
239
+
240
+ if attributes.key?(:'access_key_id')
241
+ self.access_key_id = attributes[:'access_key_id']
242
+ end
243
+
244
+ if attributes.key?(:'ara_enabled')
245
+ self.ara_enabled = attributes[:'ara_enabled']
246
+ end
247
+
248
+ if attributes.key?(:'authentication_credentials')
249
+ self.authentication_credentials = attributes[:'authentication_credentials']
250
+ else
251
+ self.authentication_credentials = 'use-user-creds'
252
+ end
253
+
254
+ if attributes.key?(:'auto_rotate')
255
+ self.auto_rotate = attributes[:'auto_rotate']
256
+ end
257
+
258
+ if attributes.key?(:'delete_protection')
259
+ self.delete_protection = attributes[:'delete_protection']
260
+ end
261
+
262
+ if attributes.key?(:'description')
263
+ self.description = attributes[:'description']
264
+ end
265
+
266
+ if attributes.key?(:'enable_agentic_runtime_authority')
267
+ self.enable_agentic_runtime_authority = attributes[:'enable_agentic_runtime_authority']
268
+ end
269
+
270
+ if attributes.key?(:'enable_ai_quorum')
271
+ self.enable_ai_quorum = attributes[:'enable_ai_quorum']
272
+ end
273
+
274
+ if attributes.key?(:'grace_rotation')
275
+ self.grace_rotation = attributes[:'grace_rotation']
276
+ end
277
+
278
+ if attributes.key?(:'grace_rotation_hour')
279
+ self.grace_rotation_hour = attributes[:'grace_rotation_hour']
280
+ end
281
+
282
+ if attributes.key?(:'grace_rotation_interval')
283
+ self.grace_rotation_interval = attributes[:'grace_rotation_interval']
284
+ end
285
+
286
+ if attributes.key?(:'grace_rotation_timing')
287
+ self.grace_rotation_timing = attributes[:'grace_rotation_timing']
288
+ end
289
+
290
+ if attributes.key?(:'input_rule')
291
+ if (value = attributes[:'input_rule']).is_a?(Array)
292
+ self.input_rule = value
293
+ end
294
+ end
295
+
296
+ if attributes.key?(:'item_custom_fields')
297
+ if (value = attributes[:'item_custom_fields']).is_a?(Hash)
298
+ self.item_custom_fields = value
299
+ end
300
+ end
301
+
302
+ if attributes.key?(:'json')
303
+ self.json = attributes[:'json']
304
+ else
305
+ self.json = false
306
+ end
307
+
308
+ if attributes.key?(:'key')
309
+ self.key = attributes[:'key']
310
+ end
311
+
312
+ if attributes.key?(:'lock_on_read')
313
+ self.lock_on_read = attributes[:'lock_on_read']
314
+ end
315
+
316
+ if attributes.key?(:'lock_ttl')
317
+ self.lock_ttl = attributes[:'lock_ttl']
318
+ end
319
+
320
+ if attributes.key?(:'max_versions')
321
+ self.max_versions = attributes[:'max_versions']
322
+ end
323
+
324
+ if attributes.key?(:'name')
325
+ self.name = attributes[:'name']
326
+ else
327
+ self.name = nil
328
+ end
329
+
330
+ if attributes.key?(:'output_rule')
331
+ if (value = attributes[:'output_rule']).is_a?(Array)
332
+ self.output_rule = value
333
+ end
334
+ end
335
+
336
+ if attributes.key?(:'password_length')
337
+ self.password_length = attributes[:'password_length']
338
+ end
339
+
340
+ if attributes.key?(:'rotate_on_unlock')
341
+ self.rotate_on_unlock = attributes[:'rotate_on_unlock']
342
+ end
343
+
344
+ if attributes.key?(:'rotation_event_in')
345
+ if (value = attributes[:'rotation_event_in']).is_a?(Array)
346
+ self.rotation_event_in = value
347
+ end
348
+ end
349
+
350
+ if attributes.key?(:'rotation_hour')
351
+ self.rotation_hour = attributes[:'rotation_hour']
352
+ end
353
+
354
+ if attributes.key?(:'rotation_interval')
355
+ self.rotation_interval = attributes[:'rotation_interval']
356
+ end
357
+
358
+ if attributes.key?(:'rotator_type')
359
+ self.rotator_type = attributes[:'rotator_type']
360
+ else
361
+ self.rotator_type = nil
362
+ end
363
+
364
+ if attributes.key?(:'skip_dry_run')
365
+ self.skip_dry_run = attributes[:'skip_dry_run']
366
+ end
367
+
368
+ if attributes.key?(:'tags')
369
+ if (value = attributes[:'tags']).is_a?(Array)
370
+ self.tags = value
371
+ end
372
+ end
373
+
374
+ if attributes.key?(:'target_name')
375
+ self.target_name = attributes[:'target_name']
376
+ else
377
+ self.target_name = nil
378
+ end
379
+
380
+ if attributes.key?(:'token')
381
+ self.token = attributes[:'token']
382
+ end
383
+
384
+ if attributes.key?(:'uid_token')
385
+ self.uid_token = attributes[:'uid_token']
386
+ end
387
+
388
+ if attributes.key?(:'use_capital_letters')
389
+ self.use_capital_letters = attributes[:'use_capital_letters']
390
+ end
391
+
392
+ if attributes.key?(:'use_lower_letters')
393
+ self.use_lower_letters = attributes[:'use_lower_letters']
394
+ end
395
+
396
+ if attributes.key?(:'use_numbers')
397
+ self.use_numbers = attributes[:'use_numbers']
398
+ end
399
+
400
+ if attributes.key?(:'use_special_characters')
401
+ self.use_special_characters = attributes[:'use_special_characters']
402
+ end
403
+ end
404
+
405
+ # Show invalid properties with the reasons. Usually used together with valid?
406
+ # @return Array for valid properties with the reasons
407
+ def list_invalid_properties
408
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
409
+ invalid_properties = Array.new
410
+ if @name.nil?
411
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
412
+ end
413
+
414
+ if @rotator_type.nil?
415
+ invalid_properties.push('invalid value for "rotator_type", rotator_type cannot be nil.')
416
+ end
417
+
418
+ if @target_name.nil?
419
+ invalid_properties.push('invalid value for "target_name", target_name cannot be nil.')
420
+ end
421
+
422
+ invalid_properties
423
+ end
424
+
425
+ # Check to see if the all the properties in the model are valid
426
+ # @return true if the model is valid
427
+ def valid?
428
+ warn '[DEPRECATED] the `valid?` method is obsolete'
429
+ return false if @name.nil?
430
+ return false if @rotator_type.nil?
431
+ return false if @target_name.nil?
432
+ true
433
+ end
434
+
435
+ # Checks equality by comparing each attribute.
436
+ # @param [Object] Object to be compared
437
+ def ==(o)
438
+ return true if self.equal?(o)
439
+ self.class == o.class &&
440
+ access_key == o.access_key &&
441
+ access_key_id == o.access_key_id &&
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
+ key == o.key &&
457
+ lock_on_read == o.lock_on_read &&
458
+ lock_ttl == o.lock_ttl &&
459
+ max_versions == o.max_versions &&
460
+ name == o.name &&
461
+ output_rule == o.output_rule &&
462
+ password_length == o.password_length &&
463
+ rotate_on_unlock == o.rotate_on_unlock &&
464
+ rotation_event_in == o.rotation_event_in &&
465
+ rotation_hour == o.rotation_hour &&
466
+ rotation_interval == o.rotation_interval &&
467
+ rotator_type == o.rotator_type &&
468
+ skip_dry_run == o.skip_dry_run &&
469
+ tags == o.tags &&
470
+ target_name == o.target_name &&
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, 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, key, lock_on_read, lock_ttl, max_versions, name, output_rule, password_length, rotate_on_unlock, rotation_event_in, rotation_hour, rotation_interval, rotator_type, skip_dry_run, tags, target_name, 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
@@ -21,7 +21,7 @@ module Akeyless
21
21
  # API key to rotate (relevant only for rotator-type=api-key)
22
22
  attr_accessor :api_key
23
23
 
24
- # Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key & authentication-credentials=use-target-creds)
24
+ # Id of the azure app that hold the serect to be rotated (relevant only for rotator-type=api-key)
25
25
  attr_accessor :application_id
26
26
 
27
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.