akeyless 4.2.3 → 4.2.4

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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +43 -2
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/AwsStorage.md +28 -0
  5. data/docs/AzureStorage.md +28 -0
  6. data/docs/BastionConfigReplyObj.md +28 -0
  7. data/docs/BastionGlobalConf.md +24 -0
  8. data/docs/Configure.md +8 -0
  9. data/docs/Connect.md +2 -2
  10. data/docs/CreateClassicKey.md +8 -0
  11. data/docs/CreateDFCKey.md +8 -0
  12. data/docs/DynamicSecretUpdateArtifactory.md +1 -1
  13. data/docs/DynamicSecretUpdateAws.md +1 -1
  14. data/docs/DynamicSecretUpdateAzure.md +1 -1
  15. data/docs/DynamicSecretUpdateCassandra.md +1 -1
  16. data/docs/DynamicSecretUpdateChef.md +1 -1
  17. data/docs/DynamicSecretUpdateCustom.md +1 -1
  18. data/docs/DynamicSecretUpdateDockerhub.md +1 -1
  19. data/docs/DynamicSecretUpdateEks.md +1 -1
  20. data/docs/DynamicSecretUpdateGcp.md +1 -1
  21. data/docs/DynamicSecretUpdateGithub.md +1 -1
  22. data/docs/DynamicSecretUpdateGitlab.md +1 -1
  23. data/docs/DynamicSecretUpdateGke.md +1 -1
  24. data/docs/DynamicSecretUpdateGoogleWorkspace.md +1 -1
  25. data/docs/DynamicSecretUpdateHanaDb.md +1 -1
  26. data/docs/DynamicSecretUpdateK8s.md +1 -1
  27. data/docs/DynamicSecretUpdateLdap.md +1 -1
  28. data/docs/DynamicSecretUpdateMongoDb.md +1 -1
  29. data/docs/DynamicSecretUpdateMsSql.md +1 -1
  30. data/docs/DynamicSecretUpdateMySql.md +1 -1
  31. data/docs/DynamicSecretUpdateOracleDb.md +1 -1
  32. data/docs/DynamicSecretUpdatePing.md +1 -1
  33. data/docs/DynamicSecretUpdateVenafi.md +1 -1
  34. data/docs/EmailPassAccessRules.md +3 -1
  35. data/docs/EventForwarderCreateEmail.md +2 -2
  36. data/docs/EventForwarderCreateServiceNow.md +1 -1
  37. data/docs/EventForwarderCreateSlack.md +1 -1
  38. data/docs/EventForwarderCreateWebhook.md +1 -1
  39. data/docs/EventForwarderUpdateEmail.md +2 -2
  40. data/docs/EventForwarderUpdateServiceNow.md +1 -1
  41. data/docs/EventForwarderUpdateSlack.md +1 -1
  42. data/docs/EventForwarderUpdateWebhook.md +1 -1
  43. data/docs/GatewayGetRemoteAccess.md +22 -0
  44. data/docs/GatewayUpdateItem.md +2 -0
  45. data/docs/GatewayUpdateRemoteAccess.md +36 -0
  46. data/docs/GatewayUpdateRemoteAccessRdpRecordings.md +46 -0
  47. data/docs/GwUpdateRemoteAccessSessionLogsAwsS3.md +42 -0
  48. data/docs/GwUpdateRemoteAccessSessionLogsAzureAnalytics.md +32 -0
  49. data/docs/GwUpdateRemoteAccessSessionLogsDatadog.md +38 -0
  50. data/docs/GwUpdateRemoteAccessSessionLogsElasticsearch.md +48 -0
  51. data/docs/GwUpdateRemoteAccessSessionLogsGoogleChronicle.md +36 -0
  52. data/docs/GwUpdateRemoteAccessSessionLogsLogstash.md +36 -0
  53. data/docs/GwUpdateRemoteAccessSessionLogsLogzIo.md +32 -0
  54. data/docs/GwUpdateRemoteAccessSessionLogsSplunk.md +42 -0
  55. data/docs/GwUpdateRemoteAccessSessionLogsStdout.md +28 -0
  56. data/docs/GwUpdateRemoteAccessSessionLogsSumologic.md +34 -0
  57. data/docs/GwUpdateRemoteAccessSessionLogsSyslog.md +40 -0
  58. data/docs/ItemGeneralInfo.md +4 -0
  59. data/docs/NextAutoRotationEvent.md +18 -0
  60. data/docs/PasswordExpirationInfo.md +24 -0
  61. data/docs/ResetAccessKey.md +24 -0
  62. data/docs/ResetAuthMethodAccessKeyOutput.md +18 -0
  63. data/docs/RollbackSecret.md +2 -0
  64. data/docs/RotatedSecretCreateAws.md +2 -0
  65. data/docs/RotatedSecretCreateAzure.md +2 -0
  66. data/docs/RotatedSecretCreateCassandra.md +2 -0
  67. data/docs/RotatedSecretCreateCustom.md +2 -0
  68. data/docs/RotatedSecretCreateDockerhub.md +2 -0
  69. data/docs/RotatedSecretCreateGcp.md +2 -0
  70. data/docs/RotatedSecretCreateHanadb.md +2 -0
  71. data/docs/RotatedSecretCreateLdap.md +2 -0
  72. data/docs/RotatedSecretCreateMongodb.md +2 -0
  73. data/docs/RotatedSecretCreateMssql.md +2 -0
  74. data/docs/RotatedSecretCreateMysql.md +2 -0
  75. data/docs/RotatedSecretCreateOracledb.md +2 -0
  76. data/docs/RotatedSecretCreatePostgresql.md +2 -0
  77. data/docs/RotatedSecretCreateRedis.md +2 -0
  78. data/docs/RotatedSecretCreateRedshift.md +2 -0
  79. data/docs/RotatedSecretCreateSnowflake.md +2 -0
  80. data/docs/RotatedSecretCreateSsh.md +2 -0
  81. data/docs/RotatedSecretCreateWindows.md +2 -0
  82. data/docs/RotatedSecretUpdateAws.md +2 -0
  83. data/docs/RotatedSecretUpdateAzure.md +2 -0
  84. data/docs/RotatedSecretUpdateCassandra.md +2 -0
  85. data/docs/RotatedSecretUpdateCustom.md +2 -0
  86. data/docs/RotatedSecretUpdateDockerhub.md +2 -0
  87. data/docs/RotatedSecretUpdateGcp.md +2 -0
  88. data/docs/RotatedSecretUpdateHanadb.md +2 -0
  89. data/docs/RotatedSecretUpdateLdap.md +2 -0
  90. data/docs/RotatedSecretUpdateMongodb.md +2 -0
  91. data/docs/RotatedSecretUpdateMssql.md +2 -0
  92. data/docs/RotatedSecretUpdateMysql.md +2 -0
  93. data/docs/RotatedSecretUpdateOracledb.md +2 -0
  94. data/docs/RotatedSecretUpdatePostgresql.md +2 -0
  95. data/docs/RotatedSecretUpdateRedis.md +2 -0
  96. data/docs/RotatedSecretUpdateRedshift.md +2 -0
  97. data/docs/RotatedSecretUpdateSnowflake.md +2 -0
  98. data/docs/RotatedSecretUpdateSsh.md +2 -0
  99. data/docs/RotatedSecretUpdateWindows.md +2 -0
  100. data/docs/SshBastionConf.md +24 -0
  101. data/docs/SshBastionSessionTermination.md +26 -0
  102. data/docs/UpdateAccountSettings.md +6 -0
  103. data/docs/UpdateItem.md +2 -0
  104. data/docs/UpdateRotationSettings.md +2 -0
  105. data/docs/UpdateTarget.md +1 -1
  106. data/docs/UploadRSA.md +2 -0
  107. data/docs/V2Api.md +880 -1
  108. data/docs/WebBastionConf.md +20 -0
  109. data/docs/WebBastionGuacamole.md +18 -0
  110. data/docs/WebBastionRdpRecord.md +22 -0
  111. data/lib/akeyless/api/v2_api.rb +886 -1
  112. data/lib/akeyless/models/account_general_settings.rb +10 -1
  113. data/lib/akeyless/models/aws_storage.rb +260 -0
  114. data/lib/akeyless/models/azure_storage.rb +260 -0
  115. data/lib/akeyless/models/bastion_config_reply_obj.rb +259 -0
  116. data/lib/akeyless/models/bastion_global_conf.rb +243 -0
  117. data/lib/akeyless/models/configure.rb +41 -1
  118. data/lib/akeyless/models/connect.rb +11 -11
  119. data/lib/akeyless/models/create_classic_key.rb +45 -1
  120. data/lib/akeyless/models/create_dfc_key.rb +45 -1
  121. data/lib/akeyless/models/dynamic_secret_update_artifactory.rb +1 -1
  122. data/lib/akeyless/models/dynamic_secret_update_aws.rb +1 -1
  123. data/lib/akeyless/models/dynamic_secret_update_azure.rb +1 -1
  124. data/lib/akeyless/models/dynamic_secret_update_cassandra.rb +1 -1
  125. data/lib/akeyless/models/dynamic_secret_update_chef.rb +1 -1
  126. data/lib/akeyless/models/dynamic_secret_update_custom.rb +1 -1
  127. data/lib/akeyless/models/dynamic_secret_update_dockerhub.rb +1 -1
  128. data/lib/akeyless/models/dynamic_secret_update_eks.rb +1 -1
  129. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +1 -1
  130. data/lib/akeyless/models/dynamic_secret_update_github.rb +1 -1
  131. data/lib/akeyless/models/dynamic_secret_update_gitlab.rb +1 -1
  132. data/lib/akeyless/models/dynamic_secret_update_gke.rb +1 -1
  133. data/lib/akeyless/models/dynamic_secret_update_google_workspace.rb +1 -1
  134. data/lib/akeyless/models/dynamic_secret_update_hana_db.rb +1 -1
  135. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +1 -1
  136. data/lib/akeyless/models/dynamic_secret_update_ldap.rb +1 -1
  137. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +1 -1
  138. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +1 -1
  139. data/lib/akeyless/models/dynamic_secret_update_my_sql.rb +1 -1
  140. data/lib/akeyless/models/dynamic_secret_update_oracle_db.rb +1 -1
  141. data/lib/akeyless/models/dynamic_secret_update_ping.rb +1 -1
  142. data/lib/akeyless/models/dynamic_secret_update_venafi.rb +1 -1
  143. data/lib/akeyless/models/email_pass_access_rules.rb +14 -4
  144. data/lib/akeyless/models/event_forwarder_create_email.rb +2 -2
  145. data/lib/akeyless/models/event_forwarder_create_service_now.rb +1 -1
  146. data/lib/akeyless/models/event_forwarder_create_slack.rb +1 -1
  147. data/lib/akeyless/models/event_forwarder_create_webhook.rb +1 -1
  148. data/lib/akeyless/models/event_forwarder_update_email.rb +2 -2
  149. data/lib/akeyless/models/event_forwarder_update_service_now.rb +1 -1
  150. data/lib/akeyless/models/event_forwarder_update_slack.rb +1 -1
  151. data/lib/akeyless/models/event_forwarder_update_webhook.rb +1 -1
  152. data/lib/akeyless/models/gateway_get_remote_access.rb +238 -0
  153. data/lib/akeyless/models/gateway_update_item.rb +13 -1
  154. data/lib/akeyless/models/gateway_update_remote_access.rb +318 -0
  155. data/lib/akeyless/models/gateway_update_remote_access_rdp_recordings.rb +358 -0
  156. data/lib/akeyless/models/gw_update_remote_access_session_logs_aws_s3.rb +346 -0
  157. data/lib/akeyless/models/gw_update_remote_access_session_logs_azure_analytics.rb +294 -0
  158. data/lib/akeyless/models/gw_update_remote_access_session_logs_datadog.rb +330 -0
  159. data/lib/akeyless/models/gw_update_remote_access_session_logs_elasticsearch.rb +376 -0
  160. data/lib/akeyless/models/gw_update_remote_access_session_logs_google_chronicle.rb +314 -0
  161. data/lib/akeyless/models/gw_update_remote_access_session_logs_logstash.rb +316 -0
  162. data/lib/akeyless/models/gw_update_remote_access_session_logs_logz_io.rb +294 -0
  163. data/lib/akeyless/models/gw_update_remote_access_session_logs_splunk.rb +350 -0
  164. data/lib/akeyless/models/gw_update_remote_access_session_logs_stdout.rb +274 -0
  165. data/lib/akeyless/models/gw_update_remote_access_session_logs_sumologic.rb +308 -0
  166. data/lib/akeyless/models/gw_update_remote_access_session_logs_syslog.rb +342 -0
  167. data/lib/akeyless/models/item_general_info.rb +23 -1
  168. data/lib/akeyless/models/next_auto_rotation_event.rb +214 -0
  169. data/lib/akeyless/models/password_expiration_info.rb +242 -0
  170. data/lib/akeyless/models/reset_access_key.rb +255 -0
  171. data/lib/akeyless/models/reset_auth_method_access_key_output.rb +215 -0
  172. data/lib/akeyless/models/rollback_secret.rb +13 -1
  173. data/lib/akeyless/models/rotated_secret_create_aws.rb +13 -1
  174. data/lib/akeyless/models/rotated_secret_create_azure.rb +13 -1
  175. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +13 -1
  176. data/lib/akeyless/models/rotated_secret_create_custom.rb +13 -1
  177. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +13 -1
  178. data/lib/akeyless/models/rotated_secret_create_gcp.rb +13 -1
  179. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +13 -1
  180. data/lib/akeyless/models/rotated_secret_create_ldap.rb +13 -1
  181. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +13 -1
  182. data/lib/akeyless/models/rotated_secret_create_mssql.rb +13 -1
  183. data/lib/akeyless/models/rotated_secret_create_mysql.rb +13 -1
  184. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +13 -1
  185. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +13 -1
  186. data/lib/akeyless/models/rotated_secret_create_redis.rb +13 -1
  187. data/lib/akeyless/models/rotated_secret_create_redshift.rb +13 -1
  188. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +13 -1
  189. data/lib/akeyless/models/rotated_secret_create_ssh.rb +13 -1
  190. data/lib/akeyless/models/rotated_secret_create_windows.rb +13 -1
  191. data/lib/akeyless/models/rotated_secret_update_aws.rb +13 -1
  192. data/lib/akeyless/models/rotated_secret_update_azure.rb +13 -1
  193. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +13 -1
  194. data/lib/akeyless/models/rotated_secret_update_custom.rb +13 -1
  195. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +13 -1
  196. data/lib/akeyless/models/rotated_secret_update_gcp.rb +13 -1
  197. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +13 -1
  198. data/lib/akeyless/models/rotated_secret_update_ldap.rb +13 -1
  199. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +13 -1
  200. data/lib/akeyless/models/rotated_secret_update_mssql.rb +13 -1
  201. data/lib/akeyless/models/rotated_secret_update_mysql.rb +13 -1
  202. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +13 -1
  203. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +13 -1
  204. data/lib/akeyless/models/rotated_secret_update_redis.rb +13 -1
  205. data/lib/akeyless/models/rotated_secret_update_redshift.rb +13 -1
  206. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +13 -1
  207. data/lib/akeyless/models/rotated_secret_update_ssh.rb +13 -1
  208. data/lib/akeyless/models/rotated_secret_update_windows.rb +13 -1
  209. data/lib/akeyless/models/ssh_bastion_conf.rb +241 -0
  210. data/lib/akeyless/models/ssh_bastion_session_termination.rb +250 -0
  211. data/lib/akeyless/models/update_account_settings.rb +31 -1
  212. data/lib/akeyless/models/update_item.rb +13 -1
  213. data/lib/akeyless/models/update_rotation_settings.rb +13 -1
  214. data/lib/akeyless/models/update_target.rb +1 -1
  215. data/lib/akeyless/models/upload_rsa.rb +13 -1
  216. data/lib/akeyless/models/web_bastion_conf.rb +223 -0
  217. data/lib/akeyless/models/web_bastion_guacamole.rb +214 -0
  218. data/lib/akeyless/models/web_bastion_rdp_record.rb +232 -0
  219. data/lib/akeyless/version.rb +1 -1
  220. data/lib/akeyless.rb +27 -0
  221. data/spec/models/aws_storage_spec.rb +66 -0
  222. data/spec/models/azure_storage_spec.rb +66 -0
  223. data/spec/models/bastion_config_reply_obj_spec.rb +66 -0
  224. data/spec/models/bastion_global_conf_spec.rb +54 -0
  225. data/spec/models/gateway_get_remote_access_spec.rb +48 -0
  226. data/spec/models/gateway_update_remote_access_rdp_recordings_spec.rb +120 -0
  227. data/spec/models/gateway_update_remote_access_spec.rb +90 -0
  228. data/spec/models/gw_update_remote_access_session_logs_aws_s3_spec.rb +108 -0
  229. data/spec/models/gw_update_remote_access_session_logs_azure_analytics_spec.rb +78 -0
  230. data/spec/models/gw_update_remote_access_session_logs_datadog_spec.rb +96 -0
  231. data/spec/models/gw_update_remote_access_session_logs_elasticsearch_spec.rb +126 -0
  232. data/spec/models/gw_update_remote_access_session_logs_google_chronicle_spec.rb +90 -0
  233. data/spec/models/gw_update_remote_access_session_logs_logstash_spec.rb +90 -0
  234. data/spec/models/gw_update_remote_access_session_logs_logz_io_spec.rb +78 -0
  235. data/spec/models/gw_update_remote_access_session_logs_splunk_spec.rb +108 -0
  236. data/spec/models/gw_update_remote_access_session_logs_stdout_spec.rb +66 -0
  237. data/spec/models/gw_update_remote_access_session_logs_sumologic_spec.rb +84 -0
  238. data/spec/models/gw_update_remote_access_session_logs_syslog_spec.rb +102 -0
  239. data/spec/models/next_auto_rotation_event_spec.rb +36 -0
  240. data/spec/models/password_expiration_info_spec.rb +54 -0
  241. data/spec/models/reset_access_key_spec.rb +54 -0
  242. data/spec/models/reset_auth_method_access_key_output_spec.rb +36 -0
  243. data/spec/models/ssh_bastion_conf_spec.rb +54 -0
  244. data/spec/models/ssh_bastion_session_termination_spec.rb +60 -0
  245. data/spec/models/web_bastion_conf_spec.rb +42 -0
  246. data/spec/models/web_bastion_guacamole_spec.rb +36 -0
  247. data/spec/models/web_bastion_rdp_record_spec.rb +48 -0
  248. metadata +1089 -981
