akeyless 3.5.4 → 3.6.1

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 (169) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +16 -2
  3. data/docs/AssocTargetItem.md +8 -0
  4. data/docs/Auth.md +4 -0
  5. data/docs/AuthMethod.md +2 -0
  6. data/docs/AuthMethodAccessInfo.md +2 -0
  7. data/docs/CertificateChainInfo.md +4 -0
  8. data/docs/CertificateVersionInfo.md +22 -0
  9. data/docs/Configure.md +5 -1
  10. data/docs/Connect.md +1 -1
  11. data/docs/CreateAuthMethod.md +2 -0
  12. data/docs/CreateAuthMethodAWSIAM.md +2 -0
  13. data/docs/CreateAuthMethodAzureAD.md +3 -1
  14. data/docs/CreateAuthMethodCert.md +2 -0
  15. data/docs/CreateAuthMethodEmail.md +2 -0
  16. data/docs/CreateAuthMethodGCP.md +2 -0
  17. data/docs/CreateAuthMethodHuawei.md +2 -0
  18. data/docs/CreateAuthMethodK8S.md +2 -0
  19. data/docs/CreateAuthMethodLDAP.md +2 -0
  20. data/docs/CreateAuthMethodOAuth2.md +2 -0
  21. data/docs/CreateAuthMethodOCI.md +40 -0
  22. data/docs/CreateAuthMethodOCIOutput.md +18 -0
  23. data/docs/CreateAuthMethodOIDC.md +2 -0
  24. data/docs/CreateAuthMethodSAML.md +2 -0
  25. data/docs/CreateAuthMethodUniversalIdentity.md +2 -0
  26. data/docs/CreateEventForwarder.md +1 -1
  27. data/docs/CreateLinkedTarget.md +2 -0
  28. data/docs/CreateRole.md +4 -0
  29. data/docs/CreateRotatedSecret.md +7 -1
  30. data/docs/CreateSSHCertIssuer.md +4 -4
  31. data/docs/CreateSecret.md +2 -0
  32. data/docs/GatewayCreateMigration.md +2 -0
  33. data/docs/GatewayCreateProducerCassandra.md +4 -0
  34. data/docs/GatewayUpdateItem.md +2 -0
  35. data/docs/GatewayUpdateMigration.md +2 -0
  36. data/docs/GatewayUpdateProducerCassandra.md +4 -0
  37. data/docs/GenerateCsr.md +1 -1
  38. data/docs/GwClusterIdentity.md +2 -0
  39. data/docs/ImportPasswords.md +3 -1
  40. data/docs/ImportPasswordsOutput.md +3 -1
  41. data/docs/ItemVersion.md +2 -0
  42. data/docs/OCIAccessRules.md +20 -0
  43. data/docs/ProvisionCertificate.md +28 -0
  44. data/docs/ProvisionCertificateOutput.md +24 -0
  45. data/docs/RenewCertificate.md +28 -0
  46. data/docs/RenewCertificateOutput.md +28 -0
  47. data/docs/SecureRemoteAccess.md +2 -0
  48. data/docs/ServerInventoryPayload.md +2 -0
  49. data/docs/SetRoleRule.md +1 -1
  50. data/docs/SignDataWithClassicKey.md +2 -0
  51. data/docs/SignEcDsa.md +5 -1
  52. data/docs/SignPKCS1.md +9 -1
  53. data/docs/SignPKCS1Output.md +1 -1
  54. data/docs/SignRsaSsaPss.md +5 -1
  55. data/docs/StaticSecretDetailsInfo.md +2 -0
  56. data/docs/TargetItemVersion.md +2 -0
  57. data/docs/UpdateAuthMethod.md +2 -0
  58. data/docs/UpdateAuthMethodAWSIAM.md +2 -0
  59. data/docs/UpdateAuthMethodAzureAD.md +3 -1
  60. data/docs/UpdateAuthMethodCert.md +2 -0
  61. data/docs/UpdateAuthMethodGCP.md +2 -0
  62. data/docs/UpdateAuthMethodK8S.md +2 -0
  63. data/docs/UpdateAuthMethodLDAP.md +2 -0
  64. data/docs/UpdateAuthMethodOAuth2.md +2 -0
  65. data/docs/UpdateAuthMethodOCI.md +42 -0
  66. data/docs/UpdateAuthMethodOCIOutput.md +18 -0
  67. data/docs/UpdateAuthMethodOIDC.md +2 -0
  68. data/docs/UpdateAuthMethodSAML.md +2 -0
  69. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  70. data/docs/UpdateCertificateValue.md +2 -0
  71. data/docs/UpdateItem.md +6 -0
  72. data/docs/UpdateLinkedTarget.md +2 -0
  73. data/docs/UpdateRole.md +4 -0
  74. data/docs/UpdateSSHCertIssuer.md +3 -3
  75. data/docs/UpdateSecretVal.md +2 -0
  76. data/docs/V2Api.md +264 -9
  77. data/docs/VerifyEcDsa.md +5 -1
  78. data/docs/VerifyPKCS1.md +9 -1
  79. data/docs/VerifyRsaSsaPss.md +5 -1
  80. data/lib/akeyless/api/v2_api.rb +274 -7
  81. data/lib/akeyless/models/assoc_target_item.rb +43 -1
  82. data/lib/akeyless/models/auth.rb +25 -1
  83. data/lib/akeyless/models/auth_method.rb +10 -1
  84. data/lib/akeyless/models/auth_method_access_info.rb +10 -1
  85. data/lib/akeyless/models/certificate_chain_info.rb +19 -1
  86. data/lib/akeyless/models/certificate_version_info.rb +232 -0
  87. data/lib/akeyless/models/configure.rb +28 -4
  88. data/lib/akeyless/models/connect.rb +1 -1
  89. data/lib/akeyless/models/create_auth_method.rb +11 -1
  90. data/lib/akeyless/models/create_auth_method_awsiam.rb +11 -1
  91. data/lib/akeyless/models/create_auth_method_azure_ad.rb +12 -2
  92. data/lib/akeyless/models/create_auth_method_cert.rb +11 -1
  93. data/lib/akeyless/models/create_auth_method_email.rb +11 -1
  94. data/lib/akeyless/models/create_auth_method_gcp.rb +11 -1
  95. data/lib/akeyless/models/create_auth_method_huawei.rb +11 -1
  96. data/lib/akeyless/models/create_auth_method_k8_s.rb +11 -1
  97. data/lib/akeyless/models/create_auth_method_ldap.rb +11 -1
  98. data/lib/akeyless/models/create_auth_method_o_auth2.rb +11 -1
  99. data/lib/akeyless/models/create_auth_method_oci.rb +359 -0
  100. data/lib/akeyless/models/create_auth_method_oci_output.rb +214 -0
  101. data/lib/akeyless/models/create_auth_method_oidc.rb +11 -1
  102. data/lib/akeyless/models/create_auth_method_saml.rb +11 -1
  103. data/lib/akeyless/models/create_auth_method_universal_identity.rb +11 -1
  104. data/lib/akeyless/models/create_event_forwarder.rb +1 -1
  105. data/lib/akeyless/models/create_linked_target.rb +11 -1
  106. data/lib/akeyless/models/create_role.rb +21 -1
  107. data/lib/akeyless/models/create_rotated_secret.rb +35 -2
  108. data/lib/akeyless/models/create_secret.rb +11 -1
  109. data/lib/akeyless/models/create_ssh_cert_issuer.rb +9 -9
  110. data/lib/akeyless/models/gateway_create_migration.rb +11 -1
  111. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +23 -1
  112. data/lib/akeyless/models/gateway_update_item.rb +11 -1
  113. data/lib/akeyless/models/gateway_update_migration.rb +11 -1
  114. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +23 -1
  115. data/lib/akeyless/models/generate_csr.rb +1 -1
  116. data/lib/akeyless/models/gw_cluster_identity.rb +10 -1
  117. data/lib/akeyless/models/import_passwords.rb +13 -4
  118. data/lib/akeyless/models/import_passwords_output.rb +13 -4
  119. data/lib/akeyless/models/item_version.rb +10 -1
  120. data/lib/akeyless/models/oci_access_rules.rb +226 -0
  121. data/lib/akeyless/models/provision_certificate.rb +275 -0
  122. data/lib/akeyless/models/provision_certificate_output.rb +243 -0
  123. data/lib/akeyless/models/renew_certificate.rb +267 -0
  124. data/lib/akeyless/models/renew_certificate_output.rb +259 -0
  125. data/lib/akeyless/models/secure_remote_access.rb +12 -1
  126. data/lib/akeyless/models/server_inventory_payload.rb +12 -1
  127. data/lib/akeyless/models/set_role_rule.rb +1 -1
  128. data/lib/akeyless/models/sign_data_with_classic_key.rb +13 -1
  129. data/lib/akeyless/models/sign_ec_dsa.rb +24 -4
  130. data/lib/akeyless/models/sign_pkcs1.rb +44 -4
  131. data/lib/akeyless/models/sign_pkcs1_output.rb +2 -4
  132. data/lib/akeyless/models/sign_rsa_ssa_pss.rb +24 -4
  133. data/lib/akeyless/models/static_secret_details_info.rb +10 -1
  134. data/lib/akeyless/models/target_item_version.rb +10 -1
  135. data/lib/akeyless/models/update_auth_method.rb +11 -1
  136. data/lib/akeyless/models/update_auth_method_awsiam.rb +11 -1
  137. data/lib/akeyless/models/update_auth_method_azure_ad.rb +12 -2
  138. data/lib/akeyless/models/update_auth_method_cert.rb +11 -1
  139. data/lib/akeyless/models/update_auth_method_gcp.rb +11 -1
  140. data/lib/akeyless/models/update_auth_method_k8_s.rb +11 -1
  141. data/lib/akeyless/models/update_auth_method_ldap.rb +11 -1
  142. data/lib/akeyless/models/update_auth_method_o_auth2.rb +11 -1
  143. data/lib/akeyless/models/update_auth_method_oci.rb +369 -0
  144. data/lib/akeyless/models/update_auth_method_oci_output.rb +214 -0
  145. data/lib/akeyless/models/update_auth_method_oidc.rb +11 -1
  146. data/lib/akeyless/models/update_auth_method_saml.rb +11 -1
  147. data/lib/akeyless/models/update_auth_method_universal_identity.rb +11 -1
  148. data/lib/akeyless/models/update_certificate_value.rb +11 -1
  149. data/lib/akeyless/models/update_item.rb +32 -1
  150. data/lib/akeyless/models/update_linked_target.rb +11 -1
  151. data/lib/akeyless/models/update_role.rb +21 -1
  152. data/lib/akeyless/models/update_secret_val.rb +11 -1
  153. data/lib/akeyless/models/update_ssh_cert_issuer.rb +8 -8
  154. data/lib/akeyless/models/verify_ec_dsa.rb +24 -4
  155. data/lib/akeyless/models/verify_pkcs1.rb +44 -4
  156. data/lib/akeyless/models/verify_rsa_ssa_pss.rb +24 -4
  157. data/lib/akeyless/version.rb +1 -1
  158. data/lib/akeyless.rb +10 -0
  159. data/spec/models/certificate_version_info_spec.rb +48 -0
  160. data/spec/models/create_auth_method_oci_output_spec.rb +36 -0
  161. data/spec/models/create_auth_method_oci_spec.rb +102 -0
  162. data/spec/models/oci_access_rules_spec.rb +42 -0
  163. data/spec/models/provision_certificate_output_spec.rb +54 -0
  164. data/spec/models/provision_certificate_spec.rb +66 -0
  165. data/spec/models/renew_certificate_output_spec.rb +66 -0
  166. data/spec/models/renew_certificate_spec.rb +66 -0
  167. data/spec/models/update_auth_method_oci_output_spec.rb +36 -0
  168. data/spec/models/update_auth_method_oci_spec.rb +108 -0
  169. metadata +43 -3
