launchdarkly_api 4.0.0 → 5.1.0

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 (351) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +246 -226
  4. data/docs/ApprovalRequest.md +20 -0
  5. data/docs/{FeatureFlagApprovalRequestApplyConfigBody.md → ApprovalRequestApplyConfigBody.md} +1 -1
  6. data/docs/{FeatureFlagApprovalRequestConfigBody.md → ApprovalRequestConfigBody.md} +3 -1
  7. data/docs/{FeatureFlagApprovalRequestReview.md → ApprovalRequestReview.md} +2 -2
  8. data/docs/{FeatureFlagApprovalRequestReviewConfigBody.md → ApprovalRequestReviewConfigBody.md} +1 -1
  9. data/docs/{FeatureFlagApprovalRequestReviewStatus.md → ApprovalRequestReviewStatus.md} +1 -1
  10. data/docs/{FeatureFlagApprovalRequests.md → ApprovalRequests.md} +2 -2
  11. data/docs/{UnboundedSegmentTargetChanges.md → BigSegmentTargetChanges.md} +1 -1
  12. data/docs/BigSegmentTargetsBody.md +9 -0
  13. data/docs/DependentFlag.md +11 -0
  14. data/docs/DependentFlagEnvironment.md +11 -0
  15. data/docs/DependentFlagEnvironmentLinks.md +9 -0
  16. data/docs/{IntegrationLinks.md → DependentFlagLinks.md} +1 -1
  17. data/docs/DependentFlagsByEnvironment.md +10 -0
  18. data/docs/DependentFlagsLinks.md +9 -0
  19. data/docs/FeatureFlagStatus.md +1 -1
  20. data/docs/FeatureFlagStatusAcrossEnvironments.md +1 -1
  21. data/docs/FeatureFlagStatusLinks.md +9 -0
  22. data/docs/FeatureFlagStatuses.md +1 -1
  23. data/docs/FeatureFlagsApi.md +577 -91
  24. data/docs/FlagConfigScheduledChangesConflictsBody.md +9 -0
  25. data/docs/FlagConfigScheduledChangesPatchBody.md +9 -0
  26. data/docs/FlagConfigScheduledChangesPostBody.md +10 -0
  27. data/docs/Integration.md +1 -1
  28. data/docs/Member.md +2 -0
  29. data/docs/MemberLastSeenMetadata.md +8 -0
  30. data/docs/MultiEnvironmentDependentFlag.md +12 -0
  31. data/docs/MultiEnvironmentDependentFlags.md +10 -0
  32. data/docs/UserSegment.md +1 -1
  33. data/docs/UserSegmentBody.md +1 -1
  34. data/docs/UserSegmentsApi.md +9 -9
  35. data/docs/UsersApi.md +2 -2
  36. data/launchdarkly_api.gemspec +3 -2
  37. data/lib/launchdarkly_api.rb +24 -12
  38. data/lib/launchdarkly_api/api/access_tokens_api.rb +2 -2
  39. data/lib/launchdarkly_api/api/audit_log_api.rb +2 -2
  40. data/lib/launchdarkly_api/api/custom_roles_api.rb +2 -2
  41. data/lib/launchdarkly_api/api/customer_metrics_api.rb +2 -2
  42. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +2 -2
  43. data/lib/launchdarkly_api/api/environments_api.rb +2 -2
  44. data/lib/launchdarkly_api/api/feature_flags_api.rb +702 -161
  45. data/lib/launchdarkly_api/api/integrations_api.rb +2 -2
  46. data/lib/launchdarkly_api/api/projects_api.rb +2 -2
  47. data/lib/launchdarkly_api/api/relay_proxy_configurations_api.rb +2 -2
  48. data/lib/launchdarkly_api/api/root_api.rb +2 -2
  49. data/lib/launchdarkly_api/api/team_members_api.rb +2 -2
  50. data/lib/launchdarkly_api/api/user_segments_api.rb +19 -19
  51. data/lib/launchdarkly_api/api/user_settings_api.rb +2 -2
  52. data/lib/launchdarkly_api/api/users_api.rb +5 -5
  53. data/lib/launchdarkly_api/api/webhooks_api.rb +2 -2
  54. data/lib/launchdarkly_api/api_client.rb +7 -5
  55. data/lib/launchdarkly_api/api_error.rb +2 -2
  56. data/lib/launchdarkly_api/configuration.rb +4 -4
  57. data/lib/launchdarkly_api/models/{feature_flag_approval_request.rb → approval_request.rb} +34 -13
  58. data/lib/launchdarkly_api/models/{feature_flag_approval_request_apply_config_body.rb → approval_request_apply_config_body.rb} +5 -4
  59. data/lib/launchdarkly_api/models/{feature_flag_approval_request_config_body.rb → approval_request_config_body.rb} +29 -8
  60. data/lib/launchdarkly_api/models/{feature_flag_approval_request_review.rb → approval_request_review.rb} +6 -5
  61. data/lib/launchdarkly_api/models/{feature_flag_approval_request_review_config_body.rb → approval_request_review_config_body.rb} +5 -4
  62. data/lib/launchdarkly_api/models/{feature_flag_approval_request_review_status.rb → approval_request_review_status.rb} +5 -5
  63. data/lib/launchdarkly_api/models/{feature_flag_approval_requests.rb → approval_requests.rb} +6 -5
  64. data/lib/launchdarkly_api/models/audit_log_entries.rb +4 -3
  65. data/lib/launchdarkly_api/models/audit_log_entry.rb +4 -3
  66. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +4 -3
  67. data/lib/launchdarkly_api/models/{unbounded_segment_target_changes.rb → big_segment_target_changes.rb} +5 -4
  68. data/lib/launchdarkly_api/models/{unbounded_segment_targets_body.rb → big_segment_targets_body.rb} +7 -6
  69. data/lib/launchdarkly_api/models/clause.rb +4 -3
  70. data/lib/launchdarkly_api/models/client_side_availability.rb +4 -3
  71. data/lib/launchdarkly_api/models/copy_actions.rb +2 -2
  72. data/lib/launchdarkly_api/models/custom_property.rb +4 -3
  73. data/lib/launchdarkly_api/models/custom_property_values.rb +4 -3
  74. data/lib/launchdarkly_api/models/custom_role.rb +4 -3
  75. data/lib/launchdarkly_api/models/custom_role_body.rb +4 -3
  76. data/lib/launchdarkly_api/models/custom_roles.rb +4 -3
  77. data/lib/launchdarkly_api/models/defaults.rb +4 -3
  78. data/lib/launchdarkly_api/models/dependent_flag.rb +211 -0
  79. data/lib/launchdarkly_api/models/{integration__links.rb → dependent_flag__links.rb} +5 -4
  80. data/lib/launchdarkly_api/models/dependent_flag_environment.rb +211 -0
  81. data/lib/launchdarkly_api/models/dependent_flag_environment__links.rb +193 -0
  82. data/lib/launchdarkly_api/models/dependent_flags_by_environment.rb +204 -0
  83. data/lib/launchdarkly_api/models/dependent_flags_links.rb +193 -0
  84. data/lib/launchdarkly_api/models/destination.rb +4 -3
  85. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +4 -3
  86. data/lib/launchdarkly_api/models/destination_body.rb +4 -3
  87. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +4 -3
  88. data/lib/launchdarkly_api/models/destination_m_particle.rb +4 -3
  89. data/lib/launchdarkly_api/models/destination_segment.rb +4 -3
  90. data/lib/launchdarkly_api/models/destinations.rb +4 -3
  91. data/lib/launchdarkly_api/models/environment.rb +4 -3
  92. data/lib/launchdarkly_api/models/environment_approval_settings.rb +4 -3
  93. data/lib/launchdarkly_api/models/environment_post.rb +4 -3
  94. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +4 -3
  95. data/lib/launchdarkly_api/models/events.rb +4 -3
  96. data/lib/launchdarkly_api/models/fallthrough.rb +4 -3
  97. data/lib/launchdarkly_api/models/feature_flag.rb +4 -3
  98. data/lib/launchdarkly_api/models/feature_flag_body.rb +4 -3
  99. data/lib/launchdarkly_api/models/feature_flag_config.rb +4 -3
  100. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +4 -3
  101. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +4 -3
  102. data/lib/launchdarkly_api/models/feature_flag_scheduled_change.rb +4 -3
  103. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes.rb +4 -3
  104. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts.rb +4 -3
  105. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts_instructions.rb +4 -3
  106. data/lib/launchdarkly_api/models/feature_flag_status.rb +5 -4
  107. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +5 -4
  108. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +4 -3
  109. data/lib/launchdarkly_api/models/feature_flag_status_links.rb +193 -0
  110. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +5 -4
  111. data/lib/launchdarkly_api/models/feature_flags.rb +4 -3
  112. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_conflicts_body.rb +194 -0
  113. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_patch_body.rb +194 -0
  114. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_post_body.rb +204 -0
  115. data/lib/launchdarkly_api/models/flag_list_item.rb +4 -3
  116. data/lib/launchdarkly_api/models/hierarchical_links.rb +4 -3
  117. data/lib/launchdarkly_api/models/id.rb +4 -3
  118. data/lib/launchdarkly_api/models/integration.rb +5 -4
  119. data/lib/launchdarkly_api/models/integration_subscription.rb +4 -3
  120. data/lib/launchdarkly_api/models/integration_subscription__status.rb +4 -3
  121. data/lib/launchdarkly_api/models/integrations.rb +4 -3
  122. data/lib/launchdarkly_api/models/link.rb +4 -3
  123. data/lib/launchdarkly_api/models/links.rb +4 -3
  124. data/lib/launchdarkly_api/models/ma_uby_category.rb +4 -3
  125. data/lib/launchdarkly_api/models/mau.rb +4 -3
  126. data/lib/launchdarkly_api/models/mau_metadata.rb +4 -3
  127. data/lib/launchdarkly_api/models/member.rb +27 -7
  128. data/lib/launchdarkly_api/models/member__last_seen_metadata.rb +185 -0
  129. data/lib/launchdarkly_api/models/members.rb +4 -3
  130. data/lib/launchdarkly_api/models/members_body.rb +4 -3
  131. data/lib/launchdarkly_api/models/multi_environment_dependent_flag.rb +222 -0
  132. data/lib/launchdarkly_api/models/multi_environment_dependent_flags.rb +204 -0
  133. data/lib/launchdarkly_api/models/patch_comment.rb +4 -3
  134. data/lib/launchdarkly_api/models/patch_operation.rb +4 -3
  135. data/lib/launchdarkly_api/models/policy.rb +4 -3
  136. data/lib/launchdarkly_api/models/prerequisite.rb +4 -3
  137. data/lib/launchdarkly_api/models/project.rb +4 -3
  138. data/lib/launchdarkly_api/models/project_body.rb +4 -3
  139. data/lib/launchdarkly_api/models/projects.rb +4 -3
  140. data/lib/launchdarkly_api/models/relay_proxy_config.rb +4 -3
  141. data/lib/launchdarkly_api/models/relay_proxy_config_body.rb +4 -3
  142. data/lib/launchdarkly_api/models/relay_proxy_configs.rb +4 -3
  143. data/lib/launchdarkly_api/models/role.rb +2 -2
  144. data/lib/launchdarkly_api/models/rollout.rb +4 -3
  145. data/lib/launchdarkly_api/models/rule.rb +4 -3
  146. data/lib/launchdarkly_api/models/scheduled_changes_feature_flag_conflict.rb +4 -3
  147. data/lib/launchdarkly_api/models/semantic_patch_instruction.rb +4 -3
  148. data/lib/launchdarkly_api/models/semantic_patch_instruction_inner.rb +4 -3
  149. data/lib/launchdarkly_api/models/semantic_patch_operation.rb +4 -3
  150. data/lib/launchdarkly_api/models/site.rb +4 -3
  151. data/lib/launchdarkly_api/models/statement.rb +4 -3
  152. data/lib/launchdarkly_api/models/stream.rb +4 -3
  153. data/lib/launchdarkly_api/models/stream_by_sdk.rb +4 -3
  154. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +4 -3
  155. data/lib/launchdarkly_api/models/stream_by_sdk_links_metadata.rb +4 -3
  156. data/lib/launchdarkly_api/models/stream_links.rb +4 -3
  157. data/lib/launchdarkly_api/models/stream_sdk_version.rb +4 -3
  158. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +4 -3
  159. data/lib/launchdarkly_api/models/stream_usage_error.rb +4 -3
  160. data/lib/launchdarkly_api/models/stream_usage_links.rb +4 -3
  161. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +4 -3
  162. data/lib/launchdarkly_api/models/stream_usage_series.rb +4 -3
  163. data/lib/launchdarkly_api/models/streams.rb +4 -3
  164. data/lib/launchdarkly_api/models/subscription_body.rb +4 -3
  165. data/lib/launchdarkly_api/models/target.rb +4 -3
  166. data/lib/launchdarkly_api/models/token.rb +4 -3
  167. data/lib/launchdarkly_api/models/token_body.rb +4 -3
  168. data/lib/launchdarkly_api/models/tokens.rb +4 -3
  169. data/lib/launchdarkly_api/models/usage.rb +4 -3
  170. data/lib/launchdarkly_api/models/usage_error.rb +4 -3
  171. data/lib/launchdarkly_api/models/usage_links.rb +4 -3
  172. data/lib/launchdarkly_api/models/user.rb +4 -3
  173. data/lib/launchdarkly_api/models/user_flag_setting.rb +4 -3
  174. data/lib/launchdarkly_api/models/user_flag_settings.rb +4 -3
  175. data/lib/launchdarkly_api/models/user_record.rb +4 -3
  176. data/lib/launchdarkly_api/models/user_segment.rb +5 -4
  177. data/lib/launchdarkly_api/models/user_segment_body.rb +5 -4
  178. data/lib/launchdarkly_api/models/user_segment_rule.rb +4 -3
  179. data/lib/launchdarkly_api/models/user_segments.rb +4 -3
  180. data/lib/launchdarkly_api/models/user_settings_body.rb +4 -3
  181. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flag.rb +4 -3
  182. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flags.rb +4 -3
  183. data/lib/launchdarkly_api/models/user_targeting_expiration_for_segment.rb +4 -3
  184. data/lib/launchdarkly_api/models/user_targeting_expiration_on_flags_for_user.rb +4 -3
  185. data/lib/launchdarkly_api/models/user_targeting_expiration_resource_id_for_flag.rb +4 -3
  186. data/lib/launchdarkly_api/models/users.rb +4 -3
  187. data/lib/launchdarkly_api/models/variation.rb +4 -3
  188. data/lib/launchdarkly_api/models/webhook.rb +4 -3
  189. data/lib/launchdarkly_api/models/webhook_body.rb +4 -3
  190. data/lib/launchdarkly_api/models/webhooks.rb +4 -3
  191. data/lib/launchdarkly_api/models/weighted_variation.rb +4 -3
  192. data/lib/launchdarkly_api/version.rb +3 -3
  193. data/openapi.yml +413 -91
  194. data/spec/api/access_tokens_api_spec.rb +2 -2
  195. data/spec/api/audit_log_api_spec.rb +2 -2
  196. data/spec/api/custom_roles_api_spec.rb +2 -2
  197. data/spec/api/customer_metrics_api_spec.rb +2 -2
  198. data/spec/api/data_export_destinations_api_spec.rb +2 -2
  199. data/spec/api/environments_api_spec.rb +2 -2
  200. data/spec/api/feature_flags_api_spec.rb +153 -44
  201. data/spec/api/integrations_api_spec.rb +2 -2
  202. data/spec/api/projects_api_spec.rb +2 -2
  203. data/spec/api/relay_proxy_configurations_api_spec.rb +2 -2
  204. data/spec/api/root_api_spec.rb +2 -2
  205. data/spec/api/team_members_api_spec.rb +2 -2
  206. data/spec/api/user_segments_api_spec.rb +6 -6
  207. data/spec/api/user_settings_api_spec.rb +2 -2
  208. data/spec/api/users_api_spec.rb +3 -3
  209. data/spec/api/webhooks_api_spec.rb +2 -2
  210. data/spec/api_client_spec.rb +19 -2
  211. data/spec/configuration_spec.rb +2 -2
  212. data/spec/models/{feature_flag_approval_request_apply_config_body_spec.rb → approval_request_apply_config_body_spec.rb} +8 -8
  213. data/spec/models/approval_request_config_body_spec.rb +71 -0
  214. data/spec/models/{feature_flag_approval_request_review_config_body_spec.rb → approval_request_review_config_body_spec.rb} +8 -8
  215. data/spec/models/{feature_flag_approval_request_review_spec.rb → approval_request_review_spec.rb} +8 -8
  216. data/spec/models/approval_request_review_status_spec.rb +35 -0
  217. data/spec/models/{feature_flag_approval_request_spec.rb → approval_request_spec.rb} +21 -9
  218. data/spec/models/{feature_flag_approval_requests_spec.rb → approval_requests_spec.rb} +8 -8
  219. data/spec/models/audit_log_entries_spec.rb +2 -2
  220. data/spec/models/audit_log_entry_spec.rb +2 -2
  221. data/spec/models/audit_log_entry_target_spec.rb +2 -2
  222. data/spec/models/{unbounded_segment_target_changes_spec.rb → big_segment_target_changes_spec.rb} +8 -8
  223. data/spec/models/{unbounded_segment_targets_body_spec.rb → big_segment_targets_body_spec.rb} +8 -8
  224. data/spec/models/clause_spec.rb +2 -2
  225. data/spec/models/client_side_availability_spec.rb +2 -2
  226. data/spec/models/copy_actions_spec.rb +2 -2
  227. data/spec/models/custom_property_spec.rb +2 -2
  228. data/spec/models/custom_property_values_spec.rb +2 -2
  229. data/spec/models/custom_role_body_spec.rb +2 -2
  230. data/spec/models/custom_role_spec.rb +2 -2
  231. data/spec/models/custom_roles_spec.rb +2 -2
  232. data/spec/models/defaults_spec.rb +2 -2
  233. data/spec/models/{integration__links_spec.rb → dependent_flag__links_spec.rb} +8 -8
  234. data/spec/models/dependent_flag_environment__links_spec.rb +47 -0
  235. data/spec/models/{feature_flag_approval_request_config_body_spec.rb → dependent_flag_environment_spec.rb} +12 -12
  236. data/spec/models/dependent_flag_spec.rb +59 -0
  237. data/spec/models/dependent_flags_by_environment_spec.rb +53 -0
  238. data/spec/models/dependent_flags_links_spec.rb +47 -0
  239. data/spec/models/destination_amazon_kinesis_spec.rb +2 -2
  240. data/spec/models/destination_body_spec.rb +2 -2
  241. data/spec/models/destination_google_pub_sub_spec.rb +2 -2
  242. data/spec/models/destination_m_particle_spec.rb +2 -2
  243. data/spec/models/destination_segment_spec.rb +2 -2
  244. data/spec/models/destination_spec.rb +2 -2
  245. data/spec/models/destinations_spec.rb +2 -2
  246. data/spec/models/environment_approval_settings_spec.rb +2 -2
  247. data/spec/models/environment_post_spec.rb +2 -2
  248. data/spec/models/environment_spec.rb +2 -2
  249. data/spec/models/evaluation_usage_error_spec.rb +2 -2
  250. data/spec/models/events_spec.rb +2 -2
  251. data/spec/models/fallthrough_spec.rb +2 -2
  252. data/spec/models/feature_flag_body_spec.rb +2 -2
  253. data/spec/models/feature_flag_config_spec.rb +2 -2
  254. data/spec/models/feature_flag_copy_body_spec.rb +2 -2
  255. data/spec/models/feature_flag_copy_object_spec.rb +2 -2
  256. data/spec/models/feature_flag_scheduled_change_spec.rb +2 -2
  257. data/spec/models/feature_flag_scheduled_changes_conflicts_instructions_spec.rb +2 -2
  258. data/spec/models/feature_flag_scheduled_changes_conflicts_spec.rb +2 -2
  259. data/spec/models/feature_flag_scheduled_changes_spec.rb +2 -2
  260. data/spec/models/feature_flag_spec.rb +2 -2
  261. data/spec/models/feature_flag_status_across_environments_spec.rb +2 -2
  262. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +2 -2
  263. data/spec/models/feature_flag_status_links_spec.rb +47 -0
  264. data/spec/models/feature_flag_status_spec.rb +2 -2
  265. data/spec/models/feature_flag_statuses_spec.rb +2 -2
  266. data/spec/models/feature_flags_spec.rb +2 -2
  267. data/spec/models/flag_config_scheduled_changes_conflicts_body_spec.rb +47 -0
  268. data/spec/models/flag_config_scheduled_changes_patch_body_spec.rb +47 -0
  269. data/spec/models/flag_config_scheduled_changes_post_body_spec.rb +53 -0
  270. data/spec/models/flag_list_item_spec.rb +2 -2
  271. data/spec/models/hierarchical_links_spec.rb +2 -2
  272. data/spec/models/id_spec.rb +2 -2
  273. data/spec/models/integration_spec.rb +2 -2
  274. data/spec/models/integration_subscription__status_spec.rb +2 -2
  275. data/spec/models/integration_subscription_spec.rb +2 -2
  276. data/spec/models/integrations_spec.rb +2 -2
  277. data/spec/models/link_spec.rb +2 -2
  278. data/spec/models/links_spec.rb +2 -2
  279. data/spec/models/ma_uby_category_spec.rb +2 -2
  280. data/spec/models/mau_metadata_spec.rb +2 -2
  281. data/spec/models/mau_spec.rb +2 -2
  282. data/spec/models/member__last_seen_metadata_spec.rb +41 -0
  283. data/spec/models/member_spec.rb +14 -2
  284. data/spec/models/members_body_spec.rb +2 -2
  285. data/spec/models/members_spec.rb +2 -2
  286. data/spec/models/multi_environment_dependent_flag_spec.rb +65 -0
  287. data/spec/models/multi_environment_dependent_flags_spec.rb +53 -0
  288. data/spec/models/patch_comment_spec.rb +2 -2
  289. data/spec/models/patch_operation_spec.rb +2 -2
  290. data/spec/models/policy_spec.rb +2 -2
  291. data/spec/models/prerequisite_spec.rb +2 -2
  292. data/spec/models/project_body_spec.rb +2 -2
  293. data/spec/models/project_spec.rb +2 -2
  294. data/spec/models/projects_spec.rb +2 -2
  295. data/spec/models/relay_proxy_config_body_spec.rb +2 -2
  296. data/spec/models/relay_proxy_config_spec.rb +2 -2
  297. data/spec/models/relay_proxy_configs_spec.rb +2 -2
  298. data/spec/models/role_spec.rb +2 -2
  299. data/spec/models/rollout_spec.rb +2 -2
  300. data/spec/models/rule_spec.rb +2 -2
  301. data/spec/models/scheduled_changes_feature_flag_conflict_spec.rb +2 -2
  302. data/spec/models/semantic_patch_instruction_inner_spec.rb +2 -2
  303. data/spec/models/semantic_patch_instruction_spec.rb +2 -2
  304. data/spec/models/semantic_patch_operation_spec.rb +2 -2
  305. data/spec/models/site_spec.rb +2 -2
  306. data/spec/models/statement_spec.rb +2 -2
  307. data/spec/models/stream_by_sdk_links_metadata_spec.rb +2 -2
  308. data/spec/models/stream_by_sdk_links_spec.rb +2 -2
  309. data/spec/models/stream_by_sdk_spec.rb +2 -2
  310. data/spec/models/stream_links_spec.rb +2 -2
  311. data/spec/models/stream_sdk_version_data_spec.rb +2 -2
  312. data/spec/models/stream_sdk_version_spec.rb +2 -2
  313. data/spec/models/stream_spec.rb +2 -2
  314. data/spec/models/stream_usage_error_spec.rb +2 -2
  315. data/spec/models/stream_usage_links_spec.rb +2 -2
  316. data/spec/models/stream_usage_metadata_spec.rb +2 -2
  317. data/spec/models/stream_usage_series_spec.rb +2 -2
  318. data/spec/models/streams_spec.rb +2 -2
  319. data/spec/models/subscription_body_spec.rb +2 -2
  320. data/spec/models/target_spec.rb +2 -2
  321. data/spec/models/token_body_spec.rb +2 -2
  322. data/spec/models/token_spec.rb +2 -2
  323. data/spec/models/tokens_spec.rb +2 -2
  324. data/spec/models/usage_error_spec.rb +2 -2
  325. data/spec/models/usage_links_spec.rb +2 -2
  326. data/spec/models/usage_spec.rb +2 -2
  327. data/spec/models/user_flag_setting_spec.rb +2 -2
  328. data/spec/models/user_flag_settings_spec.rb +2 -2
  329. data/spec/models/user_record_spec.rb +2 -2
  330. data/spec/models/user_segment_body_spec.rb +2 -2
  331. data/spec/models/user_segment_rule_spec.rb +2 -2
  332. data/spec/models/user_segment_spec.rb +2 -2
  333. data/spec/models/user_segments_spec.rb +2 -2
  334. data/spec/models/user_settings_body_spec.rb +2 -2
  335. data/spec/models/user_spec.rb +2 -2
  336. data/spec/models/user_targeting_expiration_for_flag_spec.rb +2 -2
  337. data/spec/models/user_targeting_expiration_for_flags_spec.rb +2 -2
  338. data/spec/models/user_targeting_expiration_for_segment_spec.rb +2 -2
  339. data/spec/models/user_targeting_expiration_on_flags_for_user_spec.rb +2 -2
  340. data/spec/models/user_targeting_expiration_resource_id_for_flag_spec.rb +2 -2
  341. data/spec/models/users_spec.rb +2 -2
  342. data/spec/models/variation_spec.rb +2 -2
  343. data/spec/models/webhook_body_spec.rb +2 -2
  344. data/spec/models/webhook_spec.rb +2 -2
  345. data/spec/models/webhooks_spec.rb +2 -2
  346. data/spec/models/weighted_variation_spec.rb +2 -2
  347. data/spec/spec_helper.rb +2 -2
  348. metadata +218 -150
  349. data/docs/FeatureFlagApprovalRequest.md +0 -18
  350. data/docs/UnboundedSegmentTargetsBody.md +0 -9
  351. data/spec/models/feature_flag_approval_request_review_status_spec.rb +0 -35
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -75,7 +75,7 @@ module LaunchDarklyApi
75
75
  return nil unless attributes.is_a?(Hash)
