launchdarkly_api 5.0.2 → 5.4.0

Sign up to get free protection for your applications and to get access to all the features.
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