launchdarkly_api 5.0.2 → 5.4.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 (345) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +248 -235
  3. data/docs/ApprovalRequest.md +4 -1
  4. data/docs/ApprovalRequestConfigBody.md +2 -0
  5. data/docs/ApprovalRequestFlagConfigCopyBody.md +13 -0
  6. data/docs/{UnboundedSegmentTargetChanges.md → BigSegmentTargetChanges.md} +1 -1
  7. data/docs/BigSegmentTargetsBody.md +9 -0
  8. data/docs/DependentFlag.md +11 -0
  9. data/docs/DependentFlagEnvironment.md +11 -0
  10. data/docs/DependentFlagEnvironmentLinks.md +9 -0
  11. data/docs/{IntegrationLinks.md → DependentFlagLinks.md} +1 -1
  12. data/docs/DependentFlagsByEnvironment.md +10 -0
  13. data/docs/DependentFlagsLinks.md +9 -0
  14. data/docs/EnvironmentApprovalSettings.md +2 -1
  15. data/docs/EnvironmentsApi.md +3 -3
  16. data/docs/FeatureFlagStatus.md +1 -1
  17. data/docs/FeatureFlagStatusAcrossEnvironments.md +1 -1
  18. data/docs/FeatureFlagStatusLinks.md +9 -0
  19. data/docs/FeatureFlagStatuses.md +1 -1
  20. data/docs/FeatureFlagsApi.md +184 -6
  21. data/docs/Integration.md +1 -1
  22. data/docs/MultiEnvironmentDependentFlag.md +12 -0
  23. data/docs/MultiEnvironmentDependentFlags.md +10 -0
  24. data/docs/Source.md +9 -0
  25. data/docs/UserSegment.md +1 -1
  26. data/docs/UserSegmentBody.md +1 -1
  27. data/docs/UserSegmentsApi.md +9 -9
  28. data/launchdarkly_api.gemspec +1 -1
  29. data/lib/launchdarkly_api.rb +14 -4
  30. data/lib/launchdarkly_api/api/access_tokens_api.rb +1 -1
  31. data/lib/launchdarkly_api/api/audit_log_api.rb +1 -1
  32. data/lib/launchdarkly_api/api/custom_roles_api.rb +1 -1
  33. data/lib/launchdarkly_api/api/customer_metrics_api.rb +1 -1
  34. data/lib/launchdarkly_api/api/data_export_destinations_api.rb +1 -1
  35. data/lib/launchdarkly_api/api/environments_api.rb +3 -3
  36. data/lib/launchdarkly_api/api/feature_flags_api.rb +198 -10
  37. data/lib/launchdarkly_api/api/integrations_api.rb +1 -1
  38. data/lib/launchdarkly_api/api/projects_api.rb +1 -1
  39. data/lib/launchdarkly_api/api/relay_proxy_configurations_api.rb +1 -1
  40. data/lib/launchdarkly_api/api/root_api.rb +1 -1
  41. data/lib/launchdarkly_api/api/team_members_api.rb +1 -1
  42. data/lib/launchdarkly_api/api/user_segments_api.rb +18 -18
  43. data/lib/launchdarkly_api/api/user_settings_api.rb +1 -1
  44. data/lib/launchdarkly_api/api/users_api.rb +1 -1
  45. data/lib/launchdarkly_api/api/webhooks_api.rb +1 -1
  46. data/lib/launchdarkly_api/api_client.rb +1 -1
  47. data/lib/launchdarkly_api/api_error.rb +1 -1
  48. data/lib/launchdarkly_api/configuration.rb +1 -1
  49. data/lib/launchdarkly_api/models/approval_request.rb +37 -8
  50. data/lib/launchdarkly_api/models/approval_request_apply_config_body.rb +1 -1
  51. data/lib/launchdarkly_api/models/approval_request_config_body.rb +25 -5
  52. data/lib/launchdarkly_api/models/approval_request_flag_config_copy_body.rb +254 -0
  53. data/lib/launchdarkly_api/models/approval_request_review.rb +1 -1
  54. data/lib/launchdarkly_api/models/approval_request_review_config_body.rb +1 -1
  55. data/lib/launchdarkly_api/models/approval_request_review_status.rb +1 -1
  56. data/lib/launchdarkly_api/models/approval_requests.rb +1 -1
  57. data/lib/launchdarkly_api/models/audit_log_entries.rb +1 -1
  58. data/lib/launchdarkly_api/models/audit_log_entry.rb +1 -1
  59. data/lib/launchdarkly_api/models/audit_log_entry_target.rb +1 -1
  60. data/lib/launchdarkly_api/models/{unbounded_segment_target_changes.rb → big_segment_target_changes.rb} +2 -2
  61. data/lib/launchdarkly_api/models/{unbounded_segment_targets_body.rb → big_segment_targets_body.rb} +4 -4
  62. data/lib/launchdarkly_api/models/clause.rb +1 -1
  63. data/lib/launchdarkly_api/models/client_side_availability.rb +1 -1
  64. data/lib/launchdarkly_api/models/copy_actions.rb +1 -1
  65. data/lib/launchdarkly_api/models/custom_property.rb +1 -1
  66. data/lib/launchdarkly_api/models/custom_property_values.rb +1 -1
  67. data/lib/launchdarkly_api/models/custom_role.rb +1 -1
  68. data/lib/launchdarkly_api/models/custom_role_body.rb +1 -1
  69. data/lib/launchdarkly_api/models/custom_roles.rb +1 -1
  70. data/lib/launchdarkly_api/models/defaults.rb +1 -1
  71. data/lib/launchdarkly_api/models/dependent_flag.rb +211 -0
  72. data/lib/launchdarkly_api/models/{integration__links.rb → dependent_flag__links.rb} +2 -2
  73. data/lib/launchdarkly_api/models/dependent_flag_environment.rb +211 -0
  74. data/lib/launchdarkly_api/models/dependent_flag_environment__links.rb +193 -0
  75. data/lib/launchdarkly_api/models/dependent_flags_by_environment.rb +204 -0
  76. data/lib/launchdarkly_api/models/dependent_flags_links.rb +193 -0
  77. data/lib/launchdarkly_api/models/destination.rb +1 -1
  78. data/lib/launchdarkly_api/models/destination_amazon_kinesis.rb +1 -1
  79. data/lib/launchdarkly_api/models/destination_body.rb +1 -1
  80. data/lib/launchdarkly_api/models/destination_google_pub_sub.rb +1 -1
  81. data/lib/launchdarkly_api/models/destination_m_particle.rb +1 -1
  82. data/lib/launchdarkly_api/models/destination_segment.rb +1 -1
  83. data/lib/launchdarkly_api/models/destinations.rb +1 -1
  84. data/lib/launchdarkly_api/models/environment.rb +1 -1
  85. data/lib/launchdarkly_api/models/environment_approval_settings.rb +18 -6
  86. data/lib/launchdarkly_api/models/environment_post.rb +1 -1
  87. data/lib/launchdarkly_api/models/evaluation_usage_error.rb +1 -1
  88. data/lib/launchdarkly_api/models/events.rb +1 -1
  89. data/lib/launchdarkly_api/models/fallthrough.rb +1 -1
  90. data/lib/launchdarkly_api/models/feature_flag.rb +1 -1
  91. data/lib/launchdarkly_api/models/feature_flag_body.rb +1 -1
  92. data/lib/launchdarkly_api/models/feature_flag_config.rb +1 -1
  93. data/lib/launchdarkly_api/models/feature_flag_copy_body.rb +1 -1
  94. data/lib/launchdarkly_api/models/feature_flag_copy_object.rb +1 -1
  95. data/lib/launchdarkly_api/models/feature_flag_scheduled_change.rb +1 -1
  96. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes.rb +1 -1
  97. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts.rb +1 -1
  98. data/lib/launchdarkly_api/models/feature_flag_scheduled_changes_conflicts_instructions.rb +1 -1
  99. data/lib/launchdarkly_api/models/feature_flag_status.rb +2 -2
  100. data/lib/launchdarkly_api/models/feature_flag_status_across_environments.rb +2 -2
  101. data/lib/launchdarkly_api/models/feature_flag_status_for_queried_environment.rb +1 -1
  102. data/lib/launchdarkly_api/models/feature_flag_status_links.rb +193 -0
  103. data/lib/launchdarkly_api/models/feature_flag_statuses.rb +2 -2
  104. data/lib/launchdarkly_api/models/feature_flags.rb +1 -1
  105. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_conflicts_body.rb +1 -1
  106. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_patch_body.rb +1 -1
  107. data/lib/launchdarkly_api/models/flag_config_scheduled_changes_post_body.rb +1 -1
  108. data/lib/launchdarkly_api/models/flag_list_item.rb +1 -1
  109. data/lib/launchdarkly_api/models/hierarchical_links.rb +1 -1
  110. data/lib/launchdarkly_api/models/id.rb +1 -1
  111. data/lib/launchdarkly_api/models/integration.rb +2 -2
  112. data/lib/launchdarkly_api/models/integration_subscription.rb +1 -1
  113. data/lib/launchdarkly_api/models/integration_subscription__status.rb +1 -1
  114. data/lib/launchdarkly_api/models/integrations.rb +1 -1
  115. data/lib/launchdarkly_api/models/link.rb +1 -1
  116. data/lib/launchdarkly_api/models/links.rb +1 -1
  117. data/lib/launchdarkly_api/models/ma_uby_category.rb +1 -1
  118. data/lib/launchdarkly_api/models/mau.rb +1 -1
  119. data/lib/launchdarkly_api/models/mau_metadata.rb +1 -1
  120. data/lib/launchdarkly_api/models/member.rb +1 -1
  121. data/lib/launchdarkly_api/models/member__last_seen_metadata.rb +1 -1
  122. data/lib/launchdarkly_api/models/members.rb +1 -1
  123. data/lib/launchdarkly_api/models/members_body.rb +1 -1
  124. data/lib/launchdarkly_api/models/multi_environment_dependent_flag.rb +222 -0
  125. data/lib/launchdarkly_api/models/multi_environment_dependent_flags.rb +204 -0
  126. data/lib/launchdarkly_api/models/patch_comment.rb +1 -1
  127. data/lib/launchdarkly_api/models/patch_operation.rb +1 -1
  128. data/lib/launchdarkly_api/models/policy.rb +1 -1
  129. data/lib/launchdarkly_api/models/prerequisite.rb +1 -1
  130. data/lib/launchdarkly_api/models/project.rb +1 -1
  131. data/lib/launchdarkly_api/models/project_body.rb +1 -1
  132. data/lib/launchdarkly_api/models/projects.rb +1 -1
  133. data/lib/launchdarkly_api/models/relay_proxy_config.rb +1 -1
  134. data/lib/launchdarkly_api/models/relay_proxy_config_body.rb +1 -1
  135. data/lib/launchdarkly_api/models/relay_proxy_configs.rb +1 -1
  136. data/lib/launchdarkly_api/models/role.rb +1 -1
  137. data/lib/launchdarkly_api/models/rollout.rb +1 -1
  138. data/lib/launchdarkly_api/models/rule.rb +1 -1
  139. data/lib/launchdarkly_api/models/scheduled_changes_feature_flag_conflict.rb +1 -1
  140. data/lib/launchdarkly_api/models/semantic_patch_instruction.rb +1 -1
  141. data/lib/launchdarkly_api/models/semantic_patch_instruction_inner.rb +1 -1
  142. data/lib/launchdarkly_api/models/semantic_patch_operation.rb +1 -1
  143. data/lib/launchdarkly_api/models/site.rb +1 -1
  144. data/lib/launchdarkly_api/models/source.rb +195 -0
  145. data/lib/launchdarkly_api/models/statement.rb +1 -1
  146. data/lib/launchdarkly_api/models/stream.rb +1 -1
  147. data/lib/launchdarkly_api/models/stream_by_sdk.rb +1 -1
  148. data/lib/launchdarkly_api/models/stream_by_sdk_links.rb +1 -1
  149. data/lib/launchdarkly_api/models/stream_by_sdk_links_metadata.rb +1 -1
  150. data/lib/launchdarkly_api/models/stream_links.rb +1 -1
  151. data/lib/launchdarkly_api/models/stream_sdk_version.rb +1 -1
  152. data/lib/launchdarkly_api/models/stream_sdk_version_data.rb +1 -1
  153. data/lib/launchdarkly_api/models/stream_usage_error.rb +1 -1
  154. data/lib/launchdarkly_api/models/stream_usage_links.rb +1 -1
  155. data/lib/launchdarkly_api/models/stream_usage_metadata.rb +1 -1
  156. data/lib/launchdarkly_api/models/stream_usage_series.rb +1 -1
  157. data/lib/launchdarkly_api/models/streams.rb +1 -1
  158. data/lib/launchdarkly_api/models/subscription_body.rb +1 -1
  159. data/lib/launchdarkly_api/models/target.rb +1 -1
  160. data/lib/launchdarkly_api/models/token.rb +1 -1
  161. data/lib/launchdarkly_api/models/token_body.rb +1 -1
  162. data/lib/launchdarkly_api/models/tokens.rb +1 -1
  163. data/lib/launchdarkly_api/models/usage.rb +1 -1
  164. data/lib/launchdarkly_api/models/usage_error.rb +1 -1
  165. data/lib/launchdarkly_api/models/usage_links.rb +1 -1
  166. data/lib/launchdarkly_api/models/user.rb +1 -1
  167. data/lib/launchdarkly_api/models/user_flag_setting.rb +1 -1
  168. data/lib/launchdarkly_api/models/user_flag_settings.rb +1 -1
  169. data/lib/launchdarkly_api/models/user_record.rb +1 -1
  170. data/lib/launchdarkly_api/models/user_segment.rb +2 -2
  171. data/lib/launchdarkly_api/models/user_segment_body.rb +2 -2
  172. data/lib/launchdarkly_api/models/user_segment_rule.rb +1 -1
  173. data/lib/launchdarkly_api/models/user_segments.rb +1 -1
  174. data/lib/launchdarkly_api/models/user_settings_body.rb +1 -1
  175. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flag.rb +1 -1
  176. data/lib/launchdarkly_api/models/user_targeting_expiration_for_flags.rb +1 -1
  177. data/lib/launchdarkly_api/models/user_targeting_expiration_for_segment.rb +1 -1
  178. data/lib/launchdarkly_api/models/user_targeting_expiration_on_flags_for_user.rb +1 -1
  179. data/lib/launchdarkly_api/models/user_targeting_expiration_resource_id_for_flag.rb +1 -1
  180. data/lib/launchdarkly_api/models/users.rb +1 -1
  181. data/lib/launchdarkly_api/models/variation.rb +1 -1
  182. data/lib/launchdarkly_api/models/webhook.rb +1 -1
  183. data/lib/launchdarkly_api/models/webhook_body.rb +1 -1
  184. data/lib/launchdarkly_api/models/webhooks.rb +1 -1
  185. data/lib/launchdarkly_api/models/weighted_variation.rb +1 -1
  186. data/lib/launchdarkly_api/version.rb +2 -2
  187. data/openapi.yml +262 -32
  188. data/spec/api/access_tokens_api_spec.rb +1 -1
  189. data/spec/api/audit_log_api_spec.rb +1 -1
  190. data/spec/api/custom_roles_api_spec.rb +1 -1
  191. data/spec/api/customer_metrics_api_spec.rb +1 -1
  192. data/spec/api/data_export_destinations_api_spec.rb +1 -1
  193. data/spec/api/environments_api_spec.rb +2 -2
  194. data/spec/api/feature_flags_api_spec.rb +43 -4
  195. data/spec/api/integrations_api_spec.rb +1 -1
  196. data/spec/api/projects_api_spec.rb +1 -1
  197. data/spec/api/relay_proxy_configurations_api_spec.rb +1 -1
  198. data/spec/api/root_api_spec.rb +1 -1
  199. data/spec/api/team_members_api_spec.rb +1 -1
  200. data/spec/api/user_segments_api_spec.rb +5 -5
  201. data/spec/api/user_settings_api_spec.rb +1 -1
  202. data/spec/api/users_api_spec.rb +1 -1
  203. data/spec/api/webhooks_api_spec.rb +1 -1
  204. data/spec/api_client_spec.rb +1 -1
  205. data/spec/configuration_spec.rb +1 -1
  206. data/spec/models/approval_request_apply_config_body_spec.rb +1 -1
  207. data/spec/models/approval_request_config_body_spec.rb +13 -1
  208. data/spec/models/approval_request_flag_config_copy_body_spec.rb +71 -0
  209. data/spec/models/approval_request_review_config_body_spec.rb +1 -1
  210. data/spec/models/approval_request_review_spec.rb +1 -1
  211. data/spec/models/approval_request_review_status_spec.rb +1 -1
  212. data/spec/models/approval_request_spec.rb +20 -2
  213. data/spec/models/approval_requests_spec.rb +1 -1
  214. data/spec/models/audit_log_entries_spec.rb +1 -1
  215. data/spec/models/audit_log_entry_spec.rb +1 -1
  216. data/spec/models/audit_log_entry_target_spec.rb +1 -1
  217. data/spec/models/{unbounded_segment_target_changes_spec.rb → big_segment_target_changes_spec.rb} +7 -7
  218. data/spec/models/{unbounded_segment_targets_body_spec.rb → big_segment_targets_body_spec.rb} +7 -7
  219. data/spec/models/clause_spec.rb +1 -1
  220. data/spec/models/client_side_availability_spec.rb +1 -1
  221. data/spec/models/copy_actions_spec.rb +1 -1
  222. data/spec/models/custom_property_spec.rb +1 -1
  223. data/spec/models/custom_property_values_spec.rb +1 -1
  224. data/spec/models/custom_role_body_spec.rb +1 -1
  225. data/spec/models/custom_role_spec.rb +1 -1
  226. data/spec/models/custom_roles_spec.rb +1 -1
  227. data/spec/models/defaults_spec.rb +1 -1
  228. data/spec/models/{integration__links_spec.rb → dependent_flag__links_spec.rb} +7 -7
  229. data/spec/models/dependent_flag_environment__links_spec.rb +47 -0
  230. data/spec/models/dependent_flag_environment_spec.rb +59 -0
  231. data/spec/models/dependent_flag_spec.rb +59 -0
  232. data/spec/models/dependent_flags_by_environment_spec.rb +53 -0
  233. data/spec/models/dependent_flags_links_spec.rb +47 -0
  234. data/spec/models/destination_amazon_kinesis_spec.rb +1 -1
  235. data/spec/models/destination_body_spec.rb +1 -1
  236. data/spec/models/destination_google_pub_sub_spec.rb +1 -1
  237. data/spec/models/destination_m_particle_spec.rb +1 -1
  238. data/spec/models/destination_segment_spec.rb +1 -1
  239. data/spec/models/destination_spec.rb +1 -1
  240. data/spec/models/destinations_spec.rb +1 -1
  241. data/spec/models/environment_approval_settings_spec.rb +7 -1
  242. data/spec/models/environment_post_spec.rb +1 -1
  243. data/spec/models/environment_spec.rb +1 -1
  244. data/spec/models/evaluation_usage_error_spec.rb +1 -1
  245. data/spec/models/events_spec.rb +1 -1
  246. data/spec/models/fallthrough_spec.rb +1 -1
  247. data/spec/models/feature_flag_body_spec.rb +1 -1
  248. data/spec/models/feature_flag_config_spec.rb +1 -1
  249. data/spec/models/feature_flag_copy_body_spec.rb +1 -1
  250. data/spec/models/feature_flag_copy_object_spec.rb +1 -1
  251. data/spec/models/feature_flag_scheduled_change_spec.rb +1 -1
  252. data/spec/models/feature_flag_scheduled_changes_conflicts_instructions_spec.rb +1 -1
  253. data/spec/models/feature_flag_scheduled_changes_conflicts_spec.rb +1 -1
  254. data/spec/models/feature_flag_scheduled_changes_spec.rb +1 -1
  255. data/spec/models/feature_flag_spec.rb +1 -1
  256. data/spec/models/feature_flag_status_across_environments_spec.rb +1 -1
  257. data/spec/models/feature_flag_status_for_queried_environment_spec.rb +1 -1
  258. data/spec/models/feature_flag_status_links_spec.rb +47 -0
  259. data/spec/models/feature_flag_status_spec.rb +1 -1
  260. data/spec/models/feature_flag_statuses_spec.rb +1 -1
  261. data/spec/models/feature_flags_spec.rb +1 -1
  262. data/spec/models/flag_config_scheduled_changes_conflicts_body_spec.rb +1 -1
  263. data/spec/models/flag_config_scheduled_changes_patch_body_spec.rb +1 -1
  264. data/spec/models/flag_config_scheduled_changes_post_body_spec.rb +1 -1
  265. data/spec/models/flag_list_item_spec.rb +1 -1
  266. data/spec/models/hierarchical_links_spec.rb +1 -1
  267. data/spec/models/id_spec.rb +1 -1
  268. data/spec/models/integration_spec.rb +1 -1
  269. data/spec/models/integration_subscription__status_spec.rb +1 -1
  270. data/spec/models/integration_subscription_spec.rb +1 -1
  271. data/spec/models/integrations_spec.rb +1 -1
  272. data/spec/models/link_spec.rb +1 -1
  273. data/spec/models/links_spec.rb +1 -1
  274. data/spec/models/ma_uby_category_spec.rb +1 -1
  275. data/spec/models/mau_metadata_spec.rb +1 -1
  276. data/spec/models/mau_spec.rb +1 -1
  277. data/spec/models/member__last_seen_metadata_spec.rb +1 -1
  278. data/spec/models/member_spec.rb +1 -1
  279. data/spec/models/members_body_spec.rb +1 -1
  280. data/spec/models/members_spec.rb +1 -1
  281. data/spec/models/multi_environment_dependent_flag_spec.rb +65 -0
  282. data/spec/models/multi_environment_dependent_flags_spec.rb +53 -0
  283. data/spec/models/patch_comment_spec.rb +1 -1
  284. data/spec/models/patch_operation_spec.rb +1 -1
  285. data/spec/models/policy_spec.rb +1 -1
  286. data/spec/models/prerequisite_spec.rb +1 -1
  287. data/spec/models/project_body_spec.rb +1 -1
  288. data/spec/models/project_spec.rb +1 -1
  289. data/spec/models/projects_spec.rb +1 -1
  290. data/spec/models/relay_proxy_config_body_spec.rb +1 -1
  291. data/spec/models/relay_proxy_config_spec.rb +1 -1
  292. data/spec/models/relay_proxy_configs_spec.rb +1 -1
  293. data/spec/models/role_spec.rb +1 -1
  294. data/spec/models/rollout_spec.rb +1 -1
  295. data/spec/models/rule_spec.rb +1 -1
  296. data/spec/models/scheduled_changes_feature_flag_conflict_spec.rb +1 -1
  297. data/spec/models/semantic_patch_instruction_inner_spec.rb +1 -1
  298. data/spec/models/semantic_patch_instruction_spec.rb +1 -1
  299. data/spec/models/semantic_patch_operation_spec.rb +1 -1
  300. data/spec/models/site_spec.rb +1 -1
  301. data/spec/models/source_spec.rb +47 -0
  302. data/spec/models/statement_spec.rb +1 -1
  303. data/spec/models/stream_by_sdk_links_metadata_spec.rb +1 -1
  304. data/spec/models/stream_by_sdk_links_spec.rb +1 -1
  305. data/spec/models/stream_by_sdk_spec.rb +1 -1
  306. data/spec/models/stream_links_spec.rb +1 -1
  307. data/spec/models/stream_sdk_version_data_spec.rb +1 -1
  308. data/spec/models/stream_sdk_version_spec.rb +1 -1
  309. data/spec/models/stream_spec.rb +1 -1
  310. data/spec/models/stream_usage_error_spec.rb +1 -1
  311. data/spec/models/stream_usage_links_spec.rb +1 -1
  312. data/spec/models/stream_usage_metadata_spec.rb +1 -1
  313. data/spec/models/stream_usage_series_spec.rb +1 -1
  314. data/spec/models/streams_spec.rb +1 -1
  315. data/spec/models/subscription_body_spec.rb +1 -1
  316. data/spec/models/target_spec.rb +1 -1
  317. data/spec/models/token_body_spec.rb +1 -1
  318. data/spec/models/token_spec.rb +1 -1
  319. data/spec/models/tokens_spec.rb +1 -1
  320. data/spec/models/usage_error_spec.rb +1 -1
  321. data/spec/models/usage_links_spec.rb +1 -1
  322. data/spec/models/usage_spec.rb +1 -1
  323. data/spec/models/user_flag_setting_spec.rb +1 -1
  324. data/spec/models/user_flag_settings_spec.rb +1 -1
  325. data/spec/models/user_record_spec.rb +1 -1
  326. data/spec/models/user_segment_body_spec.rb +1 -1
  327. data/spec/models/user_segment_rule_spec.rb +1 -1
  328. data/spec/models/user_segment_spec.rb +1 -1
  329. data/spec/models/user_segments_spec.rb +1 -1
  330. data/spec/models/user_settings_body_spec.rb +1 -1
  331. data/spec/models/user_spec.rb +1 -1
  332. data/spec/models/user_targeting_expiration_for_flag_spec.rb +1 -1
  333. data/spec/models/user_targeting_expiration_for_flags_spec.rb +1 -1
  334. data/spec/models/user_targeting_expiration_for_segment_spec.rb +1 -1
  335. data/spec/models/user_targeting_expiration_on_flags_for_user_spec.rb +1 -1
  336. data/spec/models/user_targeting_expiration_resource_id_for_flag_spec.rb +1 -1
  337. data/spec/models/users_spec.rb +1 -1
  338. data/spec/models/variation_spec.rb +1 -1
  339. data/spec/models/webhook_body_spec.rb +1 -1
  340. data/spec/models/webhook_spec.rb +1 -1
  341. data/spec/models/webhooks_spec.rb +1 -1
  342. data/spec/models/weighted_variation_spec.rb +1 -1
  343. data/spec/spec_helper.rb +1 -1
  344. metadata +54 -14
  345. data/docs/UnboundedSegmentTargetsBody.md +0 -9