76
76
  self.class.swagger_types.each_pair do |key, type|
77
77
  if type =~ /\AArray<(.*)>/i
78
- # check to ensure the input is an array given that the the attribute
78
+ # check to ensure the input is an array given that the attribute
79
79
  # is documented as an array but the input is not
80
80
  if attributes[self.class.attribute_map[key]].is_a?(Array)
81
81
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -171,5 +171,6 @@ module LaunchDarklyApi
171
171
  value
172
172
  end
173
173
  end
174
+
174
175
  end
175
176
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -29,7 +29,7 @@ module LaunchDarklyApi
29
29
  # Attribute type mapping.
30
30
  def self.swagger_types
31
31
  {
32
- :'_links' => :'IntegrationLinks',
32
+ :'_links' => :'DependentFlagLinks',
33
33
  :'items' => :'Array<IntegrationSubscription>'
34
34
  }
35
35
  end
@@ -94,7 +94,7 @@ module LaunchDarklyApi
94
94
  return nil unless attributes.is_a?(Hash)
95
95
  self.class.swagger_types.each_pair do |key, type|
96
96
  if type =~ /\AArray<(.*)>/i
97
- # check to ensure the input is an array given that the the attribute
97
+ # check to ensure the input is an array given that the attribute
98
98
  # is documented as an array but the input is not
