launchdarkly_api 3.9.2 → 5.0.2

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 (319) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/README.md +236 -224
  4. data/docs/ApprovalRequest.md +18 -0
  5. data/docs/{FeatureFlagChangeRequestApplyConfigBody.md → ApprovalRequestApplyConfigBody.md} +1 -1
  6. data/docs/{FeatureFlagChangeRequestConfigBody.md → ApprovalRequestConfigBody.md} +1 -1
  7. data/docs/{FeatureFlagChangeRequestReview.md → ApprovalRequestReview.md} +3 -3
  8. data/docs/{FeatureFlagChangeRequestReviewConfigBody.md → ApprovalRequestReviewConfigBody.md} +2 -2
  9. data/docs/{FeatureFlagChangeRequestReviewStatus.md → ApprovalRequestReviewStatus.md} +1 -1
  10. data/docs/{FeatureFlagChangeRequests.md → ApprovalRequests.md} +2 -2
  11. data/docs/Environment.md +1 -0
  12. data/docs/EnvironmentApprovalSettings.md +12 -0
  13. data/docs/FeatureFlagConfig.md +2 -0
  14. data/docs/FeatureFlagsApi.md +517 -77
  15. data/docs/FlagConfigScheduledChangesConflictsBody.md +9 -0
  16. data/docs/FlagConfigScheduledChangesPatchBody.md +9 -0
  17. data/docs/FlagConfigScheduledChangesPostBody.md +10 -0
  18. data/docs/Member.md +2 -0
  19. data/docs/MemberLastSeenMetadata.md +8 -0
  20. data/docs/UsersApi.md +2 -2
  21. data/launchdarkly_api.gemspec +3 -2
  22. data/lib/launchdarkly_api.rb +14 -9
  23. data/lib/launchdarkly_api/api/access_tokens_api.rb +2 -2
  24. data/lib/launchdarkly_api/api/audit_log_api.rb +2 -2
  25. data/lib/launchdarkly_api/api/custom_roles_api.rb +2 -2
  26. data/lib/launchdarkly_api/api/customer_metrics_api.rb +2 -2
  27. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +2 -2
  28. data/lib/launchdarkly_api/api/environments_api.rb +2 -2
  29. data/lib/launchdarkly_api/api/feature_flags_api.rb +640 -142
  30. data/lib/launchdarkly_api/api/integrations_api.rb +2 -2
  31. data/lib/launchdarkly_api/api/projects_api.rb +2 -2
  32. data/lib/launchdarkly_api/api/relay_proxy_configurations_api.rb +2 -2
  33. data/lib/launchdarkly_api/api/root_api.rb +2 -2
  34. data/lib/launchdarkly_api/api/team_members_api.rb +2 -2
  35. data/lib/launchdarkly_api/api/user_segments_api.rb +2 -2
  36. data/lib/launchdarkly_api/api/user_settings_api.rb +2 -2
  37. data/lib/launchdarkly_api/api/users_api.rb +5 -5
  38. data/lib/launchdarkly_api/api/webhooks_api.rb +2 -2
  39. data/lib/launchdarkly_api/api_client.rb +7 -5
  40. data/lib/launchdarkly_api/api_error.rb +2 -2
  41. data/lib/launchdarkly_api/configuration.rb +4 -4
  42. data/lib/launchdarkly_api/models/{feature_flag_change_request.rb → approval_request.rb} +12 -20
  43. data/lib/launchdarkly_api/models/{feature_flag_change_request_apply_config_body.rb → approval_request_apply_config_body.rb} +5 -4
  44. data/lib/launchdarkly_api/models/{feature_flag_change_request_config_body.rb → approval_request_config_body.rb} +5 -4
  45. data/lib/launchdarkly_api/models/{feature_flag_change_request_review.rb → approval_request_review.rb} +7 -6
  46. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_config_body.rb → approval_request_review_config_body.rb} +8 -7
  47. data/lib/launchdarkly_api/models/{feature_flag_change_request_review_status.rb → approval_request_review_status.rb} +5 -5
  48. data/lib/launchdarkly_api/models/{feature_flag_change_requests.rb → approval_requests.rb} +6 -5
  49. data/lib/launchdarkly_api/models/audit_log_entries.rb +4 -3
  50. data/lib/launchdarkly_api/models/audit_log_entry.rb +4 -3
  51. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +4 -3
  52. data/lib/launchdarkly_api/models/clause.rb +4 -3
  53. data/lib/launchdarkly_api/models/client_side_availability.rb +4 -3
  54. data/lib/launchdarkly_api/models/copy_actions.rb +2 -2
  55. data/lib/launchdarkly_api/models/custom_property.rb +4 -3
  56. data/lib/launchdarkly_api/models/custom_property_values.rb +4 -3
  57. data/lib/launchdarkly_api/models/custom_role.rb +4 -3
  58. data/lib/launchdarkly_api/models/custom_role_body.rb +4 -3
  59. data/lib/launchdarkly_api/models/custom_roles.rb +4 -3
  60. data/lib/launchdarkly_api/models/defaults.rb +4 -3
  61. data/lib/launchdarkly_api/models/destination.rb +4 -3
  62. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +4 -3
  63. data/lib/launchdarkly_api/models/destination_body.rb +4 -3
  64. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +4 -3
  65. data/lib/launchdarkly_api/models/destination_m_particle.rb +4 -3
  66. data/lib/launchdarkly_api/models/destination_segment.rb +4 -3
  67. data/lib/launchdarkly_api/models/destinations.rb +4 -3
  68. data/lib/launchdarkly_api/models/environment.rb +17 -7
  69. data/lib/launchdarkly_api/models/environment_approval_settings.rb +260 -0
  70. data/lib/launchdarkly_api/models/environment_post.rb +4 -3
  71. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +4 -3
  72. data/lib/launchdarkly_api/models/events.rb +4 -3
  73. data/lib/launchdarkly_api/models/fallthrough.rb +4 -3
  74. data/lib/launchdarkly_api/models/feature_flag.rb +4 -3
  75. data/lib/launchdarkly_api/models/feature_flag_body.rb +4 -3
  76. data/lib/launchdarkly_api/models/feature_flag_config.rb +26 -7
  77. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +4 -3
  78. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +4 -3
  79. data/lib/launchdarkly_api/models/feature_flag_scheduled_change.rb +4 -3
  80. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes.rb +4 -3
  81. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts.rb +4 -3
  82. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts_instructions.rb +4 -3
  83. data/lib/launchdarkly_api/models/feature_flag_status.rb +4 -3
  84. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +4 -3
  85. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +4 -3
  86. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +4 -3
  87. data/lib/launchdarkly_api/models/feature_flags.rb +4 -3
  88. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_conflicts_body.rb +194 -0
  89. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_patch_body.rb +194 -0
  90. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_post_body.rb +204 -0
  91. data/lib/launchdarkly_api/models/flag_list_item.rb +4 -3
  92. data/lib/launchdarkly_api/models/hierarchical_links.rb +4 -3
  93. data/lib/launchdarkly_api/models/id.rb +4 -3
  94. data/lib/launchdarkly_api/models/integration.rb +4 -3
  95. data/lib/launchdarkly_api/models/integration__links.rb +4 -3
  96. data/lib/launchdarkly_api/models/integration_subscription.rb +4 -3
  97. data/lib/launchdarkly_api/models/integration_subscription__status.rb +4 -3
  98. data/lib/launchdarkly_api/models/integrations.rb +4 -3
  99. data/lib/launchdarkly_api/models/link.rb +4 -3
  100. data/lib/launchdarkly_api/models/links.rb +4 -3
  101. data/lib/launchdarkly_api/models/ma_uby_category.rb +4 -3
  102. data/lib/launchdarkly_api/models/mau.rb +4 -3
  103. data/lib/launchdarkly_api/models/mau_metadata.rb +4 -3
  104. data/lib/launchdarkly_api/models/member.rb +27 -7
  105. data/lib/launchdarkly_api/models/member__last_seen_metadata.rb +185 -0
  106. data/lib/launchdarkly_api/models/members.rb +4 -3
  107. data/lib/launchdarkly_api/models/members_body.rb +4 -3
  108. data/lib/launchdarkly_api/models/patch_comment.rb +4 -3
  109. data/lib/launchdarkly_api/models/patch_operation.rb +4 -3
  110. data/lib/launchdarkly_api/models/policy.rb +4 -3
  111. data/lib/launchdarkly_api/models/prerequisite.rb +4 -3
  112. data/lib/launchdarkly_api/models/project.rb +4 -3
  113. data/lib/launchdarkly_api/models/project_body.rb +4 -3
  114. data/lib/launchdarkly_api/models/projects.rb +4 -3
  115. data/lib/launchdarkly_api/models/relay_proxy_config.rb +4 -3
  116. data/lib/launchdarkly_api/models/relay_proxy_config_body.rb +4 -3
  117. data/lib/launchdarkly_api/models/relay_proxy_configs.rb +4 -3
  118. data/lib/launchdarkly_api/models/role.rb +2 -2
  119. data/lib/launchdarkly_api/models/rollout.rb +4 -3
  120. data/lib/launchdarkly_api/models/rule.rb +4 -3
  121. data/lib/launchdarkly_api/models/scheduled_changes_feature_flag_conflict.rb +4 -3
  122. data/lib/launchdarkly_api/models/semantic_patch_instruction.rb +4 -3
  123. data/lib/launchdarkly_api/models/semantic_patch_instruction_inner.rb +4 -3
  124. data/lib/launchdarkly_api/models/semantic_patch_operation.rb +4 -3
  125. data/lib/launchdarkly_api/models/site.rb +4 -3
  126. data/lib/launchdarkly_api/models/statement.rb +4 -3
  127. data/lib/launchdarkly_api/models/stream.rb +4 -3
  128. data/lib/launchdarkly_api/models/stream_by_sdk.rb +4 -3
  129. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +4 -3
  130. data/lib/launchdarkly_api/models/stream_by_sdk_links_metadata.rb +4 -3
  131. data/lib/launchdarkly_api/models/stream_links.rb +4 -3
  132. data/lib/launchdarkly_api/models/stream_sdk_version.rb +4 -3
  133. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +4 -3
  134. data/lib/launchdarkly_api/models/stream_usage_error.rb +4 -3
  135. data/lib/launchdarkly_api/models/stream_usage_links.rb +4 -3
  136. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +4 -3
  137. data/lib/launchdarkly_api/models/stream_usage_series.rb +4 -3
  138. data/lib/launchdarkly_api/models/streams.rb +4 -3
  139. data/lib/launchdarkly_api/models/subscription_body.rb +4 -3
  140. data/lib/launchdarkly_api/models/target.rb +4 -3
  141. data/lib/launchdarkly_api/models/token.rb +4 -3
  142. data/lib/launchdarkly_api/models/token_body.rb +4 -3
  143. data/lib/launchdarkly_api/models/tokens.rb +4 -3
  144. data/lib/launchdarkly_api/models/unbounded_segment_target_changes.rb +4 -3
  145. data/lib/launchdarkly_api/models/unbounded_segment_targets_body.rb +4 -3
  146. data/lib/launchdarkly_api/models/usage.rb +4 -3
  147. data/lib/launchdarkly_api/models/usage_error.rb +4 -3
  148. data/lib/launchdarkly_api/models/usage_links.rb +4 -3
  149. data/lib/launchdarkly_api/models/user.rb +4 -3
  150. data/lib/launchdarkly_api/models/user_flag_setting.rb +4 -3
  151. data/lib/launchdarkly_api/models/user_flag_settings.rb +4 -3
  152. data/lib/launchdarkly_api/models/user_record.rb +4 -3
  153. data/lib/launchdarkly_api/models/user_segment.rb +4 -3
  154. data/lib/launchdarkly_api/models/user_segment_body.rb +4 -3
  155. data/lib/launchdarkly_api/models/user_segment_rule.rb +4 -3
  156. data/lib/launchdarkly_api/models/user_segments.rb +4 -3
  157. data/lib/launchdarkly_api/models/user_settings_body.rb +4 -3
  158. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flag.rb +4 -3
  159. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flags.rb +4 -3
  160. data/lib/launchdarkly_api/models/user_targeting_expiration_for_segment.rb +4 -3
  161. data/lib/launchdarkly_api/models/user_targeting_expiration_on_flags_for_user.rb +4 -3
  162. data/lib/launchdarkly_api/models/user_targeting_expiration_resource_id_for_flag.rb +4 -3
  163. data/lib/launchdarkly_api/models/users.rb +4 -3
  164. data/lib/launchdarkly_api/models/variation.rb +4 -3
  165. data/lib/launchdarkly_api/models/webhook.rb +4 -3
  166. data/lib/launchdarkly_api/models/webhook_body.rb +4 -3
  167. data/lib/launchdarkly_api/models/webhooks.rb +4 -3
  168. data/lib/launchdarkly_api/models/weighted_variation.rb +4 -3
  169. data/lib/launchdarkly_api/version.rb +3 -3
  170. data/openapi.yml +306 -71
  171. data/spec/api/access_tokens_api_spec.rb +2 -2
  172. data/spec/api/audit_log_api_spec.rb +2 -2
  173. data/spec/api/custom_roles_api_spec.rb +2 -2
  174. data/spec/api/customer_metrics_api_spec.rb +2 -2
  175. data/spec/api/data_export_destinations_api_spec.rb +2 -2
  176. data/spec/api/environments_api_spec.rb +2 -2
  177. data/spec/api/feature_flags_api_spec.rb +139 -38
  178. data/spec/api/integrations_api_spec.rb +2 -2
  179. data/spec/api/projects_api_spec.rb +2 -2
  180. data/spec/api/relay_proxy_configurations_api_spec.rb +2 -2
  181. data/spec/api/root_api_spec.rb +2 -2
  182. data/spec/api/team_members_api_spec.rb +2 -2
  183. data/spec/api/user_segments_api_spec.rb +2 -2
  184. data/spec/api/user_settings_api_spec.rb +2 -2
  185. data/spec/api/users_api_spec.rb +3 -3
  186. data/spec/api/webhooks_api_spec.rb +2 -2
  187. data/spec/api_client_spec.rb +19 -2
  188. data/spec/configuration_spec.rb +2 -2
  189. data/spec/models/{feature_flag_change_request_apply_config_body_spec.rb → approval_request_apply_config_body_spec.rb} +8 -8
  190. data/spec/models/{feature_flag_change_request_config_body_spec.rb → approval_request_config_body_spec.rb} +8 -8
  191. data/spec/models/{feature_flag_change_request_review_config_body_spec.rb → approval_request_review_config_body_spec.rb} +9 -9
  192. data/spec/models/{feature_flag_change_request_review_spec.rb → approval_request_review_spec.rb} +8 -8
  193. data/spec/models/approval_request_review_status_spec.rb +35 -0
  194. data/spec/models/{feature_flag_change_request_spec.rb → approval_request_spec.rb} +8 -14
  195. data/spec/models/{feature_flag_change_requests_spec.rb → approval_requests_spec.rb} +8 -8
  196. data/spec/models/audit_log_entries_spec.rb +2 -2
  197. data/spec/models/audit_log_entry_spec.rb +2 -2
  198. data/spec/models/audit_log_entry_target_spec.rb +2 -2
  199. data/spec/models/clause_spec.rb +2 -2
  200. data/spec/models/client_side_availability_spec.rb +2 -2
  201. data/spec/models/copy_actions_spec.rb +2 -2
  202. data/spec/models/custom_property_spec.rb +2 -2
  203. data/spec/models/custom_property_values_spec.rb +2 -2
  204. data/spec/models/custom_role_body_spec.rb +2 -2
  205. data/spec/models/custom_role_spec.rb +2 -2
  206. data/spec/models/custom_roles_spec.rb +2 -2
  207. data/spec/models/defaults_spec.rb +2 -2
  208. data/spec/models/destination_amazon_kinesis_spec.rb +2 -2
  209. data/spec/models/destination_body_spec.rb +2 -2
  210. data/spec/models/destination_google_pub_sub_spec.rb +2 -2
  211. data/spec/models/destination_m_particle_spec.rb +2 -2
  212. data/spec/models/destination_segment_spec.rb +2 -2
  213. data/spec/models/destination_spec.rb +2 -2
  214. data/spec/models/destinations_spec.rb +2 -2
  215. data/spec/models/environment_approval_settings_spec.rb +69 -0
  216. data/spec/models/environment_post_spec.rb +2 -2
  217. data/spec/models/environment_spec.rb +8 -2
  218. data/spec/models/evaluation_usage_error_spec.rb +2 -2
  219. data/spec/models/events_spec.rb +2 -2
  220. data/spec/models/fallthrough_spec.rb +2 -2
  221. data/spec/models/feature_flag_body_spec.rb +2 -2
  222. data/spec/models/feature_flag_config_spec.rb +14 -2
  223. data/spec/models/feature_flag_copy_body_spec.rb +2 -2
  224. data/spec/models/feature_flag_copy_object_spec.rb +2 -2
  225. data/spec/models/feature_flag_scheduled_change_spec.rb +2 -2
  226. data/spec/models/feature_flag_scheduled_changes_conflicts_instructions_spec.rb +2 -2
  227. data/spec/models/feature_flag_scheduled_changes_conflicts_spec.rb +2 -2
  228. data/spec/models/feature_flag_scheduled_changes_spec.rb +2 -2
  229. data/spec/models/feature_flag_spec.rb +2 -2
  230. data/spec/models/feature_flag_status_across_environments_spec.rb +2 -2
  231. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +2 -2
  232. data/spec/models/feature_flag_status_spec.rb +2 -2
  233. data/spec/models/feature_flag_statuses_spec.rb +2 -2
  234. data/spec/models/feature_flags_spec.rb +2 -2
  235. data/spec/models/flag_config_scheduled_changes_conflicts_body_spec.rb +47 -0
  236. data/spec/models/flag_config_scheduled_changes_patch_body_spec.rb +47 -0
  237. data/spec/models/flag_config_scheduled_changes_post_body_spec.rb +53 -0
  238. data/spec/models/flag_list_item_spec.rb +2 -2
  239. data/spec/models/hierarchical_links_spec.rb +2 -2
  240. data/spec/models/id_spec.rb +2 -2
  241. data/spec/models/integration__links_spec.rb +2 -2
  242. data/spec/models/integration_spec.rb +2 -2
  243. data/spec/models/integration_subscription__status_spec.rb +2 -2
  244. data/spec/models/integration_subscription_spec.rb +2 -2
  245. data/spec/models/integrations_spec.rb +2 -2
  246. data/spec/models/link_spec.rb +2 -2
  247. data/spec/models/links_spec.rb +2 -2
  248. data/spec/models/ma_uby_category_spec.rb +2 -2
  249. data/spec/models/mau_metadata_spec.rb +2 -2
  250. data/spec/models/mau_spec.rb +2 -2
  251. data/spec/models/member__last_seen_metadata_spec.rb +41 -0
  252. data/spec/models/member_spec.rb +14 -2
  253. data/spec/models/members_body_spec.rb +2 -2
  254. data/spec/models/members_spec.rb +2 -2
  255. data/spec/models/patch_comment_spec.rb +2 -2
  256. data/spec/models/patch_operation_spec.rb +2 -2
  257. data/spec/models/policy_spec.rb +2 -2
  258. data/spec/models/prerequisite_spec.rb +2 -2
  259. data/spec/models/project_body_spec.rb +2 -2
  260. data/spec/models/project_spec.rb +2 -2
  261. data/spec/models/projects_spec.rb +2 -2
  262. data/spec/models/relay_proxy_config_body_spec.rb +2 -2
  263. data/spec/models/relay_proxy_config_spec.rb +2 -2
  264. data/spec/models/relay_proxy_configs_spec.rb +2 -2
  265. data/spec/models/role_spec.rb +2 -2
  266. data/spec/models/rollout_spec.rb +2 -2
  267. data/spec/models/rule_spec.rb +2 -2
  268. data/spec/models/scheduled_changes_feature_flag_conflict_spec.rb +2 -2
  269. data/spec/models/semantic_patch_instruction_inner_spec.rb +2 -2
  270. data/spec/models/semantic_patch_instruction_spec.rb +2 -2
  271. data/spec/models/semantic_patch_operation_spec.rb +2 -2
  272. data/spec/models/site_spec.rb +2 -2
  273. data/spec/models/statement_spec.rb +2 -2
  274. data/spec/models/stream_by_sdk_links_metadata_spec.rb +2 -2
  275. data/spec/models/stream_by_sdk_links_spec.rb +2 -2
  276. data/spec/models/stream_by_sdk_spec.rb +2 -2
  277. data/spec/models/stream_links_spec.rb +2 -2
  278. data/spec/models/stream_sdk_version_data_spec.rb +2 -2
  279. data/spec/models/stream_sdk_version_spec.rb +2 -2
  280. data/spec/models/stream_spec.rb +2 -2
  281. data/spec/models/stream_usage_error_spec.rb +2 -2
  282. data/spec/models/stream_usage_links_spec.rb +2 -2
  283. data/spec/models/stream_usage_metadata_spec.rb +2 -2
  284. data/spec/models/stream_usage_series_spec.rb +2 -2
  285. data/spec/models/streams_spec.rb +2 -2
  286. data/spec/models/subscription_body_spec.rb +2 -2
  287. data/spec/models/target_spec.rb +2 -2
  288. data/spec/models/token_body_spec.rb +2 -2
  289. data/spec/models/token_spec.rb +2 -2
  290. data/spec/models/tokens_spec.rb +2 -2
  291. data/spec/models/unbounded_segment_target_changes_spec.rb +2 -2
  292. data/spec/models/unbounded_segment_targets_body_spec.rb +2 -2
  293. data/spec/models/usage_error_spec.rb +2 -2
  294. data/spec/models/usage_links_spec.rb +2 -2
  295. data/spec/models/usage_spec.rb +2 -2
  296. data/spec/models/user_flag_setting_spec.rb +2 -2
  297. data/spec/models/user_flag_settings_spec.rb +2 -2
  298. data/spec/models/user_record_spec.rb +2 -2
  299. data/spec/models/user_segment_body_spec.rb +2 -2
  300. data/spec/models/user_segment_rule_spec.rb +2 -2
  301. data/spec/models/user_segment_spec.rb +2 -2
  302. data/spec/models/user_segments_spec.rb +2 -2
  303. data/spec/models/user_settings_body_spec.rb +2 -2
  304. data/spec/models/user_spec.rb +2 -2
  305. data/spec/models/user_targeting_expiration_for_flag_spec.rb +2 -2
  306. data/spec/models/user_targeting_expiration_for_flags_spec.rb +2 -2
  307. data/spec/models/user_targeting_expiration_for_segment_spec.rb +2 -2
  308. data/spec/models/user_targeting_expiration_on_flags_for_user_spec.rb +2 -2
  309. data/spec/models/user_targeting_expiration_resource_id_for_flag_spec.rb +2 -2
  310. data/spec/models/users_spec.rb +2 -2
  311. data/spec/models/variation_spec.rb +2 -2
  312. data/spec/models/webhook_body_spec.rb +2 -2
  313. data/spec/models/webhook_spec.rb +2 -2
  314. data/spec/models/webhooks_spec.rb +2 -2
  315. data/spec/models/weighted_variation_spec.rb +2 -2
  316. data/spec/spec_helper.rb +2 -2
  317. metadata +180 -140
  318. data/docs/FeatureFlagChangeRequest.md +0 -19
  319. data/spec/models/feature_flag_change_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: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -176,7 +176,7 @@ module LaunchDarklyApi
