talon_one 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +14 -6
  3. data/docs/AccountAnalytics.md +1 -0
  4. data/docs/AccountLimits.md +1 -0
  5. data/docs/Application.md +1 -0
  6. data/docs/AttributesMandatory.md +9 -0
  7. data/docs/AttributesSettings.md +8 -0
  8. data/docs/BaseSamlConnection.md +15 -0
  9. data/docs/CampaignAnalytics.md +9 -3
  10. data/docs/CampaignCopy.md +4 -0
  11. data/docs/Change.md +2 -2
  12. data/docs/CustomerInventory.md +9 -0
  13. data/docs/InlineResponse20020.md +1 -1
  14. data/docs/InlineResponse20021.md +1 -1
  15. data/docs/InlineResponse20022.md +1 -1
  16. data/docs/InlineResponse20023.md +1 -1
  17. data/docs/InlineResponse20024.md +1 -1
  18. data/docs/InlineResponse20025.md +2 -3
  19. data/docs/InlineResponse20026.md +3 -2
  20. data/docs/InlineResponse20027.md +1 -1
  21. data/docs/InlineResponse20028.md +1 -1
  22. data/docs/InlineResponse20029.md +9 -0
  23. data/docs/IntegrationApi.md +66 -0
  24. data/docs/ManagementApi.md +162 -101
  25. data/docs/NewApplication.md +1 -0
  26. data/docs/NewSamlConnection.md +3 -2
  27. data/docs/SamlConnection.md +4 -5
  28. data/docs/SamlConnectionMetadata.md +11 -0
  29. data/docs/UpdateApplication.md +1 -0
  30. data/lib/talon_one.rb +6 -0
  31. data/lib/talon_one/api/integration_api.rb +60 -0
  32. data/lib/talon_one/api/management_api.rb +177 -119
  33. data/lib/talon_one/models/account_analytics.rb +19 -4
  34. data/lib/talon_one/models/account_limits.rb +11 -1
  35. data/lib/talon_one/models/application.rb +10 -1
  36. data/lib/talon_one/models/attributes_mandatory.rb +199 -0
  37. data/lib/talon_one/models/attributes_settings.rb +184 -0
  38. data/lib/talon_one/models/base_saml_connection.rb +336 -0
  39. data/lib/talon_one/models/campaign_analytics.rb +94 -4
  40. data/lib/talon_one/models/campaign_copy.rb +46 -4
  41. data/lib/talon_one/models/change.rb +2 -2
  42. data/lib/talon_one/models/customer_inventory.rb +194 -0
  43. data/lib/talon_one/models/inline_response_200_20.rb +1 -1
  44. data/lib/talon_one/models/inline_response_200_21.rb +1 -1
  45. data/lib/talon_one/models/inline_response_200_22.rb +1 -1
  46. data/lib/talon_one/models/inline_response_200_23.rb +1 -1
  47. data/lib/talon_one/models/inline_response_200_24.rb +1 -1
  48. data/lib/talon_one/models/inline_response_200_25.rb +7 -11
  49. data/lib/talon_one/models/inline_response_200_26.rb +11 -7
  50. data/lib/talon_one/models/inline_response_200_27.rb +1 -1
  51. data/lib/talon_one/models/inline_response_200_28.rb +1 -1
  52. data/lib/talon_one/models/inline_response_200_29.rb +204 -0
  53. data/lib/talon_one/models/new_application.rb +10 -1
  54. data/lib/talon_one/models/new_saml_connection.rb +58 -43
  55. data/lib/talon_one/models/saml_connection.rb +45 -78
  56. data/lib/talon_one/models/saml_connection_metadata.rb +271 -0
  57. data/lib/talon_one/models/update_application.rb +13 -4
  58. data/lib/talon_one/version.rb +1 -1
  59. data/spec/api/integration_api_spec.rb +14 -0
  60. data/spec/api/management_api_spec.rb +50 -36
  61. data/spec/models/account_analytics_spec.rb +6 -0
  62. data/spec/models/account_limits_spec.rb +6 -0
  63. data/spec/models/application_spec.rb +6 -0
  64. data/spec/models/attributes_mandatory_spec.rb +47 -0
  65. data/spec/models/attributes_settings_spec.rb +41 -0
  66. data/spec/models/base_saml_connection_spec.rb +83 -0
  67. data/spec/models/campaign_analytics_spec.rb +36 -0
  68. data/spec/models/campaign_copy_spec.rb +24 -0
  69. data/spec/models/customer_inventory_spec.rb +47 -0
  70. data/spec/models/inline_response_200_25_spec.rb +0 -6
  71. data/spec/models/inline_response_200_26_spec.rb +6 -0
  72. data/spec/models/inline_response_200_29_spec.rb +47 -0
  73. data/spec/models/new_application_spec.rb +6 -0
  74. data/spec/models/new_saml_connection_spec.rb +13 -7
  75. data/spec/models/saml_connection_metadata_spec.rb +59 -0
  76. data/spec/models/saml_connection_spec.rb +9 -15
  77. data/spec/models/update_application_spec.rb +6 -0
  78. data/talon_one-1.3.0.gem +0 -0
  79. metadata +27 -2