@@ -40,6 +40,9 @@ module Akeyless
40
40
  # === Machine authentication section === List of zones that a GCE instance must belong to in order to be authenticated. TODO: If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
41
41
  attr_accessor :bound_zones
42
42
 
43
+ # Auth Method description
44
+ attr_accessor :description
45
+
43
46
  # if true: enforce role-association must include sub claims
44
47
  attr_accessor :force_sub_claims
45
48
 
@@ -78,6 +81,7 @@ module Akeyless
78
81
  :'bound_regions' => :'bound-regions',
79
82
  :'bound_service_accounts' => :'bound-service-accounts',
80
83
  :'bound_zones' => :'bound-zones',
84
+ :'description' => :'description',
81
85
  :'force_sub_claims' => :'force-sub-claims',
82
86
  :'gw_bound_ips' => :'gw-bound-ips',
83
87
  :'json' => :'json',
@@ -106,6 +110,7 @@ module Akeyless
106
110
  :'bound_regions' => :'Array<String>',
107
111
  :'bound_service_accounts' => :'Array<String>',
108
112
  :'bound_zones' => :'Array<String>',
113
+ :'description' => :'String',
109
114
  :'force_sub_claims' => :'Boolean',
110
115
  :'gw_bound_ips' => :'Array<String>',
