akeyless 5.0.3 → 5.0.5

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 (241) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -2
  3. data/docs/AWSGatewayCloudIdentityExternalIdOpt.md +22 -0
  4. data/docs/AWSTargetDetails.md +2 -0
  5. data/docs/AccountGeneralSettings.md +6 -0
  6. data/docs/AzureTargetDetails.md +2 -0
  7. data/docs/CertificateExpirationEventsSettings.md +20 -0
  8. data/docs/CreateAWSTarget.md +4 -0
  9. data/docs/CreatePKICertIssuer.md +3 -1
  10. data/docs/DSProducerDetails.md +14 -0
  11. data/docs/DynamicSecretCreateArtifactory.md +2 -0
  12. data/docs/DynamicSecretCreateAws.md +4 -0
  13. data/docs/DynamicSecretCreateAzure.md +4 -0
  14. data/docs/DynamicSecretCreateCassandra.md +2 -0
  15. data/docs/DynamicSecretCreateChef.md +2 -0
  16. data/docs/DynamicSecretCreateGcp.md +2 -0
  17. data/docs/DynamicSecretCreateHanaDb.md +4 -0
  18. data/docs/DynamicSecretCreateK8s.md +2 -0
  19. data/docs/DynamicSecretCreateLdap.md +2 -0
  20. data/docs/DynamicSecretCreateMongoDb.md +4 -0
  21. data/docs/DynamicSecretCreateMsSql.md +4 -0
  22. data/docs/DynamicSecretCreateMySql.md +4 -0
  23. data/docs/DynamicSecretCreateOracleDb.md +2 -0
  24. data/docs/DynamicSecretCreatePostgreSql.md +4 -0
  25. data/docs/DynamicSecretCreateRdp.md +2 -0
  26. data/docs/DynamicSecretCreateRedis.md +2 -0
  27. data/docs/DynamicSecretCreateRedshift.md +2 -0
  28. data/docs/DynamicSecretCreateSnowflake.md +6 -0
  29. data/docs/DynamicSecretUpdateArtifactory.md +2 -0
  30. data/docs/DynamicSecretUpdateAws.md +4 -0
  31. data/docs/DynamicSecretUpdateAzure.md +4 -0
  32. data/docs/DynamicSecretUpdateCassandra.md +2 -0
  33. data/docs/DynamicSecretUpdateChef.md +2 -0
  34. data/docs/DynamicSecretUpdateGcp.md +2 -0
  35. data/docs/DynamicSecretUpdateHanaDb.md +4 -0
  36. data/docs/DynamicSecretUpdateK8s.md +2 -0
  37. data/docs/DynamicSecretUpdateLdap.md +2 -0
  38. data/docs/DynamicSecretUpdateMongoDb.md +4 -0
  39. data/docs/DynamicSecretUpdateMsSql.md +4 -0
  40. data/docs/DynamicSecretUpdateMySql.md +4 -0
  41. data/docs/DynamicSecretUpdateOracleDb.md +2 -0
  42. data/docs/DynamicSecretUpdatePostgreSql.md +4 -0
  43. data/docs/DynamicSecretUpdateRdp.md +2 -0
  44. data/docs/DynamicSecretUpdateRedis.md +2 -0
  45. data/docs/DynamicSecretUpdateRedshift.md +2 -0
  46. data/docs/DynamicSecretUpdateSnowflake.md +6 -0
  47. data/docs/GatewayCreateProducerArtifactory.md +2 -0
  48. data/docs/GatewayCreateProducerAws.md +4 -0
  49. data/docs/GatewayCreateProducerAzure.md +4 -0
  50. data/docs/GatewayCreateProducerCassandra.md +2 -0
  51. data/docs/GatewayCreateProducerChef.md +2 -0
  52. data/docs/GatewayCreateProducerGcp.md +2 -0
  53. data/docs/GatewayCreateProducerHanaDb.md +4 -0
  54. data/docs/GatewayCreateProducerLdap.md +2 -0
  55. data/docs/GatewayCreateProducerMSSQL.md +4 -0
  56. data/docs/GatewayCreateProducerMongo.md +4 -0
  57. data/docs/GatewayCreateProducerMySQL.md +4 -0
  58. data/docs/GatewayCreateProducerNativeK8S.md +2 -0
  59. data/docs/GatewayCreateProducerOracleDb.md +2 -0
  60. data/docs/GatewayCreateProducerPostgreSQL.md +4 -0
  61. data/docs/GatewayCreateProducerRdp.md +2 -0
  62. data/docs/GatewayCreateProducerRedis.md +2 -0
  63. data/docs/GatewayCreateProducerRedshift.md +2 -0
  64. data/docs/GatewayCreateProducerSnowflake.md +6 -0
  65. data/docs/GatewayDetailsForItemReplyObj.md +2 -0
  66. data/docs/GatewayUpdateProducerArtifactory.md +2 -0
  67. data/docs/GatewayUpdateProducerAws.md +4 -0
  68. data/docs/GatewayUpdateProducerAzure.md +4 -0
  69. data/docs/GatewayUpdateProducerCassandra.md +2 -0
  70. data/docs/GatewayUpdateProducerChef.md +2 -0
  71. data/docs/GatewayUpdateProducerGcp.md +2 -0
  72. data/docs/GatewayUpdateProducerHanaDb.md +4 -0
  73. data/docs/GatewayUpdateProducerLdap.md +2 -0
  74. data/docs/GatewayUpdateProducerMSSQL.md +4 -0
  75. data/docs/GatewayUpdateProducerMongo.md +4 -0
  76. data/docs/GatewayUpdateProducerMySQL.md +4 -0
  77. data/docs/GatewayUpdateProducerNativeK8S.md +2 -0
  78. data/docs/GatewayUpdateProducerOracleDb.md +2 -0
  79. data/docs/GatewayUpdateProducerPostgreSQL.md +4 -0
  80. data/docs/GatewayUpdateProducerRdp.md +2 -0
  81. data/docs/GatewayUpdateProducerRedis.md +2 -0
  82. data/docs/GatewayUpdateProducerRedshift.md +2 -0
  83. data/docs/GatewayUpdateProducerSnowflake.md +6 -0
  84. data/docs/GcpTargetDetails.md +2 -0
  85. data/docs/ItemUSCSyncAssociation.md +1 -1
  86. data/docs/ItemVersion.md +4 -0
  87. data/docs/ListItemsInPathOutput.md +2 -0
  88. data/docs/ListItemsOutput.md +2 -0
  89. data/docs/PKICertificateIssueDetails.md +2 -0
  90. data/docs/RotatedSecretCreateAws.md +5 -1
  91. data/docs/RotatedSecretCreateAzure.md +12 -0
  92. data/docs/RotatedSecretCreateCustom.md +11 -1
  93. data/docs/RotatedSecretCreateGcp.md +6 -0
  94. data/docs/RotatedSecretCreateSnowflake.md +6 -2
  95. data/docs/RotatedSecretDeleteSyncOutput.md +20 -0
  96. data/docs/RotatedSecretDetailsInfo.md +8 -0
  97. data/docs/RotatedSecretSync.md +2 -0
  98. data/docs/RotatedSecretUpdateAws.md +5 -1
  99. data/docs/RotatedSecretUpdateAzure.md +12 -0
  100. data/docs/RotatedSecretUpdateCustom.md +11 -1
  101. data/docs/RotatedSecretUpdateGcp.md +6 -0
  102. data/docs/RotatedSecretUpdateSnowflake.md +5 -1
  103. data/docs/SecretSyncOutput.md +22 -0
  104. data/docs/StaticSecretDeleteSync.md +26 -0
  105. data/docs/StaticSecretDeleteSyncOutput.md +20 -0
  106. data/docs/StaticSecretSync.md +30 -0
  107. data/docs/TargetCreateAws.md +4 -0
  108. data/docs/TargetItemVersion.md +4 -0
  109. data/docs/TargetUpdateAws.md +4 -0
  110. data/docs/UpdateAWSTarget.md +4 -0
  111. data/docs/UpdateAccountSettings.md +8 -0
  112. data/docs/UpdatePKICertIssuer.md +3 -1
  113. data/docs/UscCreate.md +2 -0
  114. data/docs/UscSyncInfo.md +26 -0
  115. data/docs/UscUpdate.md +2 -0
  116. data/docs/V2Api.md +130 -4
  117. data/lib/akeyless/api/v2_api.rb +131 -3
  118. data/lib/akeyless/models/account_general_settings.rb +28 -1
  119. data/lib/akeyless/models/aws_gateway_cloud_identity_external_id_opt.rb +232 -0
  120. data/lib/akeyless/models/aws_target_details.rb +10 -1
  121. data/lib/akeyless/models/azure_target_details.rb +10 -1
  122. data/lib/akeyless/models/certificate_expiration_events_settings.rb +226 -0
  123. data/lib/akeyless/models/create_aws_target.rb +21 -1
  124. data/lib/akeyless/models/create_pki_cert_issuer.rb +12 -2
  125. data/lib/akeyless/models/ds_producer_details.rb +64 -1
  126. data/lib/akeyless/models/dynamic_secret_create_artifactory.rb +11 -1
  127. data/lib/akeyless/models/dynamic_secret_create_aws.rb +21 -1
  128. data/lib/akeyless/models/dynamic_secret_create_azure.rb +21 -1
  129. data/lib/akeyless/models/dynamic_secret_create_cassandra.rb +11 -1
  130. data/lib/akeyless/models/dynamic_secret_create_chef.rb +11 -1
  131. data/lib/akeyless/models/dynamic_secret_create_gcp.rb +11 -1
  132. data/lib/akeyless/models/dynamic_secret_create_hana_db.rb +21 -1
  133. data/lib/akeyless/models/dynamic_secret_create_k8s.rb +11 -1
  134. data/lib/akeyless/models/dynamic_secret_create_ldap.rb +11 -1
  135. data/lib/akeyless/models/dynamic_secret_create_mongo_db.rb +21 -1
  136. data/lib/akeyless/models/dynamic_secret_create_ms_sql.rb +21 -1
  137. data/lib/akeyless/models/dynamic_secret_create_my_sql.rb +21 -1
  138. data/lib/akeyless/models/dynamic_secret_create_oracle_db.rb +11 -1
  139. data/lib/akeyless/models/dynamic_secret_create_postgre_sql.rb +21 -1
  140. data/lib/akeyless/models/dynamic_secret_create_rdp.rb +11 -1
  141. data/lib/akeyless/models/dynamic_secret_create_redis.rb +11 -1
  142. data/lib/akeyless/models/dynamic_secret_create_redshift.rb +11 -1
  143. data/lib/akeyless/models/dynamic_secret_create_snowflake.rb +32 -1
  144. data/lib/akeyless/models/dynamic_secret_update_artifactory.rb +11 -1
  145. data/lib/akeyless/models/dynamic_secret_update_aws.rb +21 -1
  146. data/lib/akeyless/models/dynamic_secret_update_azure.rb +21 -1
  147. data/lib/akeyless/models/dynamic_secret_update_cassandra.rb +11 -1
  148. data/lib/akeyless/models/dynamic_secret_update_chef.rb +11 -1
  149. data/lib/akeyless/models/dynamic_secret_update_gcp.rb +11 -1
  150. data/lib/akeyless/models/dynamic_secret_update_hana_db.rb +21 -1
  151. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +11 -1
  152. data/lib/akeyless/models/dynamic_secret_update_ldap.rb +11 -1
  153. data/lib/akeyless/models/dynamic_secret_update_mongo_db.rb +21 -1
  154. data/lib/akeyless/models/dynamic_secret_update_ms_sql.rb +21 -1
  155. data/lib/akeyless/models/dynamic_secret_update_my_sql.rb +21 -1
  156. data/lib/akeyless/models/dynamic_secret_update_oracle_db.rb +11 -1
  157. data/lib/akeyless/models/dynamic_secret_update_postgre_sql.rb +21 -1
  158. data/lib/akeyless/models/dynamic_secret_update_rdp.rb +11 -1
  159. data/lib/akeyless/models/dynamic_secret_update_redis.rb +11 -1
  160. data/lib/akeyless/models/dynamic_secret_update_redshift.rb +11 -1
  161. data/lib/akeyless/models/dynamic_secret_update_snowflake.rb +32 -1
  162. data/lib/akeyless/models/gateway_create_producer_artifactory.rb +11 -1
  163. data/lib/akeyless/models/gateway_create_producer_aws.rb +21 -1
  164. data/lib/akeyless/models/gateway_create_producer_azure.rb +21 -1
  165. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +11 -1
  166. data/lib/akeyless/models/gateway_create_producer_chef.rb +11 -1
  167. data/lib/akeyless/models/gateway_create_producer_gcp.rb +11 -1
  168. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +21 -1
  169. data/lib/akeyless/models/gateway_create_producer_ldap.rb +11 -1
  170. data/lib/akeyless/models/gateway_create_producer_mongo.rb +21 -1
  171. data/lib/akeyless/models/gateway_create_producer_mssql.rb +21 -1
  172. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +21 -1
  173. data/lib/akeyless/models/gateway_create_producer_native_k8_s.rb +11 -1
  174. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +11 -1
  175. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +21 -1
  176. data/lib/akeyless/models/gateway_create_producer_rdp.rb +11 -1
  177. data/lib/akeyless/models/gateway_create_producer_redis.rb +11 -1
  178. data/lib/akeyless/models/gateway_create_producer_redshift.rb +11 -1
  179. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +32 -1
  180. data/lib/akeyless/models/gateway_details_for_item_reply_obj.rb +10 -1
  181. data/lib/akeyless/models/gateway_update_producer_artifactory.rb +11 -1
  182. data/lib/akeyless/models/gateway_update_producer_aws.rb +21 -1
  183. data/lib/akeyless/models/gateway_update_producer_azure.rb +21 -1
  184. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +11 -1
  185. data/lib/akeyless/models/gateway_update_producer_chef.rb +11 -1
  186. data/lib/akeyless/models/gateway_update_producer_gcp.rb +11 -1
  187. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +21 -1
  188. data/lib/akeyless/models/gateway_update_producer_ldap.rb +11 -1
  189. data/lib/akeyless/models/gateway_update_producer_mongo.rb +21 -1
  190. data/lib/akeyless/models/gateway_update_producer_mssql.rb +21 -1
  191. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +21 -1
  192. data/lib/akeyless/models/gateway_update_producer_native_k8_s.rb +11 -1
  193. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +11 -1
  194. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +21 -1
  195. data/lib/akeyless/models/gateway_update_producer_rdp.rb +11 -1
  196. data/lib/akeyless/models/gateway_update_producer_redis.rb +11 -1
  197. data/lib/akeyless/models/gateway_update_producer_redshift.rb +11 -1
  198. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +32 -1
  199. data/lib/akeyless/models/gcp_target_details.rb +10 -1
  200. data/lib/akeyless/models/item_usc_sync_association.rb +1 -1
  201. data/lib/akeyless/models/item_version.rb +19 -1
  202. data/lib/akeyless/models/list_items_in_path_output.rb +10 -1
  203. data/lib/akeyless/models/list_items_output.rb +10 -1
  204. data/lib/akeyless/models/pki_certificate_issue_details.rb +10 -1
  205. data/lib/akeyless/models/rotated_secret_create_aws.rb +22 -2
  206. data/lib/akeyless/models/rotated_secret_create_azure.rb +63 -1
  207. data/lib/akeyless/models/rotated_secret_create_custom.rb +54 -4
  208. data/lib/akeyless/models/rotated_secret_create_gcp.rb +31 -1
  209. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +23 -3
  210. data/lib/akeyless/models/rotated_secret_delete_sync_output.rb +223 -0
  211. data/lib/akeyless/models/rotated_secret_details_info.rb +37 -1
  212. data/lib/akeyless/models/rotated_secret_sync.rb +11 -1
  213. data/lib/akeyless/models/rotated_secret_update_aws.rb +22 -2
  214. data/lib/akeyless/models/rotated_secret_update_azure.rb +63 -1
  215. data/lib/akeyless/models/rotated_secret_update_custom.rb +54 -4
  216. data/lib/akeyless/models/rotated_secret_update_gcp.rb +31 -1
  217. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +22 -2
  218. data/lib/akeyless/models/secret_sync_output.rb +232 -0
  219. data/lib/akeyless/models/static_secret_delete_sync.rb +271 -0
  220. data/lib/akeyless/models/static_secret_delete_sync_output.rb +223 -0
  221. data/lib/akeyless/models/static_secret_sync.rb +284 -0
  222. data/lib/akeyless/models/target_create_aws.rb +21 -1
  223. data/lib/akeyless/models/target_item_version.rb +19 -1
  224. data/lib/akeyless/models/target_update_aws.rb +21 -1
  225. data/lib/akeyless/models/update_account_settings.rb +43 -1
  226. data/lib/akeyless/models/update_aws_target.rb +21 -1
  227. data/lib/akeyless/models/update_pki_cert_issuer.rb +12 -2
  228. data/lib/akeyless/models/usc_create.rb +11 -1
  229. data/lib/akeyless/models/usc_sync_info.rb +250 -0
  230. data/lib/akeyless/models/usc_update.rb +11 -1
  231. data/lib/akeyless/version.rb +1 -1
  232. data/lib/akeyless.rb +8 -1
  233. data/spec/models/aws_gateway_cloud_identity_external_id_opt_spec.rb +48 -0
  234. data/spec/models/certificate_expiration_events_settings_spec.rb +42 -0
  235. data/spec/models/rotated_secret_delete_sync_output_spec.rb +42 -0
  236. data/spec/models/secret_sync_output_spec.rb +48 -0
  237. data/spec/models/static_secret_delete_sync_output_spec.rb +42 -0
  238. data/spec/models/static_secret_delete_sync_spec.rb +60 -0
  239. data/spec/models/static_secret_sync_spec.rb +72 -0
  240. data/spec/models/usc_sync_info_spec.rb +60 -0
  241. metadata +1089 -1057
