akeyless 5.0.39 → 5.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +190 -0
  3. data/README.md +15 -1
  4. data/akeyless.gemspec +1 -1
  5. data/docs/AccountGeneralSettings.md +2 -0
  6. data/docs/AliCloudTargetDetails.md +28 -0
  7. data/docs/AssocTargetItem.md +12 -0
  8. data/docs/AuthMethodAccessInfo.md +2 -0
  9. data/docs/AuthMethodCreateOIDC.md +8 -0
  10. data/docs/AuthMethodCreateOutput.md +3 -1
  11. data/docs/AuthMethodCreateSAML.md +8 -0
  12. data/docs/AuthMethodUpdateOIDC.md +8 -0
  13. data/docs/AuthMethodUpdateOutput.md +3 -1
  14. data/docs/AuthMethodUpdateSAML.md +8 -0
  15. data/docs/CreateUSC.md +2 -0
  16. data/docs/DynamicSecretCreateEks.md +3 -1
  17. data/docs/DynamicSecretCreateGke.md +3 -1
  18. data/docs/DynamicSecretCreateK8s.md +3 -1
  19. data/docs/DynamicSecretUpdateEks.md +3 -1
  20. data/docs/DynamicSecretUpdateGke.md +3 -1
  21. data/docs/DynamicSecretUpdateK8s.md +3 -1
  22. data/docs/EventForwarderCreateEmail.md +1 -1
  23. data/docs/EventForwarderUpdateEmail.md +1 -1
  24. data/docs/GatewayCreateMigration.md +2 -0
  25. data/docs/GatewayCreateProducerEks.md +3 -1
  26. data/docs/GatewayCreateProducerGke.md +3 -1
  27. data/docs/GatewayCreateProducerNativeK8S.md +3 -1
  28. data/docs/GatewayUpdateMigration.md +2 -0
  29. data/docs/GatewayUpdateProducerEks.md +3 -1
  30. data/docs/GatewayUpdateProducerGke.md +3 -1
  31. data/docs/GatewayUpdateProducerNativeK8S.md +3 -1
  32. data/docs/GetGroupOutput.md +13 -1
  33. data/docs/GetScimStatus.md +24 -0
  34. data/docs/GrantedRole.md +20 -0
  35. data/docs/Group.md +13 -1
  36. data/docs/ListTargets.md +1 -1
  37. data/docs/RotatedSecretCreateAliCloud.md +90 -0
  38. data/docs/RotatedSecretCreateAzure.md +1 -1
  39. data/docs/RotatedSecretUpdateAliCloud.md +92 -0
  40. data/docs/RotatedSecretUpdateAzure.md +1 -1
  41. data/docs/ScimSettings.md +30 -0
  42. data/docs/ScimStatus.md +42 -0
  43. data/docs/TargetCreateAliCloud.md +52 -0
  44. data/docs/TargetList.md +1 -1
  45. data/docs/TargetTypeDetailsInput.md +2 -0
  46. data/docs/TargetUpdateAliCloud.md +56 -0
  47. data/docs/UpdateItem.md +3 -1
  48. data/docs/UpdateRotatedSecret.md +3 -1
  49. data/docs/UscCreate.md +3 -1
  50. data/docs/UscDelete.md +4 -0
  51. data/docs/UscGet.md +4 -0
  52. data/docs/UscList.md +4 -0
  53. data/docs/UscUpdate.md +4 -0
  54. data/docs/V2Api.md +322 -6
  55. data/lib/akeyless/api/v2_api.rb +325 -5
  56. data/lib/akeyless/models/account_general_settings.rb +13 -1
  57. data/lib/akeyless/models/ali_cloud_target_details.rb +259 -0
  58. data/lib/akeyless/models/assoc_target_item.rb +63 -1
  59. data/lib/akeyless/models/attribute_type_and_value.rb +1 -1
  60. data/lib/akeyless/models/auth_method_access_info.rb +10 -1
  61. data/lib/akeyless/models/auth_method_create_oidc.rb +41 -1
  62. data/lib/akeyless/models/auth_method_create_output.rb +14 -4
  63. data/lib/akeyless/models/auth_method_create_saml.rb +41 -1
  64. data/lib/akeyless/models/auth_method_update_oidc.rb +41 -1
  65. data/lib/akeyless/models/auth_method_update_output.rb +14 -4
  66. data/lib/akeyless/models/auth_method_update_saml.rb +41 -1
  67. data/lib/akeyless/models/create_mcp_secret_bearer_token.rb +3 -0
  68. data/lib/akeyless/models/create_mcp_secret_o_auth_auth_code.rb +3 -0
  69. data/lib/akeyless/models/create_mcp_secret_o_auth_client_creds.rb +3 -0
  70. data/lib/akeyless/models/create_secret.rb +3 -0
  71. data/lib/akeyless/models/create_usc.rb +11 -1
  72. data/lib/akeyless/models/dynamic_secret_create_eks.rb +12 -2
  73. data/lib/akeyless/models/dynamic_secret_create_gke.rb +12 -2
  74. data/lib/akeyless/models/dynamic_secret_create_k8s.rb +12 -2
  75. data/lib/akeyless/models/dynamic_secret_update_eks.rb +12 -2
  76. data/lib/akeyless/models/dynamic_secret_update_gke.rb +12 -2
  77. data/lib/akeyless/models/dynamic_secret_update_k8s.rb +12 -2
  78. data/lib/akeyless/models/event_forwarder_create_email.rb +1 -1
  79. data/lib/akeyless/models/event_forwarder_update_email.rb +1 -1
  80. data/lib/akeyless/models/gateway_create_migration.rb +12 -1
  81. data/lib/akeyless/models/gateway_create_producer_artifactory.rb +4 -0
  82. data/lib/akeyless/models/gateway_create_producer_aws.rb +4 -0
  83. data/lib/akeyless/models/gateway_create_producer_azure.rb +4 -0
  84. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +4 -0
  85. data/lib/akeyless/models/gateway_create_producer_chef.rb +4 -0
  86. data/lib/akeyless/models/gateway_create_producer_custom.rb +4 -0
  87. data/lib/akeyless/models/gateway_create_producer_dockerhub.rb +4 -0
  88. data/lib/akeyless/models/gateway_create_producer_eks.rb +16 -2
  89. data/lib/akeyless/models/gateway_create_producer_gcp.rb +4 -0
  90. data/lib/akeyless/models/gateway_create_producer_github.rb +4 -0
  91. data/lib/akeyless/models/gateway_create_producer_gke.rb +16 -2
  92. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +4 -0
  93. data/lib/akeyless/models/gateway_create_producer_ldap.rb +4 -0
  94. data/lib/akeyless/models/gateway_create_producer_mongo.rb +4 -0
  95. data/lib/akeyless/models/gateway_create_producer_mssql.rb +4 -0
  96. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +4 -0
  97. data/lib/akeyless/models/gateway_create_producer_native_k8_s.rb +16 -2
  98. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +4 -0
  99. data/lib/akeyless/models/gateway_create_producer_ping.rb +4 -0
  100. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +4 -0
  101. data/lib/akeyless/models/gateway_create_producer_rabbit_mq.rb +4 -0
  102. data/lib/akeyless/models/gateway_create_producer_rdp.rb +4 -0
  103. data/lib/akeyless/models/gateway_create_producer_redis.rb +4 -0
  104. data/lib/akeyless/models/gateway_create_producer_redshift.rb +4 -0
  105. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +4 -0
  106. data/lib/akeyless/models/gateway_create_producer_venafi.rb +4 -0
  107. data/lib/akeyless/models/gateway_delete_producer.rb +4 -0
  108. data/lib/akeyless/models/gateway_get_producer.rb +4 -0
  109. data/lib/akeyless/models/gateway_get_tmp_users.rb +4 -0
  110. data/lib/akeyless/models/gateway_revoke_tmp_users.rb +4 -0
  111. data/lib/akeyless/models/gateway_start_producer.rb +4 -0
  112. data/lib/akeyless/models/gateway_stop_producer.rb +4 -0
  113. data/lib/akeyless/models/gateway_update_migration.rb +12 -1
  114. data/lib/akeyless/models/gateway_update_producer_artifactory.rb +4 -0
  115. data/lib/akeyless/models/gateway_update_producer_aws.rb +4 -0
  116. data/lib/akeyless/models/gateway_update_producer_azure.rb +4 -0
  117. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +4 -0
  118. data/lib/akeyless/models/gateway_update_producer_chef.rb +4 -0
  119. data/lib/akeyless/models/gateway_update_producer_custom.rb +4 -0
  120. data/lib/akeyless/models/gateway_update_producer_dockerhub.rb +4 -0
  121. data/lib/akeyless/models/gateway_update_producer_eks.rb +16 -2
  122. data/lib/akeyless/models/gateway_update_producer_gcp.rb +4 -0
  123. data/lib/akeyless/models/gateway_update_producer_github.rb +4 -0
  124. data/lib/akeyless/models/gateway_update_producer_gke.rb +16 -2
  125. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +4 -0
  126. data/lib/akeyless/models/gateway_update_producer_ldap.rb +4 -0
  127. data/lib/akeyless/models/gateway_update_producer_mongo.rb +4 -0
  128. data/lib/akeyless/models/gateway_update_producer_mssql.rb +4 -0
  129. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +4 -0
  130. data/lib/akeyless/models/gateway_update_producer_native_k8_s.rb +16 -2
  131. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +4 -0
  132. data/lib/akeyless/models/gateway_update_producer_ping.rb +4 -0
  133. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +4 -0
  134. data/lib/akeyless/models/gateway_update_producer_rabbit_mq.rb +4 -0
  135. data/lib/akeyless/models/gateway_update_producer_rdp.rb +4 -0
  136. data/lib/akeyless/models/gateway_update_producer_redis.rb +4 -0
  137. data/lib/akeyless/models/gateway_update_producer_redshift.rb +4 -0
  138. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +4 -0
  139. data/lib/akeyless/models/gateway_update_producer_venafi.rb +4 -0
  140. data/lib/akeyless/models/gateway_update_tmp_users.rb +4 -0
  141. data/lib/akeyless/models/get_group_output.rb +63 -4
  142. data/lib/akeyless/models/get_scim_status.rb +254 -0
  143. data/lib/akeyless/models/granted_role.rb +224 -0
  144. data/lib/akeyless/models/group.rb +63 -4
  145. data/lib/akeyless/models/list_targets.rb +1 -1
  146. data/lib/akeyless/models/rotated_secret_create_ali_cloud.rb +605 -0
  147. data/lib/akeyless/models/rotated_secret_create_azure.rb +1 -1
  148. data/lib/akeyless/models/rotated_secret_update_ali_cloud.rb +605 -0
  149. data/lib/akeyless/models/rotated_secret_update_azure.rb +1 -1
  150. data/lib/akeyless/models/scim_settings.rb +271 -0
  151. data/lib/akeyless/models/scim_status.rb +323 -0
  152. data/lib/akeyless/models/target_create_ali_cloud.rb +394 -0
  153. data/lib/akeyless/models/target_list.rb +1 -1
  154. data/lib/akeyless/models/target_type_details_input.rb +10 -1
  155. data/lib/akeyless/models/target_update_ali_cloud.rb +414 -0
  156. data/lib/akeyless/models/update_item.rb +23 -2
  157. data/lib/akeyless/models/update_mcp_secret_bearer_token.rb +3 -0
  158. data/lib/akeyless/models/update_mcp_secret_o_auth_auth_code.rb +3 -0
  159. data/lib/akeyless/models/update_mcp_secret_o_auth_client_creds.rb +3 -0
  160. data/lib/akeyless/models/update_rotated_secret.rb +20 -2
  161. data/lib/akeyless/models/usc_create.rb +12 -2
  162. data/lib/akeyless/models/usc_delete.rb +21 -1
  163. data/lib/akeyless/models/usc_get.rb +21 -1
  164. data/lib/akeyless/models/usc_list.rb +21 -1
  165. data/lib/akeyless/models/usc_update.rb +21 -1
  166. data/lib/akeyless/version.rb +1 -1
  167. data/lib/akeyless.rb +9 -0
  168. data/spec/models/ali_cloud_target_details_spec.rb +66 -0
  169. data/spec/models/get_scim_status_spec.rb +54 -0
  170. data/spec/models/granted_role_spec.rb +42 -0
  171. data/spec/models/rotated_secret_create_ali_cloud_spec.rb +252 -0
  172. data/spec/models/rotated_secret_update_ali_cloud_spec.rb +258 -0
  173. data/spec/models/scim_settings_spec.rb +72 -0
  174. data/spec/models/scim_status_spec.rb +108 -0
  175. data/spec/models/target_create_ali_cloud_spec.rb +138 -0
  176. data/spec/models/target_update_ali_cloud_spec.rb +150 -0
  177. metadata +54 -17
