akeyless 3.5.4 → 3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +9 -2
  3. data/docs/AssocTargetItem.md +8 -0
  4. data/docs/AuthMethod.md +2 -0
  5. data/docs/CertificateChainInfo.md +4 -0
  6. data/docs/CertificateVersionInfo.md +22 -0
  7. data/docs/Connect.md +1 -1
  8. data/docs/CreateAuthMethod.md +2 -0
  9. data/docs/CreateAuthMethodAWSIAM.md +2 -0
  10. data/docs/CreateAuthMethodAzureAD.md +3 -1
  11. data/docs/CreateAuthMethodCert.md +2 -0
  12. data/docs/CreateAuthMethodEmail.md +2 -0
  13. data/docs/CreateAuthMethodGCP.md +2 -0
  14. data/docs/CreateAuthMethodHuawei.md +2 -0
  15. data/docs/CreateAuthMethodK8S.md +2 -0
  16. data/docs/CreateAuthMethodLDAP.md +2 -0
  17. data/docs/CreateAuthMethodOAuth2.md +2 -0
  18. data/docs/CreateAuthMethodOIDC.md +2 -0
  19. data/docs/CreateAuthMethodSAML.md +2 -0
  20. data/docs/CreateAuthMethodUniversalIdentity.md +2 -0
  21. data/docs/CreateEventForwarder.md +1 -1
  22. data/docs/CreateLinkedTarget.md +2 -0
  23. data/docs/CreateRole.md +4 -0
  24. data/docs/CreateRotatedSecret.md +7 -1
  25. data/docs/CreateSSHCertIssuer.md +4 -4
  26. data/docs/CreateSecret.md +2 -0
  27. data/docs/GatewayCreateMigration.md +2 -0
  28. data/docs/GatewayCreateProducerCassandra.md +4 -0
  29. data/docs/GatewayUpdateItem.md +2 -0
  30. data/docs/GatewayUpdateMigration.md +2 -0
  31. data/docs/GatewayUpdateProducerCassandra.md +4 -0
  32. data/docs/GenerateCsr.md +1 -1
  33. data/docs/GwClusterIdentity.md +2 -0
  34. data/docs/ImportPasswords.md +3 -1
  35. data/docs/ImportPasswordsOutput.md +3 -1
  36. data/docs/ItemVersion.md +2 -0
  37. data/docs/ProvisionCertificate.md +28 -0
  38. data/docs/ProvisionCertificateOutput.md +24 -0
  39. data/docs/RenewCertificate.md +28 -0
  40. data/docs/RenewCertificateOutput.md +28 -0
  41. data/docs/SecureRemoteAccess.md +2 -0
  42. data/docs/ServerInventoryPayload.md +2 -0
  43. data/docs/SetRoleRule.md +1 -1
  44. data/docs/SignDataWithClassicKey.md +2 -0
  45. data/docs/SignEcDsa.md +5 -1
  46. data/docs/SignPKCS1.md +9 -1
  47. data/docs/SignPKCS1Output.md +1 -1
  48. data/docs/SignRsaSsaPss.md +5 -1
  49. data/docs/StaticSecretDetailsInfo.md +2 -0
  50. data/docs/TargetItemVersion.md +2 -0
  51. data/docs/UpdateAuthMethod.md +2 -0
  52. data/docs/UpdateAuthMethodAWSIAM.md +2 -0
  53. data/docs/UpdateAuthMethodAzureAD.md +3 -1
  54. data/docs/UpdateAuthMethodCert.md +2 -0
  55. data/docs/UpdateAuthMethodGCP.md +2 -0
  56. data/docs/UpdateAuthMethodK8S.md +2 -0
  57. data/docs/UpdateAuthMethodLDAP.md +2 -0
  58. data/docs/UpdateAuthMethodOAuth2.md +2 -0
  59. data/docs/UpdateAuthMethodOIDC.md +2 -0
  60. data/docs/UpdateAuthMethodSAML.md +2 -0
  61. data/docs/UpdateAuthMethodUniversalIdentity.md +2 -0
  62. data/docs/UpdateCertificateValue.md +2 -0
  63. data/docs/UpdateItem.md +6 -0
  64. data/docs/UpdateLinkedTarget.md +2 -0
  65. data/docs/UpdateRole.md +4 -0
  66. data/docs/UpdateSSHCertIssuer.md +3 -3
  67. data/docs/UpdateSecretVal.md +2 -0
  68. data/docs/V2Api.md +138 -9
  69. data/docs/VerifyEcDsa.md +5 -1
  70. data/docs/VerifyPKCS1.md +9 -1
  71. data/docs/VerifyRsaSsaPss.md +5 -1
  72. data/lib/akeyless/api/v2_api.rb +146 -7
  73. data/lib/akeyless/models/assoc_target_item.rb +43 -1
  74. data/lib/akeyless/models/auth_method.rb +10 -1
  75. data/lib/akeyless/models/certificate_chain_info.rb +19 -1
  76. data/lib/akeyless/models/certificate_version_info.rb +232 -0
  77. data/lib/akeyless/models/connect.rb +1 -1
  78. data/lib/akeyless/models/create_auth_method.rb +11 -1
  79. data/lib/akeyless/models/create_auth_method_awsiam.rb +11 -1
  80. data/lib/akeyless/models/create_auth_method_azure_ad.rb +12 -2
  81. data/lib/akeyless/models/create_auth_method_cert.rb +11 -1
  82. data/lib/akeyless/models/create_auth_method_email.rb +11 -1
  83. data/lib/akeyless/models/create_auth_method_gcp.rb +11 -1
  84. data/lib/akeyless/models/create_auth_method_huawei.rb +11 -1
  85. data/lib/akeyless/models/create_auth_method_k8_s.rb +11 -1
  86. data/lib/akeyless/models/create_auth_method_ldap.rb +11 -1
  87. data/lib/akeyless/models/create_auth_method_o_auth2.rb +11 -1
  88. data/lib/akeyless/models/create_auth_method_oidc.rb +11 -1
  89. data/lib/akeyless/models/create_auth_method_saml.rb +11 -1
  90. data/lib/akeyless/models/create_auth_method_universal_identity.rb +11 -1
  91. data/lib/akeyless/models/create_event_forwarder.rb +1 -1
  92. data/lib/akeyless/models/create_linked_target.rb +11 -1
  93. data/lib/akeyless/models/create_role.rb +21 -1
  94. data/lib/akeyless/models/create_rotated_secret.rb +35 -2
  95. data/lib/akeyless/models/create_secret.rb +11 -1
  96. data/lib/akeyless/models/create_ssh_cert_issuer.rb +9 -9
  97. data/lib/akeyless/models/gateway_create_migration.rb +11 -1
  98. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +23 -1
  99. data/lib/akeyless/models/gateway_update_item.rb +11 -1
  100. data/lib/akeyless/models/gateway_update_migration.rb +11 -1
  101. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +23 -1
  102. data/lib/akeyless/models/generate_csr.rb +1 -1
  103. data/lib/akeyless/models/gw_cluster_identity.rb +10 -1
  104. data/lib/akeyless/models/import_passwords.rb +13 -4
  105. data/lib/akeyless/models/import_passwords_output.rb +13 -4
  106. data/lib/akeyless/models/item_version.rb +10 -1
  107. data/lib/akeyless/models/provision_certificate.rb +275 -0
  108. data/lib/akeyless/models/provision_certificate_output.rb +243 -0
  109. data/lib/akeyless/models/renew_certificate.rb +267 -0
  110. data/lib/akeyless/models/renew_certificate_output.rb +259 -0
  111. data/lib/akeyless/models/secure_remote_access.rb +12 -1
  112. data/lib/akeyless/models/server_inventory_payload.rb +12 -1
  113. data/lib/akeyless/models/set_role_rule.rb +1 -1
  114. data/lib/akeyless/models/sign_data_with_classic_key.rb +13 -1
  115. data/lib/akeyless/models/sign_ec_dsa.rb +24 -4
  116. data/lib/akeyless/models/sign_pkcs1.rb +44 -4
  117. data/lib/akeyless/models/sign_pkcs1_output.rb +2 -4
  118. data/lib/akeyless/models/sign_rsa_ssa_pss.rb +24 -4
  119. data/lib/akeyless/models/static_secret_details_info.rb +10 -1
  120. data/lib/akeyless/models/target_item_version.rb +10 -1
  121. data/lib/akeyless/models/update_auth_method.rb +11 -1
  122. data/lib/akeyless/models/update_auth_method_awsiam.rb +11 -1
  123. data/lib/akeyless/models/update_auth_method_azure_ad.rb +12 -2
  124. data/lib/akeyless/models/update_auth_method_cert.rb +11 -1
  125. data/lib/akeyless/models/update_auth_method_gcp.rb +11 -1
  126. data/lib/akeyless/models/update_auth_method_k8_s.rb +11 -1
  127. data/lib/akeyless/models/update_auth_method_ldap.rb +11 -1
  128. data/lib/akeyless/models/update_auth_method_o_auth2.rb +11 -1
  129. data/lib/akeyless/models/update_auth_method_oidc.rb +11 -1
  130. data/lib/akeyless/models/update_auth_method_saml.rb +11 -1
  131. data/lib/akeyless/models/update_auth_method_universal_identity.rb +11 -1
  132. data/lib/akeyless/models/update_certificate_value.rb +11 -1
  133. data/lib/akeyless/models/update_item.rb +32 -1
  134. data/lib/akeyless/models/update_linked_target.rb +11 -1
  135. data/lib/akeyless/models/update_role.rb +21 -1
  136. data/lib/akeyless/models/update_secret_val.rb +11 -1
  137. data/lib/akeyless/models/update_ssh_cert_issuer.rb +8 -8
  138. data/lib/akeyless/models/verify_ec_dsa.rb +24 -4
  139. data/lib/akeyless/models/verify_pkcs1.rb +44 -4
  140. data/lib/akeyless/models/verify_rsa_ssa_pss.rb +24 -4
  141. data/lib/akeyless/version.rb +1 -1
  142. data/lib/akeyless.rb +5 -0
  143. data/spec/models/certificate_version_info_spec.rb +48 -0
  144. data/spec/models/provision_certificate_output_spec.rb +54 -0
  145. data/spec/models/provision_certificate_spec.rb +66 -0
  146. data/spec/models/renew_certificate_output_spec.rb +66 -0
  147. data/spec/models/renew_certificate_spec.rb +66 -0
  148. metadata +23 -3