99
99
  if attributes[self.class.attribute_map[key]].is_a?(Array)
100
100
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -190,5 +190,6 @@ module LaunchDarklyApi
190
190
  value
191
191
  end
192
192
  end
193
+
193
194
  end
194
195
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -164,7 +164,7 @@ module LaunchDarklyApi
164
164
  return nil unless attributes.is_a?(Hash)
165
165
  self.class.swagger_types.each_pair do |key, type|
166
166
  if type =~ /\AArray<(.*)>/i
167
- # check to ensure the input is an array given that the the attribute
167
+ # check to ensure the input is an array given that the attribute
168
168
  # is documented as an array but the input is not
169
169
  if attributes[self.class.attribute_map[key]].is_a?(Array)
170
170
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -260,5 +260,6 @@ module LaunchDarklyApi
260
260
  value
261
261
  end
262
262
  end
263
+
263
264
  end
264
265
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -102,7 +102,7 @@ module LaunchDarklyApi
102
102
  return nil unless attributes.is_a?(Hash)
103
103
  self.class.swagger_types.each_pair do |key, type|
104
104
  if type =~ /\AArray<(.*)>/i
105
- # check to ensure the input is an array given that the the attribute
105
+ # check to ensure the input is an array given that the attribute
106
106
  # is documented as an array but the input is not