111
116
  :'json' => :'Boolean',
@@ -187,6 +192,10 @@ module Akeyless
187
192
  end
188
193
  end
189
194
 
195
+ if attributes.key?(:'description')
196
+ self.description = attributes[:'description']
197
+ end
198
+
190
199
  if attributes.key?(:'force_sub_claims')
191
200
  self.force_sub_claims = attributes[:'force_sub_claims']
192
201
  end
@@ -277,6 +286,7 @@ module Akeyless
277
286
  bound_regions == o.bound_regions &&
278
287
  bound_service_accounts == o.bound_service_accounts &&
279
288
  bound_zones == o.bound_zones &&
289
+ description == o.description &&
280
290
  force_sub_claims == o.force_sub_claims &&
281
291
  gw_bound_ips == o.gw_bound_ips &&
282
292
  json == o.json &&
@@ -297,7 +307,7 @@ module Akeyless
297
307
  # Calculates hash code according to all attributes.
298
308
  # @return [Integer] Hash code
299
309
  def hash
300
- [access_expires, audience, bound_ips, bound_labels, bound_projects, bound_regions, bound_service_accounts, bound_zones, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, service_account_creds_data, token, type, uid_token].hash
310
+ [access_expires, audience, bound_ips, bound_labels, bound_projects, bound_regions, bound_service_accounts, bound_zones, description, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, service_account_creds_data, token, type, uid_token].hash
301
311
  end