176
176
  return nil unless attributes.is_a?(Hash)
177
177
  self.class.swagger_types.each_pair do |key, type|
178
178
  if type =~ /\AArray<(.*)>/i
179
- # check to ensure the input is an array given that the the attribute
179
+ # check to ensure the input is an array given that the attribute
180
180
  # is documented as an array but the input is not
181
181
  if attributes[self.class.attribute_map[key]].is_a?(Array)
182
182
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -272,5 +272,6 @@ module LaunchDarklyApi
272
272
  value
273
273
  end
274
274
  end
275
+
275
276
  end
276
277
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -101,7 +101,7 @@ module LaunchDarklyApi
101
101
  return nil unless attributes.is_a?(Hash)
102
102
  self.class.swagger_types.each_pair do |key, type|
103
103
  if type =~ /\AArray<(.*)>/i
104
- # check to ensure the input is an array given that the the attribute
104
+ # check to ensure the input is an array given that the attribute
105
105
  # is documented as an array but the input is not
106
106
  if attributes[self.class.attribute_map[key]].is_a?(Array)
107
107
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -197,5 +197,6 @@ module LaunchDarklyApi
197
197
  value
198
198
  end
199
199
  end
200
+
200
201
  end
201
202
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -163,7 +163,7 @@ module LaunchDarklyApi
163
163
  return nil unless attributes.is_a?(Hash)
