All notable changes to the LaunchDarkly Terraform Provider will be documented in this file. This project adheres to Semantic Versioning.
generate_sdk_keys field from beta views resource (#412) (bdf36e4)launchdarkly_team_member (#289) (bc24609)launchdarkly_team (#290) (10ac131)launchdarkly_feature_flag documentation about managing variations for env-level flag configurations outside of Terraform.launchdarkly_audit_log_subscription resource and data source.analysis_type, include_units_without_events, percentile_value, and unit_aggregation_type to the launchdarkly_metric resource and data provider.version attribute to launchdarkly_metric.launchdarkly_metric's is_active attribute. This attribute is no longer used by LaunchDarkly and is safe to remove from Terraform configs.launchdarkly_team resource that prevented changes to the key from requiring the resource to be destroyed and recreated.api_host from being respected when using the launchdarkly_team_role_mapping resource.launchdarkly_team_role_mapping resource that prevented creating the resource with an empty custom_role_keys array.launchdarkly_audit_log_subscription resource and data source to support the Last9 integration.dynatrace-cloud-automation integration_key on the launchdarkly_flag_trigger resource.critical field on launchdarkly_environment.launchdarkly_feature_flag_environment docs example to make it more clear that it's a feature flag environment, not an environment.launchdarkly_feature_flag but no variations were explicitly defined (in the case of a default boolean flag, for example).launchdarkly_metric.success_criteria field to correspond to the same change in the API.launchdarkly_feature_flag_environment was removed.launchdarkly_feature_flag resource and data source with the new team_maintainer_key attribute field.service_kind and service_config attributes the launchdarkly_environment's approval settings. With these settings you can configure the ServiceNow approval system. Thanks, @arhill05 #191launchdarkly_segment resource and data source. Thanks, @christogav! #187launchdarkly_segment data source and resource using terraform-plugin-docs.launchdarkly_team_role_mapping resource. #179launchdarkly_environment resource.launchdarkly_feature_flag documentation from schema.http_timeout attribute to the provider config. This attribute allows you to configure the HTTP request timeout when the provider makes API calls to LaunchDarkly. #174http_timeout attribute to the provider config. This attribute allows you to configure the HTTP request timeout when the provider makes API calls to LaunchDarkly. #174launchdarkly_project key length validation from 20 characters to 100 characters. #175launchdarkly_relay_proxy_configuration documentation. Thanks, @felixlut #171launchdarkly_project resource which prevented importing and managing a project with more than 20 environments. #154launchdarkly_team_role_mapping documentation to include a reference to the team sync with SCIM feature. #152launchdarkly_team_role_mapping resource documentation. #152FEATURES:
launchdarkly_team_role_mapping resource to manage the custom roles associated with a LaunchDarkly team. This is useful if the LaunchDarkly team is created and managed externally, such as via Okta SCIM. If you wish to create an manage the team using Terraform, we recommend using the launchdarkly_team resource instead. #152BUG FIXES:
launchdarkly_feature_flag_environment resource where empty fallthrough blocks would cause the provider to panic.BUG FIXES:
launchdarkly_feature_flag_environment resource where empty fallthrough blocks would cause the provider to panic.FEATURES:
Adds the optional randomization_units attribute to the launchdarkly_metric resource and data source. For more information, read Allocating experiment audiences. Thanks, @goldfrapp04!
Bumps golang.org/x/net dependency from 0.1.0 to 0.7.0.
Bumps Go version to 1.19.
NOTES:
launchdarkly_metric resource and data source documentation.FEATURES:
Adds a new context_targets attribute to launchdarkly_feature_flag_environment resource blocks that allow you to target based on context kinds other than "user".
Adds a new context_kind field to launchdarkly_feature_flag_environment fallthrough blocks.
Adds a new context_kind field to launchdarkly_feature_flag_environment rule clauses.
Adds included_contexts and excluded_contexts attribute to launchdarkly_segment resource blocks that allow you to target based on context kinds other than "user".
Adds a new rollout_context_kind field to launchdarkly_segment rule blocks.
Adds user_identities field to the launchdarkly_destination mParticle configuration attribute that allow you to define mParticle user identities in tandem with their corresponding LaunchDarkly context kind.
FEATURES:
description argument to the nested rules blocks on the launchdarkly_feature_flag_environment resource and data source.BUG FIXES:
launchdarkly_feature_flag resource affecting some customers where the client_side_availability property would sometimes unexpectedly update. Also updates the behavior of that field to not default back to project defaults even if removed, in keeping with the behavior of the LaunchDarkly API. If a feature flag resource is created for the first time without client_side_availability set, it will be set to the project defaults.BUG FIXES:
Fixes a bug that allowed target blocks to be defined with no values in Terraform, resulting in a plan differential post-apply. A minimum of 1 item has been applied to the values field of launchdarkly_feature_flag_environment resource blocks.
Fixes a bug where removal of tags on resource_launchdarkly_segment was not resulting in the actual deletion of tags.
NOTES:
launchdarkly_feature_flag_environment documentation to recommend against usage with experimentation.BUG FIXES:
ignore_changes guide to the documentation sidebaraccount_members resource documentationBUG FIXES:
launchdarkly_team resourceNOTES:
ignore_changes guideBUG FIXES:
launchdarkly_feature_flag resource where explicit defaults were not getting set for boolean flags upon creation.BUG FIXES:
Fixes a bug in the launchdarkly_feature_flag_environment that prevented users from updating targeting rule clauses when the targeting rule was being used as the fallthrough variation with a percentage rollout.
Fixes a bug in the launchdarkly_feature_flag_environment that resulted in the default string rule clause value type not being respected. #102
FEATURES:
no_access role as a valid value for the role key for the launchdarkly_team_member resource.FEATURES:
launchdarkly_team data source and provider.NOTES:
BUG FIXES:
launchdarkly_audit_log_subscription resource.BUG FIXES:
launchdarkly_feature_flag_environment data source now checks whether the environment exists and prints out a more descriptive error. #101NOTES:
FEATURES:
base_permissions field to the launchdarkly_custom_role resource.NOTES:
bypassRequiredApproval action in documentation pending further development.ENHANCEMENTS:
hide_member_details argument to the Datadog config for the launchdarkly_audit_log_subscription resource. When hide_member_details is true, LaunchDarkly member information will be redacted before events are sent to Datadog.NOTES:
bypassRequiredApproval action in documentation.FEATURES:
launchdarkly_audit_log_subscription resource and data source. #16launchdarkly_audit_log_subscription resource.BUG FIXES:
config was not being set on the launchdarkly_audit_log_subscription data source.BUG FIXES:
Fixed a bug preventing launchdarkly_flag_triggers from being created in the enabled state.
Fixed a bug introduced in v2.2.0 where launchdarkly_segments with rule blocks not containing a weight were defaulting to a weight of 0.
FEATURES:
Added a launchdarkly_team_members data source to allow using multiple team members in one data source.
Added a new launchdarkly_metric resource and data source for managing LaunchDarkly experiment flag metrics.
Added a new launchdarkly_flag_triggers resource and data source for managing LaunchDarkly flag triggers.
Added a new launchdarkly_relay_proxy_configuration resource and data source for managing configurations for the Relay Proxy's automatic configuration feature.
Added a new launchdarkly_audit_log_subscription resource and data source for managing LaunchDarkly audit log integration subscriptions.
ENHANCEMENTS:
Updated tests to use the constant attribute keys defined in launchdarkly/keys.go.
Added a pre-commit file with a hook to alphabetize launchdarkly/keys.go
Improved 409 and 429 retry handling.
FEATURES:
default_client_side_availability block to the launchdarkly_project resource to specify whether feature flags created under the project should be available to client-side SDKs by default.BUG FIXES:
launchdarkly_project and launchdarkly_environment resources which caused Terraform to crash when environment approvals settings are omitted from the LaunchDarkly API response.NOTES:
The launchdarkly_project resource's argument include_in_snippet has been deprecated in favor of default_client_side_availability. Please update your config to use default_client_side_availability in order to maintain compatibility with future versions.
The launchdarkly_project data source's attribute client_side_availability has been renamed to default_client_side_availability. Please update your config to use default_client_side_availability in order to maintain compatibility with future versions.
ENHANCEMENTS:
FEATURES:
client_side_availability block to the launchdarkly_feature_flag resource to allow setting whether this flag should be made available to the client-side JavaScript SDK using the client-side ID, mobile key, or both.NOTES:
launchdarkly_feature_flag resource's argument include_in_snippet has been deprecated in favor of client_side_availability. Please update your config to use client_side_availability in order to maintain compatibility with future versions.ENHANCEMENTS:
BUG FIXES:
Fixed an oversight in the approval settings where the environment approval_settings property can_apply_declined_changes was defaulting to false where it should have been defaulting to true in alignment with the LaunchDarkly API.
Updated an error message.
FEATURES:
Added approval_settings blocks to the launchdarkly_environment resource and nested environments blocks on the launchdarkly_project resource.
Added a boolean archive attribute on the launchdarkly_feature_flag resource to allow archiving and unarchiving flags instead of deleting them.
BUG FIXES:
launchdarkly_project resource. As a result, all of a project's environments will be saved to the Terraform state during an import of the launchdarkly_project resource. Please keep in mind if you have not added all of the existing environments to your Terraform config before importing a launchdarkly_project resource, Terraform will delete these environments from LaunchDarkly during the next terraform apply. If you wish to manage project properties with Terraform but not nested environments consider using Terraform's ignore changes lifecycle meta-argument.ENHANCEMENTS:
NOTES:
As part of the ongoing deprecation of Terraform 0.11, the LaunchDarkly provider now only supports Terraform 0.12 and higher.
This release changes the way LaunchDarkly recommends you manage launchdarkly_environment and launchdarkly_project resources in tandem. It is recommended you do not manage environments as separate resources unless you wish to manage the encapsulating project externally (not via Terraform). As such, at least one environments attribute will now be Required on the launchdarkly_project resource, but you will also be able to manage environments outside of Terraform on Terraform-managed projects if you do not import them into the Terraform state as a configuration block on the encapsulating project resource.
The deprecated launchdarkly_destination resource enabled field has been removed in favor of on. on now defaults to false when not explicitly set.
The default_on_variation and default_off_variation properties on the launchdarkly_feature_flag resource have now been replaced with a computed defaults block containing the properties on_variation and off_variation that refer to the variations in question by index rather than value.
The launchdarkly_feature_flag_environment resource and data source target attribute schema has been modified to include a new variation attribute. Here variation represents the index of the feature flag variation to serve if a user target is matched.
The deprecated launchdarkly_feature_flag_environment resource targeting_enabled field has been removed in favor of on. on now defaults to false when not explicitly set.
The deprecated launchdarkly_feature_flag_environment resource user_targets field has been removed in favor of targets. targets now defaults to null when not explicitly set.
The deprecated launchdarkly_feature_flag_environment resource flag_fallthrough field has been removed in favor of fallthrough.
The deprecated launchdarkly_webhooks resource enabled field has been removed in favor of . is now a required field.
BUG FIXES:
Fixed a bug in the launchdarkly_webhook resource where statements removed from the configuration were not being deleted in LaunchDarkly.
The launchdarkly_feature_flag resource maintainer_id field is now computed and will update the state with the most recently-set value when not explicitly set.
The client_side_availability attribute on the launchdarkly_feature_flag and launchdarkly_project data sources has been corrected to an array with a single map item. This means that you will need to add an index 0 when accessing this property from the state (ex. client_side_availability.using_environment_id will now have to be accessed as client_side_availability.0.using_environment_id).
ENHANCEMENTS:
NOTES:
As part of the ongoing deprecation of Terraform 0.11, the LaunchDarkly provider now only supports Terraform 0.12 and higher.
This release changes the way LaunchDarkly recommends you manage launchdarkly_environment and launchdarkly_project resources in tandem. It is recommended you do not manage environments as separate resources unless you wish to manage the encapsulating project externally (not via Terraform). As such, at least one environments attribute will now be Required on the launchdarkly_project resource, but you will also be able to manage environments outside of Terraform on Terraform-managed projects if you do not import them into the Terraform state as a configuration block on the encapsulating project resource.
The deprecated launchdarkly_destination resource enabled field has been removed in favor of on. on now defaults to false when not explicitly set.
The default_on_variation and default_off_variation properties on the launchdarkly_feature_flag resource have now been replaced with a computed defaults block containing the properties on_variation and off_variation that refer to the variations in question by index rather than value.
The launchdarkly_feature_flag_environment resource and data source target attribute schema has been modified to include a new variation attribute. Here variation represents the index of the feature flag variation to serve if a user target is matched.
The deprecated launchdarkly_feature_flag_environment resource targeting_enabled field has been removed in favor of on. on now defaults to false when not explicitly set.
The deprecated launchdarkly_feature_flag_environment resource user_targets field has been removed in favor of targets. targets now defaults to null when not explicitly set.
The deprecated launchdarkly_feature_flag_environment resource flag_fallthrough field has been removed in favor of fallthrough.
The deprecated launchdarkly_webhooks resource enabled field has been removed in favor of . is now a required field.
BUG FIXES:
Fixed a bug in the launchdarkly_webhook resource where statements removed from the configuration were not being deleted in LaunchDarkly.
The launchdarkly_feature_flag resource maintainer_id field is now computed and will update the state with the most recently-set value when not explicitly set.
The client_side_availability attribute on the launchdarkly_feature_flag and launchdarkly_project data sources has been corrected to an array with a single map item. This means that you will need to add an index 0 when accessing this property from the state (ex. client_side_availability.using_environment_id will now have to be accessed as client_side_availability.0.using_environment_id).
BUG FIXES:
launchdarkly_feature_flag variations with an empty string value were throwing a panic.NOTES:
The launchdarkly_feature_flag_environment resource and data source's flag_fallthrough argument has been deprecated in favor of fallthrough. Please update your config to use fallthrough in order to maintain compatibility with future versions.
The launchdarkly_feature_flag_environment resource and data source's user_targets argument has been deprecated in favor of targets. Please update your config to use targets in order to maintain compatibility with future versions.
FEATURES:
creation_date attribute to the launchdarkly_segment data source and resource.ENHANCEMENTS:
Upgraded the Terraform plugin SDK to v1.17.2.
Upgraded the LaunchDarkly API client to v5.3.0.
Added example team member resource configs in examples/team_member.
BUG FIXES:
Updated the project_key attribute on the environment resource to be Required in keeping with the API.
Added validation for launchdarkly_access_token resource creation and updates.
Fixed a bug in the team member resource where changing the email in the configuration would result in no real changes. Changing the email will now force a replacement.
NOTES:
The launchdarkly_feature_flag_environment resource's targeting_enabled argument has been deprecated in favor of on. Please update your config to use on in order to maintain compatibility with future versions.
The launchdarkly_access_token resource's policy_statements argument has been deprecated in favor of inline_roles. Please update your config to use inline_roles in order to maintain compatibility with future versions.
ononThe deprecated launchdarkly_webhooks resource policy_statements field has been removed in favor of statements.
off_variation and fallthrough (previously flag_fallthrough) on launchdarkly_feature_flag_environment are now Required fields.
Most optional fields will now be removed or revert to their null / false value when not explicitly set and / or when removed, including:
on on the launchdarkly_destination resource
include_in_snippet on the launchdarkly_project resource
on the launchdarkly_environment resource and in environment blocks on the launchdarkly_project resource:
secure_mode
default_track_events
require_comments
confirm_changes
default_ttl (reverts to 0)
on the launchdarkly_feature_flag_environment resource:
on (previously targeting_enabled, reverts to false)
rules
targets (previously user_targets)
prerequisites
track_events (reverts to false)
ononThe deprecated launchdarkly_webhooks resource policy_statements field has been removed in favor of statements.
off_variation and fallthrough (previously flag_fallthrough) on launchdarkly_feature_flag_environment are now Required fields.
Most optional fields will now be removed or revert to their null / false value when not explicitly set and / or when removed, including:
on on the launchdarkly_destination resource
include_in_snippet on the launchdarkly_project resource
on the launchdarkly_environment resource and in environment blocks on the launchdarkly_project resource:
secure_mode
default_track_events
require_comments
confirm_changes
default_ttl (reverts to 0)
on the launchdarkly_feature_flag_environment resource:
on (previously targeting_enabled, reverts to false)
rules
targets (previously user_targets)
prerequisites
track_events (reverts to false)