@@ -16,6 +16,12 @@ require 'time'
16
16
  module Akeyless
17
17
  # assocTargetItem is a command that creates an association between target and item.
18
18
  class AssocTargetItem
19
+ # A path on the target to store the certificate pem file (relevant only for certificate provisioning)
20
+ attr_accessor :certificate_path
21
+
22
+ # A path on the target to store the full chain pem file (relevant only for certificate provisioning)
23
+ attr_accessor :chain_path
24
+
19
25
  # Automatically disable previous key version (required for azure targets)
20
26
  attr_accessor :disable_previous_key_version
21
27
 
@@ -40,6 +46,9 @@ module Akeyless
40
46
  # The item to associate
41
47
  attr_accessor :name
42
48
 
49
+ # A path on the target to store the private key (relevant only for certificate provisioning)
50
+ attr_accessor :private_key_path
51
+
43
52
  # Project id of the GCP KMS (required for gcp targets)
44
53
  attr_accessor :project_id
45
54
 
@@ -49,6 +58,9 @@ module Akeyless
49
58
  # The list of regions to create a copy of the key in (relevant for aws targets)
50
59
  attr_accessor :regions
51
60
 
61
+ # Is the target to associate is for sra, relevant only for linked target association for ldap rotated secret
62
+ attr_accessor :sra_association
63
+
52
64
  # The target to associate