@@ -0,0 +1,284 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 3.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.10.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ class StaticSecretSync
18
+ # Set output format to JSON
19
+ attr_accessor :json
20
+
21
+ # Static secret name
22
+ attr_accessor :name
23
+
24
+ # Vault namespace, releavnt only for Hashicorp Vault Target
25
+ attr_accessor :namespace
26
+
27
+ # Remote Secret Name that will be synced on the remote endpoint
28
+ attr_accessor :remote_secret_name
29
+
30
+ # Authentication token (see `/auth` and `/configure`)
31
+ attr_accessor :token
32
+
33
+ # The universal identity token, Required only for universal_identity authentication
34
+ attr_accessor :uid_token
35
+
36
+ # Universal Secret Connector name, If not provided all attached USC's will be synced
37
+ attr_accessor :usc_name
38
+
39
+ # Attribute mapping from ruby-style variable name to JSON key.
40
+ def self.attribute_map
41
+ {
42
+ :'json' => :'json',
43
+ :'name' => :'name',
44
+ :'namespace' => :'namespace',
45
+ :'remote_secret_name' => :'remote-secret-name',
46
+ :'token' => :'token',
47
+ :'uid_token' => :'uid-token',
48
+ :'usc_name' => :'usc-name'
49
+ }
50
+ end
51
+
52
+ # Returns all the JSON keys this model knows about
53
+ def self.acceptable_attributes
54
+ attribute_map.values
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'json' => :'Boolean',
61
+ :'name' => :'String',
62
+ :'namespace' => :'String',
63
+ :'remote_secret_name' => :'String',
64
+ :'token' => :'String',
65
+ :'uid_token' => :'String',
66
+ :'usc_name' => :'String'
67
+ }
68
+ end
69
+
70
+ # List of attributes with nullable: true
71
+ def self.openapi_nullable
72
+ Set.new([
73
+ ])
74
+ end
75
+
76
+ # Initializes the object
77
+ # @param [Hash] attributes Model attributes in the form of hash
78
+ def initialize(attributes = {})
79
+ if (!attributes.is_a?(Hash))
80
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::StaticSecretSync` initialize method"
81
+ end
82
+
83
+ # check to see if the attribute exists and convert string to symbol for hash key
84
+ attributes = attributes.each_with_object({}) { |(k, v), h|
85
+ if (!self.class.attribute_map.key?(k.to_sym))
86
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::StaticSecretSync`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
87
+ end
88
+ h[k.to_sym] = v
89
+ }
90
+
91
+ if attributes.key?(:'json')
92
+ self.json = attributes[:'json']
93
+ else
94
+ self.json = false
95
+ end
96
+
97
+ if attributes.key?(:'name')
98
+ self.name = attributes[:'name']
99
+ else
100
+ self.name = nil
101
+ end
102
+
103
+ if attributes.key?(:'namespace')
104
+ self.namespace = attributes[:'namespace']
105
+ end
106
+
107
+ if attributes.key?(:'remote_secret_name')
108
+ self.remote_secret_name = attributes[:'remote_secret_name']
109
+ end
110
+
111
+ if attributes.key?(:'token')
112
+ self.token = attributes[:'token']
113
+ end
114
+
115
+ if attributes.key?(:'uid_token')
116
+ self.uid_token = attributes[:'uid_token']
117
+ end
118
+
119
+ if attributes.key?(:'usc_name')
120
+ self.usc_name = attributes[:'usc_name']
121
+ end
122
+ end
123
+
124
+ # Show invalid properties with the reasons. Usually used together with valid?
125
+ # @return Array for valid properties with the reasons
126
+ def list_invalid_properties
127
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
128
+ invalid_properties = Array.new
129
+ if @name.nil?
130
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
131
+ end
132
+
133
+ invalid_properties
134
+ end
135
+
136
+ # Check to see if the all the properties in the model are valid
137
+ # @return true if the model is valid
138
+ def valid?
139
+ warn '[DEPRECATED] the `valid?` method is obsolete'
140
+ return false if @name.nil?
141
+ true
142
+ end
143
+
144
+ # Checks equality by comparing each attribute.
145
+ # @param [Object] Object to be compared
146
+ def ==(o)
147
+ return true if self.equal?(o)
148
+ self.class == o.class &&
149
+ json == o.json &&
150
+ name == o.name &&
151
+ namespace == o.namespace &&
152
+ remote_secret_name == o.remote_secret_name &&
153
+ token == o.token &&
154
+ uid_token == o.uid_token &&
155
+ usc_name == o.usc_name
156
+ end
157
+
158
+ # @see the `==` method
159
+ # @param [Object] Object to be compared
160
+ def eql?(o)
161
+ self == o
162
+ end
163
+
164
+ # Calculates hash code according to all attributes.
165
+ # @return [Integer] Hash code
166
+ def hash
167
+ [json, name, namespace, remote_secret_name, token, uid_token, usc_name].hash
168
+ end
169
+
170
+ # Builds the object from hash
171
+ # @param [Hash] attributes Model attributes in the form of hash
172
+ # @return [Object] Returns the model itself
173
+ def self.build_from_hash(attributes)
174
+ return nil unless attributes.is_a?(Hash)
175
+ attributes = attributes.transform_keys(&:to_sym)
176
+ transformed_hash = {}
177
+ openapi_types.each_pair do |key, type|
178
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
179
+ transformed_hash["#{key}"] = nil
180
+ elsif type =~ /\AArray<(.*)>/i
181
+ # check to ensure the input is an array given that the attribute
182
+ # is documented as an array but the input is not
183
+ if attributes[attribute_map[key]].is_a?(Array)
184
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
185
+ end
186
+ elsif !attributes[attribute_map[key]].nil?
187
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
188
+ end
189
+ end
190
+ new(transformed_hash)
191
+ end
192
+
193
+ # Deserializes the data based on type
194
+ # @param string type Data type
195
+ # @param string value Value to be deserialized
196
+ # @return [Object] Deserialized data
197
+ def self._deserialize(type, value)
198
+ case type.to_sym
199
+ when :Time
200
+ Time.parse(value)
201
+ when :Date
202
+ Date.parse(value)
203
+ when :String
204
+ value.to_s
205
+ when :Integer
206
+ value.to_i
207
+ when :Float
208
+ value.to_f
209
+ when :Boolean
210
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
211
+ true
212
+ else
213
+ false
214
+ end
215
+ when :Object
216
+ # generic object (usually a Hash), return directly
217
+ value
218
+ when /\AArray<(?<inner_type>.+)>\z/
219
+ inner_type = Regexp.last_match[:inner_type]
220
+ value.map { |v| _deserialize(inner_type, v) }
221
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
222
+ k_type = Regexp.last_match[:k_type]
223
+ v_type = Regexp.last_match[:v_type]
224
+ {}.tap do |hash|
225
+ value.each do |k, v|
226
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
227
+ end
228
+ end
229
+ else # model
230
+ # models (e.g. Pet) or oneOf
231
+ klass = Akeyless.const_get(type)
232
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
233
+ end
234
+ end
235
+
236
+ # Returns the string representation of the object
237
+ # @return [String] String presentation of the object
238
+ def to_s
239
+ to_hash.to_s
240
+ end
241
+
242
+ # to_body is an alias to to_hash (backward compatibility)
243
+ # @return [Hash] Returns the object in the form of hash
244
+ def to_body
245
+ to_hash
246
+ end
247
+
248
+ # Returns the object in the form of hash
249
+ # @return [Hash] Returns the object in the form of hash
250
+ def to_hash
251
+ hash = {}
252
+ self.class.attribute_map.each_pair do |attr, param|
253
+ value = self.send(attr)
254
+ if value.nil?
255
+ is_nullable = self.class.openapi_nullable.include?(attr)
256
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
257
+ end
258
+
259
+ hash[param] = _to_hash(value)
260
+ end
261
+ hash
262
+ end
263
+
264
+ # Outputs non-array value in the form of hash
265
+ # For object, use to_hash. Otherwise, just return the value
266
+ # @param [Object] value Any valid value
267
+ # @return [Hash] Returns the value in the form of hash
268
+ def _to_hash(value)
269
+ if value.is_a?(Array)
270
+ value.compact.map { |v| _to_hash(v) }
271
+ elsif value.is_a?(Hash)
272
+ {}.tap do |hash|
273
+ value.each { |k, v| hash[k] = _to_hash(v) }
274
+ end
275
+ elsif value.respond_to? :to_hash
276
+ value.to_hash
277
+ else
278
+ value
279
+ end
280
+ end
281
+
282
+ end
283
+
284
+ end
@@ -24,6 +24,9 @@ module Akeyless
24
24
  # Description of the object