@@ -0,0 +1,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: 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 AliCloudTargetDetails
18
+ attr_accessor :access_key
19
+
20
+ attr_accessor :access_key_id
21
+
22
+ attr_accessor :gw_cloud_identity_external_id_opt
23
+
24
+ attr_accessor :region
25
+
26
+ attr_accessor :session_token
27
+
28
+ attr_accessor :use_gw_cloud_identity
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'access_key' => :'access_key',
34
+ :'access_key_id' => :'access_key_id',
35
+ :'gw_cloud_identity_external_id_opt' => :'gw_cloud_identity_external_id_opt',
36
+ :'region' => :'region',
37
+ :'session_token' => :'session_token',
38
+ :'use_gw_cloud_identity' => :'use_gw_cloud_identity'
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
+ :'access_key' => :'String',
51
+ :'access_key_id' => :'String',
52
+ :'gw_cloud_identity_external_id_opt' => :'AWSGatewayCloudIdentityExternalIdOpt',
53
+ :'region' => :'String',
54
+ :'session_token' => :'String',
55
+ :'use_gw_cloud_identity' => :'Boolean'
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::AliCloudTargetDetails` 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::AliCloudTargetDetails`. 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?(:'access_key')
81
+ self.access_key = attributes[:'access_key']
82
+ end
83
+
84
+ if attributes.key?(:'access_key_id')
85
+ self.access_key_id = attributes[:'access_key_id']
86
+ end
87
+
88
+ if attributes.key?(:'gw_cloud_identity_external_id_opt')
89
+ self.gw_cloud_identity_external_id_opt = attributes[:'gw_cloud_identity_external_id_opt']
90
+ end
91
+
92
+ if attributes.key?(:'region')
93
+ self.region = attributes[:'region']
94
+ end
95
+
96
+ if attributes.key?(:'session_token')
97
+ self.session_token = attributes[:'session_token']
98
+ end
99
+
100
+ if attributes.key?(:'use_gw_cloud_identity')
101
+ self.use_gw_cloud_identity = attributes[:'use_gw_cloud_identity']
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
+ access_key == o.access_key &&
126
+ access_key_id == o.access_key_id &&
127
+ gw_cloud_identity_external_id_opt == o.gw_cloud_identity_external_id_opt &&
128
+ region == o.region &&
129
+ session_token == o.session_token &&
130
+ use_gw_cloud_identity == o.use_gw_cloud_identity
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
+ [access_key, access_key_id, gw_cloud_identity_external_id_opt, region, session_token, use_gw_cloud_identity].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
@@ -19,9 +19,15 @@ module Akeyless
19
19
  # Bind the provisioned certificate to an existing client-ssl/server-ssl profile, in the format <type>:<partition>:<name> (relevant only for F5 BIG-IP certificate provisioning). Leave the partition empty to use the certificate's partition. For a profile in a folder, add the folder to the partition, for example client-ssl:Common/Shared:my-profile. Repeat the parameter to bind several profiles.