107
107
  if attributes[self.class.attribute_map[key]].is_a?(Array)
108
108
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -198,5 +198,6 @@ module LaunchDarklyApi
198
198
  value
199
199
  end
200
200
  end
201
+
201
202
  end
202
203
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -95,7 +95,7 @@ module LaunchDarklyApi
95
95
  return nil unless attributes.is_a?(Hash)
96
96
  self.class.swagger_types.each_pair do |key, type|
97
97
  if type =~ /\AArray<(.*)>/i
98
- # check to ensure the input is an array given that the the attribute
98
+ # check to ensure the input is an array given that the attribute
99
99
  # is documented as an array but the input is not
100
100
  if attributes[self.class.attribute_map[key]].is_a?(Array)
101
101
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -191,5 +191,6 @@ module LaunchDarklyApi
191
191
  value
192
192
  end
193
193
  end
194
+
194
195
  end
195
196
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -92,7 +92,7 @@ module LaunchDarklyApi
92
92
  return nil unless attributes.is_a?(Hash)
93
93
  self.class.swagger_types.each_pair do |key, type|
94
94
  if type =~ /\AArray<(.*)>/i
95
- # check to ensure the input is an array given that the the attribute
95
+ # check to ensure the input is an array given that the attribute
96
96
  # is documented as an array but the input is not
