launchdarkly_api 2.0.10 → 2.0.27

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 (276) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +153 -151
  3. data/docs/AuditLogApi.md +7 -7
  4. data/docs/{Action.md → CopyActions.md} +1 -1
  5. data/docs/CustomProperty.md +1 -1
  6. data/docs/CustomRole.md +1 -1
  7. data/docs/CustomRoleBody.md +1 -1
  8. data/docs/CustomRoles.md +1 -1
  9. data/docs/CustomRolesApi.md +7 -6
  10. data/docs/CustomerMetricsApi.md +511 -0
  11. data/docs/DataExportDestinationsApi.md +293 -0
  12. data/docs/Destination.md +14 -0
  13. data/docs/DestinationAmazonKinesis.md +10 -0
  14. data/docs/DestinationBody.md +11 -0
  15. data/docs/DestinationGooglePubSub.md +9 -0
  16. data/docs/DestinationMParticle.md +11 -0
  17. data/docs/{CustomRoleKeyOrId.md → DestinationSegment.md} +2 -1
  18. data/docs/Destinations.md +9 -0
  19. data/docs/Environment.md +2 -0
  20. data/docs/EnvironmentPost.md +5 -0
  21. data/docs/EnvironmentsApi.md +11 -10
  22. data/docs/EvaluationUsageError.md +9 -0
  23. data/docs/Events.md +8 -0
  24. data/docs/FeatureFlag.md +4 -1
  25. data/docs/FeatureFlagConfig.md +0 -1
  26. data/docs/FeatureFlagCopyBody.md +12 -0
  27. data/docs/FeatureFlagCopyObject.md +9 -0
  28. data/docs/FeatureFlagStatus.md +1 -1
  29. data/docs/FeatureFlagStatusAcrossEnvironments.md +10 -0
  30. data/docs/FeatureFlagStatusForQueriedEnvironment.md +10 -0
  31. data/docs/FeatureFlagsApi.md +136 -17
  32. data/docs/MAU.md +10 -0
  33. data/docs/{Actions.md → MAUMetadata.md} +1 -1
  34. data/docs/MAUbyCategory.md +10 -0
  35. data/docs/Member.md +2 -0
  36. data/docs/Members.md +1 -1
  37. data/docs/MembersBody.md +1 -1
  38. data/docs/Policy.md +4 -2
  39. data/docs/ProjectBody.md +2 -0
  40. data/docs/ProjectsApi.md +7 -6
  41. data/docs/Rollout.md +1 -0
  42. data/docs/Statement.md +4 -4
  43. data/docs/Stream.md +10 -0
  44. data/docs/StreamBySDK.md +10 -0
  45. data/docs/StreamBySDKLinks.md +9 -0
  46. data/docs/StreamBySDKLinksMetadata.md +10 -0
  47. data/docs/StreamLinks.md +10 -0
  48. data/docs/StreamSDKVersion.md +9 -0
  49. data/docs/StreamSDKVersionData.md +9 -0
  50. data/docs/StreamUsageError.md +9 -0
  51. data/docs/StreamUsageLinks.md +10 -0
  52. data/docs/StreamUsageMetadata.md +10 -0
  53. data/docs/StreamUsageSeries.md +9 -0
  54. data/docs/Streams.md +8 -0
  55. data/docs/TeamMembersApi.md +7 -6
  56. data/docs/Usage.md +9 -0
  57. data/docs/{CustomProperties.md → UsageError.md} +2 -1
  58. data/docs/UsageLinks.md +10 -0
  59. data/docs/UserSegmentsApi.md +18 -17
  60. data/docs/UserSettingsApi.md +11 -11
  61. data/docs/UsersApi.md +15 -15
  62. data/docs/Webhook.md +1 -0
  63. data/docs/WebhookBody.md +2 -0
  64. data/docs/WebhooksApi.md +7 -6
  65. data/launchdarkly_api.gemspec +5 -6
  66. data/lib/launchdarkly_api/api/audit_log_api.rb +13 -19
  67. data/lib/launchdarkly_api/api/custom_roles_api.rb +23 -37
  68. data/lib/launchdarkly_api/api/customer_metrics_api.rb +519 -0
  69. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +330 -0
  70. data/lib/launchdarkly_api/api/environments_api.rb +20 -31
  71. data/lib/launchdarkly_api/api/feature_flags_api.rb +150 -43
  72. data/lib/launchdarkly_api/api/projects_api.rb +23 -37
  73. data/lib/launchdarkly_api/api/root_api.rb +6 -9
  74. data/lib/launchdarkly_api/api/team_members_api.rb +23 -37
  75. data/lib/launchdarkly_api/api/user_segments_api.rb +23 -37
  76. data/lib/launchdarkly_api/api/user_settings_api.rb +12 -21
  77. data/lib/launchdarkly_api/api/users_api.rb +17 -29
  78. data/lib/launchdarkly_api/api/webhooks_api.rb +23 -37
  79. data/lib/launchdarkly_api/api_client.rb +10 -10
  80. data/lib/launchdarkly_api/api_error.rb +2 -2
  81. data/lib/launchdarkly_api/configuration.rb +3 -3
  82. data/lib/launchdarkly_api/models/audit_log_entries.rb +7 -12
  83. data/lib/launchdarkly_api/models/audit_log_entry.rb +7 -12
  84. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +7 -12
  85. data/lib/launchdarkly_api/models/clause.rb +7 -12
  86. data/lib/launchdarkly_api/models/copy_actions.rb +34 -0
  87. data/lib/launchdarkly_api/models/custom_property.rb +13 -14
  88. data/lib/launchdarkly_api/models/custom_property_values.rb +7 -11
  89. data/lib/launchdarkly_api/models/custom_role.rb +9 -13
  90. data/lib/launchdarkly_api/models/custom_role_body.rb +12 -16
  91. data/lib/launchdarkly_api/models/custom_roles.rb +11 -14
  92. data/lib/launchdarkly_api/models/destination.rb +276 -0
  93. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +201 -0
  94. data/lib/launchdarkly_api/models/destination_body.rb +263 -0
  95. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +192 -0
  96. data/lib/launchdarkly_api/models/destination_m_particle.rb +210 -0
  97. data/lib/launchdarkly_api/models/destination_segment.rb +183 -0
  98. data/lib/launchdarkly_api/models/destinations.rb +194 -0
  99. data/lib/launchdarkly_api/models/environment.rb +29 -14
  100. data/lib/launchdarkly_api/models/environment_post.rb +64 -17
  101. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +192 -0
  102. data/lib/launchdarkly_api/models/{action.rb → events.rb} +17 -13
  103. data/lib/launchdarkly_api/models/fallthrough.rb +7 -12
  104. data/lib/launchdarkly_api/models/feature_flag.rb +46 -16
  105. data/lib/launchdarkly_api/models/feature_flag_body.rb +10 -15
  106. data/lib/launchdarkly_api/models/feature_flag_config.rb +8 -24
  107. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +226 -0
  108. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +199 -0
  109. data/lib/launchdarkly_api/models/feature_flag_status.rb +22 -26
  110. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +203 -0
  111. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +236 -0
  112. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +7 -12
  113. data/lib/launchdarkly_api/models/feature_flags.rb +7 -12
  114. data/lib/launchdarkly_api/models/id.rb +7 -11
  115. data/lib/launchdarkly_api/models/link.rb +7 -12
  116. data/lib/launchdarkly_api/models/links.rb +7 -12
  117. data/lib/launchdarkly_api/models/ma_uby_category.rb +205 -0
  118. data/lib/launchdarkly_api/models/mau.rb +205 -0
  119. data/lib/launchdarkly_api/models/{actions.rb → mau_metadata.rb} +8 -13
  120. data/lib/launchdarkly_api/models/member.rb +26 -13
  121. data/lib/launchdarkly_api/models/members.rb +11 -14
  122. data/lib/launchdarkly_api/models/members_body.rb +9 -14
  123. data/lib/launchdarkly_api/models/patch_comment.rb +7 -12
  124. data/lib/launchdarkly_api/models/patch_operation.rb +10 -15
  125. data/lib/launchdarkly_api/models/policy.rb +40 -17
  126. data/lib/launchdarkly_api/models/prerequisite.rb +7 -12
  127. data/lib/launchdarkly_api/models/project.rb +7 -12
  128. data/lib/launchdarkly_api/models/project_body.rb +30 -15
  129. data/lib/launchdarkly_api/models/projects.rb +7 -12
  130. data/lib/launchdarkly_api/models/role.rb +7 -8
  131. data/lib/launchdarkly_api/models/rollout.rb +17 -13
  132. data/lib/launchdarkly_api/models/rule.rb +7 -12
  133. data/lib/launchdarkly_api/models/statement.rb +35 -31
  134. data/lib/launchdarkly_api/models/statements.rb +7 -12
  135. data/lib/launchdarkly_api/models/stream.rb +205 -0
  136. data/lib/launchdarkly_api/models/stream_by_sdk.rb +205 -0
  137. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +192 -0
  138. data/lib/launchdarkly_api/models/{resources.rb → stream_by_sdk_links_metadata.rb} +34 -12
  139. data/lib/launchdarkly_api/models/stream_links.rb +204 -0
  140. data/lib/launchdarkly_api/models/stream_sdk_version.rb +194 -0
  141. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +194 -0
  142. data/lib/launchdarkly_api/models/stream_usage_error.rb +192 -0
  143. data/lib/launchdarkly_api/models/stream_usage_links.rb +204 -0
  144. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +203 -0
  145. data/lib/launchdarkly_api/models/stream_usage_series.rb +194 -0
  146. data/lib/launchdarkly_api/models/{custom_properties.rb → streams.rb} +17 -13
  147. data/lib/launchdarkly_api/models/target.rb +7 -12
  148. data/lib/launchdarkly_api/models/usage.rb +194 -0
  149. data/lib/launchdarkly_api/models/{custom_role_key_or_id.rb → usage_error.rb} +17 -13
  150. data/lib/launchdarkly_api/models/usage_links.rb +204 -0
  151. data/lib/launchdarkly_api/models/user.rb +7 -12
  152. data/lib/launchdarkly_api/models/user_flag_setting.rb +7 -12
  153. data/lib/launchdarkly_api/models/user_flag_settings.rb +7 -12
  154. data/lib/launchdarkly_api/models/user_record.rb +7 -12
  155. data/lib/launchdarkly_api/models/user_segment.rb +10 -15
  156. data/lib/launchdarkly_api/models/user_segment_body.rb +9 -14
  157. data/lib/launchdarkly_api/models/user_segment_rule.rb +7 -12
  158. data/lib/launchdarkly_api/models/user_segments.rb +7 -12
  159. data/lib/launchdarkly_api/models/user_settings_body.rb +7 -12
  160. data/lib/launchdarkly_api/models/users.rb +7 -12
  161. data/lib/launchdarkly_api/models/variation.rb +8 -13
  162. data/lib/launchdarkly_api/models/webhook.rb +17 -13
  163. data/lib/launchdarkly_api/models/webhook_body.rb +33 -17
  164. data/lib/launchdarkly_api/models/webhooks.rb +7 -12
  165. data/lib/launchdarkly_api/models/weighted_variation.rb +7 -12
  166. data/lib/launchdarkly_api/version.rb +3 -3
  167. data/lib/launchdarkly_api.rb +36 -8
  168. data/openapi.yml +1004 -115
  169. data/spec/api/audit_log_api_spec.rb +6 -8
  170. data/spec/api/custom_roles_api_spec.rb +8 -13
  171. data/spec/api/customer_metrics_api_spec.rb +141 -0
  172. data/spec/api/data_export_destinations_api_spec.rb +98 -0
  173. data/spec/api/environments_api_spec.rb +7 -11
  174. data/spec/api/feature_flags_api_spec.rb +36 -16
  175. data/spec/api/projects_api_spec.rb +8 -13
  176. data/spec/api/root_api_spec.rb +3 -4
  177. data/spec/api/team_members_api_spec.rb +8 -13
  178. data/spec/api/user_segments_api_spec.rb +8 -13
  179. data/spec/api/user_settings_api_spec.rb +5 -8
  180. data/spec/api/users_api_spec.rb +7 -11
  181. data/spec/api/webhooks_api_spec.rb +8 -13
  182. data/spec/api_client_spec.rb +36 -36
  183. data/spec/configuration_spec.rb +10 -10
  184. data/spec/models/audit_log_entries_spec.rb +4 -5
  185. data/spec/models/audit_log_entry_spec.rb +14 -15
  186. data/spec/models/audit_log_entry_target_spec.rb +5 -6
  187. data/spec/models/clause_spec.rb +6 -7
  188. data/spec/models/{action_spec.rb → copy_actions_spec.rb} +8 -9
  189. data/spec/models/custom_property_spec.rb +4 -5
  190. data/spec/models/custom_property_values_spec.rb +2 -3
  191. data/spec/models/custom_role_body_spec.rb +6 -7
  192. data/spec/models/custom_role_spec.rb +8 -9
  193. data/spec/models/custom_roles_spec.rb +4 -5
  194. data/spec/models/destination_amazon_kinesis_spec.rb +53 -0
  195. data/spec/models/destination_body_spec.rb +63 -0
  196. data/spec/models/destination_google_pub_sub_spec.rb +47 -0
  197. data/spec/models/destination_m_particle_spec.rb +59 -0
  198. data/spec/models/destination_segment_spec.rb +41 -0
  199. data/spec/models/destination_spec.rb +81 -0
  200. data/spec/models/destinations_spec.rb +47 -0
  201. data/spec/models/environment_post_spec.rb +36 -7
  202. data/spec/models/environment_spec.rb +25 -14
  203. data/spec/models/evaluation_usage_error_spec.rb +47 -0
  204. data/spec/models/events_spec.rb +41 -0
  205. data/spec/models/fallthrough_spec.rb +4 -5
  206. data/spec/models/feature_flag_body_spec.rb +9 -10
  207. data/spec/models/feature_flag_config_spec.rb +14 -21
  208. data/spec/models/feature_flag_copy_body_spec.rb +65 -0
  209. data/spec/models/feature_flag_copy_object_spec.rb +47 -0
  210. data/spec/models/feature_flag_spec.rb +35 -18
  211. data/spec/models/feature_flag_status_across_environments_spec.rb +53 -0
  212. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +57 -0
  213. data/spec/models/feature_flag_status_spec.rb +14 -15
  214. data/spec/models/feature_flag_statuses_spec.rb +4 -5
  215. data/spec/models/feature_flags_spec.rb +4 -5
  216. data/spec/models/id_spec.rb +2 -3
  217. data/spec/models/link_spec.rb +4 -5
  218. data/spec/models/links_spec.rb +4 -5
  219. data/spec/models/ma_uby_category_spec.rb +53 -0
  220. data/spec/models/{actions_spec.rb → mau_metadata_spec.rb} +8 -9
  221. data/spec/models/mau_spec.rb +53 -0
  222. data/spec/models/member_spec.rb +21 -10
  223. data/spec/models/members_body_spec.rb +8 -9
  224. data/spec/models/members_spec.rb +4 -5
  225. data/spec/models/patch_comment_spec.rb +4 -5
  226. data/spec/models/patch_operation_spec.rb +5 -6
  227. data/spec/models/policy_spec.rb +17 -6
  228. data/spec/models/prerequisite_spec.rb +4 -5
  229. data/spec/models/project_body_spec.rb +17 -6
  230. data/spec/models/project_spec.rb +8 -9
  231. data/spec/models/projects_spec.rb +4 -5
  232. data/spec/models/role_spec.rb +2 -3
  233. data/spec/models/rollout_spec.rb +9 -4
  234. data/spec/models/rule_spec.rb +6 -7
  235. data/spec/models/statement_spec.rb +13 -14
  236. data/spec/models/statements_spec.rb +2 -3
  237. data/spec/models/stream_by_sdk_links_metadata_spec.rb +53 -0
  238. data/spec/models/stream_by_sdk_links_spec.rb +47 -0
  239. data/spec/models/stream_by_sdk_spec.rb +53 -0
  240. data/spec/models/stream_links_spec.rb +53 -0
  241. data/spec/models/stream_sdk_version_data_spec.rb +47 -0
  242. data/spec/models/stream_sdk_version_spec.rb +47 -0
  243. data/spec/models/stream_spec.rb +53 -0
  244. data/spec/models/stream_usage_error_spec.rb +47 -0
  245. data/spec/models/stream_usage_links_spec.rb +53 -0
  246. data/spec/models/stream_usage_metadata_spec.rb +53 -0
  247. data/spec/models/stream_usage_series_spec.rb +47 -0
  248. data/spec/models/streams_spec.rb +41 -0
  249. data/spec/models/target_spec.rb +4 -5
  250. data/spec/models/usage_error_spec.rb +41 -0
  251. data/spec/models/usage_links_spec.rb +53 -0
  252. data/spec/models/usage_spec.rb +47 -0
  253. data/spec/models/user_flag_setting_spec.rb +5 -6
  254. data/spec/models/user_flag_settings_spec.rb +4 -5
  255. data/spec/models/user_record_spec.rb +7 -8
  256. data/spec/models/user_segment_body_spec.rb +6 -7
  257. data/spec/models/user_segment_rule_spec.rb +5 -6
  258. data/spec/models/user_segment_spec.rb +12 -13
  259. data/spec/models/user_segments_spec.rb +4 -5
  260. data/spec/models/user_settings_body_spec.rb +3 -4
  261. data/spec/models/user_spec.rb +13 -14
  262. data/spec/models/users_spec.rb +5 -6
  263. data/spec/models/variation_spec.rb +5 -6
  264. data/spec/models/webhook_body_spec.rb +19 -8
  265. data/spec/models/webhook_spec.rb +15 -10
  266. data/spec/models/webhooks_spec.rb +4 -5
  267. data/spec/models/weighted_variation_spec.rb +4 -5
  268. data/spec/spec_helper.rb +2 -2
  269. metadata +187 -74
  270. data/docs/Resource.md +0 -7
  271. data/docs/Resources.md +0 -7
  272. data/lib/launchdarkly_api/models/resource.rb +0 -179
  273. data/spec/models/custom_properties_spec.rb +0 -36
  274. data/spec/models/custom_role_key_or_id_spec.rb +0 -36
  275. data/spec/models/resource_spec.rb +0 -36
  276. data/spec/models/resources_spec.rb +0 -36