164
164
  self.class.swagger_types.each_pair do |key, type|
165
165
  if type =~ /\AArray<(.*)>/i
166
- # check to ensure the input is an array given that the the attribute
166
+ # check to ensure the input is an array given that the attribute
167
167
  # is documented as an array but the input is not
168
168
  if attributes[self.class.attribute_map[key]].is_a?(Array)
169
169
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -259,5 +259,6 @@ module LaunchDarklyApi
259
259
  value
260
260
  end
261
261
  end
262
+
262
263
  end
263
264
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -110,7 +110,7 @@ module LaunchDarklyApi
110
110
  return nil unless attributes.is_a?(Hash)
111
111
  self.class.swagger_types.each_pair do |key, type|
112
112
  if type =~ /\AArray<(.*)>/i
113
- # check to ensure the input is an array given that the the attribute
113
+ # check to ensure the input is an array given that the attribute
114
114
  # is documented as an array but the input is not
115
115
  if attributes[self.class.attribute_map[key]].is_a?(Array)
116
116
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -206,5 +206,6 @@ module LaunchDarklyApi
206
206
  value
207
207
  end
208
208
  end
209
+
209
210
  end
210
211
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -83,7 +83,7 @@ module LaunchDarklyApi
83
83
  return nil unless attributes.is_a?(Hash)