53
65
  attr_accessor :target_name
54
66
 
@@ -67,6 +79,8 @@ module Akeyless
67
79
  # Attribute mapping from ruby-style variable name to JSON key.
68
80
  def self.attribute_map
69
81
  {
82
+ :'certificate_path' => :'certificate-path',
83
+ :'chain_path' => :'chain-path',
70
84
  :'disable_previous_key_version' => :'disable-previous-key-version',
71
85
  :'json' => :'json',
72
86
  :'key_operations' => :'key-operations',
@@ -75,9 +89,11 @@ module Akeyless
75
89
  :'location_id' => :'location-id',
76
90
  :'multi_region' => :'multi-region',
77
91
  :'name' => :'name',
92
+ :'private_key_path' => :'private-key-path',
78
93
  :'project_id' => :'project-id',
79
94
  :'purpose' => :'purpose',
80
95
  :'regions' => :'regions',
96
+ :'sra_association' => :'sra-association',
81
97
  :'target_name' => :'target-name',
82
98
  :'tenant_secret_type' => :'tenant-secret-type',
83
99
  :'token' => :'token',
@@ -94,6 +110,8 @@ module Akeyless
94
110
  # Attribute type mapping.
95
111
  def self.openapi_types
96
112
  {
113
+ :'certificate_path' => :'String',
114
+ :'chain_path' => :'String',
97
115
  :'disable_previous_key_version' => :'Boolean',
98
116
  :'json' => :'Boolean',
99
117
  :'key_operations' => :'Array<String>',
@@ -102,9 +120,11 @@ module Akeyless
102
120
  :'location_id' => :'String',
103
121
  :'multi_region' => :'String',
104
122
  :'name' => :'String',
123
+ :'private_key_path' => :'String',
105
124
  :'project_id' => :'String',
106
125
  :'purpose' => :'String',
107
126
  :'regions' => :'Array<String>',
127
+ :'sra_association' => :'Boolean',
108
128
  :'target_name' => :'String',
109
129
  :'tenant_secret_type' => :'String',
110
130
  :'token' => :'String',
@@ -134,6 +154,14 @@ module Akeyless
134
154
  h[k.to_sym] = v
135
155
  }
136
156
 
157
+ if attributes.key?(:'certificate_path')
158
+ self.certificate_path = attributes[:'certificate_path']
159
+ end
160
+
161
+ if attributes.key?(:'chain_path')
162
+ self.chain_path = attributes[:'chain_path']
163
+ end
164
+
137
165
  if attributes.key?(:'disable_previous_key_version')
138
166
  self.disable_previous_key_version = attributes[:'disable_previous_key_version']
139
167
  else
@@ -176,6 +204,10 @@ module Akeyless
176
204
  self.name = nil
177
205
  end
178
206
 
207
+ if attributes.key?(:'private_key_path')
208
+ self.private_key_path = attributes[:'private_key_path']
209
+ end
210
+
179
211
  if attributes.key?(:'project_id')
180
212
  self.project_id = attributes[:'project_id']
181
213
  end
@@ -190,6 +222,12 @@ module Akeyless
190
222
  end
191
223
  end
192
224
 
225
+ if attributes.key?(:'sra_association')
226
+ self.sra_association = attributes[:'sra_association']
227
+ else
228
+ self.sra_association = false
229
+ end
230
+
193
231
  if attributes.key?(:'target_name')
194
232
  self.target_name = attributes[:'target_name']
195
233
  else
@@ -243,6 +281,8 @@ module Akeyless
243
281
  def ==(o)
244
282
  return true if self.equal?(o)
245
283
  self.class == o.class &&
284
+ certificate_path == o.certificate_path &&
285
+ chain_path == o.chain_path &&
246
286
  disable_previous_key_version == o.disable_previous_key_version &&
247
287
  json == o.json &&
248
288
  key_operations == o.key_operations &&
@@ -251,9 +291,11 @@ module Akeyless
251
291
  location_id == o.location_id &&
252
292
  multi_region == o.multi_region &&
253
293
  name == o.name &&
294
+ private_key_path == o.private_key_path &&
254
295
  project_id == o.project_id &&
255
296
  purpose == o.purpose &&
256
297
  regions == o.regions &&
298
+ sra_association == o.sra_association &&
257
299
  target_name == o.target_name &&
258
300
  tenant_secret_type == o.tenant_secret_type &&
259
301
  token == o.token &&
@@ -270,7 +312,7 @@ module Akeyless
270
312
  # Calculates hash code according to all attributes.
271
313
  # @return [Integer] Hash code
272
314
  def hash
273
- [disable_previous_key_version, json, key_operations, keyring_name, kms_algorithm, location_id, multi_region, name, project_id, purpose, regions, target_name, tenant_secret_type, token, uid_token, vault_name].hash
315
+ [certificate_path, chain_path, disable_previous_key_version, json, key_operations, keyring_name, kms_algorithm, location_id, multi_region, name, private_key_path, project_id, purpose, regions, sra_association, target_name, tenant_secret_type, token, uid_token, vault_name].hash
274
316
  end
275
317
 
276
318
  # Builds the object from hash
@@ -35,6 +35,8 @@ module Akeyless
35
35
 
36
36
  attr_accessor :creation_date
37
37
 
38
+ attr_accessor :description
39
+
38
40
  attr_accessor :is_approved
39
41
 
40
42
  attr_accessor :modification_date
@@ -52,6 +54,7 @@ module Akeyless
52
54
  :'auth_method_roles_assoc' => :'auth_method_roles_assoc',
53
55
  :'client_permissions' => :'client_permissions',
54
56
  :'creation_date' => :'creation_date',
57
+ :'description' => :'description',
55
58
  :'is_approved' => :'is_approved',
56
59
  :'modification_date' => :'modification_date'
57
60
  }
