akeyless 5.0.27 → 5.0.28

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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +15 -1
  3. data/docs/AccountGeneralSettings.md +2 -0
  4. data/docs/EsmGetSecretOutput.md +7 -1
  5. data/docs/FolderDeleteSync.md +32 -0
  6. data/docs/FolderDeleteSyncOutput.md +24 -0
  7. data/docs/FolderSync.md +34 -0
  8. data/docs/FolderSyncAll.md +26 -0
  9. data/docs/FolderSyncAllOutput.md +18 -0
  10. data/docs/FolderSyncOutput.md +24 -0
  11. data/docs/FolderUSCSyncConfig.md +2 -0
  12. data/docs/OIDCAccessRules.md +2 -0
  13. data/docs/PersonalFolderGlobalMappingSettings.md +20 -0
  14. data/docs/RotatedSecretCreateAws.md +4 -4
  15. data/docs/RotatedSecretCreateAzure.md +6 -4
  16. data/docs/RotatedSecretCreateCassandra.md +4 -4
  17. data/docs/RotatedSecretCreateCustom.md +4 -4
  18. data/docs/RotatedSecretCreateDockerhub.md +4 -4
  19. data/docs/RotatedSecretCreateGcp.md +4 -4
  20. data/docs/RotatedSecretCreateHanadb.md +4 -4
  21. data/docs/RotatedSecretCreateHashiVault.md +60 -0
  22. data/docs/RotatedSecretCreateLdap.md +4 -4
  23. data/docs/RotatedSecretCreateMongodb.md +4 -4
  24. data/docs/RotatedSecretCreateMssql.md +4 -4
  25. data/docs/RotatedSecretCreateMysql.md +4 -4
  26. data/docs/RotatedSecretCreateOpenAI.md +4 -4
  27. data/docs/RotatedSecretCreateOracledb.md +4 -4
  28. data/docs/RotatedSecretCreatePostgresql.md +4 -4
  29. data/docs/RotatedSecretCreateRedis.md +4 -4
  30. data/docs/RotatedSecretCreateRedshift.md +4 -4
  31. data/docs/RotatedSecretCreateSnowflake.md +4 -4
  32. data/docs/RotatedSecretCreateSplunk.md +4 -4
  33. data/docs/RotatedSecretCreateSsh.md +4 -4
  34. data/docs/RotatedSecretCreateWindows.md +4 -4
  35. data/docs/RotatedSecretUpdateAws.md +4 -4
  36. data/docs/RotatedSecretUpdateAzure.md +6 -4
  37. data/docs/RotatedSecretUpdateCassandra.md +4 -4
  38. data/docs/RotatedSecretUpdateCustom.md +4 -4
  39. data/docs/RotatedSecretUpdateDockerhub.md +4 -4
  40. data/docs/RotatedSecretUpdateGcp.md +4 -4
  41. data/docs/RotatedSecretUpdateHanadb.md +4 -4
  42. data/docs/RotatedSecretUpdateHashiVault.md +64 -0
  43. data/docs/RotatedSecretUpdateLdap.md +4 -4
  44. data/docs/RotatedSecretUpdateMongodb.md +4 -4
  45. data/docs/RotatedSecretUpdateMssql.md +4 -4
  46. data/docs/RotatedSecretUpdateMysql.md +4 -4
  47. data/docs/RotatedSecretUpdateOpenAI.md +4 -4
  48. data/docs/RotatedSecretUpdateOracledb.md +4 -4
  49. data/docs/RotatedSecretUpdatePostgresql.md +4 -4
  50. data/docs/RotatedSecretUpdateRedis.md +4 -4
  51. data/docs/RotatedSecretUpdateRedshift.md +4 -4
  52. data/docs/RotatedSecretUpdateSnowflake.md +4 -4
  53. data/docs/RotatedSecretUpdateSplunk.md +4 -4
  54. data/docs/RotatedSecretUpdateSsh.md +4 -4
  55. data/docs/RotatedSecretUpdateWindows.md +4 -4
  56. data/docs/SecretInfo.md +5 -1
  57. data/docs/UscGetSecretOutput.md +7 -1
  58. data/docs/V2Api.md +315 -0
  59. data/lib/akeyless/api/v2_api.rb +320 -0
  60. data/lib/akeyless/models/account_general_settings.rb +10 -1
  61. data/lib/akeyless/models/esm_get_secret_output.rb +35 -4
  62. data/lib/akeyless/models/folder_delete_sync.rb +305 -0
  63. data/lib/akeyless/models/folder_delete_sync_output.rb +245 -0
  64. data/lib/akeyless/models/folder_sync.rb +306 -0
  65. data/lib/akeyless/models/folder_sync_all.rb +266 -0
  66. data/lib/akeyless/models/folder_sync_all_output.rb +214 -0
  67. data/lib/akeyless/models/folder_sync_output.rb +247 -0
  68. data/lib/akeyless/models/folder_usc_sync_config.rb +10 -1
  69. data/lib/akeyless/models/oidc_access_rules.rb +11 -1
  70. data/lib/akeyless/models/personal_folder_global_mapping_settings.rb +223 -0
  71. data/lib/akeyless/models/rotated_secret_create_aws.rb +0 -4
  72. data/lib/akeyless/models/rotated_secret_create_azure.rb +11 -5
  73. data/lib/akeyless/models/rotated_secret_create_cassandra.rb +0 -4
  74. data/lib/akeyless/models/rotated_secret_create_custom.rb +0 -4
  75. data/lib/akeyless/models/rotated_secret_create_dockerhub.rb +0 -4
  76. data/lib/akeyless/models/rotated_secret_create_gcp.rb +0 -4
  77. data/lib/akeyless/models/rotated_secret_create_hanadb.rb +0 -4
  78. data/lib/akeyless/models/rotated_secret_create_hashi_vault.rb +446 -0
  79. data/lib/akeyless/models/rotated_secret_create_ldap.rb +0 -4
  80. data/lib/akeyless/models/rotated_secret_create_mongodb.rb +0 -4
  81. data/lib/akeyless/models/rotated_secret_create_mssql.rb +0 -4
  82. data/lib/akeyless/models/rotated_secret_create_mysql.rb +0 -4
  83. data/lib/akeyless/models/rotated_secret_create_open_ai.rb +0 -4
  84. data/lib/akeyless/models/rotated_secret_create_oracledb.rb +0 -4
  85. data/lib/akeyless/models/rotated_secret_create_postgresql.rb +0 -4
  86. data/lib/akeyless/models/rotated_secret_create_redis.rb +0 -4
  87. data/lib/akeyless/models/rotated_secret_create_redshift.rb +0 -4
  88. data/lib/akeyless/models/rotated_secret_create_snowflake.rb +0 -4
  89. data/lib/akeyless/models/rotated_secret_create_splunk.rb +0 -4
  90. data/lib/akeyless/models/rotated_secret_create_ssh.rb +0 -4
  91. data/lib/akeyless/models/rotated_secret_create_windows.rb +0 -4
  92. data/lib/akeyless/models/rotated_secret_sync.rb +1 -1
  93. data/lib/akeyless/models/rotated_secret_update_aws.rb +0 -4
  94. data/lib/akeyless/models/rotated_secret_update_azure.rb +11 -5
  95. data/lib/akeyless/models/rotated_secret_update_cassandra.rb +0 -4
  96. data/lib/akeyless/models/rotated_secret_update_custom.rb +0 -4
  97. data/lib/akeyless/models/rotated_secret_update_dockerhub.rb +0 -4
  98. data/lib/akeyless/models/rotated_secret_update_gcp.rb +0 -4
  99. data/lib/akeyless/models/rotated_secret_update_hanadb.rb +0 -4
  100. data/lib/akeyless/models/rotated_secret_update_hashi_vault.rb +463 -0
  101. data/lib/akeyless/models/rotated_secret_update_ldap.rb +0 -4
  102. data/lib/akeyless/models/rotated_secret_update_mongodb.rb +0 -4
  103. data/lib/akeyless/models/rotated_secret_update_mssql.rb +0 -4
  104. data/lib/akeyless/models/rotated_secret_update_mysql.rb +0 -4
  105. data/lib/akeyless/models/rotated_secret_update_open_ai.rb +0 -4
  106. data/lib/akeyless/models/rotated_secret_update_oracledb.rb +0 -4
  107. data/lib/akeyless/models/rotated_secret_update_postgresql.rb +0 -4
  108. data/lib/akeyless/models/rotated_secret_update_redis.rb +0 -4
  109. data/lib/akeyless/models/rotated_secret_update_redshift.rb +0 -4
  110. data/lib/akeyless/models/rotated_secret_update_snowflake.rb +0 -4
  111. data/lib/akeyless/models/rotated_secret_update_splunk.rb +0 -4
  112. data/lib/akeyless/models/rotated_secret_update_ssh.rb +0 -4
  113. data/lib/akeyless/models/rotated_secret_update_windows.rb +0 -4
  114. data/lib/akeyless/models/secret_info.rb +24 -4
  115. data/lib/akeyless/models/static_secret_sync.rb +1 -1
  116. data/lib/akeyless/models/usc_get_secret_output.rb +35 -4
  117. data/lib/akeyless/version.rb +1 -1
  118. data/lib/akeyless.rb +9 -0
  119. data/spec/models/folder_delete_sync_output_spec.rb +54 -0
  120. data/spec/models/folder_delete_sync_spec.rb +78 -0
  121. data/spec/models/folder_sync_all_output_spec.rb +36 -0
  122. data/spec/models/folder_sync_all_spec.rb +60 -0
  123. data/spec/models/folder_sync_output_spec.rb +54 -0
  124. data/spec/models/folder_sync_spec.rb +84 -0
  125. data/spec/models/personal_folder_global_mapping_settings_spec.rb +42 -0
  126. data/spec/models/rotated_secret_create_hashi_vault_spec.rb +162 -0
  127. data/spec/models/rotated_secret_update_hashi_vault_spec.rb +174 -0
  128. metadata +38 -2
