akeyless 2.16.8 → 2.16.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -1
  3. data/docs/Configure.md +5 -1
  4. data/docs/GatewayCreateMigration.md +22 -22
  5. data/docs/GatewayCreateProducerArtifactory.md +2 -0
  6. data/docs/GatewayCreateProducerAws.md +2 -0
  7. data/docs/GatewayCreateProducerAzure.md +2 -0
  8. data/docs/GatewayCreateProducerCassandra.md +2 -0
  9. data/docs/GatewayCreateProducerCertificateAutomation.md +2 -0
  10. data/docs/GatewayCreateProducerChef.md +2 -0
  11. data/docs/GatewayCreateProducerCustom.md +2 -0
  12. data/docs/GatewayCreateProducerDockerhub.md +2 -0
  13. data/docs/GatewayCreateProducerEks.md +2 -0
  14. data/docs/GatewayCreateProducerGcp.md +2 -0
  15. data/docs/GatewayCreateProducerGithub.md +2 -0
  16. data/docs/GatewayCreateProducerGke.md +2 -0
  17. data/docs/GatewayCreateProducerHanaDb.md +2 -0
  18. data/docs/GatewayCreateProducerLdap.md +2 -0
  19. data/docs/GatewayCreateProducerMSSQL.md +2 -0
  20. data/docs/GatewayCreateProducerMongo.md +2 -0
  21. data/docs/GatewayCreateProducerMySQL.md +2 -0
  22. data/docs/GatewayCreateProducerNativeK8S.md +2 -0
  23. data/docs/GatewayCreateProducerOracleDb.md +2 -0
  24. data/docs/GatewayCreateProducerPostgreSQL.md +2 -0
  25. data/docs/GatewayCreateProducerRabbitMQ.md +2 -0
  26. data/docs/GatewayCreateProducerRdp.md +2 -0
  27. data/docs/GatewayCreateProducerRedshift.md +2 -0
  28. data/docs/GatewayCreateProducerSnowflake.md +2 -0
  29. data/docs/GatewayDeleteMigration.md +1 -1
  30. data/docs/GatewayGetMigration.md +1 -1
  31. data/docs/GatewayStatusMigration.md +24 -0
  32. data/docs/GatewayUpdateItem.md +2 -0
  33. data/docs/GatewayUpdateMigration.md +25 -25
  34. data/docs/GatewayUpdateProducerArtifactory.md +2 -0
  35. data/docs/GatewayUpdateProducerAws.md +2 -0
  36. data/docs/GatewayUpdateProducerAzure.md +2 -0
  37. data/docs/GatewayUpdateProducerCassandra.md +2 -0
  38. data/docs/GatewayUpdateProducerCertificateAutomation.md +2 -0
  39. data/docs/GatewayUpdateProducerChef.md +2 -0
  40. data/docs/GatewayUpdateProducerCustom.md +2 -0
  41. data/docs/GatewayUpdateProducerDockerhub.md +2 -0
  42. data/docs/GatewayUpdateProducerEks.md +2 -0
  43. data/docs/GatewayUpdateProducerGcp.md +2 -0
  44. data/docs/GatewayUpdateProducerGithub.md +2 -0
  45. data/docs/GatewayUpdateProducerGke.md +2 -0
  46. data/docs/GatewayUpdateProducerHanaDb.md +2 -0
  47. data/docs/GatewayUpdateProducerLdap.md +2 -0
  48. data/docs/GatewayUpdateProducerMSSQL.md +2 -0
  49. data/docs/GatewayUpdateProducerMongo.md +2 -0
  50. data/docs/GatewayUpdateProducerMySQL.md +2 -0
  51. data/docs/GatewayUpdateProducerNativeK8S.md +2 -0
  52. data/docs/GatewayUpdateProducerOracleDb.md +2 -0
  53. data/docs/GatewayUpdateProducerPostgreSQL.md +2 -0
  54. data/docs/GatewayUpdateProducerRabbitMQ.md +2 -0
  55. data/docs/GatewayUpdateProducerRdp.md +2 -0
  56. data/docs/GatewayUpdateProducerRedshift.md +2 -0
  57. data/docs/GatewayUpdateProducerSnowflake.md +2 -0
  58. data/docs/GetKubeExecCreds.md +4 -0
  59. data/docs/GetPKICertificate.md +4 -0
  60. data/docs/GetSSHCertificate.md +4 -0
  61. data/docs/Item.md +2 -0
  62. data/docs/ItemGeneralInfo.md +2 -0
  63. data/docs/MigrationGeneral.md +2 -0
  64. data/docs/MigrationItems.md +24 -0
  65. data/docs/MigrationStatusReplyObj.md +36 -0
  66. data/docs/TargetTypeDetailsInput.md +2 -0
  67. data/docs/UpdateItem.md +2 -0
  68. data/docs/UploadRSA.md +2 -0
  69. data/docs/V2Api.md +64 -1
  70. data/lib/akeyless/api/v2_api.rb +64 -0
  71. data/lib/akeyless/models/configure.rb +24 -4
  72. data/lib/akeyless/models/gateway_create_migration.rb +22 -22
  73. data/lib/akeyless/models/gateway_create_producer_artifactory.rb +11 -1
  74. data/lib/akeyless/models/gateway_create_producer_aws.rb +11 -1
  75. data/lib/akeyless/models/gateway_create_producer_azure.rb +11 -1
  76. data/lib/akeyless/models/gateway_create_producer_cassandra.rb +11 -1
  77. data/lib/akeyless/models/gateway_create_producer_certificate_automation.rb +11 -1
  78. data/lib/akeyless/models/gateway_create_producer_chef.rb +11 -1
  79. data/lib/akeyless/models/gateway_create_producer_custom.rb +11 -1
  80. data/lib/akeyless/models/gateway_create_producer_dockerhub.rb +11 -1
  81. data/lib/akeyless/models/gateway_create_producer_eks.rb +11 -1
  82. data/lib/akeyless/models/gateway_create_producer_gcp.rb +11 -1
  83. data/lib/akeyless/models/gateway_create_producer_github.rb +11 -1
  84. data/lib/akeyless/models/gateway_create_producer_gke.rb +11 -1
  85. data/lib/akeyless/models/gateway_create_producer_hana_db.rb +11 -1
  86. data/lib/akeyless/models/gateway_create_producer_ldap.rb +11 -1
  87. data/lib/akeyless/models/gateway_create_producer_mongo.rb +11 -1
  88. data/lib/akeyless/models/gateway_create_producer_mssql.rb +11 -1
  89. data/lib/akeyless/models/gateway_create_producer_my_sql.rb +11 -1
  90. data/lib/akeyless/models/gateway_create_producer_native_k8_s.rb +11 -1
  91. data/lib/akeyless/models/gateway_create_producer_oracle_db.rb +11 -1
  92. data/lib/akeyless/models/gateway_create_producer_postgre_sql.rb +11 -1
  93. data/lib/akeyless/models/gateway_create_producer_rabbit_mq.rb +11 -1
  94. data/lib/akeyless/models/gateway_create_producer_rdp.rb +11 -1
  95. data/lib/akeyless/models/gateway_create_producer_redshift.rb +11 -1
  96. data/lib/akeyless/models/gateway_create_producer_snowflake.rb +11 -1
  97. data/lib/akeyless/models/gateway_delete_migration.rb +1 -1
  98. data/lib/akeyless/models/gateway_get_migration.rb +1 -0
  99. data/lib/akeyless/models/gateway_status_migration.rb +251 -0
  100. data/lib/akeyless/models/gateway_update_item.rb +11 -1
  101. data/lib/akeyless/models/gateway_update_migration.rb +33 -38
  102. data/lib/akeyless/models/gateway_update_producer_artifactory.rb +11 -1
  103. data/lib/akeyless/models/gateway_update_producer_aws.rb +11 -1
  104. data/lib/akeyless/models/gateway_update_producer_azure.rb +11 -1
  105. data/lib/akeyless/models/gateway_update_producer_cassandra.rb +11 -1
  106. data/lib/akeyless/models/gateway_update_producer_certificate_automation.rb +11 -1
  107. data/lib/akeyless/models/gateway_update_producer_chef.rb +11 -1
  108. data/lib/akeyless/models/gateway_update_producer_custom.rb +11 -1
  109. data/lib/akeyless/models/gateway_update_producer_dockerhub.rb +11 -1
  110. data/lib/akeyless/models/gateway_update_producer_eks.rb +11 -1
  111. data/lib/akeyless/models/gateway_update_producer_gcp.rb +11 -1
  112. data/lib/akeyless/models/gateway_update_producer_github.rb +11 -1
  113. data/lib/akeyless/models/gateway_update_producer_gke.rb +11 -1
  114. data/lib/akeyless/models/gateway_update_producer_hana_db.rb +11 -1
  115. data/lib/akeyless/models/gateway_update_producer_ldap.rb +11 -1
  116. data/lib/akeyless/models/gateway_update_producer_mongo.rb +11 -1
  117. data/lib/akeyless/models/gateway_update_producer_mssql.rb +11 -1
  118. data/lib/akeyless/models/gateway_update_producer_my_sql.rb +11 -1
  119. data/lib/akeyless/models/gateway_update_producer_native_k8_s.rb +11 -1
  120. data/lib/akeyless/models/gateway_update_producer_oracle_db.rb +11 -1
  121. data/lib/akeyless/models/gateway_update_producer_postgre_sql.rb +11 -1
  122. data/lib/akeyless/models/gateway_update_producer_rabbit_mq.rb +11 -1
  123. data/lib/akeyless/models/gateway_update_producer_rdp.rb +11 -1
  124. data/lib/akeyless/models/gateway_update_producer_redshift.rb +11 -1
  125. data/lib/akeyless/models/gateway_update_producer_snowflake.rb +11 -1
  126. data/lib/akeyless/models/get_kube_exec_creds.rb +21 -1
  127. data/lib/akeyless/models/get_pki_certificate.rb +21 -1
  128. data/lib/akeyless/models/get_ssh_certificate.rb +21 -1
  129. data/lib/akeyless/models/item.rb +10 -1
  130. data/lib/akeyless/models/item_general_info.rb +10 -1
  131. data/lib/akeyless/models/migration_general.rb +10 -1
  132. data/lib/akeyless/models/migration_items.rb +246 -0
  133. data/lib/akeyless/models/migration_status_reply_obj.rb +300 -0
  134. data/lib/akeyless/models/target_type_details_input.rb +10 -1
  135. data/lib/akeyless/models/update_item.rb +11 -1
  136. data/lib/akeyless/models/upload_rsa.rb +11 -1
  137. data/lib/akeyless/version.rb +1 -1
  138. data/lib/akeyless.rb +3 -0
  139. data/spec/models/gateway_status_migration_spec.rb +52 -0
  140. data/spec/models/migration_items_spec.rb +52 -0
  141. data/spec/models/migration_status_reply_obj_spec.rb +88 -0
  142. metadata +511 -499