data/openapi.yml CHANGED
@@ -10,7 +10,7 @@ info:
10
10
  license:
11
11
  name: Apache 2.0
12
12
  url: 'http://www.apache.org/licenses/LICENSE-2.0.html'
13
- version: 5.0.2
13
+ version: 5.4.0
14
14
  host: app.launchdarkly.com
15
15
  basePath: /api/v2
16
16
  schemes:
@@ -145,7 +145,13 @@ paths:
145
145
  tags:
146
146
  - Environments
147
147
  patch:
148
- summary: Modify an environment by ID.
148
+ summary: >-
149
+ Modify an environment by ID. If you try to patch the environment by
150
+ setting both required and requiredApprovalTags, it will result in an
151
+ error. Users can specify either required approvals for all flags in an
152
+ environment or those with specific tags, but not both. Only customers on
153
+ an Enterprise plan can require approval for flag updates with either
154
+ mechanism.
149
155
  operationId: patchEnvironment
150
156
  parameters:
151
157
  - $ref: '#/parameters/ProjectKey'
@@ -436,6 +442,49 @@ paths:
436
442
  $ref: '#/responses/Standard409'
437
443
  tags:
438
444
  - Feature flags
445
+ '/flags/{projectKey}/{featureFlagKey}/dependent-flags':
446
+ get:
447
+ summary: >-
448
+ Get dependent flags across all environments for the flag specified in
449
+ the path parameters
450
+ parameters:
451
+ - $ref: '#/parameters/ProjectKey'
452
+ - $ref: '#/parameters/FeatureFlagKey'
453
+ responses:
454
+ '200':
455
+ description: Dependent flags accross all environemnts in the project response
456
+ schema:
457
+ $ref: '#/definitions/MultiEnvironmentDependentFlags'
458
+ '401':
459
+ $ref: '#/responses/Standard401'
460
+ '403':
461
+ $ref: '#/responses/BetaApi403'
462
+ '404':
463
+ $ref: '#/responses/Standard404'
464
+ tags:
465
+ - Feature flags
466
+ '/flags/{projectKey}/{environmentKey}/{featureFlagKey}/dependent-flags':
467
+ get:
468
+ summary: >-
469
+ Get dependent flags for the flag in the environment specified in path
470
+ parameters
471
+ parameters:
472
+ - $ref: '#/parameters/ProjectKey'
473
+ - $ref: '#/parameters/EnvironmentKey'
474
+ - $ref: '#/parameters/FeatureFlagKey'
475
+ responses:
476
+ '200':
477
+ description: Dependent flags in a single envrionemnt response
478
+ schema:
479
+ $ref: '#/definitions/DependentFlagsByEnvironment'
480
+ '401':
481
+ $ref: '#/responses/Standard401'
482
+ '403':
483
+ $ref: '#/responses/BetaApi403'
484
+ '404':
485
+ $ref: '#/responses/Standard404'
486
+ tags:
487
+ - Feature flags
439
488
  '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/scheduled-changes':