84
84
  self.class.swagger_types.each_pair do |key, type|
85
85
  if type =~ /\AArray<(.*)>/i
86
- # check to ensure the input is an array given that the the attribute
86
+ # check to ensure the input is an array given that the attribute
87
87
  # is documented as an array but the input is not
88
88
  if attributes[self.class.attribute_map[key]].is_a?(Array)
89
89
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -179,5 +179,6 @@ module LaunchDarklyApi
179
179
  value
180
180
  end
181
181
  end
182
+
182
183
  end
183
184
  end
@@ -3,10 +3,10 @@
3
3
 
4
4
  #Build custom integrations with the LaunchDarkly REST API
5
5
 
6
- OpenAPI spec version: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -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: 3.9.2
6
+ OpenAPI spec version: 5.0.2
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
 
@@ -51,6 +51,8 @@ module LaunchDarklyApi
51
51
  # Determines if this environment requires confirmation for flag and segment changes.
52
52
  attr_accessor :confirm_changes
53
53
 
54
+ attr_accessor :approval_settings
55
+
54
56
  # Attribute mapping from ruby-style variable name to JSON key.
55
57
  def self.attribute_map
56
58
  {
@@ -66,7 +68,8 @@ module LaunchDarklyApi
66
68
  :'default_track_events' => :'defaultTrackEvents',
67
69
  :'tags' => :'tags',
68
70
  :'require_comments' => :'requireComments',
69
- :'confirm_changes' => :'confirmChanges'
71
+ :'confirm_changes' => :'confirmChanges',
72
+ :'approval_settings' => :'approvalSettings'
70
73
  }