25
25
  attr_accessor :description
26
26
 
27
+ # A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
28
+ attr_accessor :generate_external_id
29
+
27
30
  # Set output format to JSON
28
31
  attr_accessor :json
29
32
 
@@ -39,6 +42,9 @@ module Akeyless
39
42
  # AWS region
40
43
  attr_accessor :region
41
44
 
45
+ # AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
46
+ attr_accessor :role_arn
47
+
42
48
  # Required only for temporary security credentials retrieved using STS
43
49
  attr_accessor :session_token
44
50
 
@@ -57,11 +63,13 @@ module Akeyless
57
63
  :'access_key' => :'access-key',
58
64
  :'access_key_id' => :'access-key-id',
59
65
  :'description' => :'description',
66
+ :'generate_external_id' => :'generate-external-id',
60
67
  :'json' => :'json',
61
68
  :'key' => :'key',
62
69
  :'max_versions' => :'max-versions',
63
70
  :'name' => :'name',
64
71
  :'region' => :'region',
72
+ :'role_arn' => :'role-arn',
65
73
  :'session_token' => :'session-token',
66
74
  :'token' => :'token',
67
75
  :'uid_token' => :'uid-token',
@@ -80,11 +88,13 @@ module Akeyless
80
88
  :'access_key' => :'String',