@@ -0,0 +1,251 @@
1
+ =begin
2
+ #Akeyless API
3
+
4
+ #The purpose of this application is to provide access to Akeyless API.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: support@akeyless.io
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Akeyless
17
+ # gatewayStatusMigration is a command that get migration status
18
+ class GatewayStatusMigration
19
+ # Migration ID
20
+ attr_accessor :id
21
+
22
+ # Migration name to display
23
+ attr_accessor :name
24
+
25
+ # Authentication token (see `/auth` and `/configure`)
26
+ attr_accessor :token
27
+
28
+ # The universal identity token, Required only for universal_identity authentication
29
+ attr_accessor :uid_token
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'id' => :'id',
35
+ :'name' => :'name',
36
+ :'token' => :'token',
37
+ :'uid_token' => :'uid-token'
38
+ }
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'id' => :'String',
50
+ :'name' => :'String',
51
+ :'token' => :'String',
52
+ :'uid_token' => :'String'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ if (!attributes.is_a?(Hash))
66
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::GatewayStatusMigration` initialize method"
67
+ end
68
+
69
+ # check to see if the attribute exists and convert string to symbol for hash key
70
+ attributes = attributes.each_with_object({}) { |(k, v), h|
71
+ if (!self.class.attribute_map.key?(k.to_sym))
72
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::GatewayStatusMigration`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
73
+ end
74
+ h[k.to_sym] = v
75
+ }
76
+
77
+ if attributes.key?(:'id')
78
+ self.id = attributes[:'id']
79
+ end
80
+
81
+ if attributes.key?(:'name')
82
+ self.name = attributes[:'name']
83
+ end
84
+
85
+ if attributes.key?(:'token')
86
+ self.token = attributes[:'token']
87
+ end
88
+
89
+ if attributes.key?(:'uid_token')
90
+ self.uid_token = attributes[:'uid_token']
91
+ end
92
+ end
93
+
94
+ # Show invalid properties with the reasons. Usually used together with valid?
95
+ # @return Array for valid properties with the reasons
96
+ def list_invalid_properties
97
+ invalid_properties = Array.new
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ true
105
+ end
106
+
107
+ # Checks equality by comparing each attribute.
108
+ # @param [Object] Object to be compared
109
+ def ==(o)
110
+ return true if self.equal?(o)
111
+ self.class == o.class &&
112
+ id == o.id &&
113
+ name == o.name &&
114
+ token == o.token &&
115
+ uid_token == o.uid_token
116
+ end
117
+
118
+ # @see the `==` method
119
+ # @param [Object] Object to be compared
120
+ def eql?(o)
121
+ self == o
122
+ end
123
+
124
+ # Calculates hash code according to all attributes.
125
+ # @return [Integer] Hash code
126
+ def hash
127
+ [id, name, token, uid_token].hash
128
+ end
129
+
130
+ # Builds the object from hash
131
+ # @param [Hash] attributes Model attributes in the form of hash
132
+ # @return [Object] Returns the model itself
133
+ def self.build_from_hash(attributes)
134
+ new.build_from_hash(attributes)
135
+ end
136
+
137
+ # Builds the object from hash
138
+ # @param [Hash] attributes Model attributes in the form of hash
139
+ # @return [Object] Returns the model itself
140
+ def build_from_hash(attributes)
141
+ return nil unless attributes.is_a?(Hash)
142
+ attributes = attributes.transform_keys(&:to_sym)
143
+ self.class.openapi_types.each_pair do |key, type|
144
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
145
+ self.send("#{key}=", nil)
146
+ elsif type =~ /\AArray<(.*)>/i
147
+ # check to ensure the input is an array given that the attribute
148
+ # is documented as an array but the input is not
149
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
150
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
151
+ end
152
+ elsif !attributes[self.class.attribute_map[key]].nil?
153
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
154
+ end
155
+ end
156
+
157
+ self
158
+ end
159
+
160
+ # Deserializes the data based on type
161
+ # @param string type Data type
162
+ # @param string value Value to be deserialized
163
+ # @return [Object] Deserialized data
164
+ def _deserialize(type, value)
165
+ case type.to_sym
166
+ when :Time
167
+ Time.parse(value)
168
+ when :Date
169
+ Date.parse(value)
170
+ when :String
171
+ value.to_s
172
+ when :Integer
173
+ value.to_i
174
+ when :Float
175
+ value.to_f
176
+ when :Boolean
177
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
178
+ true
179
+ else
180
+ false
181
+ end
182
+ when :Object
183
+ # generic object (usually a Hash), return directly
184
+ value
185
+ when /\AArray<(?<inner_type>.+)>\z/
186
+ inner_type = Regexp.last_match[:inner_type]
187
+ value.map { |v| _deserialize(inner_type, v) }
188
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
189
+ k_type = Regexp.last_match[:k_type]
190
+ v_type = Regexp.last_match[:v_type]
191
+ {}.tap do |hash|
192
+ value.each do |k, v|
193
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
194
+ end
195
+ end
196
+ else # model
197
+ # models (e.g. Pet) or oneOf
198
+ klass = Akeyless.const_get(type)
199
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
200
+ end
201
+ end
202
+
203
+ # Returns the string representation of the object
204
+ # @return [String] String presentation of the object
205
+ def to_s
206
+ to_hash.to_s
207
+ end
208
+
209
+ # to_body is an alias to to_hash (backward compatibility)
210
+ # @return [Hash] Returns the object in the form of hash
211
+ def to_body
212
+ to_hash
213
+ end
214
+
215
+ # Returns the object in the form of hash
216
+ # @return [Hash] Returns the object in the form of hash
217
+ def to_hash
218
+ hash = {}
219
+ self.class.attribute_map.each_pair do |attr, param|
220
+ value = self.send(attr)
221
+ if value.nil?
222
+ is_nullable = self.class.openapi_nullable.include?(attr)
223
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
224
+ end
225
+
226
+ hash[param] = _to_hash(value)
227
+ end
228
+ hash
229
+ end
230
+
231
+ # Outputs non-array value in the form of hash
232
+ # For object, use to_hash. Otherwise, just return the value
233
+ # @param [Object] value Any valid value
234
+ # @return [Hash] Returns the value in the form of hash
235
+ def _to_hash(value)
236
+ if value.is_a?(Array)
237
+ value.compact.map { |v| _to_hash(v) }
238
+ elsif value.is_a?(Hash)
239
+ {}.tap do |hash|
240
+ value.each { |k, v| hash[k] = _to_hash(v) }
241
+ end
242
+ elsif value.respond_to? :to_hash
243
+ value.to_hash
244
+ else
245
+ value
246
+ end
247
+ end
248
+
249
+ end
250
+
251
+ end
@@ -28,6 +28,9 @@ module Akeyless
28
28
 