71
74
  end
72
75
 
@@ -85,7 +88,8 @@ module LaunchDarklyApi
85
88
  :'default_track_events' => :'BOOLEAN',
86
89
  :'tags' => :'Array<String>',
87
90
  :'require_comments' => :'BOOLEAN',
88
- :'confirm_changes' => :'BOOLEAN'
91
+ :'confirm_changes' => :'BOOLEAN',
92
+ :'approval_settings' => :'EnvironmentApprovalSettings'
89
93
  }
90
94
  end
91
95
 
@@ -150,6 +154,10 @@ module LaunchDarklyApi
150
154
  if attributes.has_key?(:'confirmChanges')
151
155
  self.confirm_changes = attributes[:'confirmChanges']
152
156
  end
157
+
158
+ if attributes.has_key?(:'approvalSettings')
159
+ self.approval_settings = attributes[:'approvalSettings']
160
+ end
153
161
  end
154
162
 
155
163
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -182,7 +190,8 @@ module LaunchDarklyApi
182
190
  default_track_events == o.default_track_events &&
183
191
  tags == o.tags &&
184
192
  require_comments == o.require_comments &&
185
- confirm_changes == o.confirm_changes
193
+ confirm_changes == o.confirm_changes &&
194
+ approval_settings == o.approval_settings
186
195
  end