302
312
 
303
313
  # Builds the object from hash
@@ -43,6 +43,9 @@ module Akeyless
43
43
  # A list of full user-name that the access is restricted to
44
44
  attr_accessor :bound_user_name
45
45
 
46
+ # Auth Method description
47
+ attr_accessor :description
48
+
46
49
  # if true: enforce role-association must include sub claims
47
50
  attr_accessor :force_sub_claims
48
51
 
@@ -76,6 +79,7 @@ module Akeyless
76
79
  :'bound_tenant_name' => :'bound-tenant-name',
77
80
  :'bound_user_id' => :'bound-user-id',
78
81
  :'bound_user_name' => :'bound-user-name',
82
+ :'description' => :'description',
79
83
  :'force_sub_claims' => :'force-sub-claims',
80
84
  :'gw_bound_ips' => :'gw-bound-ips',
81
85
  :'json' => :'json',
@@ -103,6 +107,7 @@ module Akeyless
103
107
  :'bound_tenant_name' => :'Array<String>',
104
108
  :'bound_user_id' => :'Array<String>',
105
109
  :'bound_user_name' => :'Array<String>',
110
+ :'description' => :'String',
106
111
  :'force_sub_claims' => :'Boolean',
107
112
  :'gw_bound_ips' => :'Array<String>',
108
113
  :'json' => :'Boolean',
@@ -188,6 +193,10 @@ module Akeyless
188
193
  end
189
194
  end
190
195
 
196
+ if attributes.key?(:'description')
197
+ self.description = attributes[:'description']
198
+ end
199
+
191
200
  if attributes.key?(:'force_sub_claims')
192
201
  self.force_sub_claims = attributes[:'force_sub_claims']
193
202
  end
@@ -259,6 +268,7 @@ module Akeyless
259
268
  bound_tenant_name == o.bound_tenant_name &&
260
269
  bound_user_id == o.bound_user_id &&
261
270
  bound_user_name == o.bound_user_name &&
271
+ description == o.description &&
262
272
  force_sub_claims == o.force_sub_claims &&
263
273
  gw_bound_ips == o.gw_bound_ips &&
264
274
  json == o.json &&
@@ -277,7 +287,7 @@ module Akeyless
277
287
  # Calculates hash code according to all attributes.
278
288
  # @return [Integer] Hash code
279
289
  def hash
280
- [access_expires, auth_url, bound_domain_id, bound_domain_name, bound_ips, bound_tenant_id, bound_tenant_name, bound_user_id, bound_user_name, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, token, uid_token].hash
290
+ [access_expires, auth_url, bound_domain_id, bound_domain_name, bound_ips, bound_tenant_id, bound_tenant_name, bound_user_id, bound_user_name, description, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, token, uid_token].hash
281
291
  end
282
292
 
283
293
  # Builds the object from hash
@@ -34,6 +34,9 @@ module Akeyless
34
34
  # A list of service account names that the access is restricted to
35
35
  attr_accessor :bound_sa_names
36
36
 
37
+ # Auth Method description
38
+ attr_accessor :description
39
+
37
40
  # if true: enforce role-association must include sub claims
38
41
  attr_accessor :force_sub_claims
39
42
 
@@ -70,6 +73,7 @@ module Akeyless
70
73
  :'bound_namespaces' => :'bound-namespaces',
71
74
  :'bound_pod_names' => :'bound-pod-names',
72
75
  :'bound_sa_names' => :'bound-sa-names',
76
+ :'description' => :'description',
73
77
  :'force_sub_claims' => :'force-sub-claims',
74
78
  :'gen_key' => :'gen-key',
75
79
  :'gw_bound_ips' => :'gw-bound-ips',
@@ -96,6 +100,7 @@ module Akeyless
96
100
  :'bound_namespaces' => :'Array<String>',
97
101
  :'bound_pod_names' => :'Array<String>',
98
102
  :'bound_sa_names' => :'Array<String>',
103
+ :'description' => :'String',
99
104
  :'force_sub_claims' => :'Boolean',