@@ -30,7 +30,7 @@ module TalonOne
30
30
  def self.swagger_types
31
31
  {
32
32
  :'total_result_size' => :'Integer',
33
- :'data' => :'Array<Import>'
33
+ :'data' => :'Array<Export>'
34
34
  }
35
35
  end
36
36
 
@@ -30,7 +30,7 @@ module TalonOne
30
30
  def self.swagger_types
31
31
  {
32
32
  :'total_result_size' => :'Integer',
33
- :'data' => :'Array<Role>'
33
+ :'data' => :'Array<Import>'
34
34
  }
35
35
  end
36
36
 
@@ -0,0 +1,204 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #The Talon.One API is used to manage applications and campaigns, as well as to integrate with your application. The operations in the _Integration API_ section are used to integrate with our platform, while the other operations are used to manage applications and campaigns. ### Where is the API? The API is available at the same hostname as these docs. For example, if you are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerProfile][] operation is `https://mycompany.talon.one/v1/customer_profiles/id` [updateCustomerProfile]: #operation--v1-customer_profiles--integrationId--put
5
+
6
+ OpenAPI spec version: 1.0.0
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.7
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ class InlineResponse20029
17
+ attr_accessor :total_result_size
18
+
19
+ attr_accessor :data
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'total_result_size' => :'totalResultSize',
25
+ :'data' => :'data'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'total_result_size' => :'Integer',
33
+ :'data' => :'Array<Role>'
34
+ }
35
+ end
36
+
37
+ # Initializes the object
38
+ # @param [Hash] attributes Model attributes in the form of hash
39
+ def initialize(attributes = {})
40
+ return unless attributes.is_a?(Hash)
41
+
42
+ # convert string to symbol for hash key
43
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
44
+
45
+ if attributes.has_key?(:'totalResultSize')
46
+ self.total_result_size = attributes[:'totalResultSize']
47
+ end
48
+
49
+ if attributes.has_key?(:'data')
50
+ if (value = attributes[:'data']).is_a?(Array)
51
+ self.data = value
52
+ end
53
+ end
54
+ end
55
+
56
+ # Show invalid properties with the reasons. Usually used together with valid?
57
+ # @return Array for valid properties with the reasons
58
+ def list_invalid_properties
59
+ invalid_properties = Array.new
60
+ if @total_result_size.nil?
61
+ invalid_properties.push('invalid value for "total_result_size", total_result_size cannot be nil.')
62
+ end
63
+
64
+ if @data.nil?
65
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
66
+ end
67
+
68
+ invalid_properties
69
+ end
70
+
71
+ # Check to see if the all the properties in the model are valid
72
+ # @return true if the model is valid
73
+ def valid?
74
+ return false if @total_result_size.nil?
75
+ return false if @data.nil?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ total_result_size == o.total_result_size &&
85
+ data == o.data
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 [Fixnum] Hash code
96
+ def hash
97
+ [total_result_size, data].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 build_from_hash(attributes)
104
+ return nil unless attributes.is_a?(Hash)
105
+ self.class.swagger_types.each_pair do |key, type|
106
+ if type =~ /\AArray<(.*)>/i
107
+ # check to ensure the input is an array given that the the attribute
108
+ # is documented as an array but the input is not
109
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
110
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
111
+ end
112
+ elsif !attributes[self.class.attribute_map[key]].nil?
113
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
114
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
115
+ end
116
+
117
+ self
118
+ end
119
+
120
+ # Deserializes the data based on type
121
+ # @param string type Data type
122
+ # @param string value Value to be deserialized
123
+ # @return [Object] Deserialized data
124
+ def _deserialize(type, value)
125
+ case type.to_sym
126
+ when :DateTime
127
+ DateTime.parse(value)
128
+ when :Date
129
+ Date.parse(value)
130
+ when :String
131
+ value.to_s
132
+ when :Integer
133
+ value.to_i
134
+ when :Float
135
+ value.to_f
136
+ when :BOOLEAN
137
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
138
+ true
139
+ else
140
+ false
141
+ end
142
+ when :Object
143
+ # generic object (usually a Hash), return directly
144
+ value
145
+ when /\AArray<(?<inner_type>.+)>\z/
146
+ inner_type = Regexp.last_match[:inner_type]
147
+ value.map { |v| _deserialize(inner_type, v) }
148
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
149
+ k_type = Regexp.last_match[:k_type]
150
+ v_type = Regexp.last_match[:v_type]
151
+ {}.tap do |hash|
152
+ value.each do |k, v|
153
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
154
+ end
155
+ end
156
+ else # model
157
+ temp_model = TalonOne.const_get(type).new
158
+ temp_model.build_from_hash(value)
159
+ end
160
+ end
161
+
162
+ # Returns the string representation of the object
163
+ # @return [String] String presentation of the object
164
+ def to_s
165
+ to_hash.to_s
166
+ end
167
+
168
+ # to_body is an alias to to_hash (backward compatibility)
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_body
171
+ to_hash
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ next if value.nil?
181
+ hash[param] = _to_hash(value)
182
+ end
183
+ hash
184
+ end
185
+
186
+ # Outputs non-array value in the form of hash
187
+ # For object, use to_hash. Otherwise, just return the value
188
+ # @param [Object] value Any valid value
189
+ # @return [Hash] Returns the value in the form of hash
190
+ def _to_hash(value)
191
+ if value.is_a?(Array)
192
+ value.compact.map { |v| _to_hash(v) }
193
+ elsif value.is_a?(Hash)
194
+ {}.tap do |hash|
195
+ value.each { |k, v| hash[k] = _to_hash(v) }
196
+ end
197
+ elsif value.respond_to? :to_hash
198
+ value.to_hash
199
+ else
200
+ value
201
+ end
202
+ end
203
+ end
204
+ end
@@ -36,6 +36,8 @@ module TalonOne
36
36
  # Default limits for campaigns created in this application