97
97
  if attributes[self.class.attribute_map[key]].is_a?(Array)
98
98
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -188,5 +188,6 @@ module LaunchDarklyApi
188
188
  value
189
189
  end
190
190
  end
191
+
191
192
  end
192
193
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -92,7 +92,7 @@ module LaunchDarklyApi
92
92
  return nil unless attributes.is_a?(Hash)
93
93
  self.class.swagger_types.each_pair do |key, type|
94
94
  if type =~ /\AArray<(.*)>/i
95
- # check to ensure the input is an array given that the the attribute
95
+ # check to ensure the input is an array given that the attribute
96
96
  # is documented as an array but the input is not
97
97
  if attributes[self.class.attribute_map[key]].is_a?(Array)
98
98
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -188,5 +188,6 @@ module LaunchDarklyApi
188
188
  value
189
189
  end
190
190
  end
191
+
191
192
  end
192
193
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -105,7 +105,7 @@ module LaunchDarklyApi
105
105
  return nil unless attributes.is_a?(Hash)
106
106
  self.class.swagger_types.each_pair do |key, type|
107
107
  if type =~ /\AArray<(.*)>/i
108
- # check to ensure the input is an array given that the the attribute
108
+ # check to ensure the input is an array given that the attribute
109
109
  # is documented as an array but the input is not