440
489
  get:
441
490
  summary: Get all scheduled workflows for a feature flag by key.
@@ -579,6 +628,28 @@ paths:
579
628
  $ref: '#/responses/Standard404'
580
629
  tags:
581
630
  - Feature flags
631
+ '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests-flag-copy':
632
+ post:
633
+ operationId: postApprovalRequestFlagCopy
634
+ summary: Create an approval request to copy feature flag config
635
+ parameters:
636
+ - $ref: '#/parameters/ProjectKey'
637
+ - $ref: '#/parameters/FeatureFlagKey'
638
+ - $ref: '#/parameters/EnvironmentKey'
639
+ - $ref: '#/parameters/ApprovalRequestFlagCopyPostRequest'
640
+ responses:
641
+ '201':
642
+ schema:
643
+ $ref: '#/definitions/ApprovalRequest'
644
+ description: Approval request applied response
645
+ '401':
646
+ $ref: '#/responses/Standard401'
647
+ '404':
648
+ $ref: '#/responses/Standard404'
649
+ '409':
650
+ $ref: '#/responses/Standard409'
651
+ tags:
652
+ - Feature flags
582
653
  '/projects/{projectKey}/flags/{featureFlagKey}/environments/{environmentKey}/approval-requests/{approvalRequestId}':