20
20
  attr_accessor :bind_ssl_profiles
21
21
 
22
+ # The ARN of an existing imported ACM certificate to re-import into, which replaces its certificate and key; if empty, a new ACM certificate is created on every provisioning, including after renewal (relevant only for AWS certificate provisioning)
23
+ attr_accessor :certificate_arn
24
+
22
25
  # The format the certificate will be provisioned with, available options: pem,pfx (relevant only for certificate provisioning)
23
26
  attr_accessor :certificate_format
24
27
 
28
+ # The name of the certificate object in the cloud provider (relevant only for AWS, Azure, and GCP certificate provisioning)
29
+ attr_accessor :certificate_name
30
+
25
31
  # A path on the target to store the certificate pem file (relevant only for certificate provisioning)
26
32
  attr_accessor :certificate_path
27
33
 
@@ -34,12 +40,21 @@ module Akeyless
34
40
  # The external key name to associate with the classic key (Relevant only for Classic Key AWS/Azure/GCP targets)
35
41
  attr_accessor :external_key_name
36
42
 
43
+ # Save the F5 running configuration after each successful provisioning, so the certificate survives a reboot. This also saves any other unsaved change on the device (relevant only for F5 BIG-IP certificate provisioning)
44
+ attr_accessor :f5_save_config
45
+
46
+ # Sync the F5 configuration to this device group after each successful provisioning, so the HA peer serves the same certificate. This overwrites unsynced changes on the other members of the group. Implies f5-save-config (relevant only for F5 BIG-IP certificate provisioning)
47
+ attr_accessor :f5_sync_device_group
48
+
37
49
  # Set output format to JSON