@@ -75,6 +78,7 @@ module Akeyless
75
78
  :'auth_method_roles_assoc' => :'Array<AuthMethodRoleAssociation>',
76
79
  :'client_permissions' => :'Array<String>',
77
80
  :'creation_date' => :'Time',
81
+ :'description' => :'String',
78
82
  :'is_approved' => :'Boolean',
79
83
  :'modification_date' => :'Time'
80
84
  }
@@ -147,6 +151,10 @@ module Akeyless
147
151
  self.creation_date = attributes[:'creation_date']
148
152
  end
149
153
 
154
+ if attributes.key?(:'description')
155
+ self.description = attributes[:'description']
156
+ end
157
+
150
158
  if attributes.key?(:'is_approved')
151
159
  self.is_approved = attributes[:'is_approved']
152
160
  end
@@ -186,6 +194,7 @@ module Akeyless
186
194
  auth_method_roles_assoc == o.auth_method_roles_assoc &&
187
195
  client_permissions == o.client_permissions &&
188
196
  creation_date == o.creation_date &&
197
+ description == o.description &&
189
198
  is_approved == o.is_approved &&
190
199
  modification_date == o.modification_date
191
200
  end
@@ -199,7 +208,7 @@ module Akeyless
199
208
  # Calculates hash code according to all attributes.