583
654
  get:
584
655
  operationId: getApprovalRequest
@@ -591,7 +662,7 @@ paths:
591
662
  responses:
592
663
  '200':
593
664
  schema:
594
- $ref: '#/definitions/ApprovalRequests'
665
+ $ref: '#/definitions/ApprovalRequest'
595
666
  description: Approval request response
596
667
  '401':
597
668
  $ref: '#/responses/Standard401'
@@ -609,7 +680,7 @@ paths:
609
680
  - $ref: '#/parameters/ApprovalRequestId'
610
681
  - $ref: '#/parameters/ApprovalRequestPostRequest'
611
682
  responses:
612
- '200':
683
+ '201':
613
684
  schema:
614
685
  $ref: '#/definitions/ApprovalRequest'
615
686
  description: Approval request response
@@ -650,7 +721,7 @@ paths:
650
721
  responses:
651
722
  '200':
652
723
  schema:
653
- $ref: '#/definitions/ApprovalRequests'
724
+ $ref: '#/definitions/ApprovalRequest'
654
725
  description: Approval request applied response
655
726
  '401':
656
727
  $ref: '#/responses/Standard401'
@@ -671,7 +742,7 @@ paths:
671
742
  responses:
672
743
  '200':
673
744
  schema:
674
- $ref: '#/definitions/ApprovalRequests'
745
+ $ref: '#/definitions/ApprovalRequest'
675
746
  description: Approval request reviewed response