100
105
  :'gen_key' => :'String',
101
106
  :'gw_bound_ips' => :'Array<String>',
@@ -163,6 +168,10 @@ module Akeyless
163
168
  end
164
169
  end
165
170
 
171
+ if attributes.key?(:'description')
172
+ self.description = attributes[:'description']
173
+ end
174
+
166
175
  if attributes.key?(:'force_sub_claims')
167
176
  self.force_sub_claims = attributes[:'force_sub_claims']
168
177
  end
@@ -241,6 +250,7 @@ module Akeyless
241
250
  bound_namespaces == o.bound_namespaces &&
242
251
  bound_pod_names == o.bound_pod_names &&
243
252
  bound_sa_names == o.bound_sa_names &&
253
+ description == o.description &&
244
254
  force_sub_claims == o.force_sub_claims &&
245
255
  gen_key == o.gen_key &&
246
256
  gw_bound_ips == o.gw_bound_ips &&
@@ -261,7 +271,7 @@ module Akeyless
261
271
  # Calculates hash code according to all attributes.
262
272
  # @return [Integer] Hash code
263
273
  def hash
264
- [access_expires, audience, bound_ips, bound_namespaces, bound_pod_names, bound_sa_names, force_sub_claims, gen_key, gw_bound_ips, json, jwt_ttl, name, public_key, token, uid_token].hash
274
+ [access_expires, audience, bound_ips, bound_namespaces, bound_pod_names, bound_sa_names, description, force_sub_claims, gen_key, gw_bound_ips, json, jwt_ttl, name, public_key, token, uid_token].hash
265
275
  end
266
276
 
267
277
  # Builds the object from hash
@@ -22,6 +22,9 @@ module Akeyless
22
22
  # A CIDR whitelist with the IPs that the access is restricted to
23
23
  attr_accessor :bound_ips
24
24
 
25
+ # Auth Method description
26
+ attr_accessor :description
27
+
25
28
  # if true: enforce role-association must include sub claims
26
29
  attr_accessor :force_sub_claims
27
30
 