200
209
  # @return [Integer] Hash code
201
210
  def hash
202
- [access_date, access_date_display, access_info, account_id, associated_gw_ids, auth_method_access_id, auth_method_name, auth_method_roles_assoc, client_permissions, creation_date, is_approved, modification_date].hash
211
+ [access_date, access_date_display, access_info, account_id, associated_gw_ids, auth_method_access_id, auth_method_name, auth_method_roles_assoc, client_permissions, creation_date, description, is_approved, modification_date].hash
203
212
  end
204
213
 
205
214
  # Builds the object from hash
@@ -19,6 +19,10 @@ module Akeyless
19
19
 
20
20
  attr_accessor :certificate_format
21
21
 
22
+ attr_accessor :certificate_has_private_key
23
+
24
+ attr_accessor :certificate_issuer_gw_cluster_url
25
+
22
26
  attr_accessor :certificate_issuer_item_id
23
27
 
24
28
  attr_accessor :certificate_issuer_name
@@ -34,6 +38,8 @@ module Akeyless
34
38
  {
35
39
  :'certificate_chain' => :'certificate_chain',
36
40
  :'certificate_format' => :'certificate_format',
41
+ :'certificate_has_private_key' => :'certificate_has_private_key',
42
+ :'certificate_issuer_gw_cluster_url' => :'certificate_issuer_gw_cluster_url',
37
43
  :'certificate_issuer_item_id' => :'certificate_issuer_item_id',
38
44
  :'certificate_issuer_name' => :'certificate_issuer_name',
39
45
  :'certificate_pem' => :'certificate_pem',
@@ -52,6 +58,8 @@ module Akeyless
52
58
  {
53
59
  :'certificate_chain' => :'Array<CertificateInfo>',
54
60
  :'certificate_format' => :'String',
61
+ :'certificate_has_private_key' => :'Boolean',
62
+ :'certificate_issuer_gw_cluster_url' => :'String',
55
63
  :'certificate_issuer_item_id' => :'Integer',
56
64
  :'certificate_issuer_name' => :'String',
57
65
  :'certificate_pem' => :'String',
@@ -91,6 +99,14 @@ module Akeyless
91
99
  self.certificate_format = attributes[:'certificate_format']
92
100
  end
93
101
 
102
+ if attributes.key?(:'certificate_has_private_key')
103
+ self.certificate_has_private_key = attributes[:'certificate_has_private_key']
104
+ end
105
+
106
+ if attributes.key?(:'certificate_issuer_gw_cluster_url')
107
+ self.certificate_issuer_gw_cluster_url = attributes[:'certificate_issuer_gw_cluster_url']
108
+ end
109
+
94
110
  if attributes.key?(:'certificate_issuer_item_id')
95
111
  self.certificate_issuer_item_id = attributes[:'certificate_issuer_item_id']
96
112
  end
@@ -136,6 +152,8 @@ module Akeyless
136
152
  self.class == o.class &&
137
153
  certificate_chain == o.certificate_chain &&
138
154
  certificate_format == o.certificate_format &&
155
+ certificate_has_private_key == o.certificate_has_private_key &&
156
+ certificate_issuer_gw_cluster_url == o.certificate_issuer_gw_cluster_url &&
139
157
  certificate_issuer_item_id == o.certificate_issuer_item_id &&
140
158
  certificate_issuer_name == o.certificate_issuer_name &&
141
159
  certificate_pem == o.certificate_pem &&
@@ -152,7 +170,7 @@ module Akeyless
152
170
  # Calculates hash code according to all attributes.
153
171
  # @return [Integer] Hash code
154
172
  def hash
155
- [certificate_chain, certificate_format, certificate_issuer_item_id, certificate_issuer_name, certificate_pem, certificate_status, expiration_events].hash
173
+ [certificate_chain, certificate_format, certificate_has_private_key, certificate_issuer_gw_cluster_url, certificate_issuer_item_id, certificate_issuer_name, certificate_pem, certificate_status, expiration_events].hash
156
174
  end
157
175
 
158
176
  # Builds the object from hash
@@ -0,0 +1,232 @@
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
+ class CertificateVersionInfo
18
+ attr_accessor :not_after
19
+
20
+ attr_accessor :not_before
21
+
22
+ attr_accessor :status
23
+
24
+ # Attribute mapping from ruby-style variable name to JSON key.
25
+ def self.attribute_map
26
+ {
27
+ :'not_after' => :'not_after',
28
+ :'not_before' => :'not_before',
29
+ :'status' => :'status'
30
+ }
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'not_after' => :'Time',
42
+ :'not_before' => :'Time',
43
+ :'status' => :'String'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::CertificateVersionInfo` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::CertificateVersionInfo`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'not_after')
69
+ self.not_after = attributes[:'not_after']
70
+ end
71
+
72
+ if attributes.key?(:'not_before')
73
+ self.not_before = attributes[:'not_before']
74
+ end
75
+
76
+ if attributes.key?(:'status')
77
+ self.status = attributes[:'status']
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
85
+ invalid_properties = Array.new
86
+ invalid_properties
87
+ end
88
+
89
+ # Check to see if the all the properties in the model are valid
90
+ # @return true if the model is valid
91
+ def valid?
92
+ warn '[DEPRECATED] the `valid?` method is obsolete'
93
+ true
94
+ end
95
+
96
+ # Checks equality by comparing each attribute.
97
+ # @param [Object] Object to be compared
98
+ def ==(o)
99
+ return true if self.equal?(o)
100
+ self.class == o.class &&
101
+ not_after == o.not_after &&
102
+ not_before == o.not_before &&
103
+ status == o.status
104
+ end
105
+
106
+ # @see the `==` method
107
+ # @param [Object] Object to be compared
108
+ def eql?(o)
109
+ self == o
110
+ end
111
+
112
+ # Calculates hash code according to all attributes.
113
+ # @return [Integer] Hash code
114
+ def hash
115
+ [not_after, not_before, status].hash
116
+ end
117
+
118
+ # Builds the object from hash
119
+ # @param [Hash] attributes Model attributes in the form of hash
120
+ # @return [Object] Returns the model itself
121
+ def self.build_from_hash(attributes)
122
+ return nil unless attributes.is_a?(Hash)
123
+ attributes = attributes.transform_keys(&:to_sym)
124
+ transformed_hash = {}
125
+ openapi_types.each_pair do |key, type|
126
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
127
+ transformed_hash["#{key}"] = nil
128
+ elsif type =~ /\AArray<(.*)>/i
129
+ # check to ensure the input is an array given that the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[attribute_map[key]].is_a?(Array)
132
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
133
+ end
134
+ elsif !attributes[attribute_map[key]].nil?
135
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
136
+ end
137
+ end
138
+ new(transformed_hash)
139
+ end
140
+
141
+ # Deserializes the data based on type
142
+ # @param string type Data type
143
+ # @param string value Value to be deserialized
144
+ # @return [Object] Deserialized data
145
+ def self._deserialize(type, value)
146
+ case type.to_sym
147
+ when :Time
148
+ Time.parse(value)
149
+ when :Date
150
+ Date.parse(value)
151
+ when :String
152
+ value.to_s
153
+ when :Integer
154
+ value.to_i
155
+ when :Float
156
+ value.to_f
157
+ when :Boolean
158
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
159
+ true
160
+ else
161
+ false
162
+ end
163
+ when :Object
164
+ # generic object (usually a Hash), return directly
165
+ value
166
+ when /\AArray<(?<inner_type>.+)>\z/
167
+ inner_type = Regexp.last_match[:inner_type]
168
+ value.map { |v| _deserialize(inner_type, v) }
169
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
170
+ k_type = Regexp.last_match[:k_type]
171
+ v_type = Regexp.last_match[:v_type]
172
+ {}.tap do |hash|
173
+ value.each do |k, v|
174
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
175
+ end
176
+ end
177
+ else # model
178
+ # models (e.g. Pet) or oneOf
179
+ klass = Akeyless.const_get(type)
180
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
181
+ end
182
+ end
183
+
184
+ # Returns the string representation of the object
185
+ # @return [String] String presentation of the object
186
+ def to_s
187
+ to_hash.to_s
188
+ end
189
+
190
+ # to_body is an alias to to_hash (backward compatibility)
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_body
193
+ to_hash
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = self.send(attr)
202
+ if value.nil?
203
+ is_nullable = self.class.openapi_nullable.include?(attr)
204
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
205
+ end
206
+
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Outputs non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ # @param [Object] value Any valid value
215
+ # @return [Hash] Returns the value in the form of hash
216
+ def _to_hash(value)
217
+ if value.is_a?(Array)
218
+ value.compact.map { |v| _to_hash(v) }
219
+ elsif value.is_a?(Hash)
220
+ {}.tap do |hash|
221
+ value.each { |k, v| hash[k] = _to_hash(v) }
222
+ end
223
+ elsif value.respond_to? :to_hash
224
+ value.to_hash
225
+ else
226
+ value
227
+ end
228
+ end
229
+
230
+ end
231
+
232
+ end
@@ -50,7 +50,7 @@ module Akeyless
50
50
  # Path to SSH executable. e.g. /usr/bin/ssh
51
51
  attr_accessor :ssh_command
52
52
 
53
- # The Use to add offical SSH arguments (except -i)
53
+ # Additional SSH arguments (except -i)
54
54
  attr_accessor :ssh_extra_args
55
55
 
56
56
  # Set this option to output legacy ('ssh-rsa-cert-v01@openssh.com') signing algorithm name in the ssh certificate.
@@ -21,6 +21,9 @@ module Akeyless
21
21
  # A CIDR whitelist with the IPs that the access is restricted to
22
22
  attr_accessor :bound_ips
23
23
 
24
+ # Auth Method description
25
+ attr_accessor :description
26
+
24
27
  # if true: enforce role-association must include sub claims
25
28
  attr_accessor :force_sub_claims
26
29
 
@@ -47,6 +50,7 @@ module Akeyless
47
50
  {
48
51
  :'access_expires' => :'access-expires',
49
52
  :'bound_ips' => :'bound-ips',
53
+ :'description' => :'description',
50
54
  :'force_sub_claims' => :'force-sub-claims',
51
55
  :'gw_bound_ips' => :'gw-bound-ips',
52
56
  :'json' => :'json',
@@ -67,6 +71,7 @@ module Akeyless
67
71
  {
68
72
  :'access_expires' => :'Integer',
69
73
  :'bound_ips' => :'Array<String>',
74
+ :'description' => :'String',
70
75
  :'force_sub_claims' => :'Boolean',
71
76
  :'gw_bound_ips' => :'Array<String>',
72
77
  :'json' => :'Boolean',
@@ -110,6 +115,10 @@ module Akeyless
110
115
  end
111
116
  end
112
117
 
118
+ if attributes.key?(:'description')
119
+ self.description = attributes[:'description']
120
+ end
121
+
113
122
  if attributes.key?(:'force_sub_claims')
114
123
  self.force_sub_claims = attributes[:'force_sub_claims']
115
124
  end
@@ -174,6 +183,7 @@ module Akeyless
174
183
  self.class == o.class &&
175
184
  access_expires == o.access_expires &&
176
185
  bound_ips == o.bound_ips &&
186
+ description == o.description &&
177
187
  force_sub_claims == o.force_sub_claims &&
178
188
  gw_bound_ips == o.gw_bound_ips &&
179
189
  json == o.json &&
@@ -192,7 +202,7 @@ module Akeyless
192
202
  # Calculates hash code according to all attributes.
193
203
  # @return [Integer] Hash code
194
204
  def hash
195
- [access_expires, bound_ips, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, token, uid_token].hash
205
+ [access_expires, bound_ips, description, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, token, uid_token].hash
196
206
  end
197
207
 
198
208
  # 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
 
@@ -79,6 +82,7 @@ module Akeyless
79
82
  :'bound_role_name' => :'bound-role-name',
80
83
  :'bound_user_id' => :'bound-user-id',
81
84
  :'bound_user_name' => :'bound-user-name',
85
+ :'description' => :'description',
82
86
  :'force_sub_claims' => :'force-sub-claims',
83
87
  :'gw_bound_ips' => :'gw-bound-ips',
84
88
  :'json' => :'json',
@@ -107,6 +111,7 @@ module Akeyless
107
111
  :'bound_role_name' => :'Array<String>',
108
112
  :'bound_user_id' => :'Array<String>',
109
113
  :'bound_user_name' => :'Array<String>',
114
+ :'description' => :'String',
110
115
  :'force_sub_claims' => :'Boolean',
111
116
  :'gw_bound_ips' => :'Array<String>',
112
117
  :'json' => :'Boolean',
@@ -195,6 +200,10 @@ module Akeyless
195
200
  end
196
201
  end
197
202
 
203
+ if attributes.key?(:'description')
204
+ self.description = attributes[:'description']
205
+ end
206
+
198
207
  if attributes.key?(:'force_sub_claims')
199
208
  self.force_sub_claims = attributes[:'force_sub_claims']
200
209
  end
@@ -277,6 +286,7 @@ module Akeyless
277
286
  bound_role_name == o.bound_role_name &&
278
287
  bound_user_id == o.bound_user_id &&
279
288
  bound_user_name == o.bound_user_name &&
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 &&
@@ -296,7 +306,7 @@ module Akeyless
296
306
  # Calculates hash code according to all attributes.
297
307
  # @return [Integer] Hash code
298
308
  def hash
299
- [access_expires, bound_arn, bound_aws_account_id, bound_ips, bound_resource_id, bound_role_id, bound_role_name, bound_user_id, bound_user_name, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, sts_url, token, uid_token].hash
309
+ [access_expires, bound_arn, bound_aws_account_id, bound_ips, bound_resource_id, bound_role_id, bound_role_name, bound_user_id, bound_user_name, description, force_sub_claims, gw_bound_ips, json, jwt_ttl, name, sts_url, token, uid_token].hash
300
310
  end
301
311
 
302
312
  # Builds the object from hash
@@ -19,7 +19,7 @@ module Akeyless
19
19
  # Access expiration date in Unix timestamp (select 0 for access without expiry date)
20
20
  attr_accessor :access_expires
21
21
 
22
- # The audience in the JWT
22
+ # Deprecated (Deprecated) The audience in the JWT
23
23
  attr_accessor :audience
24
24
 
25
25
  # A list of group ids that the access is restricted to
@@ -52,6 +52,9 @@ module Akeyless
52
52
  # The Azure tenant id that the access is restricted to
53
53
  attr_accessor :bound_tenant_id
54
54
 
55
+ # Auth Method description
56
+ attr_accessor :description
57
+
55
58
  # if true: enforce role-association must include sub claims
56
59
  attr_accessor :force_sub_claims
57
60
 
@@ -94,6 +97,7 @@ module Akeyless
94
97
  :'bound_spid' => :'bound-spid',
95
98
  :'bound_sub_id' => :'bound-sub-id',
96
99
  :'bound_tenant_id' => :'bound-tenant-id',
100
+ :'description' => :'description',
97
101
  :'force_sub_claims' => :'force-sub-claims',
98
102
  :'gw_bound_ips' => :'gw-bound-ips',
99
103
  :'issuer' => :'issuer',
@@ -126,6 +130,7 @@ module Akeyless
126
130
  :'bound_spid' => :'Array<String>',
127
131
  :'bound_sub_id' => :'Array<String>',
128
132
  :'bound_tenant_id' => :'String',
133
+ :'description' => :'String',
129
134
  :'force_sub_claims' => :'Boolean',
130
135
  :'gw_bound_ips' => :'Array<String>',
131
136
  :'issuer' => :'String',
@@ -231,6 +236,10 @@ module Akeyless
231
236
  self.bound_tenant_id = nil
232
237
  end
233
238
 
239
+ if attributes.key?(:'description')
240
+ self.description = attributes[:'description']
241
+ end
242
+
234
243
  if attributes.key?(:'force_sub_claims')
235
244
  self.force_sub_claims = attributes[:'force_sub_claims']
236
245
  end
@@ -322,6 +331,7 @@ module Akeyless
322
331
  bound_spid == o.bound_spid &&
323
332
  bound_sub_id == o.bound_sub_id &&
324
333
  bound_tenant_id == o.bound_tenant_id &&
334
+ description == o.description &&
325
335
  force_sub_claims == o.force_sub_claims &&
326
336
  gw_bound_ips == o.gw_bound_ips &&
327
337
  issuer == o.issuer &&
@@ -342,7 +352,7 @@ module Akeyless
342
352
  # Calculates hash code according to all attributes.
343
353
  # @return [Integer] Hash code
344
354
  def hash
345
- [access_expires, audience, bound_group_id, bound_ips, bound_providers, bound_resource_id, bound_resource_names, bound_resource_types, bound_rg_id, bound_spid, bound_sub_id, bound_tenant_id, force_sub_claims, gw_bound_ips, issuer, json, jwks_uri, jwt_ttl, name, token, uid_token].hash
355
+ [access_expires, audience, bound_group_id, bound_ips, bound_providers, bound_resource_id, bound_resource_names, bound_resource_types, bound_rg_id, bound_spid, bound_sub_id, bound_tenant_id, description, force_sub_claims, gw_bound_ips, issuer, json, jwks_uri, jwt_ttl, name, token, uid_token].hash
346
356
  end
347
357
 
348
358
  # Builds the object from hash