@@ -0,0 +1,259 @@
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
+ Generator version: 7.9.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class BastionConfigReplyObj
18
+ attr_accessor :api_gateway_url
19
+
20
+ attr_accessor :cluster_id
21
+
22
+ attr_accessor :gator_cluster_id
23
+
24
+ attr_accessor :global
25
+
26
+ attr_accessor :ssh_bastion
27
+
28
+ attr_accessor :web_bastion
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'api_gateway_url' => :'api_gateway_url',
34
+ :'cluster_id' => :'cluster_id',
35
+ :'gator_cluster_id' => :'gator_cluster_id',
36
+ :'global' => :'global',
37
+ :'ssh_bastion' => :'ssh_bastion',
38
+ :'web_bastion' => :'web_bastion'
39
+ }
40
+ end
41
+
42
+ # Returns all the JSON keys this model knows about
43
+ def self.acceptable_attributes
44
+ attribute_map.values
45
+ end
46
+
47
+ # Attribute type mapping.
48
+ def self.openapi_types
49
+ {
50
+ :'api_gateway_url' => :'String',
51
+ :'cluster_id' => :'String',
52
+ :'gator_cluster_id' => :'Integer',
53
+ :'global' => :'BastionGlobalConf',
54
+ :'ssh_bastion' => :'SshBastionConf',
55
+ :'web_bastion' => :'WebBastionConf'
56
+ }
57
+ end
58
+
59
+ # List of attributes with nullable: true
60
+ def self.openapi_nullable
61
+ Set.new([
62
+ ])
63
+ end
64
+
65
+ # Initializes the object
66
+ # @param [Hash] attributes Model attributes in the form of hash
67
+ def initialize(attributes = {})
68
+ if (!attributes.is_a?(Hash))
69
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::BastionConfigReplyObj` initialize method"
70
+ end
71
+
72
+ # check to see if the attribute exists and convert string to symbol for hash key
73
+ attributes = attributes.each_with_object({}) { |(k, v), h|
74
+ if (!self.class.attribute_map.key?(k.to_sym))
75
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::BastionConfigReplyObj`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
76
+ end
77
+ h[k.to_sym] = v
78
+ }
79
+
80
+ if attributes.key?(:'api_gateway_url')
81
+ self.api_gateway_url = attributes[:'api_gateway_url']
82
+ end
83
+
84
+ if attributes.key?(:'cluster_id')
85
+ self.cluster_id = attributes[:'cluster_id']
86
+ end
87
+
88
+ if attributes.key?(:'gator_cluster_id')
89
+ self.gator_cluster_id = attributes[:'gator_cluster_id']
90
+ end
91
+
92
+ if attributes.key?(:'global')
93
+ self.global = attributes[:'global']
94
+ end
95
+
96
+ if attributes.key?(:'ssh_bastion')
97
+ self.ssh_bastion = attributes[:'ssh_bastion']
98
+ end
99
+
100
+ if attributes.key?(:'web_bastion')
101
+ self.web_bastion = attributes[:'web_bastion']
102
+ end
103
+ end
104
+
105
+ # Show invalid properties with the reasons. Usually used together with valid?
106
+ # @return Array for valid properties with the reasons
107
+ def list_invalid_properties
108
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
109
+ invalid_properties = Array.new
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ warn '[DEPRECATED] the `valid?` method is obsolete'
117
+ true
118
+ end
119
+
120
+ # Checks equality by comparing each attribute.
121
+ # @param [Object] Object to be compared
122
+ def ==(o)
123
+ return true if self.equal?(o)
124
+ self.class == o.class &&
125
+ api_gateway_url == o.api_gateway_url &&
126
+ cluster_id == o.cluster_id &&
127
+ gator_cluster_id == o.gator_cluster_id &&
128
+ global == o.global &&
129
+ ssh_bastion == o.ssh_bastion &&
130
+ web_bastion == o.web_bastion
131
+ end
132
+
133
+ # @see the `==` method
134
+ # @param [Object] Object to be compared
135
+ def eql?(o)
136
+ self == o
137
+ end
138
+
139
+ # Calculates hash code according to all attributes.
140
+ # @return [Integer] Hash code
141
+ def hash
142
+ [api_gateway_url, cluster_id, gator_cluster_id, global, ssh_bastion, web_bastion].hash
143
+ end
144
+
145
+ # Builds the object from hash
146
+ # @param [Hash] attributes Model attributes in the form of hash
147
+ # @return [Object] Returns the model itself
148
+ def self.build_from_hash(attributes)
149
+ return nil unless attributes.is_a?(Hash)
150
+ attributes = attributes.transform_keys(&:to_sym)
151
+ transformed_hash = {}
152
+ openapi_types.each_pair do |key, type|
153
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
154
+ transformed_hash["#{key}"] = nil
155
+ elsif type =~ /\AArray<(.*)>/i
156
+ # check to ensure the input is an array given that the attribute
157
+ # is documented as an array but the input is not
158
+ if attributes[attribute_map[key]].is_a?(Array)
159
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
160
+ end
161
+ elsif !attributes[attribute_map[key]].nil?
162
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
163
+ end
164
+ end
165
+ new(transformed_hash)
166
+ end
167
+
168
+ # Deserializes the data based on type
169
+ # @param string type Data type
170
+ # @param string value Value to be deserialized
171
+ # @return [Object] Deserialized data
172
+ def self._deserialize(type, value)
173
+ case type.to_sym
174
+ when :Time
175
+ Time.parse(value)
176
+ when :Date
177
+ Date.parse(value)
178
+ when :String
179
+ value.to_s
180
+ when :Integer
181
+ value.to_i
182
+ when :Float
183
+ value.to_f
184
+ when :Boolean
185
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
186
+ true
187
+ else
188
+ false
189
+ end
190
+ when :Object
191
+ # generic object (usually a Hash), return directly
192
+ value
193
+ when /\AArray<(?<inner_type>.+)>\z/
194
+ inner_type = Regexp.last_match[:inner_type]
195
+ value.map { |v| _deserialize(inner_type, v) }
196
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
197
+ k_type = Regexp.last_match[:k_type]
198
+ v_type = Regexp.last_match[:v_type]
199
+ {}.tap do |hash|
200
+ value.each do |k, v|
201
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
202
+ end
203
+ end
204
+ else # model
205
+ # models (e.g. Pet) or oneOf
206
+ klass = Akeyless.const_get(type)
207
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
208
+ end
209
+ end
210
+
211
+ # Returns the string representation of the object
212
+ # @return [String] String presentation of the object
213
+ def to_s
214
+ to_hash.to_s
215
+ end
216
+
217
+ # to_body is an alias to to_hash (backward compatibility)
218
+ # @return [Hash] Returns the object in the form of hash
219
+ def to_body
220
+ to_hash
221
+ end
222
+
223
+ # Returns the object in the form of hash
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_hash
226
+ hash = {}
227
+ self.class.attribute_map.each_pair do |attr, param|
228
+ value = self.send(attr)
229
+ if value.nil?
230
+ is_nullable = self.class.openapi_nullable.include?(attr)
231
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
232
+ end
233
+
234
+ hash[param] = _to_hash(value)
235
+ end
236
+ hash
237
+ end
238
+
239
+ # Outputs non-array value in the form of hash
240
+ # For object, use to_hash. Otherwise, just return the value
241
+ # @param [Object] value Any valid value
242
+ # @return [Hash] Returns the value in the form of hash
243
+ def _to_hash(value)
244
+ if value.is_a?(Array)
245
+ value.compact.map { |v| _to_hash(v) }
246
+ elsif value.is_a?(Hash)
247
+ {}.tap do |hash|
248
+ value.each { |k, v| hash[k] = _to_hash(v) }
249
+ end
250
+ elsif value.respond_to? :to_hash
251
+ value.to_hash
252
+ else
253
+ value
254
+ end
255
+ end
256
+
257
+ end
258
+
259
+ end
@@ -0,0 +1,243 @@
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
+ Generator version: 7.9.0-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class BastionGlobalConf
18
+ attr_accessor :allowed_bastion_urls
19
+
20
+ attr_accessor :legacy_signing_alg
21
+
22
+ attr_accessor :rdp_username_sub_claim
23
+
24
+ attr_accessor :ssh_username_sub_claim
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'allowed_bastion_urls' => :'allowed_bastion_urls',
30
+ :'legacy_signing_alg' => :'legacy_signing_alg',
31
+ :'rdp_username_sub_claim' => :'rdp_username_sub_claim',
32
+ :'ssh_username_sub_claim' => :'ssh_username_sub_claim'
33
+ }
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'allowed_bastion_urls' => :'Array<String>',
45
+ :'legacy_signing_alg' => :'Boolean',
46
+ :'rdp_username_sub_claim' => :'String',
47
+ :'ssh_username_sub_claim' => :'String'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::BastionGlobalConf` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::BastionGlobalConf`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'allowed_bastion_urls')
73
+ if (value = attributes[:'allowed_bastion_urls']).is_a?(Array)
74
+ self.allowed_bastion_urls = value
75
+ end
76
+ end
77
+
78
+ if attributes.key?(:'legacy_signing_alg')
79
+ self.legacy_signing_alg = attributes[:'legacy_signing_alg']
80
+ end
81
+
82
+ if attributes.key?(:'rdp_username_sub_claim')
83
+ self.rdp_username_sub_claim = attributes[:'rdp_username_sub_claim']
84
+ end
85
+
86
+ if attributes.key?(:'ssh_username_sub_claim')
87
+ self.ssh_username_sub_claim = attributes[:'ssh_username_sub_claim']
88
+ end
89
+ end
90
+
91
+ # Show invalid properties with the reasons. Usually used together with valid?
92
+ # @return Array for valid properties with the reasons
93
+ def list_invalid_properties
94
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
95
+ invalid_properties = Array.new
96
+ invalid_properties
97
+ end
98
+
99
+ # Check to see if the all the properties in the model are valid
100
+ # @return true if the model is valid
101
+ def valid?
102
+ warn '[DEPRECATED] the `valid?` method is obsolete'
103
+ true
104
+ end
105
+
106
+ # Checks equality by comparing each attribute.
107
+ # @param [Object] Object to be compared
108
+ def ==(o)
109
+ return true if self.equal?(o)
110
+ self.class == o.class &&
111
+ allowed_bastion_urls == o.allowed_bastion_urls &&
112
+ legacy_signing_alg == o.legacy_signing_alg &&
113
+ rdp_username_sub_claim == o.rdp_username_sub_claim &&
114
+ ssh_username_sub_claim == o.ssh_username_sub_claim
115
+ end
116
+
117
+ # @see the `==` method
118
+ # @param [Object] Object to be compared
119
+ def eql?(o)
120
+ self == o
121
+ end
122
+
123
+ # Calculates hash code according to all attributes.
124
+ # @return [Integer] Hash code
125
+ def hash
126
+ [allowed_bastion_urls, legacy_signing_alg, rdp_username_sub_claim, ssh_username_sub_claim].hash
127
+ end
128
+
129
+ # Builds the object from hash
130
+ # @param [Hash] attributes Model attributes in the form of hash
131
+ # @return [Object] Returns the model itself
132
+ def self.build_from_hash(attributes)
133
+ return nil unless attributes.is_a?(Hash)
134
+ attributes = attributes.transform_keys(&:to_sym)
135
+ transformed_hash = {}
136
+ openapi_types.each_pair do |key, type|
137
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
138
+ transformed_hash["#{key}"] = nil
139
+ elsif type =~ /\AArray<(.*)>/i
140
+ # check to ensure the input is an array given that the attribute
141
+ # is documented as an array but the input is not
142
+ if attributes[attribute_map[key]].is_a?(Array)
143
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
144
+ end
145
+ elsif !attributes[attribute_map[key]].nil?
146
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
147
+ end
148
+ end
149
+ new(transformed_hash)
150
+ end
151
+
152
+ # Deserializes the data based on type
153
+ # @param string type Data type
154
+ # @param string value Value to be deserialized
155
+ # @return [Object] Deserialized data
156
+ def self._deserialize(type, value)
157
+ case type.to_sym
158
+ when :Time
159
+ Time.parse(value)
160
+ when :Date
161
+ Date.parse(value)
162
+ when :String
163
+ value.to_s
164
+ when :Integer
165
+ value.to_i
166
+ when :Float
167
+ value.to_f
168
+ when :Boolean
169
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
170
+ true
171
+ else
172
+ false
173
+ end
174
+ when :Object
175
+ # generic object (usually a Hash), return directly
176
+ value
177
+ when /\AArray<(?<inner_type>.+)>\z/
178
+ inner_type = Regexp.last_match[:inner_type]
179
+ value.map { |v| _deserialize(inner_type, v) }
180
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
181
+ k_type = Regexp.last_match[:k_type]
182
+ v_type = Regexp.last_match[:v_type]
183
+ {}.tap do |hash|
184
+ value.each do |k, v|
185
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
186
+ end
187
+ end
188
+ else # model
189
+ # models (e.g. Pet) or oneOf
190
+ klass = Akeyless.const_get(type)
191
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
192
+ end
193
+ end
194
+
195
+ # Returns the string representation of the object
196
+ # @return [String] String presentation of the object
197
+ def to_s
198
+ to_hash.to_s
199
+ end
200
+
201
+ # to_body is an alias to to_hash (backward compatibility)
202
+ # @return [Hash] Returns the object in the form of hash
203
+ def to_body
204
+ to_hash
205
+ end
206
+
207
+ # Returns the object in the form of hash
208
+ # @return [Hash] Returns the object in the form of hash
209
+ def to_hash
210
+ hash = {}
211
+ self.class.attribute_map.each_pair do |attr, param|
212
+ value = self.send(attr)
213
+ if value.nil?
214
+ is_nullable = self.class.openapi_nullable.include?(attr)
215
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
216
+ end
217
+
218
+ hash[param] = _to_hash(value)
219
+ end
220
+ hash
221
+ end
222
+
223
+ # Outputs non-array value in the form of hash
224
+ # For object, use to_hash. Otherwise, just return the value
225
+ # @param [Object] value Any valid value
226
+ # @return [Hash] Returns the value in the form of hash
227
+ def _to_hash(value)
228
+ if value.is_a?(Array)
229
+ value.compact.map { |v| _to_hash(v) }
230
+ elsif value.is_a?(Hash)
231
+ {}.tap do |hash|
232
+ value.each { |k, v| hash[k] = _to_hash(v) }
233
+ end
234
+ elsif value.respond_to? :to_hash
235
+ value.to_hash
236
+ else
237
+ value
238
+ end
239
+ end
240
+
241
+ end
242
+
243
+ end
@@ -39,6 +39,15 @@ module Akeyless
39
39
  # Certificate data encoded in base64. Used if file was not provided. (relevant only for access-type=cert in Curl Context)