676
747
  '401':
677
748
  $ref: '#/responses/Standard401'
@@ -810,15 +881,15 @@ paths:
810
881
  $ref: '#/responses/Standard409'
811
882
  tags:
812
883
  - User segments
813
- '/segments/{projectKey}/{environmentKey}/{userSegmentKey}/unbounded-users':
884
+ '/segments/{projectKey}/{environmentKey}/{userSegmentKey}/users':
814
885
  post:
815
- summary: Update targets included or excluded in an unbounded segment
816
- operationId: updatedUnboundedSegmentTargets
886
+ summary: Update targets included or excluded in a big segment
887
+ operationId: updateBigSegmentTargets
817
888
  parameters:
818
889
  - $ref: '#/parameters/ProjectKey'
819
890
  - $ref: '#/parameters/EnvironmentKey'
820
891
  - $ref: '#/parameters/UserSegmentKey'
821
- - $ref: '#/parameters/UnboundedSegmentTargetsPostRequest'
892
+ - $ref: '#/parameters/BigSegmentTargetsPostRequest'
822
893
  responses:
823
894
  '204':
824
895
  $ref: '#/responses/Standard204'
@@ -2317,19 +2388,23 @@ definitions:
2317
2388
  status:
2318
2389
  type: string
2319
2390
  description: >