187
196
 
188
197
  # @see the `==` method
@@ -194,7 +203,7 @@ module LaunchDarklyApi
194
203
  # Calculates hash code according to all attributes.
195
204
  # @return [Fixnum] Hash code
196
205
  def hash
197
- [_links, _id, key, name, api_key, mobile_key, color, default_ttl, secure_mode, default_track_events, tags, require_comments, confirm_changes].hash
206
+ [_links, _id, key, name, api_key, mobile_key, color, default_ttl, secure_mode, default_track_events, tags, require_comments, confirm_changes, approval_settings].hash
198
207
  end
199
208
 
200
209
  # Builds the object from hash
@@ -204,7 +213,7 @@ module LaunchDarklyApi
204
213
  return nil unless attributes.is_a?(Hash)
205
214
  self.class.swagger_types.each_pair do |key, type|
206
215
  if type =~ /\AArray<(.*)>/i
207
- # check to ensure the input is an array given that the the attribute
216
+ # check to ensure the input is an array given that the attribute
208
217
  # is documented as an array but the input is not
209
218
  if attributes[self.class.attribute_map[key]].is_a?(Array)
210
219
  self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
@@ -300,5 +309,6 @@ module LaunchDarklyApi
300
309
  value
301
310
  end
302
311
  end
312
+
303
313
  end