40
40
  attr_accessor :cert_data
41
41
 
42
+ # Certificate Issuer Name
43
+ attr_accessor :cert_issuer_name
44
+
45
+ # The username to sign in the SSH certificate (use a comma-separated list for more than one username)
46
+ attr_accessor :cert_username
47
+
48
+ # Default path prefix for name of items, targets and auth methods
49
+ attr_accessor :default_location_prefix
50
+
42
51
  # GCP JWT audience
43
52
  attr_accessor :gcp_audience
44
53
 
@@ -51,6 +60,9 @@ module Akeyless
51
60
  # Private key data encoded in base64. Used if file was not provided.(relevant only for access-type=cert in Curl Context)
52
61
  attr_accessor :key_data
53
62
 
63
+ # Set this option to output legacy ('ssh-rsa-cert-v01@openssh.com') signing algorithm name in the certificate.
64
+ attr_accessor :legacy_signing_alg_name
65
+
54
66
  # The type of the OCI configuration to use [instance/apikey/resource] (relevant only for access-type=oci)
55
67
  attr_accessor :oci_auth_type
56
68
 
@@ -68,10 +80,14 @@ module Akeyless
68
80
  :'admin_password' => :'admin-password',
69
81
  :'azure_ad_object_id' => :'azure_ad_object_id',