37
37
  attr_accessor :limits
38
38
 
39
+ attr_accessor :attributes_settings
40
+
39
41
  # Hex key for HMAC-signing API calls as coming from this application (16 hex digits)
40
42
  attr_accessor :key
41
43
 
@@ -71,6 +73,7 @@ module TalonOne
71
73
  :'case_sensitivity' => :'caseSensitivity',
72
74
  :'attributes' => :'attributes',
73
75
  :'limits' => :'limits',
76
+ :'attributes_settings' => :'attributesSettings',
74
77
  :'key' => :'key'
75
78
  }
76
79
  end
@@ -85,6 +88,7 @@ module TalonOne
85
88
  :'case_sensitivity' => :'String',
86
89
  :'attributes' => :'Object',
87
90
  :'limits' => :'Array<LimitConfig>',
91
+ :'attributes_settings' => :'AttributesSettings',
88
92
  :'key' => :'String'
89
93
  }
90
94
  end
@@ -127,6 +131,10 @@ module TalonOne
127
131
  end
128
132
  end
129
133
 
134
+ if attributes.has_key?(:'attributesSettings')
135
+ self.attributes_settings = attributes[:'attributesSettings']
136
+ end
137
+
130
138
  if attributes.has_key?(:'key')
131
139
  self.key = attributes[:'key']
132
140
  end
@@ -274,6 +282,7 @@ module TalonOne
274
282
  case_sensitivity == o.case_sensitivity &&
275
283
  attributes == o.attributes &&
276
284
  limits == o.limits &&
285
+ attributes_settings == o.attributes_settings &&
277
286
  key == o.key
278
287
  end
279
288
 
@@ -286,7 +295,7 @@ module TalonOne
286
295
  # Calculates hash code according to all attributes.
287
296
  # @return [Fixnum] Hash code
288
297
  def hash