38
50
  attr_accessor :json
39
51
 
40
52
  # A list of allowed operations for the key (required for azure targets)
41
53
  attr_accessor :key_operations
42
54
 
55
+ # The Azure Key Vault name to provision the certificate to (relevant only for Azure certificate provisioning)
56
+ attr_accessor :key_vault
57
+
43
58
  # Keyring name of the GCP KMS (required for gcp targets)
44
59
  attr_accessor :keyring_name
45
60
 
@@ -49,6 +64,9 @@ module Akeyless
49
64
  # Location id of the GCP KMS (required for gcp targets)
50
65
  attr_accessor :location_id
51
66
 
67
+ # The GCP Certificate Manager location to provision the certificate to: global or a region such as us-central1 (relevant only for GCP certificate provisioning)
68
+ attr_accessor :location_scope
69
+
52
70
  # Set to 'true' to create a multi-region managed key. (Relevant only for Classic Key AWS targets)
53
71
  attr_accessor :multi_region
54
72
 
@@ -98,16 +116,22 @@ module Akeyless
98
116
  def self.attribute_map
99
117
  {
100
118
  :'bind_ssl_profiles' => :'bind-ssl-profiles',
119
+ :'certificate_arn' => :'certificate-arn',
101
120
  :'certificate_format' => :'certificate-format',
121
+ :'certificate_name' => :'certificate-name',
102
122
  :'certificate_path' => :'certificate-path',
103
123
  :'chain_path' => :'chain-path',
104
124
  :'disable_previous_key_version' => :'disable-previous-key-version',
105
125
  :'external_key_name' => :'external-key-name',
126
+ :'f5_save_config' => :'f5-save-config',
127
+ :'f5_sync_device_group' => :'f5-sync-device-group',
106
128
  :'json' => :'json',
107
129
  :'key_operations' => :'key-operations',
130
+ :'key_vault' => :'key-vault',
108
131
  :'keyring_name' => :'keyring-name',
109
132
  :'kms_algorithm' => :'kms-algorithm',
110
133
  :'location_id' => :'location-id',
134
+ :'location_scope' => :'location-scope',
111
135
  :'multi_region' => :'multi-region',
112
136
  :'name' => :'name',
113
137
  :'pfx_password' => :'pfx-password',
@@ -135,16 +159,22 @@ module Akeyless
135
159
  def self.openapi_types
136
160
  {
137
161
  :'bind_ssl_profiles' => :'Array<String>',
162
+ :'certificate_arn' => :'String',
138
163
  :'certificate_format' => :'String',
164
+ :'certificate_name' => :'String',
139
165
  :'certificate_path' => :'String',
140
166
  :'chain_path' => :'String',
141
167
  :'disable_previous_key_version' => :'Boolean',
142
168
  :'external_key_name' => :'String',
169
+ :'f5_save_config' => :'Boolean',
170
+ :'f5_sync_device_group' => :'String',
143
171
  :'json' => :'Boolean',
144
172
  :'key_operations' => :'Array<String>',
173
+ :'key_vault' => :'String',
145
174
  :'keyring_name' => :'String',
146
175
  :'kms_algorithm' => :'String',
147
176
  :'location_id' => :'String',
177
+ :'location_scope' => :'String',
148
178
  :'multi_region' => :'String',
149
179
  :'name' => :'String',
150
180
  :'pfx_password' => :'String',
@@ -190,12 +220,20 @@ module Akeyless
190
220
  end
191
221
  end
192
222
 
223
+ if attributes.key?(:'certificate_arn')
224
+ self.certificate_arn = attributes[:'certificate_arn']
225
+ end
226
+
193
227
  if attributes.key?(:'certificate_format')
194
228
  self.certificate_format = attributes[:'certificate_format']
195
229
  else
196
230
  self.certificate_format = 'pem'
197
231
  end
198
232
 
233
+ if attributes.key?(:'certificate_name')
234
+ self.certificate_name = attributes[:'certificate_name']
235
+ end
236
+
199
237
  if attributes.key?(:'certificate_path')
200
238
  self.certificate_path = attributes[:'certificate_path']
201
239
  end
@@ -214,6 +252,16 @@ module Akeyless
214
252
  self.external_key_name = attributes[:'external_key_name']
215
253
  end
216
254
 
255
+ if attributes.key?(:'f5_save_config')
256
+ self.f5_save_config = attributes[:'f5_save_config']
257
+ else
258
+ self.f5_save_config = false
259
+ end
260
+
261
+ if attributes.key?(:'f5_sync_device_group')
262
+ self.f5_sync_device_group = attributes[:'f5_sync_device_group']
263
+ end
264
+
217
265
  if attributes.key?(:'json')
218
266
  self.json = attributes[:'json']
219
267
  else
@@ -226,6 +274,10 @@ module Akeyless
226
274
  end
227
275
  end
228
276
 
277
+ if attributes.key?(:'key_vault')
278
+ self.key_vault = attributes[:'key_vault']
279
+ end
280
+
229
281
  if attributes.key?(:'keyring_name')
230
282
  self.keyring_name = attributes[:'keyring_name']
231
283
  end
@@ -238,6 +290,10 @@ module Akeyless
238
290
  self.location_id = attributes[:'location_id']
239
291
  end
240
292
 
293
+ if attributes.key?(:'location_scope')
294
+ self.location_scope = attributes[:'location_scope']
295
+ end
296
+
241
297
  if attributes.key?(:'multi_region')
242
298
  self.multi_region = attributes[:'multi_region']
243
299
  else
@@ -342,16 +398,22 @@ module Akeyless
342
398
  return true if self.equal?(o)
343
399
  self.class == o.class &&
344
400
  bind_ssl_profiles == o.bind_ssl_profiles &&
401
+ certificate_arn == o.certificate_arn &&
345
402
  certificate_format == o.certificate_format &&
403
+ certificate_name == o.certificate_name &&
346
404
  certificate_path == o.certificate_path &&
347
405
  chain_path == o.chain_path &&
348
406
  disable_previous_key_version == o.disable_previous_key_version &&
349
407
  external_key_name == o.external_key_name &&
408
+ f5_save_config == o.f5_save_config &&
409
+ f5_sync_device_group == o.f5_sync_device_group &&
350
410
  json == o.json &&
351
411
  key_operations == o.key_operations &&
412
+ key_vault == o.key_vault &&
352
413
  keyring_name == o.keyring_name &&
353
414
  kms_algorithm == o.kms_algorithm &&
354
415
  location_id == o.location_id &&
416
+ location_scope == o.location_scope &&
355
417
  multi_region == o.multi_region &&
356
418
  name == o.name &&
357
419
  pfx_password == o.pfx_password &&
@@ -378,7 +440,7 @@ module Akeyless
378
440
  # Calculates hash code according to all attributes.
379
441
  # @return [Integer] Hash code
380
442
  def hash
381
- [bind_ssl_profiles, certificate_format, certificate_path, chain_path, disable_previous_key_version, external_key_name, json, key_operations, keyring_name, kms_algorithm, location_id, multi_region, name, pfx_password, post_provision_command, private_key_path, project_id, protection_level, purpose, regions, sra_association, target_name, tenant_secret_type, token, uid_token, vault_name].hash
443
+ [bind_ssl_profiles, certificate_arn, certificate_format, certificate_name, certificate_path, chain_path, disable_previous_key_version, external_key_name, f5_save_config, f5_sync_device_group, json, key_operations, key_vault, keyring_name, kms_algorithm, location_id, location_scope, multi_region, name, pfx_password, post_provision_command, private_key_path, project_id, protection_level, purpose, regions, sra_association, target_name, tenant_secret_type, token, uid_token, vault_name].hash
382
444
  end
383
445
 
384
446
  # Builds the object from hash
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Akeyless
17
- # AttributeTypeAndValue mirrors the ASN.1 structure of the same name in RFC 5280, Section 4.1.2.4.
17
+ # When parsed as part of a pkix.Name structure in a crypto/x509 type, the Value will be a string if the ASN.1 type is PrintableString, IA5String, NumericString, BMPString, T61String, or UTF8String; an int64 if the ASN.1 type is INTEGER; an asn1.BitString if the ASN.1 type is BIT STRING; a []byte if the ASN.1 type is OCTET STRING; an asn1.ObjectIdentifier if the ASN.1 type is OBJECT IDENTIFIER; a time.Time if the ASN.1 type is UTCTIME or GENERALIZEDTIME; a bool if the ASN.1 type is BOOLEAN; nil if the ASN.1 type is NULL; an asn1.RawValue otherwise.
18
18
  class AttributeTypeAndValue
19
19
  attr_accessor :type
20
20
 
@@ -71,6 +71,8 @@ module Akeyless
71
71
 
72
72
  attr_accessor :saml_access_rules
73
73
 
74
+ attr_accessor :scim
75
+
74
76
  attr_accessor :sub_claims_delimiters
75
77
 
76
78
  # Relevant only for Universal Identity auth methods: token about-to-expire notification thresholds.
@@ -107,6 +109,7 @@ module Akeyless
107
109
  :'product_types' => :'product_types',
108
110
  :'rules_type' => :'rules_type',
109
111
  :'saml_access_rules' => :'saml_access_rules',
112
+ :'scim' => :'scim',
110
113
  :'sub_claims_delimiters' => :'sub_claims_delimiters',
111
114
  :'uid_expiration_events' => :'uid_expiration_events',
112
115
  :'universal_identity_access_rules' => :'universal_identity_access_rules'
@@ -147,6 +150,7 @@ module Akeyless
147
150
  :'product_types' => :'Array<String>',
148
151
  :'rules_type' => :'String',
149
152
  :'saml_access_rules' => :'SAMLAccessRules',
153
+ :'scim' => :'ScimSettings',
150
154
  :'sub_claims_delimiters' => :'Array<String>',
151
155
  :'uid_expiration_events' => :'Array<UidExpirationEvent>',
152
156
  :'universal_identity_access_rules' => :'UniversalIdentityAccessRules'
@@ -284,6 +288,10 @@ module Akeyless
284
288
  self.saml_access_rules = attributes[:'saml_access_rules']
285
289
  end
286
290
 
291
+ if attributes.key?(:'scim')
292
+ self.scim = attributes[:'scim']
293
+ end
294
+
287
295
  if attributes.key?(:'sub_claims_delimiters')
288
296
  if (value = attributes[:'sub_claims_delimiters']).is_a?(Array)
289
297
  self.sub_claims_delimiters = value
@@ -347,6 +355,7 @@ module Akeyless
347
355
  product_types == o.product_types &&
348
356
  rules_type == o.rules_type &&
349
357
  saml_access_rules == o.saml_access_rules &&
358
+ scim == o.scim &&
350
359
  sub_claims_delimiters == o.sub_claims_delimiters &&
351
360
  uid_expiration_events == o.uid_expiration_events &&
352
361
  universal_identity_access_rules == o.universal_identity_access_rules
@@ -361,7 +370,7 @@ module Akeyless
361
370
  # Calculates hash code according to all attributes.
362
371
  # @return [Integer] Hash code
363
372
  def hash
364
- [access_expires, access_id_alias, alicloud_access_rules, allowed_client_type, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, enforce_client_type, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, sub_claims_delimiters, uid_expiration_events, universal_identity_access_rules].hash
373
+ [access_expires, access_id_alias, alicloud_access_rules, allowed_client_type, api_key_access_rules, audit_logs_claims, aws_iam_access_rules, azure_ad_access_rules, cert_access_rules, cidr_whitelist, email_pass_access_rules, enforce_client_type, force_sub_claims, gcp_access_rules, gw_cidr_whitelist, huawei_access_rules, jwt_ttl, k8s_access_rules, kerberos_access_rules, ldap_access_rules, oauth2_access_rules, oci_access_rules, oidc_access_rules, product_types, rules_type, saml_access_rules, scim, sub_claims_delimiters, uid_expiration_events, universal_identity_access_rules].hash
365
374
  end
366
375
 
367
376
  # Builds the object from hash
@@ -79,6 +79,18 @@ module Akeyless
79
79
  # RequiredScopesPrefix is a a prefix to add to all required-scopes when requesting them from the oidc server (for example, azures' Application ID URI)
80
80
  attr_accessor :required_scopes_prefix
81
81
 
82
+ # Access ID of the API Key auth method the IdP uses as the SCIM bearer
83
+ attr_accessor :scim_bearer_access_id
84
+
85
+ # Enable SCIM provisioning for this auth method [true/false]
86
+ attr_accessor :scim_enabled
87
+
88
+ # Where the IdP reaches the SCIM endpoint [public/private]. public is served by Akeyless, private by your own Akeyless Gateway
89
+ attr_accessor :scim_endpoint
90
+
91
+ # URL of the Akeyless Gateway that serves the SCIM endpoint to the IdP, for example https://gateway.example.com:8000. Required for the private endpoint
92
+ attr_accessor :scim_gateway_url
93
+
82
94
  # A list of additional sub claims delimiters (relevant only for SAML, OIDC, OAuth2/JWT)
83
95
  attr_accessor :subclaims_delimiters
84
96
 
@@ -115,6 +127,10 @@ module Akeyless
115
127
  :'product_type' => :'product-type',
116
128
  :'required_scopes' => :'required-scopes',
117
129
  :'required_scopes_prefix' => :'required-scopes-prefix',
130
+ :'scim_bearer_access_id' => :'scim-bearer-access-id',
131
+ :'scim_enabled' => :'scim-enabled',
132
+ :'scim_endpoint' => :'scim-endpoint',
133
+ :'scim_gateway_url' => :'scim-gateway-url',
118
134
  :'subclaims_delimiters' => :'subclaims-delimiters',
119
135
  :'token' => :'token',
120
136
  :'uid_token' => :'uid-token',
@@ -151,6 +167,10 @@ module Akeyless
151
167
  :'product_type' => :'Array<String>',
152
168
  :'required_scopes' => :'Array<String>',
153
169
  :'required_scopes_prefix' => :'String',
170
+ :'scim_bearer_access_id' => :'String',
171
+ :'scim_enabled' => :'String',
172
+ :'scim_endpoint' => :'String',
173
+ :'scim_gateway_url' => :'String',
154
174
  :'subclaims_delimiters' => :'Array<String>',
155
175
  :'token' => :'String',
156
176
  :'uid_token' => :'String',
@@ -287,6 +307,22 @@ module Akeyless
287
307
  self.required_scopes_prefix = attributes[:'required_scopes_prefix']
288
308
  end
289
309
 
310
+ if attributes.key?(:'scim_bearer_access_id')
311
+ self.scim_bearer_access_id = attributes[:'scim_bearer_access_id']
312
+ end
313
+
314
+ if attributes.key?(:'scim_enabled')
315
+ self.scim_enabled = attributes[:'scim_enabled']
316
+ end
317
+
318
+ if attributes.key?(:'scim_endpoint')
319
+ self.scim_endpoint = attributes[:'scim_endpoint']
320
+ end
321
+
322
+ if attributes.key?(:'scim_gateway_url')
323
+ self.scim_gateway_url = attributes[:'scim_gateway_url']
324
+ end
325
+
290
326
  if attributes.key?(:'subclaims_delimiters')
291
327
  if (value = attributes[:'subclaims_delimiters']).is_a?(Array)
292
328
  self.subclaims_delimiters = value
@@ -359,6 +395,10 @@ module Akeyless
359
395
  product_type == o.product_type &&
360
396
  required_scopes == o.required_scopes &&
361
397
  required_scopes_prefix == o.required_scopes_prefix &&
398
+ scim_bearer_access_id == o.scim_bearer_access_id &&
399
+ scim_enabled == o.scim_enabled &&
400
+ scim_endpoint == o.scim_endpoint &&
401
+ scim_gateway_url == o.scim_gateway_url &&
362
402
  subclaims_delimiters == o.subclaims_delimiters &&
363
403
  token == o.token &&
364
404
  uid_token == o.uid_token &&
@@ -374,7 +414,7 @@ module Akeyless
374
414
  # Calculates hash code according to all attributes.
375
415
  # @return [Integer] Hash code
376
416
  def hash
377
- [access_expires, allowed_client_type, allowed_redirect_uri, audience, audit_logs_claims, bound_ips, client_id, client_secret, delete_protection, description, expiration_event_in, force_sub_claims, gateway_url, gw_bound_ips, issuer, json, jwt_ttl, name, product_type, required_scopes, required_scopes_prefix, subclaims_delimiters, token, uid_token, unique_identifier].hash
417
+ [access_expires, allowed_client_type, allowed_redirect_uri, audience, audit_logs_claims, bound_ips, client_id, client_secret, delete_protection, description, expiration_event_in, force_sub_claims, gateway_url, gw_bound_ips, issuer, json, jwt_ttl, name, product_type, required_scopes, required_scopes_prefix, scim_bearer_access_id, scim_enabled, scim_endpoint, scim_gateway_url, subclaims_delimiters, token, uid_token, unique_identifier].hash
378
418
  end
379
419
 
380
420
  # Builds the object from hash
@@ -23,13 +23,17 @@ module Akeyless
23
23
 
24
24
  attr_accessor :prv_key
25
25
 
26
+ # SCIM Base URL the IdP calls, set when SCIM flags were given
27
+ attr_accessor :scim_base_url
28
+
26
29
  # Attribute mapping from ruby-style variable name to JSON key.
27
30
  def self.attribute_map
28
31
  {
29
32
  :'access_id' => :'access_id',
30
33
  :'access_key' => :'access_key',
31
34
  :'name' => :'name',
32
- :'prv_key' => :'prv_key'
35
+ :'prv_key' => :'prv_key',
36
+ :'scim_base_url' => :'scim_base_url'
33
37
  }
34
38
  end
35
39
 
@@ -44,7 +48,8 @@ module Akeyless
44
48
  :'access_id' => :'String',
45
49
  :'access_key' => :'String',
46
50
  :'name' => :'String',
47
- :'prv_key' => :'String'
51
+ :'prv_key' => :'String',
52
+ :'scim_base_url' => :'String'
48
53
  }
49
54
  end
50
55
 
@@ -84,6 +89,10 @@ module Akeyless
84
89
  if attributes.key?(:'prv_key')
85
90
  self.prv_key = attributes[:'prv_key']
86
91
  end
92
+
93
+ if attributes.key?(:'scim_base_url')
94
+ self.scim_base_url = attributes[:'scim_base_url']
95
+ end
87
96
  end
88
97
 
89
98
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -109,7 +118,8 @@ module Akeyless
109
118
  access_id == o.access_id &&
110
119
  access_key == o.access_key &&
111
120
  name == o.name &&
112
- prv_key == o.prv_key
121
+ prv_key == o.prv_key &&
122
+ scim_base_url == o.scim_base_url
113
123
  end
114
124
 
115
125
  # @see the `==` method
@@ -121,7 +131,7 @@ module Akeyless
121
131
  # Calculates hash code according to all attributes.
122
132
  # @return [Integer] Hash code
123
133
  def hash
124
- [access_id, access_key, name, prv_key].hash
134
+ [access_id, access_key, name, prv_key, scim_base_url].hash
125
135
  end
126
136
 
127
137
  # Builds the object from hash