70
82
  :'cert_data' => :'cert-data',
83
+ :'cert_issuer_name' => :'cert-issuer-name',
84
+ :'cert_username' => :'cert-username',
85
+ :'default_location_prefix' => :'default-location-prefix',
71
86
  :'gcp_audience' => :'gcp-audience',
72
87
  :'json' => :'json',
73
88
  :'k8s_auth_config_name' => :'k8s-auth-config-name',
74
89
  :'key_data' => :'key-data',
90
+ :'legacy_signing_alg_name' => :'legacy-signing-alg-name',
75
91
  :'oci_auth_type' => :'oci-auth-type',
76
92
  :'oci_group_ocid' => :'oci-group-ocid'
77
93
  }
@@ -93,10 +109,14 @@ module Akeyless
93
109
  :'admin_password' => :'String',
94
110
  :'azure_ad_object_id' => :'String',
95
111
  :'cert_data' => :'String',
112
+ :'cert_issuer_name' => :'String',
113
+ :'cert_username' => :'String',
114
+ :'default_location_prefix' => :'String',
96
115
  :'gcp_audience' => :'String',
97
116
  :'json' => :'Boolean',
98
117
  :'k8s_auth_config_name' => :'String',
99
118
  :'key_data' => :'String',
119
+ :'legacy_signing_alg_name' => :'Boolean',
100
120
  :'oci_auth_type' => :'String',