304
314
  end
@@ -0,0 +1,260 @@
1
+ =begin
2
+ #LaunchDarkly REST API
3
+
4
+ #Build custom integrations with the LaunchDarkly REST API
5
+
6
+ OpenAPI spec version: 5.0.2
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
+ # Approval settings for an environment. Only appears if the approvals feature is enabled.
17
+ class EnvironmentApprovalSettings
18
+ # The approvals system used.
19
+ attr_accessor :service_kind
20
+
21
+ # Whether any changes to flags in this environment will require approval.
22
+ attr_accessor :required
23
+
24
+ # Whether requesters can approve or decline their own request. They may always comment.
25
+ attr_accessor :can_review_own_request
26
+
27
+ # The number of approvals required before an approval request can be applied.
28
+ attr_accessor :min_num_approvals
29
+
30
+ # Whether changes can be applied as long as minNumApprovals is met, regardless of if any reviewers have declined a request.
31
+ attr_accessor :can_apply_declined_changes
32
+
33
+ class EnumAttributeValidator
34
+ attr_reader :datatype
35
+ attr_reader :allowable_values
36
+
37
+ def initialize(datatype, allowable_values)
38
+ @allowable_values = allowable_values.map do |value|
39
+ case datatype.to_s
40
+ when /Integer/i
41
+ value.to_i
42
+ when /Float/i
43
+ value.to_f
44
+ else
45
+ value
46
+ end
47
+ end
48
+ end
49
+
50
+ def valid?(value)
51
+ !value || allowable_values.include?(value)
52
+ end
53
+ end
54
+
55
+ # Attribute mapping from ruby-style variable name to JSON key.
56
+ def self.attribute_map
57
+ {
58
+ :'service_kind' => :'serviceKind',
59
+ :'required' => :'required',
60
+ :'can_review_own_request' => :'canReviewOwnRequest',
61
+ :'min_num_approvals' => :'minNumApprovals',
62
+ :'can_apply_declined_changes' => :'canApplyDeclinedChanges'
63
+ }
64
+ end
65
+
66
+ # Attribute type mapping.
67
+ def self.swagger_types
68
+ {
69
+ :'service_kind' => :'String',
70
+ :'required' => :'BOOLEAN',
71
+ :'can_review_own_request' => :'BOOLEAN',
72
+ :'min_num_approvals' => :'Integer',
73
+ :'can_apply_declined_changes' => :'BOOLEAN'
74
+ }
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ return unless attributes.is_a?(Hash)
81
+
82
+ # convert string to symbol for hash key
83
+ attributes = attributes.each_with_object({}) { |(k, v), h| h[k.to_sym] = v }
84
+
85
+ if attributes.has_key?(:'serviceKind')
86
+ self.service_kind = attributes[:'serviceKind']
87
+ end
88
+
89
+ if attributes.has_key?(:'required')
90
+ self.required = attributes[:'required']
91
+ end
92
+
93
+ if attributes.has_key?(:'canReviewOwnRequest')
94
+ self.can_review_own_request = attributes[:'canReviewOwnRequest']
95
+ end
96
+
97
+ if attributes.has_key?(:'minNumApprovals')
98
+ self.min_num_approvals = attributes[:'minNumApprovals']
99
+ end
100
+
101
+ if attributes.has_key?(:'canApplyDeclinedChanges')
102
+ self.can_apply_declined_changes = attributes[:'canApplyDeclinedChanges']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ invalid_properties = Array.new
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ service_kind_validator = EnumAttributeValidator.new('String', ['launchdarkly', 'service-now'])
117
+ return false unless service_kind_validator.valid?(@service_kind)
118
+ true
119
+ end
120
+
121
+ # Custom attribute writer method checking allowed values (enum).
122
+ # @param [Object] service_kind Object to be assigned
123
+ def service_kind=(service_kind)
124
+ validator = EnumAttributeValidator.new('String', ['launchdarkly', 'service-now'])
125
+ unless validator.valid?(service_kind)
126
+ fail ArgumentError, 'invalid value for "service_kind", must be one of #{validator.allowable_values}.'
127
+ end
128
+ @service_kind = service_kind
129
+ end
130
+
131
+ # Checks equality by comparing each attribute.
132
+ # @param [Object] Object to be compared
133
+ def ==(o)
134
+ return true if self.equal?(o)
135
+ self.class == o.class &&
136
+ service_kind == o.service_kind &&
137
+ required == o.required &&
138
+ can_review_own_request == o.can_review_own_request &&
139
+ min_num_approvals == o.min_num_approvals &&
140
+ can_apply_declined_changes == o.can_apply_declined_changes
141
+ end
142
+
143
+ # @see the `==` method
144
+ # @param [Object] Object to be compared
145
+ def eql?(o)
146
+ self == o
147
+ end
148
+
149
+ # Calculates hash code according to all attributes.
150
+ # @return [Fixnum] Hash code
151
+ def hash
152
+ [service_kind, required, can_review_own_request, min_num_approvals, can_apply_declined_changes].hash
153
+ end
154
+
155
+ # Builds the object from hash
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ # @return [Object] Returns the model itself
158
+ def build_from_hash(attributes)
159
+ return nil unless attributes.is_a?(Hash)
160
+ self.class.swagger_types.each_pair do |key, type|
161
+ if type =~ /\AArray<(.*)>/i
162
+ # check to ensure the input is an array given that the attribute
163
+ # is documented as an array but the input is not
164
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
165
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
166
+ end
167
+ elsif !attributes[self.class.attribute_map[key]].nil?
168
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
169
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
170
+ end
171
+
172
+ self
173
+ end
174
+
175
+ # Deserializes the data based on type
176
+ # @param string type Data type
177
+ # @param string value Value to be deserialized
178
+ # @return [Object] Deserialized data
179
+ def _deserialize(type, value)
180
+ case type.to_sym
181
+ when :DateTime
182
+ DateTime.parse(value)
183
+ when :Date
184
+ Date.parse(value)
185
+ when :String
186
+ value.to_s
187
+ when :Integer
188
+ value.to_i
189
+ when :Float
190
+ value.to_f
191
+ when :BOOLEAN
192
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
193
+ true
194
+ else
195
+ false
196
+ end
197
+ when :Object
198
+ # generic object (usually a Hash), return directly
199
+ value
200
+ when /\AArray<(?<inner_type>.+)>\z/
201
+ inner_type = Regexp.last_match[:inner_type]
202
+ value.map { |v| _deserialize(inner_type, v) }
203
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
204
+ k_type = Regexp.last_match[:k_type]
205
+ v_type = Regexp.last_match[:v_type]
206
+ {}.tap do |hash|
207
+ value.each do |k, v|
208
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
209
+ end
210
+ end
211
+ else # model
212
+ temp_model = LaunchDarklyApi.const_get(type).new
213
+ temp_model.build_from_hash(value)
214
+ end
215
+ end
216
+
217
+ # Returns the string representation of the object
218
+ # @return [String] String presentation of the object
219
+ def to_s
220
+ to_hash.to_s
221
+ end
222
+
223
+ # to_body is an alias to to_hash (backward compatibility)
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_body
226
+ to_hash
227
+ end
228
+
229
+ # Returns the object in the form of hash
230
+ # @return [Hash] Returns the object in the form of hash
231
+ def to_hash
232
+ hash = {}
233
+ self.class.attribute_map.each_pair do |attr, param|
234
+ value = self.send(attr)
235
+ next if value.nil?
236
+ hash[param] = _to_hash(value)
237
+ end
238
+ hash
239
+ end
240
+
241
+ # Outputs non-array value in the form of hash
242
+ # For object, use to_hash. Otherwise, just return the value
243
+ # @param [Object] value Any valid value
244
+ # @return [Hash] Returns the value in the form of hash
245
+ def _to_hash(value)
246
+ if value.is_a?(Array)
247
+ value.compact.map { |v| _to_hash(v) }
248
+ elsif value.is_a?(Hash)
249
+ {}.tap do |hash|
250
+ value.each { |k, v| hash[k] = _to_hash(v) }
251
+ end
252
+ elsif value.respond_to? :to_hash
253
+ value.to_hash
254
+ else
255
+ value
256
+ end
257
+ end
258
+
259
+ end
260
+ end