29
29
  attr_accessor :custom_payload
30
30
 
31
+ # Protection from accidental deletion of this item
32
+ attr_accessor :delete_protection
33
+
31
34
  attr_accessor :keep_prev_version
32
35
 
33
36
  # The name of a key that used to encrypt the secret value (if empty, the account default protectionKey key will be used)
@@ -78,6 +81,7 @@ module Akeyless
78
81
  :'api_key' => :'api-key',
79
82
  :'auto_rotate' => :'auto-rotate',
80
83
  :'custom_payload' => :'custom-payload',
84
+ :'delete_protection' => :'delete_protection',
81
85
  :'keep_prev_version' => :'keep-prev-version',
82
86
  :'key' => :'key',
83
87
  :'name' => :'name',
@@ -109,6 +113,7 @@ module Akeyless
109
113
  :'api_key' => :'String',
110
114
  :'auto_rotate' => :'String',
111
115
  :'custom_payload' => :'String',
116
+ :'delete_protection' => :'String',
112
117
  :'keep_prev_version' => :'String',
113
118
  :'key' => :'String',
114
119
  :'name' => :'String',
@@ -170,6 +175,10 @@ module Akeyless
170
175
  self.custom_payload = attributes[:'custom_payload']
171
176
  end
172
177
 
178
+ if attributes.key?(:'delete_protection')
179
+ self.delete_protection = attributes[:'delete_protection']
180
+ end
181
+
173
182
  if attributes.key?(:'keep_prev_version')