81
89
  :'access_key_id' => :'String',
82
90
  :'description' => :'String',
91
+ :'generate_external_id' => :'Boolean',
83
92
  :'json' => :'Boolean',
84
93
  :'key' => :'String',
85
94
  :'max_versions' => :'String',
86
95
  :'name' => :'String',
87
96
  :'region' => :'String',
97
+ :'role_arn' => :'String',
88
98
  :'session_token' => :'String',
89
99
  :'token' => :'String',
90
100
  :'uid_token' => :'String',
@@ -129,6 +139,10 @@ module Akeyless
129
139
  self.description = attributes[:'description']
130
140
  end
131
141
 
142
+ if attributes.key?(:'generate_external_id')
143
+ self.generate_external_id = attributes[:'generate_external_id']
144
+ end
145
+
132
146
  if attributes.key?(:'json')
133
147
  self.json = attributes[:'json']
134
148
  else
@@ -155,6 +169,10 @@ module Akeyless
155
169
  self.region = 'us-east-2'
156
170
  end
157
171
 
172
+ if attributes.key?(:'role_arn')
173
+ self.role_arn = attributes[:'role_arn']
174
+ end
175
+
158
176
  if attributes.key?(:'session_token')
159
177
  self.session_token = attributes[:'session_token']
160
178
  end