101
121
  :'oci_group_ocid' => :'Array<String>'
102
122
  }
@@ -157,6 +177,18 @@ module Akeyless
157
177
  self.cert_data = attributes[:'cert_data']
158
178
  end
159
179
 
180
+ if attributes.key?(:'cert_issuer_name')
181
+ self.cert_issuer_name = attributes[:'cert_issuer_name']
182
+ end
183
+
184
+ if attributes.key?(:'cert_username')
185
+ self.cert_username = attributes[:'cert_username']
186
+ end
187
+
188
+ if attributes.key?(:'default_location_prefix')
189
+ self.default_location_prefix = attributes[:'default_location_prefix']
190
+ end
191
+
160
192
  if attributes.key?(:'gcp_audience')
161
193
  self.gcp_audience = attributes[:'gcp_audience']
162
194
  else
@@ -177,6 +209,10 @@ module Akeyless
177
209
  self.key_data = attributes[:'key_data']
178
210
  end
179
211
 
212
+ if attributes.key?(:'legacy_signing_alg_name')
213
+ self.legacy_signing_alg_name = attributes[:'legacy_signing_alg_name']
214
+ end
215
+
180
216
  if attributes.key?(:'oci_auth_type')
181
217
  self.oci_auth_type = attributes[:'oci_auth_type']