174
183
  self.keep_prev_version = attributes[:'keep_prev_version']
175
184
  end
@@ -270,6 +279,7 @@ module Akeyless
270
279
  api_key == o.api_key &&
271
280
  auto_rotate == o.auto_rotate &&
272
281
  custom_payload == o.custom_payload &&
282
+ delete_protection == o.delete_protection &&
273
283
  keep_prev_version == o.keep_prev_version &&
274
284
  key == o.key &&
275
285
  name == o.name &&
@@ -296,7 +306,7 @@ module Akeyless
296
306
  # Calculates hash code according to all attributes.
297
307
  # @return [Integer] Hash code
298
308
  def hash
299
- [add_tag, api_id, api_key, auto_rotate, custom_payload, keep_prev_version, key, name, new_metadata, new_name, new_version, rm_tag, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, token, type, uid_token].hash
309
+ [add_tag, api_id, api_key, auto_rotate, custom_payload, delete_protection, keep_prev_version, key, name, new_metadata, new_name, new_version, rm_tag, rotated_password, rotated_username, rotation_hour, rotation_interval, rotator_creds_type, token, type, uid_token].hash
300
310
  end
301
311
 
302
312
  # Builds the object from hash
@@ -16,75 +16,78 @@ require 'time'
16
16
  module Akeyless