@@ -210,11 +228,13 @@ module Akeyless
210
228
  access_key == o.access_key &&
211
229
  access_key_id == o.access_key_id &&
212
230
  description == o.description &&
231
+ generate_external_id == o.generate_external_id &&
213
232
  json == o.json &&
214
233
  key == o.key &&
215
234
  max_versions == o.max_versions &&
216
235
  name == o.name &&
217
236
  region == o.region &&
237
+ role_arn == o.role_arn &&
218
238
  session_token == o.session_token &&
219
239
  token == o.token &&
220
240
  uid_token == o.uid_token &&
@@ -230,7 +250,7 @@ module Akeyless
230
250
  # Calculates hash code according to all attributes.
231
251
  # @return [Integer] Hash code
232
252
  def hash
233
- [access_key, access_key_id, description, json, key, max_versions, name, region, session_token, token, uid_token, use_gw_cloud_identity].hash
253
+ [access_key, access_key_id, description, generate_external_id, json, key, max_versions, name, region, role_arn, session_token, token, uid_token, use_gw_cloud_identity].hash
234
254
  end
235
255
 
236
256
  # Builds the object from hash
@@ -19,6 +19,8 @@ module Akeyless
19
19
 
20
20
  attr_accessor :access_date_display
21
21
 
22
+ attr_accessor :access_id
23
+
22
24
  attr_accessor :certificate_version_info