182
218
  else
@@ -218,10 +254,14 @@ module Akeyless
218
254
  admin_password == o.admin_password &&
219
255
  azure_ad_object_id == o.azure_ad_object_id &&
220
256
  cert_data == o.cert_data &&
257
+ cert_issuer_name == o.cert_issuer_name &&
258
+ cert_username == o.cert_username &&
259
+ default_location_prefix == o.default_location_prefix &&
221
260
  gcp_audience == o.gcp_audience &&
222
261
  json == o.json &&
223
262
  k8s_auth_config_name == o.k8s_auth_config_name &&
224
263
  key_data == o.key_data &&
264
+ legacy_signing_alg_name == o.legacy_signing_alg_name &&
225
265
  oci_auth_type == o.oci_auth_type &&
226
266
  oci_group_ocid == o.oci_group_ocid
227
267
  end
@@ -235,7 +275,7 @@ module Akeyless
235
275
  # Calculates hash code according to all attributes.
236
276
  # @return [Integer] Hash code
237
277
  def hash
238
- [access_id, access_key, access_type, account_id, admin_email, admin_password, azure_ad_object_id, cert_data, gcp_audience, json, k8s_auth_config_name, key_data, oci_auth_type, oci_group_ocid].hash
278
+ [access_id, access_key, access_type, account_id, admin_email, admin_password, azure_ad_object_id, cert_data, cert_issuer_name, cert_username, default_location_prefix, gcp_audience, json, k8s_auth_config_name, key_data, legacy_signing_alg_name, oci_auth_type, oci_group_ocid].hash
239
279
  end