110
110
  if attributes[self.class.attribute_map[key]].is_a?(Array)
111
111
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -201,5 +201,6 @@ module LaunchDarklyApi
201
201
  value
202
202
  end
203
203
  end
204
+
204
205
  end
205
206
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -105,7 +105,7 @@ module LaunchDarklyApi
105
105
  return nil unless attributes.is_a?(Hash)
106
106
  self.class.swagger_types.each_pair do |key, type|
107
107
  if type =~ /\AArray<(.*)>/i
108
- # check to ensure the input is an array given that the the attribute
108
+ # check to ensure the input is an array given that the attribute
109
109
  # is documented as an array but the input is not
110
110
  if attributes[self.class.attribute_map[key]].is_a?(Array)
111
111
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -201,5 +201,6 @@ module LaunchDarklyApi
201
201
  value
202
202
  end
203
203
  end
204
+
204
205
  end
205
206
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -74,7 +74,7 @@ module LaunchDarklyApi
74
74
  return nil unless attributes.is_a?(Hash)
75
75
  self.class.swagger_types.each_pair do |key, type|
76
76
  if type =~ /\AArray<(.*)>/i
77
- # check to ensure the input is an array given that the the attribute
77
+ # check to ensure the input is an array given that the attribute
78
78
  # is documented as an array but the input is not