23
25
 
24
26
  attr_accessor :creation_date
@@ -38,6 +40,8 @@ module Akeyless
38
40
 
39
41
  attr_accessor :target_name
40
42
 
43
+ attr_accessor :unique_identifier
44
+
41
45
  attr_accessor :version
42
46
 
43
47
  attr_accessor :with_customer_fragment
@@ -47,6 +51,7 @@ module Akeyless
47
51
  {
48
52
  :'access_date' => :'access_date',
49
53
  :'access_date_display' => :'access_date_display',
54
+ :'access_id' => :'access_id',
50
55
  :'certificate_version_info' => :'certificate_version_info',
51
56
  :'creation_date' => :'creation_date',
52
57
  :'customer_fragment_id' => :'customer_fragment_id',
@@ -56,6 +61,7 @@ module Akeyless
56
61
  :'modification_date' => :'modification_date',
57
62
  :'protection_key_name' => :'protection_key_name',
58
63
  :'target_name' => :'target_name',
64
+ :'unique_identifier' => :'unique_identifier',
59
65
  :'version' => :'version',
60
66
  :'with_customer_fragment' => :'with_customer_fragment'
61
67
  }
@@ -71,6 +77,7 @@ module Akeyless
71
77
  {
72
78
  :'access_date' => :'Time',
73
79
  :'access_date_display' => :'String',
80
+ :'access_id' => :'String',
74
81
  :'certificate_version_info' => :'CertificateVersionInfo',
75
82
  :'creation_date' => :'Time',
76
83
  :'customer_fragment_id' => :'String',
@@ -80,6 +87,7 @@ module Akeyless
80
87
  :'modification_date' => :'Time',
81
88
  :'protection_key_name' => :'String',
82
89
  :'target_name' => :'String',
90
+ :'unique_identifier' => :'String',
83
91
  :'version' => :'Integer',
84
92
  :'with_customer_fragment' => :'Boolean'
85
93
  }