@@ -3,17 +3,16 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 2.0.10
6
+ OpenAPI spec version: 2.0.27
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.3.1
9
+ Swagger Codegen version: 2.4.8
10
10
 
11
11
  =end
12
12
 
13
13
  require 'date'
14
14
 
15
15
  module LaunchDarklyApi
16
-
17
16
  class FeatureFlagConfig
18
17
  attr_accessor :on
19
18
 
@@ -29,8 +28,6 @@ module LaunchDarklyApi
29
28
 
30
29
  attr_accessor :targets
31
30
 
32
- attr_accessor :goal_ids
33
-
34
31
  attr_accessor :rules
35
32
 
36
33
  attr_accessor :fallthrough
@@ -42,7 +39,6 @@ module LaunchDarklyApi
42
39
  # Set to true to send detailed event information for this flag.
43
40
  attr_accessor :track_events
44
41
 
45
-
46
42
  # Attribute mapping from ruby-style variable name to JSON key.
47
43
  def self.attribute_map
48
44
  {
@@ -53,7 +49,6 @@ module LaunchDarklyApi
53
49
  :'last_modified' => :'lastModified',
54
50
  :'version' => :'version',
55
51
  :'targets' => :'targets',
56
- :'goal_ids' => :'goalIds',
57
52
  :'rules' => :'rules',
58
53
  :'fallthrough' => :'fallthrough',
59
54
  :'off_variation' => :'offVariation',
@@ -72,7 +67,6 @@ module LaunchDarklyApi
72
67
  :'last_modified' => :'Integer',
73
68
  :'version' => :'Integer',
74
69
  :'targets' => :'Array<Target>',
75
- :'goal_ids' => :'Array<String>',
76
70
  :'rules' => :'Array<Rule>',
77
71
  :'fallthrough' => :'Fallthrough',
78
72
  :'off_variation' => :'Integer',
@@ -87,7 +81,7 @@ module LaunchDarklyApi
87
81
  return unless attributes.is_a?(Hash)
88
82
 
89
83
  # convert string to symbol for hash key
90
- attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
84
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
91
85
 
92
86
  if attributes.has_key?(:'on')
93
87
  self.on = attributes[:'on']
@@ -119,12 +113,6 @@ module LaunchDarklyApi
119
113
  end
120
114
  end
121
115
 
122
- if attributes.has_key?(:'goalIds')
123
- if (value = attributes[:'goalIds']).is_a?(Array)
124
- self.goal_ids = value
125
- end
126
- end
127
-
128
116
  if attributes.has_key?(:'rules')
129
117
  if (value = attributes[:'rules']).is_a?(Array)
130
118
  self.rules = value
@@ -148,20 +136,19 @@ module LaunchDarklyApi
148
136
  if attributes.has_key?(:'trackEvents')
149
137
  self.track_events = attributes[:'trackEvents']
150
138
  end
151
-
152
139
  end
153
140
 
154
141
  # Show invalid properties with the reasons. Usually used together with valid?
155
142
  # @return Array for valid properties with the reasons
156
143
  def list_invalid_properties
157
144
  invalid_properties = Array.new
158
- return invalid_properties
145
+ invalid_properties
159
146
  end
160
147
 
161
148
  # Check to see if the all the properties in the model are valid
162
149
  # @return true if the model is valid
163
150
  def valid?
164
- return true
151
+ true
165
152
  end
166
153
 
167
154
  # Checks equality by comparing each attribute.
@@ -176,7 +163,6 @@ module LaunchDarklyApi
176
163
  last_modified == o.last_modified &&
177
164
  version == o.version &&
178
165
  targets == o.targets &&
179
- goal_ids == o.goal_ids &&
180
166
  rules == o.rules &&
181
167
  fallthrough == o.fallthrough &&
182
168
  off_variation == o.off_variation &&
@@ -193,7 +179,7 @@ module LaunchDarklyApi
193
179
  # Calculates hash code according to all attributes.
194
180
  # @return [Fixnum] Hash code
195
181
  def hash
196
- [on, archived, salt, sel, last_modified, version, targets, goal_ids, rules, fallthrough, off_variation, prerequisites, track_events].hash
182
+ [on, archived, salt, sel, last_modified, version, targets, rules, fallthrough, off_variation, prerequisites, track_events].hash
197
183
  end
198
184
 
199
185
  # Builds the object from hash
@@ -206,7 +192,7 @@ module LaunchDarklyApi
206
192
  # check to ensure the input is an array given that the the attribute
207
193
  # is documented as an array but the input is not
208
194
  if attributes[self.class.attribute_map[key]].is_a?(Array)
209
- self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
195
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
210
196
  end
211
197
  elsif !attributes[self.class.attribute_map[key]].nil?
212
198
  self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
@@ -288,7 +274,7 @@ module LaunchDarklyApi
288
274
  # @return [Hash] Returns the value in the form of hash
289
275
  def _to_hash(value)
290
276
  if value.is_a?(Array)
291
- value.compact.map{ |v| _to_hash(v) }
277
+ value.compact.map { |v| _to_hash(v) }
292
278
  elsif value.is_a?(Hash)
293
279
  {}.tap do |hash|
294
280
  value.each { |k, v| hash[k] = _to_hash(v) }
@@ -299,7 +285,5 @@ module LaunchDarklyApi
299
285
  value
300
286
  end
301
287
  end
302
-
303
288
  end
304
-
305
289
  end
@@ -0,0 +1,226 @@
1
+ =begin
2
+ #LaunchDarkly REST API
3
+
4
+ #Build custom integrations with the LaunchDarkly REST API
5
+
6
+ OpenAPI spec version: 2.0.27
7
+ Contact: support@launchdarkly.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.8
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module LaunchDarklyApi
16
+ class FeatureFlagCopyBody
17
+ attr_accessor :source
18
+
19
+ attr_accessor :target
20
+
21
+ # comment will be included in audit log item for change.
22
+ attr_accessor :comment
23
+
24
+ # Define the parts of the flag configuration that will be copied.
25
+ attr_accessor :included_actions
26
+
27
+ # Define the parts of the flag configuration that will not be copied.
28
+ attr_accessor :excluded_actions
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'source' => :'source',
34
+ :'target' => :'target',
35
+ :'comment' => :'comment',
36
+ :'included_actions' => :'includedActions',
37
+ :'excluded_actions' => :'excludedActions'
38
+ }
39
+ end
40
+
41
+ # Attribute type mapping.
42
+ def self.swagger_types
43
+ {
44
+ :'source' => :'FeatureFlagCopyObject',
45
+ :'target' => :'FeatureFlagCopyObject',
46
+ :'comment' => :'String',
47
+ :'included_actions' => :'Array<CopyActions>',
48
+ :'excluded_actions' => :'Array<CopyActions>'
49
+ }
50
+ end
51
+
52
+ # Initializes the object
53
+ # @param [Hash] attributes Model attributes in the form of hash
54
+ def initialize(attributes = {})
55
+ return unless attributes.is_a?(Hash)
56
+
57
+ # convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
59
+
60
+ if attributes.has_key?(:'source')
61
+ self.source = attributes[:'source']
62
+ end
63
+
64
+ if attributes.has_key?(:'target')
65
+ self.target = attributes[:'target']
66
+ end
67
+
68
+ if attributes.has_key?(:'comment')
69
+ self.comment = attributes[:'comment']
70
+ end
71
+
72
+ if attributes.has_key?(:'includedActions')
73
+ if (value = attributes[:'includedActions']).is_a?(Array)
74
+ self.included_actions = value
75
+ end
76
+ end
77
+
78
+ if attributes.has_key?(:'excludedActions')
79
+ if (value = attributes[:'excludedActions']).is_a?(Array)
80
+ self.excluded_actions = value
81
+ end
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ true
96
+ end
97
+
98
+ # Checks equality by comparing each attribute.
99
+ # @param [Object] Object to be compared
100
+ def ==(o)
101
+ return true if self.equal?(o)
102
+ self.class == o.class &&
103
+ source == o.source &&
104
+ target == o.target &&
105
+ comment == o.comment &&
106
+ included_actions == o.included_actions &&
107
+ excluded_actions == o.excluded_actions
108
+ end
109
+
110
+ # @see the `==` method
111
+ # @param [Object] Object to be compared
112
+ def eql?(o)
113
+ self == o
114
+ end
115
+
116
+ # Calculates hash code according to all attributes.
117
+ # @return [Fixnum] Hash code
118
+ def hash
119
+ [source, target, comment, included_actions, excluded_actions].hash
120
+ end
121
+
122
+ # Builds the object from hash
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ # @return [Object] Returns the model itself
125
+ def build_from_hash(attributes)
126
+ return nil unless attributes.is_a?(Hash)
127
+ self.class.swagger_types.each_pair do |key, type|
128
+ if type =~ /\AArray<(.*)>/i
129
+ # check to ensure the input is an array given that the the attribute
130
+ # is documented as an array but the input is not
131
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
132
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
133
+ end
134
+ elsif !attributes[self.class.attribute_map[key]].nil?
135
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
136
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
137
+ end
138
+
139
+ self
140
+ end
141
+
142
+ # Deserializes the data based on type
143
+ # @param string type Data type
144
+ # @param string value Value to be deserialized
145
+ # @return [Object] Deserialized data
146
+ def _deserialize(type, value)
147
+ case type.to_sym
148
+ when :DateTime
149
+ DateTime.parse(value)
150
+ when :Date
151
+ Date.parse(value)
152
+ when :String
153
+ value.to_s
154
+ when :Integer
155
+ value.to_i
156
+ when :Float
157
+ value.to_f
158
+ when :BOOLEAN
159
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
160
+ true
161
+ else
162
+ false
163
+ end
164
+ when :Object
165
+ # generic object (usually a Hash), return directly
166
+ value
167
+ when /\AArray<(?<inner_type>.+)>\z/
168
+ inner_type = Regexp.last_match[:inner_type]
169
+ value.map { |v| _deserialize(inner_type, v) }
170
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
171
+ k_type = Regexp.last_match[:k_type]
172
+ v_type = Regexp.last_match[:v_type]
173
+ {}.tap do |hash|
174
+ value.each do |k, v|
175
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
176
+ end
177
+ end
178
+ else # model
179
+ temp_model = LaunchDarklyApi.const_get(type).new
180
+ temp_model.build_from_hash(value)
181
+ end
182
+ end
183
+
184
+ # Returns the string representation of the object
185
+ # @return [String] String presentation of the object
186
+ def to_s
187
+ to_hash.to_s
188
+ end
189
+
190
+ # to_body is an alias to to_hash (backward compatibility)
191
+ # @return [Hash] Returns the object in the form of hash
192
+ def to_body
193
+ to_hash
194
+ end
195
+
196
+ # Returns the object in the form of hash
197
+ # @return [Hash] Returns the object in the form of hash
198
+ def to_hash
199
+ hash = {}
200
+ self.class.attribute_map.each_pair do |attr, param|
201
+ value = self.send(attr)
202
+ next if value.nil?
203
+ hash[param] = _to_hash(value)
204
+ end
205
+ hash
206
+ end
207
+
208
+ # Outputs non-array value in the form of hash
209
+ # For object, use to_hash. Otherwise, just return the value
210
+ # @param [Object] value Any valid value
211
+ # @return [Hash] Returns the value in the form of hash
212
+ def _to_hash(value)
213
+ if value.is_a?(Array)
214
+ value.compact.map { |v| _to_hash(v) }
215
+ elsif value.is_a?(Hash)
216
+ {}.tap do |hash|
217
+ value.each { |k, v| hash[k] = _to_hash(v) }
218
+ end
219
+ elsif value.respond_to? :to_hash
220
+ value.to_hash
221
+ else
222
+ value
223
+ end
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,199 @@
1
+ =begin
2
+ #LaunchDarkly REST API
3
+
4
+ #Build custom integrations with the LaunchDarkly REST API
5
+
6
+ OpenAPI spec version: 2.0.27
7
+ Contact: support@launchdarkly.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.8
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module LaunchDarklyApi
16
+ class FeatureFlagCopyObject
17
+ # The environment key to be used.
18
+ attr_accessor :key
19
+
20
+ # If the latest version of the flag matches provided version it will copy, otherwise it will return a conflict.
21
+ attr_accessor :current_version
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'key' => :'key',
27
+ :'current_version' => :'currentVersion'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.swagger_types
33
+ {
34
+ :'key' => :'String',
35
+ :'current_version' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # Initializes the object
40
+ # @param [Hash] attributes Model attributes in the form of hash
41
+ def initialize(attributes = {})
42
+ return unless attributes.is_a?(Hash)
43
+
44
+ # convert string to symbol for hash key
45
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
46
+
47
+ if attributes.has_key?(:'key')
48
+ self.key = attributes[:'key']
49
+ end
50
+
51
+ if attributes.has_key?(:'currentVersion')
52
+ self.current_version = attributes[:'currentVersion']
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 @key.nil?
61
+ invalid_properties.push('invalid value for "key", key cannot be nil.')
62
+ end
63
+
64
+ invalid_properties
65
+ end
66
+
67
+ # Check to see if the all the properties in the model are valid
68
+ # @return true if the model is valid
69
+ def valid?
70
+ return false if @key.nil?
71
+ true
72
+ end
73
+
74
+ # Checks equality by comparing each attribute.
75
+ # @param [Object] Object to be compared
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ key == o.key &&
80
+ current_version == o.current_version
81
+ end
82
+
83
+ # @see the `==` method
84
+ # @param [Object] Object to be compared
85
+ def eql?(o)
86
+ self == o
87
+ end
88
+
89
+ # Calculates hash code according to all attributes.
90
+ # @return [Fixnum] Hash code
91
+ def hash
92
+ [key, current_version].hash
93
+ end
94
+
95
+ # Builds the object from hash
96
+ # @param [Hash] attributes Model attributes in the form of hash
97
+ # @return [Object] Returns the model itself
98
+ def build_from_hash(attributes)
99
+ return nil unless attributes.is_a?(Hash)
100
+ self.class.swagger_types.each_pair do |key, type|
101
+ if type =~ /\AArray<(.*)>/i
102
+ # check to ensure the input is an array given that the the attribute
103
+ # is documented as an array but the input is not
104
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
105
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
106
+ end
107
+ elsif !attributes[self.class.attribute_map[key]].nil?
108
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
109
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
110
+ end
111
+
112
+ self
113
+ end
114
+
115
+ # Deserializes the data based on type
116
+ # @param string type Data type
117
+ # @param string value Value to be deserialized
118
+ # @return [Object] Deserialized data
119
+ def _deserialize(type, value)
120
+ case type.to_sym
121
+ when :DateTime
122
+ DateTime.parse(value)
123
+ when :Date
124
+ Date.parse(value)
125
+ when :String
126
+ value.to_s
127
+ when :Integer
128
+ value.to_i
129
+ when :Float
130
+ value.to_f
131
+ when :BOOLEAN
132
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
133
+ true
134
+ else
135
+ false
136
+ end
137
+ when :Object
138
+ # generic object (usually a Hash), return directly
139
+ value
140
+ when /\AArray<(?<inner_type>.+)>\z/
141
+ inner_type = Regexp.last_match[:inner_type]
142
+ value.map { |v| _deserialize(inner_type, v) }
143
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
144
+ k_type = Regexp.last_match[:k_type]
145
+ v_type = Regexp.last_match[:v_type]
146
+ {}.tap do |hash|
147
+ value.each do |k, v|
148
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
149
+ end
150
+ end
151
+ else # model
152
+ temp_model = LaunchDarklyApi.const_get(type).new
153
+ temp_model.build_from_hash(value)
154
+ end
155
+ end
156
+
157
+ # Returns the string representation of the object
158
+ # @return [String] String presentation of the object
159
+ def to_s
160
+ to_hash.to_s
161
+ end
162
+
163
+ # to_body is an alias to to_hash (backward compatibility)
164
+ # @return [Hash] Returns the object in the form of hash
165
+ def to_body
166
+ to_hash
167
+ end
168
+
169
+ # Returns the object in the form of hash
170
+ # @return [Hash] Returns the object in the form of hash
171
+ def to_hash
172
+ hash = {}
173
+ self.class.attribute_map.each_pair do |attr, param|
174
+ value = self.send(attr)
175
+ next if value.nil?
176
+ hash[param] = _to_hash(value)
177
+ end
178
+ hash
179
+ end
180
+
181
+ # Outputs non-array value in the form of hash
182
+ # For object, use to_hash. Otherwise, just return the value
183
+ # @param [Object] value Any valid value
184
+ # @return [Hash] Returns the value in the form of hash
185
+ def _to_hash(value)
186
+ if value.is_a?(Array)
187
+ value.compact.map { |v| _to_hash(v) }
188
+ elsif value.is_a?(Hash)
189
+ {}.tap do |hash|
190
+ value.each { |k, v| hash[k] = _to_hash(v) }
191
+ end
192
+ elsif value.respond_to? :to_hash
193
+ value.to_hash
194
+ else
195
+ value
196
+ end
197
+ end
198
+ end
199
+ end