2320
- | Name | Description |
2391
+ | Name | Description |
2321
2392
 
2322
- | --------:| ----------- |
2393
+ | ---------:| ----------- |
2323
2394
 
2324
- | pending | the approval request has not been applied yet |
2395
+ | pending | the approval request has not been applied yet |
2325
2396
 
2326
- | completed| the approval request has been applied successfully |
2397
+ | completed | the approval request has been applied successfully |
2327
2398
 
2328
- | failed | the approval request has been applied but the changes
2399
+ | scheduled | the approval request for a scheduled change has been
2400
+ applied successfully |
2401
+
2402
+ | failed | the approval request has been applied but the changes
2329
2403
  were not applied successfully |
2330
2404
  enum:
2331
2405
  - pending
2332
2406
  - completed
2407
+ - scheduled
2333
2408
  - failed
2334
2409
  appliedByMemberID:
2335
2410
  type: string
@@ -2352,6 +2427,24 @@ definitions:
2352
2427
  - memberId2
2353
2428
  instructions:
2354
2429
  $ref: '#/definitions/SemanticPatchInstruction'
2430
+ executionDate:
2431
+ type: integer
2432
+ format: int64
2433
+ description: Timestamp for when instructions will be executed
2434
+ operatingOnId:
2435
+ type: string
2436
+ description: ID of scheduled change to edit or delete
2437
+ source:
2438
+ $ref: '#/definitions/Source'
2439
+ Source:
2440
+ type: object
2441
+ properties:
2442
+ key:
2443
+ type: string
2444
+ description: Environment key to be copied from
2445
+ version:
2446
+ type: integer
2447
+ description: Version of environment at time of request
2355
2448
  ApprovalRequestReview:
2356
2449
  type: object
2357
2450
  properties:
@@ -2430,12 +2523,12 @@ definitions:
2430
2523
  default:
2431
2524
  type: object
2432
2525
  _links:
2433
- $ref: '#/definitions/Links'
2526
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2434
2527
  FeatureFlagStatuses:
2435
2528
  type: object
2436
2529
  properties:
2437
2530
  _links:
2438
- $ref: '#/definitions/Links'
2531
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2439
2532
  items:
2440
2533
  type: array
2441
2534
  items:
@@ -2476,13 +2569,94 @@ definitions:
2476
2569
  type: object
2477
2570
  properties:
2478
2571
  _links:
2479
- $ref: '#/definitions/Links'
2572
+ $ref: '#/definitions/FeatureFlagStatusLinks'
2480
2573
  key:
2481
2574
  type: string
2482
2575
  environments:
2483
2576
  type: object
2484
2577
  additionalProperties:
2485
2578
  $ref: '#/definitions/FeatureFlagStatusForQueriedEnvironment'
2579
+ FeatureFlagStatusLinks:
2580
+ type: object
2581
+ properties:
2582
+ parent:
2583
+ $ref: '#/definitions/Link'
2584
+ self:
2585
+ $ref: '#/definitions/Link'
2586
+ DependentFlagsByEnvironment:
2587
+ type: object
2588
+ properties:
2589
+ items:
2590
+ type: array
2591
+ items:
2592
+ $ref: '#/definitions/DependentFlag'
2593
+ _links:
2594
+ $ref: '#/definitions/DependentFlagsLinks'
2595
+ _site:
2596
+ $ref: '#/definitions/Site'
2597
+ DependentFlag:
2598
+ type: object
2599
+ properties:
2600
+ name:
2601
+ type: string
2602
+ key:
2603
+ type: string
2604
+ _links:
2605
+ type: object
2606
+ properties:
2607
+ self:
2608
+ $ref: '#/definitions/Link'
2609
+ _site:
2610
+ $ref: '#/definitions/Site'
2611
+ DependentFlagsLinks:
2612
+ type: object
2613
+ properties:
2614
+ parent:
2615
+ $ref: '#/definitions/Link'
2616
+ self:
2617
+ $ref: '#/definitions/Link'
2618
+ MultiEnvironmentDependentFlags:
2619
+ type: object
2620
+ properties:
2621
+ items:
2622
+ type: array
2623
+ items:
2624
+ $ref: '#/definitions/MultiEnvironmentDependentFlag'
2625
+ _links:
2626
+ $ref: '#/definitions/DependentFlagsLinks'
2627
+ _site:
2628
+ $ref: '#/definitions/Site'
2629
+ MultiEnvironmentDependentFlag:
2630
+ type: object
2631
+ properties:
2632
+ name:
2633
+ type: string
2634
+ key:
2635
+ type: string
2636
+ environments:
2637
+ type: array
2638
+ items:
2639
+ $ref: '#/definitions/DependentFlagEnvironment'
2640
+ _links:
2641
+ $ref: '#/definitions/DependentFlagsLinks'
2642
+ _site:
2643
+ $ref: '#/definitions/Site'
2644
+ DependentFlagEnvironment:
2645
+ type: object
2646
+ properties:
2647
+ name:
2648
+ type: string
2649
+ key:
2650
+ type: string
2651
+ _links:
2652
+ type: object
2653
+ properties:
2654
+ self:
2655
+ $ref: '#/definitions/Link'
2656
+ flagLink:
2657
+ $ref: '#/definitions/Link'
2658
+ _site:
2659
+ $ref: '#/definitions/Site'
2486
2660
  UserTargetingExpirationForFlags:
2487
2661
  type: object
2488
2662
  properties:
@@ -2617,9 +2791,10 @@ definitions:
2617
2791
  type: boolean
2618
2792
  example: false