@@ -114,6 +122,10 @@ module Akeyless
114
122
  self.access_date_display = attributes[:'access_date_display']
115
123
  end
116
124
 
125
+ if attributes.key?(:'access_id')
126
+ self.access_id = attributes[:'access_id']
127
+ end
128
+
117
129
  if attributes.key?(:'certificate_version_info')
118
130
  self.certificate_version_info = attributes[:'certificate_version_info']
119
131
  end
@@ -150,6 +162,10 @@ module Akeyless
150
162
  self.target_name = attributes[:'target_name']
151
163
  end
152
164
 
165
+ if attributes.key?(:'unique_identifier')
166
+ self.unique_identifier = attributes[:'unique_identifier']
167
+ end
168
+
153
169
  if attributes.key?(:'version')
154
170
  self.version = attributes[:'version']
155
171
  end
@@ -181,6 +197,7 @@ module Akeyless
181
197
  self.class == o.class &&
182
198
  access_date == o.access_date &&
183
199
  access_date_display == o.access_date_display &&
200
+ access_id == o.access_id &&
184
201
  certificate_version_info == o.certificate_version_info &&
185
202
  creation_date == o.creation_date &&
186
203
  customer_fragment_id == o.customer_fragment_id &&
@@ -190,6 +207,7 @@ module Akeyless
190
207
  modification_date == o.modification_date &&
191
208
  protection_key_name == o.protection_key_name &&
192
209
  target_name == o.target_name &&
210
+ unique_identifier == o.unique_identifier &&
193
211
  version == o.version &&
194
212
  with_customer_fragment == o.with_customer_fragment
195
213
  end
@@ -203,7 +221,7 @@ module Akeyless
203
221
  # Calculates hash code according to all attributes.
204
222
  # @return [Integer] Hash code