79
79
  if attributes[self.class.attribute_map[key]].is_a?(Array)
80
80
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -170,5 +170,6 @@ module LaunchDarklyApi
170
170
  value
171
171
  end
172
172
  end
173
+
173
174
  end
174
175
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 4.0.0
6
+ OpenAPI spec version: 5.1.0
7
7
  Contact: support@launchdarkly.com
8
8
  Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.8
9
+ Swagger Codegen version: 2.4.17
10
10
 
11
11
  =end
12
12
 
@@ -34,6 +34,11 @@ module LaunchDarklyApi
34
34
 
35
35
  attr_accessor :custom_roles
36
36
 
37
+ # A unix epoch time in milliseconds specifying the last time this member was active in LaunchDarkly.
38
+ attr_accessor :_last_seen
39
+
40
+ attr_accessor :_last_seen_metadata
41
+
37
42
  # Attribute mapping from ruby-style variable name to JSON key.
38
43
  def self.attribute_map
39
44
  {
@@ -46,7 +51,9 @@ module LaunchDarklyApi
46
51
  :'_verified' => :'_verified',
47
52
  :'_pending_invite' => :'_pendingInvite',
48
53
  :'is_beta' => :'isBeta',
49
- :'custom_roles' => :'customRoles'
54
+ :'custom_roles' => :'customRoles',
55
+ :'_last_seen' => :'_lastSeen',
56
+ :'_last_seen_metadata' => :'_lastSeenMetadata'
50
57
  }
51
58
  end
52
59
 
@@ -62,7 +69,9 @@ module LaunchDarklyApi
62
69
  :'_verified' => :'BOOLEAN',
63
70
  :'_pending_invite' => :'BOOLEAN',
64
71
  :'is_beta' => :'BOOLEAN',
65
- :'custom_roles' => :'Array<Id>'
72
+ :'custom_roles' => :'Array<Id>',
73
+ :'_last_seen' => :'Integer',
74
+ :'_last_seen_metadata' => :'MemberLastSeenMetadata'
66
75
  }
67
76
  end
68
77
 
@@ -115,6 +124,14 @@ module LaunchDarklyApi
115
124
  self.custom_roles = value
116
125
  end
117
126
  end
127
+
128
+ if attributes.has_key?(:'_lastSeen')
129
+ self._last_seen = attributes[:'_lastSeen']
130
+ end
131
+
132
+ if attributes.has_key?(:'_lastSeenMetadata')
133
+ self._last_seen_metadata = attributes[:'_lastSeenMetadata']
134
+ end
118
135
  end
119
136
 
120
137
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -144,7 +161,9 @@ module LaunchDarklyApi
144
161
  _verified == o._verified &&
145
162
  _pending_invite == o._pending_invite &&
146
163
  is_beta == o.is_beta &&
147
- custom_roles == o.custom_roles
164
+ custom_roles == o.custom_roles &&
165
+ _last_seen == o._last_seen &&
166
+ _last_seen_metadata == o._last_seen_metadata
148
167
  end
149
168
 
150
169
  # @see the `==` method
@@ -156,7 +175,7 @@ module LaunchDarklyApi
156
175
  # Calculates hash code according to all attributes.
157
176
  # @return [Fixnum] Hash code
158
177
  def hash
159
- [_links, _id, role, email, first_name, last_name, _verified, _pending_invite, is_beta, custom_roles].hash
178
+ [_links, _id, role, email, first_name, last_name, _verified, _pending_invite, is_beta, custom_roles, _last_seen, _last_seen_metadata].hash
160
179
  end
161
180
 
162
181
  # Builds the object from hash
@@ -166,7 +185,7 @@ module LaunchDarklyApi
166
185
  return nil unless attributes.is_a?(Hash)
167
186
  self.class.swagger_types.each_pair do |key, type|
168
187
  if type =~ /\AArray<(.*)>/i
169
- # check to ensure the input is an array given that the the attribute
188
+ # check to ensure the input is an array given that the attribute
170
189
  # is documented as an array but the input is not
171
190
  if attributes[self.class.attribute_map[key]].is_a?(Array)
172
191
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -262,5 +281,6 @@ module LaunchDarklyApi
262
281
  value
263
282
  end
264
283
  end
284
+
265
285
  end
266
286
  end