289
- [name, description, timezone, currency, case_sensitivity, attributes, limits, key].hash
298
+ [name, description, timezone, currency, case_sensitivity, attributes, limits, attributes_settings, key].hash
290
299
  end
291
300
 
292
301
  # Builds the object from hash
@@ -13,8 +13,14 @@ Swagger Codegen version: 2.4.7
13
13
  require 'date'
14
14
 
15
15
  module TalonOne
16
- # A new SAML 2.0 connection.
16
+ #
17
17
  class NewSamlConnection
18
+ # X.509 Certificate.
19
+ attr_accessor :x509certificate
20
+
21
+ # The ID of the account that owns this entity.
22
+ attr_accessor :account_id
23
+
18
24
  # ID of the SAML service.
19
25
  attr_accessor :name
20
26
 
@@ -33,37 +39,36 @@ module TalonOne
33
39
  # Metadata URL.
34
40
  attr_accessor :metadata_url
35
41
 
36
- # X.509 Certificate.
37
- attr_accessor :x509certificate
38
-
39
- # The application-defined unique identifier that is the intended audience of the SAML assertion. This is most often the SP Entity ID of your application. When not specified, the ACS URL will be used.
40
- attr_accessor :audience
42
+ # The application-defined unique identifier that is the intended audience of the SAML assertion. This is most often the SP Entity ID of your application. When not specified, the ACS URL will be used.
43
+ attr_accessor :audience_uri
41
44
 
42
45
  # Attribute mapping from ruby-style variable name to JSON key.
43
46
  def self.attribute_map
44
47
  {
48
+ :'x509certificate' => :'x509certificate',
49
+ :'account_id' => :'accountId',
45
50
  :'name' => :'name',
46
51
  :'enabled' => :'enabled',
47
52
  :'issuer' => :'issuer',
48
53
  :'sign_on_url' => :'signOnURL',
49
54
  :'sign_out_url' => :'signOutURL',
50
55
  :'metadata_url' => :'metadataURL',
51
- :'x509certificate' => :'x509certificate',
52
- :'audience' => :'audience'
56
+ :'audience_uri' => :'audienceURI'
53
57
  }
54
58
  end
55
59
 
56
60
  # Attribute type mapping.
57
61
  def self.swagger_types
58
62
  {
63
+ :'x509certificate' => :'String',
64
+ :'account_id' => :'Integer',
59
65
  :'name' => :'String',
60
66
  :'enabled' => :'BOOLEAN',
61
67
  :'issuer' => :'String',
62
68
  :'sign_on_url' => :'String',
63
69
  :'sign_out_url' => :'String',
64
70
  :'metadata_url' => :'String',
65
- :'x509certificate' => :'String',
66
- :'audience' => :'String'
71
+ :'audience_uri' => :'String'
67
72
  }
68
73
  end
69
74
 
@@ -75,6 +80,14 @@ module TalonOne
75
80
  # convert string to symbol for hash key
76
81
  attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
77
82
 
83
+ if attributes.has_key?(:'x509certificate')
84
+ self.x509certificate = attributes[:'x509certificate']
85
+ end
86
+
87
+ if attributes.has_key?(:'accountId')
88
+ self.account_id = attributes[:'accountId']
89
+ end
90
+
78
91
  if attributes.has_key?(:'name')
79
92
  self.name = attributes[:'name']
80
93
  end
@@ -99,12 +112,8 @@ module TalonOne
99
112
  self.metadata_url = attributes[:'metadataURL']
100
113
  end
101
114
 
102
- if attributes.has_key?(:'x509certificate')
103
- self.x509certificate = attributes[:'x509certificate']
104
- end
105
-
106
- if attributes.has_key?(:'audience')
107
- self.audience = attributes[:'audience']
115
+ if attributes.has_key?(:'audienceURI')
116
+ self.audience_uri = attributes[:'audienceURI']
108
117
  end
109
118
  end
110
119
 
@@ -112,6 +121,18 @@ module TalonOne
112
121
  # @return Array for valid properties with the reasons
113
122
  def list_invalid_properties
114
123
  invalid_properties = Array.new