17
17
  # gatewayUpdateMigration is a command that update migration
18
18
  class GatewayUpdateMigration
19
- # AWS Secret Access Key
19
+ # AWS Secret Access Key (relevant only for AWS migration)
20
20
  attr_accessor :aws_key
21
21
 
22
- # AWS Access Key ID
22
+ # AWS Access Key ID with sufficient permissions to get all secrets, e.g. 'arn:aws:secretsmanager:[Region]:[AccountId]:secret:[/path/to/secrets/*]' (relevant only for AWS migration)
23
23
  attr_accessor :aws_key_id
24
24
 
25
- # AWS region
25
+ # AWS region of the required Secrets Manager (relevant only for AWS migration)
26
26
  attr_accessor :aws_region
27
27
 
28
- # Azure KV Access client ID
28
+ # Azure Key Vault Access client ID, should be Azure AD App with a service principal (relevant only for Azure Key Vault migration)
29
29
  attr_accessor :azure_client_id
30
30
 
31
- # Azure Key Vault Name
31
+ # Azure Key Vault Name (relevant only for Azure Key Vault migration)
32
32
  attr_accessor :azure_kv_name
33
33
 
34
- # Azure KV secret
34
+ # Azure Key Vault secret (relevant only for Azure Key Vault migration)
35
35
  attr_accessor :azure_secret
36
36
 
37
- # Azure KV Access tenant ID
37
+ # Azure Key Vault Access tenant ID (relevant only for Azure Key Vault migration)
38
38
  attr_accessor :azure_tenant_id
39
39
 
40
- # Base64-encoded service account private key text
40
+ # Base64-encoded GCP Service Account private key text with sufficient permissions to Secrets Manager, Minimum required permission is Secret Manager Secret Accessor, e.g. 'roles/secretmanager.secretAccessor' (relevant only for GCP migration)
41
41
  attr_accessor :gcp_key
42
42
 
43
- # Import secret key as json value or independent secrets
43
+ # Import secret key as json value or independent secrets (relevant only for HasiCorp Vault migration)
44
44
  attr_accessor :hashi_json
45
45
 
46
- # Hashi namespaces
46
+ # HashiCorp Vault Namespaces is a comma-separated list of namespaces which need to be imported into Akeyless Vault. For every provided namespace, all its child namespaces are imported as well, e.g. nmsp/subnmsp1/subnmsp2,nmsp/anothernmsp. By default, import all namespaces (relevant only for HasiCorp Vault migration)
47
47
  attr_accessor :hashi_ns
48
48
 
49
- # Hashi token
49
+ # HashiCorp Vault access token with sufficient permissions to preform list & read operations on secrets objects (relevant only for HasiCorp Vault migration)
50
50
  attr_accessor :hashi_token
51
51
 
52
- # Hashi url
52
+ # HashiCorp Vault API URL, e.g. https://vault-mgr01:8200 (relevant only for HasiCorp Vault migration)
53
53
  attr_accessor :hashi_url
54
54
 
55
- # Migration ID
55
+ # Migration ID (Can be retrieved with gateway-list-migration command)
56
56
  attr_accessor :id
57
57
 
58
- # For Certificate Authentication method K8s Cluster CA certificate
58
+ # For Certificate Authentication method K8s Cluster CA certificate (relevant only for K8s migration with Certificate Authentication method)
59
59
  attr_accessor :k8s_ca_certificate
60
60
 
61
- # K8s Client certificate
61
+ # K8s Client certificate with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Certificate Authentication method)
62
62
  attr_accessor :k8s_client_certificate
63
63
 
64
- # K8s Client key
64
+ # K8s Client key (relevant only for K8s migration with Certificate Authentication method)
65
65
  attr_accessor :k8s_client_key
66
66
 
67
- # K8s Namespace
67
+ # K8s Namespace, Use this field to import secrets from a particular namespace only. By default, the secrets are imported from all namespaces (relevant only for K8s migration)
68
68
  attr_accessor :k8s_namespace