@@ -0,0 +1,214 @@
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 FolderSyncAllOutput
18
+ attr_accessor :folder_name
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'folder_name' => :'folder_name'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'folder_name' => :'String'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::FolderSyncAllOutput` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::FolderSyncAllOutput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'folder_name')
61
+ self.folder_name = attributes[:'folder_name']
62
+ end
63
+ end
64
+
65
+ # Show invalid properties with the reasons. Usually used together with valid?
66
+ # @return Array for valid properties with the reasons
67
+ def list_invalid_properties
68
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
69
+ invalid_properties = Array.new
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ warn '[DEPRECATED] the `valid?` method is obsolete'
77
+ true
78
+ end
79
+
80
+ # Checks equality by comparing each attribute.
81
+ # @param [Object] Object to be compared
82
+ def ==(o)
83
+ return true if self.equal?(o)
84
+ self.class == o.class &&
85
+ folder_name == o.folder_name
86
+ end
87
+
88
+ # @see the `==` method
89
+ # @param [Object] Object to be compared
90
+ def eql?(o)
91
+ self == o
92
+ end
93
+
94
+ # Calculates hash code according to all attributes.
95
+ # @return [Integer] Hash code
96
+ def hash
97
+ [folder_name].hash
98
+ end
99
+
100
+ # Builds the object from hash
101
+ # @param [Hash] attributes Model attributes in the form of hash
102
+ # @return [Object] Returns the model itself
103
+ def self.build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+ attributes = attributes.transform_keys(&:to_sym)
106
+ transformed_hash = {}
107
+ openapi_types.each_pair do |key, type|
108
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
109
+ transformed_hash["#{key}"] = nil
110
+ elsif type =~ /\AArray<(.*)>/i
111
+ # check to ensure the input is an array given that the attribute
112
+ # is documented as an array but the input is not
113
+ if attributes[attribute_map[key]].is_a?(Array)
114
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
115
+ end
116
+ elsif !attributes[attribute_map[key]].nil?
117
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
118
+ end
119
+ end
120
+ new(transformed_hash)
121
+ end
122
+
123
+ # Deserializes the data based on type
124
+ # @param string type Data type
125
+ # @param string value Value to be deserialized
126
+ # @return [Object] Deserialized data
127
+ def self._deserialize(type, value)
128
+ case type.to_sym
129
+ when :Time
130
+ Time.parse(value)
131
+ when :Date
132
+ Date.parse(value)
133
+ when :String
134
+ value.to_s
135
+ when :Integer
136
+ value.to_i
137
+ when :Float
138
+ value.to_f
139
+ when :Boolean
140
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
141
+ true
142
+ else
143
+ false
144
+ end
145
+ when :Object
146
+ # generic object (usually a Hash), return directly
147
+ value
148
+ when /\AArray<(?<inner_type>.+)>\z/
149
+ inner_type = Regexp.last_match[:inner_type]
150
+ value.map { |v| _deserialize(inner_type, v) }
151
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
152
+ k_type = Regexp.last_match[:k_type]
153
+ v_type = Regexp.last_match[:v_type]
154
+ {}.tap do |hash|
155
+ value.each do |k, v|
156
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
157
+ end
158
+ end
159
+ else # model
160
+ # models (e.g. Pet) or oneOf
161
+ klass = Akeyless.const_get(type)
162
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
163
+ end
164
+ end
165
+
166
+ # Returns the string representation of the object
167
+ # @return [String] String presentation of the object
168
+ def to_s
169
+ to_hash.to_s
170
+ end
171
+
172
+ # to_body is an alias to to_hash (backward compatibility)
173
+ # @return [Hash] Returns the object in the form of hash
174
+ def to_body
175
+ to_hash
176
+ end
177
+
178
+ # Returns the object in the form of hash
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_hash
181
+ hash = {}
182
+ self.class.attribute_map.each_pair do |attr, param|
183
+ value = self.send(attr)
184
+ if value.nil?
185
+ is_nullable = self.class.openapi_nullable.include?(attr)
186
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
187
+ end
188
+
189
+ hash[param] = _to_hash(value)
190
+ end
191
+ hash
192
+ end
193
+
194
+ # Outputs non-array value in the form of hash
195
+ # For object, use to_hash. Otherwise, just return the value
196
+ # @param [Object] value Any valid value
197
+ # @return [Hash] Returns the value in the form of hash
198
+ def _to_hash(value)
199
+ if value.is_a?(Array)
200
+ value.compact.map { |v| _to_hash(v) }
201
+ elsif value.is_a?(Hash)
202
+ {}.tap do |hash|
203
+ value.each { |k, v| hash[k] = _to_hash(v) }
204
+ end
205
+ elsif value.respond_to? :to_hash
206
+ value.to_hash
207
+ else
208
+ value
209
+ end
210
+ end
211
+
212
+ end
213
+
214
+ end
@@ -0,0 +1,247 @@
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 FolderSyncOutput
18
+ attr_accessor :failed_items
19
+
20
+ attr_accessor :folder_name
21
+
22
+ attr_accessor :skipped_items
23
+
24
+ attr_accessor :synced_items
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'failed_items' => :'failed_items',
30
+ :'folder_name' => :'folder_name',
31
+ :'skipped_items' => :'skipped_items',
32
+ :'synced_items' => :'synced_items'
33
+ }
34
+ end
35
+
36
+ # Returns all the JSON keys this model knows about
37
+ def self.acceptable_attributes
38
+ attribute_map.values
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.openapi_types
43
+ {
44
+ :'failed_items' => :'Hash<String, String>',
45
+ :'folder_name' => :'String',
46
+ :'skipped_items' => :'Array<String>',
47
+ :'synced_items' => :'Array<String>'
48
+ }
49
+ end
50
+
51
+ # List of attributes with nullable: true
52
+ def self.openapi_nullable
53
+ Set.new([
54
+ ])
55
+ end
56
+
57
+ # Initializes the object
58
+ # @param [Hash] attributes Model attributes in the form of hash
59
+ def initialize(attributes = {})
60
+ if (!attributes.is_a?(Hash))
61
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Akeyless::FolderSyncOutput` initialize method"
62
+ end
63
+
64
+ # check to see if the attribute exists and convert string to symbol for hash key
65
+ attributes = attributes.each_with_object({}) { |(k, v), h|
66
+ if (!self.class.attribute_map.key?(k.to_sym))
67
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Akeyless::FolderSyncOutput`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
68
+ end
69
+ h[k.to_sym] = v
70
+ }
71
+
72
+ if attributes.key?(:'failed_items')
73
+ if (value = attributes[:'failed_items']).is_a?(Hash)
74
+ self.failed_items = value
75
+ end
76
+ end
77
+
78
+ if attributes.key?(:'folder_name')
79
+ self.folder_name = attributes[:'folder_name']
80
+ end
81
+
82
+ if attributes.key?(:'skipped_items')
83
+ if (value = attributes[:'skipped_items']).is_a?(Array)
84
+ self.skipped_items = value
85
+ end
86
+ end
87
+
88
+ if attributes.key?(:'synced_items')
89
+ if (value = attributes[:'synced_items']).is_a?(Array)
90
+ self.synced_items = value
91
+ end
92
+ end
93
+ end
94
+
95
+ # Show invalid properties with the reasons. Usually used together with valid?
96
+ # @return Array for valid properties with the reasons
97
+ def list_invalid_properties
98
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
99
+ invalid_properties = Array.new
100
+ invalid_properties
101
+ end
102
+
103
+ # Check to see if the all the properties in the model are valid
104
+ # @return true if the model is valid
105
+ def valid?
106
+ warn '[DEPRECATED] the `valid?` method is obsolete'
107
+ true
108
+ end
109
+
110
+ # Checks equality by comparing each attribute.
111
+ # @param [Object] Object to be compared
112
+ def ==(o)
113
+ return true if self.equal?(o)
114
+ self.class == o.class &&
115
+ failed_items == o.failed_items &&
116
+ folder_name == o.folder_name &&
117
+ skipped_items == o.skipped_items &&
118
+ synced_items == o.synced_items
119
+ end
120
+
121
+ # @see the `==` method
122
+ # @param [Object] Object to be compared
123
+ def eql?(o)
124
+ self == o
125
+ end
126
+
127
+ # Calculates hash code according to all attributes.
128
+ # @return [Integer] Hash code
129
+ def hash
130
+ [failed_items, folder_name, skipped_items, synced_items].hash
131
+ end
132
+
133
+ # Builds the object from hash
134
+ # @param [Hash] attributes Model attributes in the form of hash
135
+ # @return [Object] Returns the model itself
136
+ def self.build_from_hash(attributes)
137
+ return nil unless attributes.is_a?(Hash)
138
+ attributes = attributes.transform_keys(&:to_sym)
139
+ transformed_hash = {}
140
+ openapi_types.each_pair do |key, type|
141
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
142
+ transformed_hash["#{key}"] = nil
143
+ elsif type =~ /\AArray<(.*)>/i
144
+ # check to ensure the input is an array given that the attribute
145
+ # is documented as an array but the input is not
146
+ if attributes[attribute_map[key]].is_a?(Array)
147
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
148
+ end
149
+ elsif !attributes[attribute_map[key]].nil?
150
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
151
+ end
152
+ end
153
+ new(transformed_hash)
154
+ end
155
+
156
+ # Deserializes the data based on type
157
+ # @param string type Data type
158
+ # @param string value Value to be deserialized
159
+ # @return [Object] Deserialized data
160
+ def self._deserialize(type, value)
161
+ case type.to_sym
162
+ when :Time
163
+ Time.parse(value)
164
+ when :Date
165
+ Date.parse(value)
166
+ when :String
167
+ value.to_s
168
+ when :Integer
169
+ value.to_i
170
+ when :Float
171
+ value.to_f
172
+ when :Boolean
173
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
174
+ true
175
+ else
176
+ false
177
+ end
178
+ when :Object
179
+ # generic object (usually a Hash), return directly
180
+ value
181
+ when /\AArray<(?<inner_type>.+)>\z/
182
+ inner_type = Regexp.last_match[:inner_type]
183
+ value.map { |v| _deserialize(inner_type, v) }
184
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
185
+ k_type = Regexp.last_match[:k_type]
186
+ v_type = Regexp.last_match[:v_type]
187
+ {}.tap do |hash|
188
+ value.each do |k, v|
189
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
190
+ end
191
+ end
192
+ else # model
193
+ # models (e.g. Pet) or oneOf
194
+ klass = Akeyless.const_get(type)
195
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+
245
+ end
246
+
247
+ end
@@ -17,6 +17,8 @@ module Akeyless
17
17
  class FolderUSCSyncConfig
18
18
  attr_accessor :delete_remote
19
19
 
20
+ attr_accessor :engine_name
21
+
20
22
  attr_accessor :namespace
21
23
 
22
24
  attr_accessor :usc_item_id
@@ -27,6 +29,7 @@ module Akeyless
27
29
  def self.attribute_map
28
30
  {
29
31
  :'delete_remote' => :'delete_remote',
32
+ :'engine_name' => :'engine_name',
30
33
  :'namespace' => :'namespace',
31
34
  :'usc_item_id' => :'usc_item_id',
32
35
  :'usc_item_name' => :'usc_item_name'
@@ -42,6 +45,7 @@ module Akeyless
42
45
  def self.openapi_types
43
46
  {
44
47
  :'delete_remote' => :'Boolean',
48
+ :'engine_name' => :'String',
45
49
  :'namespace' => :'String',
46
50
  :'usc_item_id' => :'Integer',
47
51
  :'usc_item_name' => :'String'
@@ -73,6 +77,10 @@ module Akeyless
73
77
  self.delete_remote = attributes[:'delete_remote']
74
78
  end
75
79
 
80
+ if attributes.key?(:'engine_name')
81
+ self.engine_name = attributes[:'engine_name']
82
+ end
83
+
76
84
  if attributes.key?(:'namespace')
77
85
  self.namespace = attributes[:'namespace']
78
86
  end
@@ -107,6 +115,7 @@ module Akeyless
107
115
  return true if self.equal?(o)
108
116
  self.class == o.class &&
109
117
  delete_remote == o.delete_remote &&
118
+ engine_name == o.engine_name &&
110
119
  namespace == o.namespace &&
111
120
  usc_item_id == o.usc_item_id &&
112
121
  usc_item_name == o.usc_item_name
@@ -121,7 +130,7 @@ module Akeyless
121
130
  # Calculates hash code according to all attributes.
122
131
  # @return [Integer] Hash code
123
132
  def hash
124
- [delete_remote, namespace, usc_item_id, usc_item_name].hash
133
+ [delete_remote, engine_name, namespace, usc_item_id, usc_item_name].hash
125
134
  end
126
135
 
127
136
  # Builds the object from hash
@@ -22,6 +22,9 @@ module Akeyless
22
22
  # Audience claim to be used as part of the authentication flow. In case set, it must match the one configured on the Identity Provider's Application
23
23
  attr_accessor :audience
24
24
 
25
+ # AuthorizedGwClusterName binds the access method to a single GW cluster. When empty (or whitespace-only), GW-driven auth is disabled.
26
+ attr_accessor :authorized_gw_cluster_name
27
+
25
28
  # The claims that login is restricted to.
26
29
  attr_accessor :bound_claims
27
30
 
@@ -51,6 +54,7 @@ module Akeyless
51
54
  {
52
55
  :'allowed_redirect_uris' => :'allowed_redirect_URIs',
53
56
  :'audience' => :'audience',
57
+ :'authorized_gw_cluster_name' => :'authorized_gw_cluster_name',
54
58
  :'bound_claims' => :'bound_claims',
55
59
  :'client_id' => :'client_id',
56
60
  :'client_secret' => :'client_secret',
@@ -72,6 +76,7 @@ module Akeyless
72
76
  {
73
77
  :'allowed_redirect_uris' => :'Array<String>',
74
78
  :'audience' => :'String',
79
+ :'authorized_gw_cluster_name' => :'String',
75
80
  :'bound_claims' => :'Array<OIDCCustomClaim>',
76
81
  :'client_id' => :'String',
77
82
  :'client_secret' => :'String',
@@ -114,6 +119,10 @@ module Akeyless
114
119
  self.audience = attributes[:'audience']
115
120
  end
116
121
 
122
+ if attributes.key?(:'authorized_gw_cluster_name')
123
+ self.authorized_gw_cluster_name = attributes[:'authorized_gw_cluster_name']
124
+ end
125
+
117
126
  if attributes.key?(:'bound_claims')
118
127
  if (value = attributes[:'bound_claims']).is_a?(Array)
119
128
  self.bound_claims = value
@@ -173,6 +182,7 @@ module Akeyless
173
182
  self.class == o.class &&
174
183
  allowed_redirect_uris == o.allowed_redirect_uris &&
175
184
  audience == o.audience &&
185
+ authorized_gw_cluster_name == o.authorized_gw_cluster_name &&
176
186
  bound_claims == o.bound_claims &&
177
187
  client_id == o.client_id &&
178
188
  client_secret == o.client_secret &&
@@ -192,7 +202,7 @@ module Akeyless
192
202
  # Calculates hash code according to all attributes.
193
203
  # @return [Integer] Hash code
194
204
  def hash
195
- [allowed_redirect_uris, audience, bound_claims, client_id, client_secret, is_internal, issuer, required_scopes, required_scopes_prefix, unique_identifier].hash
205
+ [allowed_redirect_uris, audience, authorized_gw_cluster_name, bound_claims, client_id, client_secret, is_internal, issuer, required_scopes, required_scopes_prefix, unique_identifier].hash
196
206
  end
197
207
 
198
208
  # Builds the object from hash