240
280
 
241
281
  # Builds the object from hash
@@ -16,9 +16,6 @@ require 'time'
16
16
  module Akeyless
17
17
  # Connect is a command that performs secure remote access
18
18
  class Connect
19
- # todo - enable when gw-sra unification is done The Gateway URL (configuration management) address, e.g. http://localhost:8000
20
- attr_accessor :bastion_gateway_url
21
-
22
19
  attr_accessor :helper
23
20
 
24
21
  # used to override .akeyless-connect.rc in tests
@@ -39,6 +36,9 @@ module Akeyless
39
36
  # The Akeyless certificate issuer name
40
37
  attr_accessor :cert_issuer_name
41
38
 
39
+ # The Gateway URL (configuration management) address, e.g. http://localhost:8000
40
+ attr_accessor :gateway_url
41
+
42
42
  # The file from which the identity (private key) for public key authentication is read
43
43
  attr_accessor :identity_file
44
44
 
@@ -77,7 +77,6 @@ module Akeyless
77
77
  # Attribute mapping from ruby-style variable name to JSON key.
78
78
  def self.attribute_map
79
79
  {
80
- :'bastion_gateway_url' => :'BastionGatewayUrl',
81
80
  :'helper' => :'Helper',
82
81
  :'rc_file_override' => :'RcFileOverride',
83
82
  :'bastion_ctrl_path' => :'bastion-ctrl-path',
@@ -85,6 +84,7 @@ module Akeyless
85
84
  :'bastion_ctrl_proto' => :'bastion-ctrl-proto',
86
85
  :'bastion_ctrl_subdomain' => :'bastion-ctrl-subdomain',
87
86
  :'cert_issuer_name' => :'cert-issuer-name',
87
+ :'gateway_url' => :'gateway-url',
88
88
  :'identity_file' => :'identity-file',
89
89
  :'json' => :'json',
90
90
  :'justification' => :'justification',
@@ -108,7 +108,6 @@ module Akeyless
108
108
  # Attribute type mapping.
109
109
  def self.openapi_types
110
110
  {
111
- :'bastion_gateway_url' => :'String',
112
111
  :'helper' => :'Object',
113
112
  :'rc_file_override' => :'String',
114
113
  :'bastion_ctrl_path' => :'String',
@@ -116,6 +115,7 @@ module Akeyless
116
115
  :'bastion_ctrl_proto' => :'String',
117
116
  :'bastion_ctrl_subdomain' => :'String',
118
117
  :'cert_issuer_name' => :'String',
118
+ :'gateway_url' => :'String',
119
119
  :'identity_file' => :'String',
120
120
  :'json' => :'Boolean',
121
121
  :'justification' => :'String',
@@ -152,10 +152,6 @@ module Akeyless
152
152
  h[k.to_sym] = v
153
153
  }
154
154
 
155
- if attributes.key?(:'bastion_gateway_url')
156
- self.bastion_gateway_url = attributes[:'bastion_gateway_url']
157
- end
158
-
159
155
  if attributes.key?(:'helper')
160
156
  self.helper = attributes[:'helper']
161
157
  end
@@ -188,6 +184,10 @@ module Akeyless
188
184
  self.cert_issuer_name = attributes[:'cert_issuer_name']
189
185
  end
190
186
 
187
+ if attributes.key?(:'gateway_url')
188
+ self.gateway_url = attributes[:'gateway_url']
189
+ end
190
+
191
191
  if attributes.key?(:'identity_file')
192
192
  self.identity_file = attributes[:'identity_file']
193
193
  end
@@ -261,7 +261,6 @@ module Akeyless
261
261
  def ==(o)
262
262
  return true if self.equal?(o)
263
263
  self.class == o.class &&
264
- bastion_gateway_url == o.bastion_gateway_url &&
265
264
  helper == o.helper &&
266
265
  rc_file_override == o.rc_file_override &&
267
266
  bastion_ctrl_path == o.bastion_ctrl_path &&
@@ -269,6 +268,7 @@ module Akeyless
269
268
  bastion_ctrl_proto == o.bastion_ctrl_proto &&
270
269
  bastion_ctrl_subdomain == o.bastion_ctrl_subdomain &&
271
270
  cert_issuer_name == o.cert_issuer_name &&
271
+ gateway_url == o.gateway_url &&
272
272
  identity_file == o.identity_file &&
273
273
  json == o.json &&
274
274
  justification == o.justification &&
@@ -292,7 +292,7 @@ module Akeyless
292
292
  # Calculates hash code according to all attributes.
293
293
  # @return [Integer] Hash code
294
294
  def hash
295
- [bastion_gateway_url, helper, rc_file_override, bastion_ctrl_path, bastion_ctrl_port, bastion_ctrl_proto, bastion_ctrl_subdomain, cert_issuer_name, identity_file, json, justification, name, ssh_command, ssh_extra_args, ssh_legacy_signing_alg, target, token, uid_token, use_ssh_agent, via_bastion].hash
295
+ [helper, rc_file_override, bastion_ctrl_path, bastion_ctrl_port, bastion_ctrl_proto, bastion_ctrl_subdomain, cert_issuer_name, gateway_url, identity_file, json, justification, name, ssh_command, ssh_extra_args, ssh_legacy_signing_alg, target, token, uid_token, use_ssh_agent, via_bastion].hash
296
296
  end
297
297
 
298
298
  # Builds the object from hash