69
69
 
70
- # K8s client password
70
+ # K8s Client password (relevant only for K8s migration with Password Authentication method)
71
71
  attr_accessor :k8s_password
72
72
 
73
- # K8s Skip Control Plane Secrets
73
+ # K8s Skip Control Plane Secrets, This option allows to avoid importing secrets from system namespaces (relevant only for K8s migration)
74
74
  attr_accessor :k8s_skip_system
75
75
 
76
- # For Token Authentication method K8s Bearer Token
76
+ # For Token Authentication method K8s Bearer Token with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Token Authentication method)
77
77
  attr_accessor :k8s_token
78
78
 
79
- # K8s Endpoint URL
79
+ # K8s API Server URL, e.g. https://k8s-api.mycompany.com:6443 (relevant only for K8s migration)
80
80
  attr_accessor :k8s_url
81
81
 
82
- # For Password Authentication method K8s client username
82
+ # For Password Authentication method K8s Client username with sufficient permission to list and get secrets in the namespace(s) you selected (relevant only for K8s migration with Password Authentication method)
83
83
  attr_accessor :k8s_username
84
84
 
85
85
  # Migration name
86
86
  attr_accessor :name
87
87
 
88
+ # New migration name
89
+ attr_accessor :new_name
90
+
88
91
  # The name of the key that protects the classic key value (if empty, the account default key will be used)
89
92
  attr_accessor :protection_key
90
93
 
@@ -94,9 +97,6 @@ module Akeyless
94
97
  # Authentication token (see `/auth` and `/configure`)
95
98
  attr_accessor :token
96
99
 
97
- # Migration type, can be: hashi/aws/gcp/k8s/azure_kv
98
- attr_accessor :type
99
-
100
100
  # The universal identity token, Required only for universal_identity authentication
101
101
  attr_accessor :uid_token
102
102
 
@@ -126,10 +126,10 @@ module Akeyless
126
126
  :'k8s_url' => :'k8s-url',
127
127
  :'k8s_username' => :'k8s-username',
128
128
  :'name' => :'name',
129
+ :'new_name' => :'new_name',
129
130
  :'protection_key' => :'protection-key',
130
131
  :'target_location' => :'target-location',
131
132
  :'token' => :'token',
132
- :'type' => :'type',
133
133
  :'uid_token' => :'uid-token'
134
134
  }
135
135
  end
@@ -165,10 +165,10 @@ module Akeyless
165
165
  :'k8s_url' => :'String',
166
166
  :'k8s_username' => :'String',
167
167
  :'name' => :'String',
168
+ :'new_name' => :'String',
168
169
  :'protection_key' => :'String',
169
170
  :'target_location' => :'String',
170
171
  :'token' => :'String',
171
- :'type' => :'String',
172
172
  :'uid_token' => :'String'
173
173
  }
174
174
  end
@@ -294,6 +294,10 @@ module Akeyless
294
294
  self.name = attributes[:'name']
295
295
  end
296
296
 
297
+ if attributes.key?(:'new_name')
298
+ self.new_name = attributes[:'new_name']
299
+ end
300
+
297
301
  if attributes.key?(:'protection_key')
298
302
  self.protection_key = attributes[:'protection_key']
299
303
  end
@@ -306,10 +310,6 @@ module Akeyless
306
310
  self.token = attributes[:'token']
307
311
  end
308
312
 
309
- if attributes.key?(:'type')
310
- self.type = attributes[:'type']
311
- end
312
-
313
313
  if attributes.key?(:'uid_token')
314
314
  self.uid_token = attributes[:'uid_token']
315
315
  end
@@ -319,17 +319,12 @@ module Akeyless
319
319
  # @return Array for valid properties with the reasons
320
320
  def list_invalid_properties
321
321
  invalid_properties = Array.new
322
- if @name.nil?
323
- invalid_properties.push('invalid value for "name", name cannot be nil.')
324
- end
325
-
326
322
  invalid_properties
327
323
  end
328
324
 
329
325
  # Check to see if the all the properties in the model are valid
330
326
  # @return true if the model is valid
331
327
  def valid?
332
- return false if @name.nil?
333
328
  true
334
329
  end
335
330
 
@@ -361,10 +356,10 @@ module Akeyless
361
356
  k8s_url == o.k8s_url &&
362
357
  k8s_username == o.k8s_username &&
363
358
  name == o.name &&
359
+ new_name == o.new_name &&
364
360
  protection_key == o.protection_key &&
365
361
  target_location == o.target_location &&
366
362
  token == o.token &&
367
- type == o.type &&
368
363
  uid_token == o.uid_token
369
364
  end
370
365
 
@@ -377,7 +372,7 @@ module Akeyless
377
372
  # Calculates hash code according to all attributes.
378
373
  # @return [Integer] Hash code
379
374
  def hash