205
223
  def hash
206
- [access_date, access_date_display, certificate_version_info, creation_date, customer_fragment_id, deletion_date, item_version_state, latest_version, modification_date, protection_key_name, target_name, version, with_customer_fragment].hash
224
+ [access_date, access_date_display, access_id, certificate_version_info, creation_date, customer_fragment_id, deletion_date, item_version_state, latest_version, modification_date, protection_key_name, target_name, unique_identifier, version, with_customer_fragment].hash
207
225
  end
208
226
 
209
227
  # Builds the object from hash
@@ -24,6 +24,9 @@ module Akeyless
24
24
  # Description of the object
25
25
  attr_accessor :description
26
26
 
27
+ # A unique auto-generated value used in your AWS account when configuring your AWS IAM role to securely delegate access to Akeyless. Relevant only when using GW cloud ID
28
+ attr_accessor :generate_external_id
29
+
27
30
  # Set output format to JSON
28
31
  attr_accessor :json
29
32
 
@@ -45,6 +48,9 @@ module Akeyless
45
48
  # AWS region
46
49
  attr_accessor :region
47
50
 
51
+ # AWS IAM role identifier that Gateway will assume in your AWS account, relevant only when using external ID
52
+ attr_accessor :role_arn
53
+
48
54
  # Required only for temporary security credentials retrieved using STS
49
55
  attr_accessor :session_token
50
56
 
@@ -63,6 +69,7 @@ module Akeyless
63
69
  :'access_key' => :'access-key',
64
70
  :'access_key_id' => :'access-key-id',
65
71
  :'description' => :'description',
72
+ :'generate_external_id' => :'generate-external-id',
66
73
  :'json' => :'json',
67
74
  :'keep_prev_version' => :'keep-prev-version',
68
75
  :'key' => :'key',
@@ -70,6 +77,7 @@ module Akeyless
70
77
  :'name' => :'name',
71
78
  :'new_name' => :'new-name',
72
79
  :'region' => :'region',
80
+ :'role_arn' => :'role-arn',
73
81
  :'session_token' => :'session-token',
74
82
  :'token' => :'token',
75
83
  :'uid_token' => :'uid-token',
@@ -88,6 +96,7 @@ module Akeyless
88
96
  :'access_key' => :'String',
89
97
  :'access_key_id' => :'String',
90
98
  :'description' => :'String',
99
+ :'generate_external_id' => :'Boolean',
91
100
  :'json' => :'Boolean',
92
101
  :'keep_prev_version' => :'String',
93
102
  :'key' => :'String',
@@ -95,6 +104,7 @@ module Akeyless
95
104
  :'name' => :'String',
96
105
  :'new_name' => :'String',
97
106
  :'region' => :'String',
107
+ :'role_arn' => :'String',
98
108
  :'session_token' => :'String',
99
109
  :'token' => :'String',
100
110
  :'uid_token' => :'String',
@@ -139,6 +149,10 @@ module Akeyless
139
149
  self.description = attributes[:'description']
140
150
  end
141
151
 
152
+ if attributes.key?(:'generate_external_id')
153
+ self.generate_external_id = attributes[:'generate_external_id']
154
+ end
155
+
142
156
  if attributes.key?(:'json')
143
157
  self.json = attributes[:'json']
144
158
  else
@@ -173,6 +187,10 @@ module Akeyless
173
187
  self.region = 'us-east-2'
174
188
  end
175
189
 
190
+ if attributes.key?(:'role_arn')
191
+ self.role_arn = attributes[:'role_arn']
192
+ end
193
+
176
194
  if attributes.key?(:'session_token')
177
195
  self.session_token = attributes[:'session_token']
178
196
  end
@@ -228,6 +246,7 @@ module Akeyless
228
246
  access_key == o.access_key &&
229
247
  access_key_id == o.access_key_id &&
230
248
  description == o.description &&
249
+ generate_external_id == o.generate_external_id &&
231
250
  json == o.json &&
232
251
  keep_prev_version == o.keep_prev_version &&
233
252
  key == o.key &&
@@ -235,6 +254,7 @@ module Akeyless
235
254
  name == o.name &&
236
255
  new_name == o.new_name &&
237
256
  region == o.region &&
257
+ role_arn == o.role_arn &&
238
258
  session_token == o.session_token &&
239
259
  token == o.token &&
240
260
  uid_token == o.uid_token &&
@@ -250,7 +270,7 @@ module Akeyless
250
270
  # Calculates hash code according to all attributes.
251
271
  # @return [Integer] Hash code
252
272
  def hash
253
- [access_key, access_key_id, description, json, keep_prev_version, key, max_versions, name, new_name, region, session_token, token, uid_token, use_gw_cloud_identity].hash
273
+ [access_key, access_key_id, description, generate_external_id, json, keep_prev_version, key, max_versions, name, new_name, region, role_arn, session_token, token, uid_token, use_gw_cloud_identity].hash
254
274
  end
255
275
 
256
276
  # Builds the object from hash