@@ -0,0 +1,185 @@
1
+ =begin
2
+ #LaunchDarkly REST API
3
+
4
+ #Build custom integrations with the LaunchDarkly REST API
5
+
6
+ OpenAPI spec version: 5.1.0
7
+ Contact: support@launchdarkly.com
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: 2.4.17
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module LaunchDarklyApi
16
+ class MemberLastSeenMetadata
17
+ # If the last time this member accessed LaunchDarkly was using the REST API, this value will be set to the ID of the personal access token used.
18
+ attr_accessor :token_id
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'token_id' => :'tokenId'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.swagger_types
29
+ {
30
+ :'token_id' => :'String'
31
+ }
32
+ end
33
+
34
+ # Initializes the object
35
+ # @param [Hash] attributes Model attributes in the form of hash
36
+ def initialize(attributes = {})
37
+ return unless attributes.is_a?(Hash)
38
+
39
+ # convert string to symbol for hash key
40
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
41
+
42
+ if attributes.has_key?(:'tokenId')
43
+ self.token_id = attributes[:'tokenId']
44
+ end
45
+ end
46
+
47
+ # Show invalid properties with the reasons. Usually used together with valid?
48
+ # @return Array for valid properties with the reasons
49
+ def list_invalid_properties
50
+ invalid_properties = Array.new
51
+ invalid_properties
52
+ end
53
+
54
+ # Check to see if the all the properties in the model are valid
55
+ # @return true if the model is valid
56
+ def valid?
57
+ true
58
+ end
59
+
60
+ # Checks equality by comparing each attribute.
61
+ # @param [Object] Object to be compared
62
+ def ==(o)
63
+ return true if self.equal?(o)
64
+ self.class == o.class &&
65
+ token_id == o.token_id
66
+ end
67
+
68
+ # @see the `==` method
69
+ # @param [Object] Object to be compared
70
+ def eql?(o)
71
+ self == o
72
+ end
73
+
74
+ # Calculates hash code according to all attributes.
75
+ # @return [Fixnum] Hash code
76
+ def hash
77
+ [token_id].hash
78
+ end
79
+
80
+ # Builds the object from hash
81
+ # @param [Hash] attributes Model attributes in the form of hash
82
+ # @return [Object] Returns the model itself
83
+ def build_from_hash(attributes)
84
+ return nil unless attributes.is_a?(Hash)
85
+ self.class.swagger_types.each_pair do |key, type|
86
+ if type =~ /\AArray<(.*)>/i
87
+ # check to ensure the input is an array given that the attribute
88
+ # is documented as an array but the input is not
89
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
90
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
91
+ end
92
+ elsif !attributes[self.class.attribute_map[key]].nil?
93
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
94
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
95
+ end
96
+
97
+ self
98
+ end
99
+
100
+ # Deserializes the data based on type
101
+ # @param string type Data type
102
+ # @param string value Value to be deserialized
103
+ # @return [Object] Deserialized data
104
+ def _deserialize(type, value)
105
+ case type.to_sym
106
+ when :DateTime
107
+ DateTime.parse(value)
108
+ when :Date
109
+ Date.parse(value)
110
+ when :String
111
+ value.to_s
112
+ when :Integer
113
+ value.to_i
114
+ when :Float
115
+ value.to_f
116
+ when :BOOLEAN
117
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
118
+ true
119
+ else
120
+ false
121
+ end
122
+ when :Object
123
+ # generic object (usually a Hash), return directly
124
+ value
125
+ when /\AArray<(?<inner_type>.+)>\z/
126
+ inner_type = Regexp.last_match[:inner_type]
127
+ value.map { |v| _deserialize(inner_type, v) }
128
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
129
+ k_type = Regexp.last_match[:k_type]
130
+ v_type = Regexp.last_match[:v_type]
131
+ {}.tap do |hash|
132
+ value.each do |k, v|
133
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
134
+ end
135
+ end
136
+ else # model
137
+ temp_model = LaunchDarklyApi.const_get(type).new
138
+ temp_model.build_from_hash(value)
139
+ end
140
+ end
141
+
142
+ # Returns the string representation of the object
143
+ # @return [String] String presentation of the object
144
+ def to_s
145
+ to_hash.to_s
146
+ end
147
+
148
+ # to_body is an alias to to_hash (backward compatibility)
149
+ # @return [Hash] Returns the object in the form of hash
150
+ def to_body
151
+ to_hash
152
+ end
153
+
154
+ # Returns the object in the form of hash
155
+ # @return [Hash] Returns the object in the form of hash
156
+ def to_hash
157
+ hash = {}
158
+ self.class.attribute_map.each_pair do |attr, param|
159
+ value = self.send(attr)
160
+ next if value.nil?
161
+ hash[param] = _to_hash(value)
162
+ end
163
+ hash
164
+ end
165
+
166
+ # Outputs non-array value in the form of hash
167
+ # For object, use to_hash. Otherwise, just return the value
168
+ # @param [Object] value Any valid value
169
+ # @return [Hash] Returns the value in the form of hash
170
+ def _to_hash(value)
171
+ if value.is_a?(Array)
172
+ value.compact.map { |v| _to_hash(v) }
173
+ elsif value.is_a?(Hash)
174
+ {}.tap do |hash|
175
+ value.each { |k, v| hash[k] = _to_hash(v) }
176
+ end
177
+ elsif value.respond_to? :to_hash
178
+ value.to_hash
179
+ else
180
+ value
181
+ end
182
+ end
183
+
184
+ end
185
+ end