380
- [aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, id, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, protection_key, target_location, token, type, uid_token].hash
375
+ [aws_key, aws_key_id, aws_region, azure_client_id, azure_kv_name, azure_secret, azure_tenant_id, gcp_key, hashi_json, hashi_ns, hashi_token, hashi_url, id, k8s_ca_certificate, k8s_client_certificate, k8s_client_key, k8s_namespace, k8s_password, k8s_skip_system, k8s_token, k8s_url, k8s_username, name, new_name, protection_key, target_location, token, uid_token].hash
381
376
  end
382
377
 
383
378
  # Builds the object from hash
@@ -31,6 +31,9 @@ module Akeyless
31
31
  # Base URL
32
32
  attr_accessor :base_url
33
33
 
34
+ # Protection from accidental deletion of this item
35
+ attr_accessor :delete_protection
36
+
34
37
  # Producer name
35
38
  attr_accessor :name
36
39
 
@@ -63,6 +66,7 @@ module Akeyless
63
66
  :'artifactory_token_audience' => :'artifactory-token-audience',
64
67
  :'artifactory_token_scope' => :'artifactory-token-scope',
65
68
  :'base_url' => :'base-url',
69
+ :'delete_protection' => :'delete_protection',
66
70
  :'name' => :'name',
67
71
  :'new_name' => :'new-name',
68
72
  :'producer_encryption_key_name' => :'producer-encryption-key-name',
@@ -87,6 +91,7 @@ module Akeyless
87
91
  :'artifactory_token_audience' => :'String',
88
92
  :'artifactory_token_scope' => :'String',
89
93
  :'base_url' => :'String',
94
+ :'delete_protection' => :'String',
90
95
  :'name' => :'String',
91
96
  :'new_name' => :'String',
92
97
  :'producer_encryption_key_name' => :'String',
@@ -139,6 +144,10 @@ module Akeyless
139
144
  self.base_url = attributes[:'base_url']
140
145
  end
141
146
 
147
+ if attributes.key?(:'delete_protection')
148
+ self.delete_protection = attributes[:'delete_protection']
149
+ end
150
+
142
151
  if attributes.key?(:'name')
143
152
  self.name = attributes[:'name']
144
153
  end
@@ -214,6 +223,7 @@ module Akeyless
214
223
  artifactory_token_audience == o.artifactory_token_audience &&
215
224
  artifactory_token_scope == o.artifactory_token_scope &&
216
225
  base_url == o.base_url &&
226
+ delete_protection == o.delete_protection &&
217
227
  name == o.name &&
218
228
  new_name == o.new_name &&
219
229
  producer_encryption_key_name == o.producer_encryption_key_name &&
@@ -233,7 +243,7 @@ module Akeyless
233
243
  # Calculates hash code according to all attributes.
234
244
  # @return [Integer] Hash code
235
245
  def hash
236
- [artifactory_admin_name, artifactory_admin_pwd, artifactory_token_audience, artifactory_token_scope, base_url, name, new_name, producer_encryption_key_name, tags, target_name, token, uid_token, user_ttl].hash
246
+ [artifactory_admin_name, artifactory_admin_pwd, artifactory_token_audience, artifactory_token_scope, base_url, delete_protection, name, new_name, producer_encryption_key_name, tags, target_name, token, uid_token, user_ttl].hash
237
247
  end
238
248
 
239
249
  # Builds the object from hash
@@ -42,6 +42,9 @@ module Akeyless
42
42
  # AWS User programmatic access
43
43
  attr_accessor :aws_user_programmatic_access
44
44
 
45
+ # Protection from accidental deletion of this item
46
+ attr_accessor :delete_protection
47
+
45
48
  # Automatic admin credentials rotation
46
49
  attr_accessor :enable_admin_rotation
47
50
 
@@ -98,6 +101,7 @@ module Akeyless
98
101
  :'aws_user_groups' => :'aws-user-groups',
99
102
  :'aws_user_policies' => :'aws-user-policies',
100
103
  :'aws_user_programmatic_access' => :'aws-user-programmatic-access',
104
+ :'delete_protection' => :'delete_protection',
101
105
  :'enable_admin_rotation' => :'enable-admin-rotation',
102
106
  :'name' => :'name',
103
107
  :'new_name' => :'new-name',
@@ -135,6 +139,7 @@ module Akeyless
135
139
  :'aws_user_groups' => :'String',
136
140
  :'aws_user_policies' => :'String',
137
141
  :'aws_user_programmatic_access' => :'Boolean',
142
+ :'delete_protection' => :'String',
138
143
  :'enable_admin_rotation' => :'Boolean',
139
144
  :'name' => :'String',
140
145
  :'new_name' => :'String',
@@ -218,6 +223,10 @@ module Akeyless
218
223
  self.aws_user_programmatic_access = true
219
224
  end
220
225
 
226
+ if attributes.key?(:'delete_protection')
227
+ self.delete_protection = attributes[:'delete_protection']
228
+ end
229
+
221
230
  if attributes.key?(:'enable_admin_rotation')