124
+ if @x509certificate.nil?
125
+ invalid_properties.push('invalid value for "x509certificate", x509certificate cannot be nil.')
126
+ end
127
+
128
+ if @x509certificate.to_s.length < 1
129
+ invalid_properties.push('invalid value for "x509certificate", the character length must be great than or equal to 1.')
130
+ end
131
+
132
+ if @account_id.nil?
133
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
134
+ end
135
+
115
136
  if @name.nil?
116
137
  invalid_properties.push('invalid value for "name", name cannot be nil.')
117
138
  end
@@ -140,20 +161,15 @@ module TalonOne
140
161
  invalid_properties.push('invalid value for "sign_on_url", the character length must be great than or equal to 1.')
141
162
  end
142
163
 
143
- if @x509certificate.nil?
144
- invalid_properties.push('invalid value for "x509certificate", x509certificate cannot be nil.')
145
- end
146
-
147
- if @x509certificate.to_s.length < 1
148
- invalid_properties.push('invalid value for "x509certificate", the character length must be great than or equal to 1.')
149
- end
150
-
151
164
  invalid_properties
152
165
  end
153
166
 
154
167
  # Check to see if the all the properties in the model are valid
155
168
  # @return true if the model is valid
156
169
  def valid?
170
+ return false if @x509certificate.nil?
171
+ return false if @x509certificate.to_s.length < 1
172
+ return false if @account_id.nil?
157
173
  return false if @name.nil?
158
174
  return false if @name.to_s.length < 1
159
175
  return false if @enabled.nil?
@@ -161,11 +177,23 @@ module TalonOne
161
177
  return false if @issuer.to_s.length < 1
162
178
  return false if @sign_on_url.nil?
163
179
  return false if @sign_on_url.to_s.length < 1
164
- return false if @x509certificate.nil?
165
- return false if @x509certificate.to_s.length < 1
166
180
  true
167
181
  end
168
182
 
183
+ # Custom attribute writer method with validation
184
+ # @param [Object] x509certificate Value to be assigned
185
+ def x509certificate=(x509certificate)
186
+ if x509certificate.nil?
187
+ fail ArgumentError, 'x509certificate cannot be nil'
188
+ end
189
+
190
+ if x509certificate.to_s.length < 1
191
+ fail ArgumentError, 'invalid value for "x509certificate", the character length must be great than or equal to 1.'
192
+ end
193
+
194
+ @x509certificate = x509certificate
195
+ end
196
+
169
197
  # Custom attribute writer method with validation
170
198
  # @param [Object] name Value to be assigned
171
199
  def name=(name)
@@ -208,33 +236,20 @@ module TalonOne
208
236
  @sign_on_url = sign_on_url
209
237
  end
210
238
 
211
- # Custom attribute writer method with validation
212
- # @param [Object] x509certificate Value to be assigned
213
- def x509certificate=(x509certificate)
214
- if x509certificate.nil?
215
- fail ArgumentError, 'x509certificate cannot be nil'
216
- end
217
-
218
- if x509certificate.to_s.length < 1
219
- fail ArgumentError, 'invalid value for "x509certificate", the character length must be great than or equal to 1.'
220
- end
221
-
222
- @x509certificate = x509certificate
223
- end
224
-
225
239
  # Checks equality by comparing each attribute.
226
240
  # @param [Object] Object to be compared
227
241
  def ==(o)
228
242
  return true if self.equal?(o)
229
243
  self.class == o.class &&
244
+ x509certificate == o.x509certificate &&
245
+ account_id == o.account_id &&
230
246
  name == o.name &&
231
247
  enabled == o.enabled &&
232
248
  issuer == o.issuer &&
233
249
  sign_on_url == o.sign_on_url &&
234
250
  sign_out_url == o.sign_out_url &&
235
251
  metadata_url == o.metadata_url &&
236
- x509certificate == o.x509certificate &&
237
- audience == o.audience
252
+ audience_uri == o.audience_uri
238
253
  end
239
254
 
240
255
  # @see the `==` method
@@ -246,7 +261,7 @@ module TalonOne
246
261
  # Calculates hash code according to all attributes.
247
262
  # @return [Fixnum] Hash code
248
263
  def hash
249
- [name, enabled, issuer, sign_on_url, sign_out_url, metadata_url, x509certificate, audience].hash
264
+ [x509certificate, account_id, name, enabled, issuer, sign_on_url, sign_out_url, metadata_url, audience_uri].hash
250
265
  end
251
266
 
252
267
  # Builds the object from hash