2619
2793
  description: >-
2620
- Controls whether this segment can support unlimited numbers of users.
2621
- Requires the beta API and additional setup. Include/exclude lists in
2622
- this payload are not used in unbounded segments.
2794
+ Controls whether this is considered a "big segment" which can support
2795
+ an unlimited numbers of users. Include/exclude lists sent with this
2796
+ payload are not used in big segments. Contact your account manager for
2797
+ early access to this feature.
2623
2798
  version:
2624
2799
  type: integer
2625
2800
  _links:
@@ -2649,7 +2824,7 @@ definitions:
2649
2824
  type: array
2650
2825
  items:
2651
2826
  $ref: '#/definitions/UserSegment'
2652
- UnboundedSegmentTargetChanges:
2827
+ BigSegmentTargetChanges:
2653
2828
  type: object
2654
2829
  properties:
2655
2830
  add:
@@ -2861,7 +3036,8 @@ definitions:
2861
3036
  type: boolean
2862
3037
  description: >-
2863
3038
  Whether any changes to flags in this environment will require
2864
- approval.
3039
+ approval. You may only set required or requiredApprovalTags, not
3040
+ both.
2865
3041
  canReviewOwnRequest:
2866
3042
  type: boolean
2867
3043
  description: >-
@@ -2879,6 +3055,14 @@ definitions:
2879
3055
  description: >-
2880
3056
  Whether changes can be applied as long as minNumApprovals is met,
2881
3057
  regardless of if any reviewers have declined a request.
3058
+ requiredApprovalTags:
3059
+ type: array
3060
+ items:
3061
+ type: string
3062
+ description: >-
3063
+ An array of tags used to specify which flags with those tags
3064
+ require approval. You may only set requiredApprovalTags or
3065
+ required, not both.
2882
3066
  EnvironmentPost:
2883
3067
  type: object
2884
3068
  properties:
@@ -4042,9 +4226,10 @@ parameters:
4042
4226
  type: boolean
4043
4227
  example: false
4044
4228
  description: >-
4045
- Controls whether this segment can support unlimited numbers of
4046
- users. Requires the beta API and additional setup. Include/exclude
4047
- lists in this payload are not used in unbounded segments.
4229
+ Controls whether this is considered a "big segment" which can
4230
+ support an unlimited numbers of users. Include/exclude lists sent
4231
+ with this payload are not used in big segments. Contact your account
4232
+ manager for early access to this feature.
4048
4233
  tags:
4049
4234
  type: array
4050
4235
  items:
@@ -4054,20 +4239,20 @@ parameters:
4054
4239
  required:
4055
4240
  - name
4056
4241
  - key
4057
- UnboundedSegmentTargetsPostRequest:
4058
- name: unboundedSegmentTargetsBody
4242
+ BigSegmentTargetsPostRequest:
4243
+ name: bigSegmentTargetsBody
4059
4244
  in: body
4060
4245
  required: true
4061
4246
  description: >-
4062
- Add or remove user targets to the included or excluded lists on an
4063
- unbounded segment
4247
+ Add or remove user targets to the included or excluded lists on a big
4248
+ segment. Contact your account manager for early access to this feature.
4064
4249
  schema:
4065
4250
  type: object
4066
4251
  properties:
4067
4252
  included:
4068
- $ref: '#/definitions/UnboundedSegmentTargetChanges'
4253
+ $ref: '#/definitions/BigSegmentTargetChanges'
4069
4254
  excluded:
4070
- $ref: '#/definitions/UnboundedSegmentTargetChanges'
4255
+ $ref: '#/definitions/BigSegmentTargetChanges'
4071
4256
  ProjectPostRequest:
4072
4257
  name: projectBody
4073
4258
  in: body
@@ -4604,10 +4789,55 @@ parameters:
4604
4789
  comment:
4605
4790
  type: string
4606
4791
  description: comment will be included in audit log item for change.
4792
+ executionDate:
4793
+ type: integer
4794
+ format: int64
4795
+ description: Timestamp for when instructions will be executed
4796
+ operatingOnId:
4797
+ type: string
4798
+ description: ID of scheduled change to edit or delete
4607
4799
  required:
4608
4800
  - description
4609
4801
  - instructions
4610
4802
  - notifyMemberIds
4803
+ ApprovalRequestFlagCopyPostRequest:
4804
+ name: approvalRequestFlagConfigCopyBody
4805
+ in: body
4806
+ description: Create a new approval request
4807
+ schema:
4808
+ type: object
4809
+ properties:
4810
+ description:
4811
+ type: string
4812
+ description: >-
4813
+ A name that describes the changes you would like to apply to a
4814
+ feature flag configuration
4815
+ notifyMemberIds:
4816
+ type: array
4817
+ items:
4818
+ type: string
4819
+ example:
4820
+ - memberId
4821
+ - memberId2
4822
+ source:
4823
+ $ref: '#/definitions/Source'
4824
+ comment:
4825
+ type: string
4826
+ description: comment will be included in audit log item for change.
4827
+ includedActions:
4828
+ type: array
4829
+ items:
4830
+ $ref: '#/definitions/CopyActions'
4831
+ description: Define the parts of the flag configuration that will be copied.
4832
+ excludedActions:
4833
+ type: array
4834
+ items:
4835
+ $ref: '#/definitions/CopyActions'
4836
+ description: Define the parts of the flag configuration that will not be copied.
4837
+ required:
4838
+ - description
4839
+ - notifyMemberIds
4840
+ - source
4611
4841
  ApprovalRequestReviewPostRequest:
4612
4842
  name: approvalRequestReviewConfigBody
4613
4843
  in: body