222
231
  self.enable_admin_rotation = attributes[:'enable_admin_rotation']
223
232
  else
@@ -327,6 +336,7 @@ module Akeyless
327
336
  aws_user_groups == o.aws_user_groups &&
328
337
  aws_user_policies == o.aws_user_policies &&
329
338
  aws_user_programmatic_access == o.aws_user_programmatic_access &&
339
+ delete_protection == o.delete_protection &&
330
340
  enable_admin_rotation == o.enable_admin_rotation &&
331
341
  name == o.name &&
332
342
  new_name == o.new_name &&
@@ -355,7 +365,7 @@ module Akeyless
355
365
  # Calculates hash code according to all attributes.
356
366
  # @return [Integer] Hash code
357
367
  def hash
358
- [access_mode, admin_rotation_interval_days, aws_access_key_id, aws_access_secret_key, aws_role_arns, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, enable_admin_rotation, name, new_name, producer_encryption_key_name, region, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_enable, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_ttl].hash
368
+ [access_mode, admin_rotation_interval_days, aws_access_key_id, aws_access_secret_key, aws_role_arns, aws_user_console_access, aws_user_groups, aws_user_policies, aws_user_programmatic_access, delete_protection, enable_admin_rotation, name, new_name, producer_encryption_key_name, region, secure_access_aws_account_id, secure_access_aws_native_cli, secure_access_bastion_issuer, secure_access_enable, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_ttl].hash
359
369
  end
360
370
 
361
371
  # Builds the object from hash
@@ -28,6 +28,9 @@ module Akeyless
28
28
  # Azure Tenant ID
29
29
  attr_accessor :azure_tenant_id
30
30
 
31
+ # Protection from accidental deletion of this item
32
+ attr_accessor :delete_protection
33
+
31
34
  # FixedUserClaimKeyname
32
35
  attr_accessor :fixed_user_claim_keyname
33
36
 
@@ -88,6 +91,7 @@ module Akeyless
88
91
  :'azure_client_id' => :'azure-client-id',
89
92
  :'azure_client_secret' => :'azure-client-secret',
90
93
  :'azure_tenant_id' => :'azure-tenant-id',
94
+ :'delete_protection' => :'delete_protection',
91
95
  :'fixed_user_claim_keyname' => :'fixed-user-claim-keyname',
92
96
  :'fixed_user_only' => :'fixed-user-only',
93
97
  :'name' => :'name',
@@ -122,6 +126,7 @@ module Akeyless
122
126
  :'azure_client_id' => :'String',
123
127
  :'azure_client_secret' => :'String',
124
128
  :'azure_tenant_id' => :'String',
129
+ :'delete_protection' => :'String',
125
130
  :'fixed_user_claim_keyname' => :'String',
126
131
  :'fixed_user_only' => :'Boolean',
127
132
  :'name' => :'String',
@@ -181,6 +186,10 @@ module Akeyless
181
186
  self.azure_tenant_id = attributes[:'azure_tenant_id']
182
187
  end
183
188
 
189
+ if attributes.key?(:'delete_protection')
190
+ self.delete_protection = attributes[:'delete_protection']
191
+ end
192
+
184
193
  if attributes.key?(:'fixed_user_claim_keyname')
185
194
  self.fixed_user_claim_keyname = attributes[:'fixed_user_claim_keyname']
186
195
  else
@@ -297,6 +306,7 @@ module Akeyless
297
306
  azure_client_id == o.azure_client_id &&
298
307
  azure_client_secret == o.azure_client_secret &&
299
308
  azure_tenant_id == o.azure_tenant_id &&
309
+ delete_protection == o.delete_protection &&
300
310
  fixed_user_claim_keyname == o.fixed_user_claim_keyname &&
301
311
  fixed_user_only == o.fixed_user_only &&
302
312
  name == o.name &&
@@ -327,7 +337,7 @@ module Akeyless
327
337
  # Calculates hash code according to all attributes.
328
338
  # @return [Integer] Hash code
329
339
  def hash
330
- [app_obj_id, azure_client_id, azure_client_secret, azure_tenant_id, fixed_user_claim_keyname, fixed_user_only, name, new_name, producer_encryption_key_name, secure_access_enable, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_group_obj_id, user_portal_access, user_principal_name, user_programmatic_access, user_role_template_id, user_ttl].hash
340
+ [app_obj_id, azure_client_id, azure_client_secret, azure_tenant_id, delete_protection, fixed_user_claim_keyname, fixed_user_only, name, new_name, producer_encryption_key_name, secure_access_enable, secure_access_web, secure_access_web_browsing, secure_access_web_proxy, tags, target_name, token, uid_token, user_group_obj_id, user_portal_access, user_principal_name, user_programmatic_access, user_role_template_id, user_ttl].hash
331
341
  end
332
342
 
333
343
  # Builds the object from hash