@@ -57,6 +60,7 @@ module Akeyless
57
60
  {
58
61
  :'access_expires' => :'access-expires',
59
62
  :'bound_ips' => :'bound-ips',
63
+ :'description' => :'description',
60
64
  :'force_sub_claims' => :'force-sub-claims',
61
65
  :'gen_key' => :'gen-key',
62
66
  :'gw_bound_ips' => :'gw-bound-ips',
@@ -80,6 +84,7 @@ module Akeyless
80
84
  {
81
85
  :'access_expires' => :'Integer',
82
86
  :'bound_ips' => :'Array<String>',
87
+ :'description' => :'String',
83
88
  :'force_sub_claims' => :'Boolean',
84
89
  :'gen_key' => :'String',
85
90
  :'gw_bound_ips' => :'Array<String>',
@@ -126,6 +131,10 @@ module Akeyless
126
131
  end
127
132
  end
128
133
 
134
+ if attributes.key?(:'description')
135
+ self.description = attributes[:'description']
136
+ end
137
+
129
138
  if attributes.key?(:'force_sub_claims')
130
139
  self.force_sub_claims = attributes[:'force_sub_claims']
131
140
  end
@@ -206,6 +215,7 @@ module Akeyless
206
215
  self.class == o.class &&
207
216
  access_expires == o.access_expires &&
208
217
  bound_ips == o.bound_ips &&
218
+ description == o.description &&
209
219
  force_sub_claims == o.force_sub_claims &&
210
220
  gen_key == o.gen_key &&
211
221
  gw_bound_ips == o.gw_bound_ips &&
@@ -227,7 +237,7 @@ module Akeyless
227
237
  # Calculates hash code according to all attributes.
228
238
  # @return [Integer] Hash code
229
239
  def hash
230
- [access_expires, bound_ips, force_sub_claims, gen_key, gw_bound_ips, json, jwt_ttl, name, public_key_data, token, uid_token, unique_identifier].hash
240
+ [access_expires, bound_ips, description, force_sub_claims, gen_key, gw_bound_ips, json, jwt_ttl, name, public_key_data, token, uid_token, unique_identifier].hash
231
241
  end
232
242
 
233
243
  # Builds the object from hash
@@ -28,6 +28,9 @@ module Akeyless
28
28
  # A CIDR whitelist with the IPs that the access is restricted to
29
29
  attr_accessor :bound_ips
30
30
 
31
+ # Auth Method description
32
+ attr_accessor :description
33
+
31
34
  # if true: enforce role-association must include sub claims
32
35
  attr_accessor :force_sub_claims
33
36
 
@@ -74,6 +77,7 @@ module Akeyless
74
77
  :'audience' => :'audience',
75
78
  :'bound_client_ids' => :'bound-client-ids',
76
79
  :'bound_ips' => :'bound-ips',
80
+ :'description' => :'description',
77
81
  :'force_sub_claims' => :'force-sub-claims',
78
82
  :'gateway_url' => :'gateway-url',
79
83
  :'gw_bound_ips' => :'gw-bound-ips',
@@ -102,6 +106,7 @@ module Akeyless
102
106
  :'audience' => :'String',
103
107
  :'bound_client_ids' => :'Array<String>',
104
108
  :'bound_ips' => :'Array<String>',
109
+ :'description' => :'String',
105
110
  :'force_sub_claims' => :'Boolean',
106
111
  :'gateway_url' => :'String',
107
112
  :'gw_bound_ips' => :'Array<String>',
@@ -161,6 +166,10 @@ module Akeyless
161
166
  end
162
167
  end
163
168
 
169
+ if attributes.key?(:'description')
170
+ self.description = attributes[:'description']
171
+ end
172
+
164
173
  if attributes.key?(:'force_sub_claims')
165
174
  self.force_sub_claims = attributes[:'force_sub_claims']
166
175
  end
@@ -267,6 +276,7 @@ module Akeyless
267
276
  audience == o.audience &&
268
277
  bound_client_ids == o.bound_client_ids &&
269
278
  bound_ips == o.bound_ips &&
279
+ description == o.description &&
270
280
  force_sub_claims == o.force_sub_claims &&
271
281
  gateway_url == o.gateway_url &&
272
282
  gw_bound_ips == o.gw_bound_ips &&
@@ -291,7 +301,7 @@ module Akeyless
291
301
  # Calculates hash code according to all attributes.
292
302
  # @return [Integer] Hash code
293
303
  def hash
294
- [access_expires, audience, bound_client_ids, bound_ips, force_sub_claims, gateway_url, gw_bound_ips, issuer, json, jwks_json_data, jwks_uri, jwt_ttl, name, subclaims_delimiters, token, uid_token, unique_identifier].hash
304
+ [access_expires, audience, bound_client_ids, bound_ips, description, force_sub_claims, gateway_url, gw_bound_ips, issuer, json, jwks_json_data, jwks_uri, jwt_ttl, name, subclaims_delimiters, token, uid_token, unique_identifier].hash
295
305
  end
296
306
 
297
307
  # Builds the object from hash
@@ -0,0 +1,359 @@
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: 2.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 7.3.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ # createAuthMethodOCI is a command that Creates a new Oracle Auth Method that will be used in the account using OCI principle and groups.
18
+ class CreateAuthMethodOCI
19
+ # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
+ attr_accessor :access_expires
21
+
22
+ # A CIDR whitelist with the IPs that the access is restricted to
23
+ attr_accessor :bound_ips
24
+
25
+ # Auth Method description
26
+ attr_accessor :description
27
+
28
+ # if true: enforce role-association must include sub claims
29
+ attr_accessor :force_sub_claims
30
+
31
+ # A list of required groups ocids
32
+ attr_accessor :group_ocid
33
+
34
+ # A CIDR whitelist with the GW IPs that the access is restricted to
35
+ attr_accessor :gw_bound_ips
36
+
37
+ # Set output format to JSON
38
+ attr_accessor :json
39
+
40
+ # Jwt TTL
41
+ attr_accessor :jwt_ttl
42
+
43
+ # Auth Method name
44
+ attr_accessor :name
45
+
46
+ # The Oracle Cloud tenant ID
47
+ attr_accessor :tenant_ocid
48
+
49
+ # Authentication token (see `/auth` and `/configure`)
50
+ attr_accessor :token
51
+
52
+ # The universal identity token, Required only for universal_identity authentication
53
+ attr_accessor :uid_token
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'access_expires' => :'access-expires',
59
+ :'bound_ips' => :'bound-ips',
60
+ :'description' => :'description',
61
+ :'force_sub_claims' => :'force-sub-claims',
62
+ :'group_ocid' => :'group-ocid',
63
+ :'gw_bound_ips' => :'gw-bound-ips',
64
+ :'json' => :'json',
65
+ :'jwt_ttl' => :'jwt-ttl',
66
+ :'name' => :'name',
67
+ :'tenant_ocid' => :'tenant-ocid',
68
+ :'token' => :'token',
69
+ :'uid_token' => :'uid-token'
70
+ }
71
+ end
72
+
73
+ # Returns all the JSON keys this model knows about
74
+ def self.acceptable_attributes
75
+ attribute_map.values
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'access_expires' => :'Integer',
82
+ :'bound_ips' => :'Array<String>',
83
+ :'description' => :'String',
84
+ :'force_sub_claims' => :'Boolean',
85
+ :'group_ocid' => :'Array<String>',
86
+ :'gw_bound_ips' => :'Array<String>',
87
+ :'json' => :'Boolean',
88
+ :'jwt_ttl' => :'Integer',
89
+ :'name' => :'String',
90
+ :'tenant_ocid' => :'String',
91
+ :'token' => :'String',
92
+ :'uid_token' => :'String'
93
+ }
94
+ end
95
+
96
+ # List of attributes with nullable: true
97
+ def self.openapi_nullable
98
+ Set.new([
99
+ ])
100
+ end
101
+
102
+ # Initializes the object
103
+ # @param [Hash] attributes Model attributes in the form of hash
104
+ def initialize(attributes = {})
105
+ if (!attributes.is_a?(Hash))
106
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::CreateAuthMethodOCI` initialize method"
107
+ end
108
+
109
+ # check to see if the attribute exists and convert string to symbol for hash key
110
+ attributes = attributes.each_with_object({}) { |(k, v), h|
111
+ if (!self.class.attribute_map.key?(k.to_sym))
112
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::CreateAuthMethodOCI`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
113
+ end
114
+ h[k.to_sym] = v
115
+ }
116
+
117
+ if attributes.key?(:'access_expires')
118
+ self.access_expires = attributes[:'access_expires']
119
+ else
120
+ self.access_expires = 0
121
+ end
122
+
123
+ if attributes.key?(:'bound_ips')
124
+ if (value = attributes[:'bound_ips']).is_a?(Array)
125
+ self.bound_ips = value
126
+ end
127
+ end
128
+
129
+ if attributes.key?(:'description')
130
+ self.description = attributes[:'description']
131
+ end
132
+
133
+ if attributes.key?(:'force_sub_claims')
134
+ self.force_sub_claims = attributes[:'force_sub_claims']
135
+ end
136
+
137
+ if attributes.key?(:'group_ocid')
138
+ if (value = attributes[:'group_ocid']).is_a?(Array)
139
+ self.group_ocid = value
140
+ end
141
+ else
142
+ self.group_ocid = nil
143
+ end
144
+
145
+ if attributes.key?(:'gw_bound_ips')
146
+ if (value = attributes[:'gw_bound_ips']).is_a?(Array)
147
+ self.gw_bound_ips = value
148
+ end
149
+ end
150
+
151
+ if attributes.key?(:'json')
152
+ self.json = attributes[:'json']
153
+ else
154
+ self.json = false
155
+ end
156
+
157
+ if attributes.key?(:'jwt_ttl')
158
+ self.jwt_ttl = attributes[:'jwt_ttl']
159
+ else
160
+ self.jwt_ttl = 0
161
+ end
162
+
163
+ if attributes.key?(:'name')
164
+ self.name = attributes[:'name']
165
+ else
166
+ self.name = nil
167
+ end
168
+
169
+ if attributes.key?(:'tenant_ocid')
170
+ self.tenant_ocid = attributes[:'tenant_ocid']
171
+ else
172
+ self.tenant_ocid = nil
173
+ end
174
+
175
+ if attributes.key?(:'token')
176
+ self.token = attributes[:'token']
177
+ end
178
+
179
+ if attributes.key?(:'uid_token')
180
+ self.uid_token = attributes[:'uid_token']
181
+ end
182
+ end
183
+
184
+ # Show invalid properties with the reasons. Usually used together with valid?
185
+ # @return Array for valid properties with the reasons
186
+ def list_invalid_properties
187
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
188
+ invalid_properties = Array.new
189
+ if @group_ocid.nil?
190
+ invalid_properties.push('invalid value for "group_ocid", group_ocid cannot be nil.')
191
+ end
192
+
193
+ if @name.nil?
194
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
195
+ end
196
+
197
+ if @tenant_ocid.nil?
198
+ invalid_properties.push('invalid value for "tenant_ocid", tenant_ocid cannot be nil.')
199
+ end
200
+
201
+ invalid_properties
202
+ end
203
+
204
+ # Check to see if the all the properties in the model are valid
205
+ # @return true if the model is valid
206
+ def valid?
207
+ warn '[DEPRECATED] the `valid?` method is obsolete'
208
+ return false if @group_ocid.nil?
209
+ return false if @name.nil?
210
+ return false if @tenant_ocid.nil?
211
+ true
212
+ end
213
+
214
+ # Checks equality by comparing each attribute.
215
+ # @param [Object] Object to be compared
216
+ def ==(o)
217
+ return true if self.equal?(o)
218
+ self.class == o.class &&
219
+ access_expires == o.access_expires &&
220
+ bound_ips == o.bound_ips &&
221
+ description == o.description &&
222
+ force_sub_claims == o.force_sub_claims &&
223
+ group_ocid == o.group_ocid &&
224
+ gw_bound_ips == o.gw_bound_ips &&
225
+ json == o.json &&
226
+ jwt_ttl == o.jwt_ttl &&
227
+ name == o.name &&
228
+ tenant_ocid == o.tenant_ocid &&
229
+ token == o.token &&
230
+ uid_token == o.uid_token
231
+ end
232
+
233
+ # @see the `==` method
234
+ # @param [Object] Object to be compared
235
+ def eql?(o)
236
+ self == o
237
+ end
238
+
239
+ # Calculates hash code according to all attributes.
240
+ # @return [Integer] Hash code
241
+ def hash
242
+ [access_expires, bound_ips, description, force_sub_claims, group_ocid, gw_bound_ips, json, jwt_ttl, name, tenant_ocid, token, uid_token].hash
243
+ end
244
+
245
+ # Builds the object from hash
246
+ # @param [Hash] attributes Model attributes in the form of hash
247
+ # @return [Object] Returns the model itself
248
+ def self.build_from_hash(attributes)
249
+ return nil unless attributes.is_a?(Hash)
250
+ attributes = attributes.transform_keys(&:to_sym)
251
+ transformed_hash = {}
252
+ openapi_types.each_pair do |key, type|
253
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
254
+ transformed_hash["#{key}"] = nil
255
+ elsif type =~ /\AArray<(.*)>/i
256
+ # check to ensure the input is an array given that the attribute
257
+ # is documented as an array but the input is not
258
+ if attributes[attribute_map[key]].is_a?(Array)
259
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
260
+ end
261
+ elsif !attributes[attribute_map[key]].nil?
262
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
263
+ end
264
+ end
265
+ new(transformed_hash)
266
+ end
267
+
268
+ # Deserializes the data based on type
269
+ # @param string type Data type
270
+ # @param string value Value to be deserialized
271
+ # @return [Object] Deserialized data
272
+ def self._deserialize(type, value)
273
+ case type.to_sym
274
+ when :Time
275
+ Time.parse(value)
276
+ when :Date
277
+ Date.parse(value)
278
+ when :String
279
+ value.to_s
280
+ when :Integer
281
+ value.to_i
282
+ when :Float
283
+ value.to_f
284
+ when :Boolean
285
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
286
+ true
287
+ else
288
+ false
289
+ end
290
+ when :Object
291
+ # generic object (usually a Hash), return directly
292
+ value
293
+ when /\AArray<(?<inner_type>.+)>\z/
294
+ inner_type = Regexp.last_match[:inner_type]
295
+ value.map { |v| _deserialize(inner_type, v) }
296
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
297
+ k_type = Regexp.last_match[:k_type]
298
+ v_type = Regexp.last_match[:v_type]
299
+ {}.tap do |hash|
300
+ value.each do |k, v|
301
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
302
+ end
303
+ end
304
+ else # model
305
+ # models (e.g. Pet) or oneOf
306
+ klass = Akeyless.const_get(type)
307
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
308
+ end
309
+ end
310
+
311
+ # Returns the string representation of the object
312
+ # @return [String] String presentation of the object
313
+ def to_s
314
+ to_hash.to_s
315
+ end
316
+
317
+ # to_body is an alias to to_hash (backward compatibility)
318
+ # @return [Hash] Returns the object in the form of hash
319
+ def to_body
320
+ to_hash
321
+ end
322
+
323
+ # Returns the object in the form of hash
324
+ # @return [Hash] Returns the object in the form of hash
325
+ def to_hash
326
+ hash = {}
327
+ self.class.attribute_map.each_pair do |attr, param|
328
+ value = self.send(attr)
329
+ if value.nil?
330
+ is_nullable = self.class.openapi_nullable.include?(attr)
331
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
332
+ end
333
+
334
+ hash[param] = _to_hash(value)
335
+ end
336
+ hash
337
+ end
338
+
339
+ # Outputs non-array value in the form of hash
340
+ # For object, use to_hash. Otherwise, just return the value
341
+ # @param [Object] value Any valid value
342
+ # @return [Hash] Returns the value in the form of hash
343
+ def _to_hash(value)
344
+ if value.is_a?(Array)
345
+ value.compact.map { |v| _to_hash(v) }
346
+ elsif value.is_a?(Hash)
347
+ {}.tap do |hash|
348
+ value.each { |k, v| hash[k] = _to_hash(v) }
349
+ end
350
+ elsif value.respond_to? :to_hash
351
+ value.to_hash
352
+ else
353
+ value
354
+ end
355
+ end
356
+
357
+ end
358
+
359
+ end