1. Packages
  2. Launch Darkly
  3. API Docs
  4. FeatureFlag
Launch Darkly v0.0.6 published on Sunday, Feb 19, 2023 by lbrlabs

launchdarkly.FeatureFlag

Explore with Pulumi AI

launchdarkly logo
Launch Darkly v0.0.6 published on Sunday, Feb 19, 2023 by lbrlabs

    Provides a LaunchDarkly feature flag resource.

    This resource allows you to create and manage feature flags within your LaunchDarkly organization.

    Example Usage

    using System.Collections.Generic;
    using Pulumi;
    using Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;
    
    return await Deployment.RunAsync(() => 
    {
        var buildingMaterials = new Launchdarkly.FeatureFlag("buildingMaterials", new()
        {
            ProjectKey = launchdarkly_project.Example.Key,
            Key = "building-materials",
            Description = "this is a multivariate flag with string variations.",
            VariationType = "string",
            Variations = new[]
            {
                new Launchdarkly.Inputs.FeatureFlagVariationArgs
                {
                    Value = "straw",
                    Name = "Straw",
                    Description = "Watch out for wind.",
                },
                new Launchdarkly.Inputs.FeatureFlagVariationArgs
                {
                    Value = "sticks",
                    Name = "Sticks",
                    Description = "Sturdier than straw",
                },
                new Launchdarkly.Inputs.FeatureFlagVariationArgs
                {
                    Value = "bricks",
                    Name = "Bricks",
                    Description = "The strongest variation",
                },
            },
            Defaults = new Launchdarkly.Inputs.FeatureFlagDefaultsArgs
            {
                OnVariation = 2,
                OffVariation = 0,
            },
            Tags = new[]
            {
                "example",
                "terraform",
                "multivariate",
                "building-materials",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := launchdarkly.NewFeatureFlag(ctx, "buildingMaterials", &launchdarkly.FeatureFlagArgs{
    			ProjectKey:    pulumi.Any(launchdarkly_project.Example.Key),
    			Key:           pulumi.String("building-materials"),
    			Description:   pulumi.String("this is a multivariate flag with string variations."),
    			VariationType: pulumi.String("string"),
    			Variations: launchdarkly.FeatureFlagVariationArray{
    				&launchdarkly.FeatureFlagVariationArgs{
    					Value:       pulumi.String("straw"),
    					Name:        pulumi.String("Straw"),
    					Description: pulumi.String("Watch out for wind."),
    				},
    				&launchdarkly.FeatureFlagVariationArgs{
    					Value:       pulumi.String("sticks"),
    					Name:        pulumi.String("Sticks"),
    					Description: pulumi.String("Sturdier than straw"),
    				},
    				&launchdarkly.FeatureFlagVariationArgs{
    					Value:       pulumi.String("bricks"),
    					Name:        pulumi.String("Bricks"),
    					Description: pulumi.String("The strongest variation"),
    				},
    			},
    			Defaults: &launchdarkly.FeatureFlagDefaultsArgs{
    				OnVariation:  pulumi.Int(2),
    				OffVariation: pulumi.Int(0),
    			},
    			Tags: pulumi.StringArray{
    				pulumi.String("example"),
    				pulumi.String("terraform"),
    				pulumi.String("multivariate"),
    				pulumi.String("building-materials"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.launchdarkly.FeatureFlag;
    import com.pulumi.launchdarkly.FeatureFlagArgs;
    import com.pulumi.launchdarkly.inputs.FeatureFlagVariationArgs;
    import com.pulumi.launchdarkly.inputs.FeatureFlagDefaultsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var buildingMaterials = new FeatureFlag("buildingMaterials", FeatureFlagArgs.builder()        
                .projectKey(launchdarkly_project.example().key())
                .key("building-materials")
                .description("this is a multivariate flag with string variations.")
                .variationType("string")
                .variations(            
                    FeatureFlagVariationArgs.builder()
                        .value("straw")
                        .name("Straw")
                        .description("Watch out for wind.")
                        .build(),
                    FeatureFlagVariationArgs.builder()
                        .value("sticks")
                        .name("Sticks")
                        .description("Sturdier than straw")
                        .build(),
                    FeatureFlagVariationArgs.builder()
                        .value("bricks")
                        .name("Bricks")
                        .description("The strongest variation")
                        .build())
                .defaults(FeatureFlagDefaultsArgs.builder()
                    .onVariation(2)
                    .offVariation(0)
                    .build())
                .tags(            
                    "example",
                    "terraform",
                    "multivariate",
                    "building-materials")
                .build());
    
        }
    }
    
    import pulumi
    import lbrlabs_pulumi_launchdarkly as launchdarkly
    
    building_materials = launchdarkly.FeatureFlag("buildingMaterials",
        project_key=launchdarkly_project["example"]["key"],
        key="building-materials",
        description="this is a multivariate flag with string variations.",
        variation_type="string",
        variations=[
            launchdarkly.FeatureFlagVariationArgs(
                value="straw",
                name="Straw",
                description="Watch out for wind.",
            ),
            launchdarkly.FeatureFlagVariationArgs(
                value="sticks",
                name="Sticks",
                description="Sturdier than straw",
            ),
            launchdarkly.FeatureFlagVariationArgs(
                value="bricks",
                name="Bricks",
                description="The strongest variation",
            ),
        ],
        defaults=launchdarkly.FeatureFlagDefaultsArgs(
            on_variation=2,
            off_variation=0,
        ),
        tags=[
            "example",
            "terraform",
            "multivariate",
            "building-materials",
        ])
    
    import * as pulumi from "@pulumi/pulumi";
    import * as launchdarkly from "@lbrlabs/pulumi-launchdarkly";
    
    const buildingMaterials = new launchdarkly.FeatureFlag("buildingMaterials", {
        projectKey: launchdarkly_project.example.key,
        key: "building-materials",
        description: "this is a multivariate flag with string variations.",
        variationType: "string",
        variations: [
            {
                value: "straw",
                name: "Straw",
                description: "Watch out for wind.",
            },
            {
                value: "sticks",
                name: "Sticks",
                description: "Sturdier than straw",
            },
            {
                value: "bricks",
                name: "Bricks",
                description: "The strongest variation",
            },
        ],
        defaults: {
            onVariation: 2,
            offVariation: 0,
        },
        tags: [
            "example",
            "terraform",
            "multivariate",
            "building-materials",
        ],
    });
    
    resources:
      buildingMaterials:
        type: launchdarkly:FeatureFlag
        properties:
          projectKey: ${launchdarkly_project.example.key}
          key: building-materials
          description: this is a multivariate flag with string variations.
          variationType: string
          variations:
            - value: straw
              name: Straw
              description: Watch out for wind.
            - value: sticks
              name: Sticks
              description: Sturdier than straw
            - value: bricks
              name: Bricks
              description: The strongest variation
          defaults:
            onVariation: 2
            offVariation: 0
          tags:
            - example
            - terraform
            - multivariate
            - building-materials
    
    using System.Collections.Generic;
    using System.Text.Json;
    using Pulumi;
    using Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;
    
    return await Deployment.RunAsync(() => 
    {
        var jsonExample = new Launchdarkly.FeatureFlag("jsonExample", new()
        {
            ProjectKey = "example-project",
            Key = "json-example",
            VariationType = "json",
            Variations = new[]
            {
                new Launchdarkly.Inputs.FeatureFlagVariationArgs
                {
                    Name = "Single foo",
                    Value = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["foo"] = "bar",
                    }),
                },
                new Launchdarkly.Inputs.FeatureFlagVariationArgs
                {
                    Name = "Multiple foos",
                    Value = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["foos"] = new[]
                        {
                            "bar1",
                            "bar2",
                        },
                    }),
                },
            },
            Defaults = new Launchdarkly.Inputs.FeatureFlagDefaultsArgs
            {
                OnVariation = 1,
                OffVariation = 0,
            },
        });
    
    });
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"foo": "bar",
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal(map[string]interface{}{
    			"foos": []string{
    				"bar1",
    				"bar2",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		_, err = launchdarkly.NewFeatureFlag(ctx, "jsonExample", &launchdarkly.FeatureFlagArgs{
    			ProjectKey:    pulumi.String("example-project"),
    			Key:           pulumi.String("json-example"),
    			VariationType: pulumi.String("json"),
    			Variations: launchdarkly.FeatureFlagVariationArray{
    				&launchdarkly.FeatureFlagVariationArgs{
    					Name:  pulumi.String("Single foo"),
    					Value: pulumi.String(json0),
    				},
    				&launchdarkly.FeatureFlagVariationArgs{
    					Name:  pulumi.String("Multiple foos"),
    					Value: pulumi.String(json1),
    				},
    			},
    			Defaults: &launchdarkly.FeatureFlagDefaultsArgs{
    				OnVariation:  pulumi.Int(1),
    				OffVariation: pulumi.Int(0),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.launchdarkly.FeatureFlag;
    import com.pulumi.launchdarkly.FeatureFlagArgs;
    import com.pulumi.launchdarkly.inputs.FeatureFlagVariationArgs;
    import com.pulumi.launchdarkly.inputs.FeatureFlagDefaultsArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var jsonExample = new FeatureFlag("jsonExample", FeatureFlagArgs.builder()        
                .projectKey("example-project")
                .key("json-example")
                .variationType("json")
                .variations(            
                    FeatureFlagVariationArgs.builder()
                        .name("Single foo")
                        .value(serializeJson(
                            jsonObject(
                                jsonProperty("foo", "bar")
                            )))
                        .build(),
                    FeatureFlagVariationArgs.builder()
                        .name("Multiple foos")
                        .value(serializeJson(
                            jsonObject(
                                jsonProperty("foos", jsonArray(
                                    "bar1", 
                                    "bar2"
                                ))
                            )))
                        .build())
                .defaults(FeatureFlagDefaultsArgs.builder()
                    .onVariation(1)
                    .offVariation(0)
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import json
    import lbrlabs_pulumi_launchdarkly as launchdarkly
    
    json_example = launchdarkly.FeatureFlag("jsonExample",
        project_key="example-project",
        key="json-example",
        variation_type="json",
        variations=[
            launchdarkly.FeatureFlagVariationArgs(
                name="Single foo",
                value=json.dumps({
                    "foo": "bar",
                }),
            ),
            launchdarkly.FeatureFlagVariationArgs(
                name="Multiple foos",
                value=json.dumps({
                    "foos": [
                        "bar1",
                        "bar2",
                    ],
                }),
            ),
        ],
        defaults=launchdarkly.FeatureFlagDefaultsArgs(
            on_variation=1,
            off_variation=0,
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as launchdarkly from "@lbrlabs/pulumi-launchdarkly";
    
    const jsonExample = new launchdarkly.FeatureFlag("jsonExample", {
        projectKey: "example-project",
        key: "json-example",
        variationType: "json",
        variations: [
            {
                name: "Single foo",
                value: JSON.stringify({
                    foo: "bar",
                }),
            },
            {
                name: "Multiple foos",
                value: JSON.stringify({
                    foos: [
                        "bar1",
                        "bar2",
                    ],
                }),
            },
        ],
        defaults: {
            onVariation: 1,
            offVariation: 0,
        },
    });
    
    resources:
      jsonExample:
        type: launchdarkly:FeatureFlag
        properties:
          projectKey: example-project
          key: json-example
          variationType: json
          variations:
            - name: Single foo
              value:
                fn::toJSON:
                  foo: bar
            - name: Multiple foos
              value:
                fn::toJSON:
                  foos:
                    - bar1
                    - bar2
          defaults:
            onVariation: 1
            offVariation: 0
    

    Create FeatureFlag Resource

    new FeatureFlag(name: string, args: FeatureFlagArgs, opts?: CustomResourceOptions);
    @overload
    def FeatureFlag(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    archived: Optional[bool] = None,
                    client_side_availabilities: Optional[Sequence[FeatureFlagClientSideAvailabilityArgs]] = None,
                    custom_properties: Optional[Sequence[FeatureFlagCustomPropertyArgs]] = None,
                    defaults: Optional[FeatureFlagDefaultsArgs] = None,
                    description: Optional[str] = None,
                    include_in_snippet: Optional[bool] = None,
                    key: Optional[str] = None,
                    maintainer_id: Optional[str] = None,
                    name: Optional[str] = None,
                    project_key: Optional[str] = None,
                    tags: Optional[Sequence[str]] = None,
                    temporary: Optional[bool] = None,
                    variation_type: Optional[str] = None,
                    variations: Optional[Sequence[FeatureFlagVariationArgs]] = None)
    @overload
    def FeatureFlag(resource_name: str,
                    args: FeatureFlagArgs,
                    opts: Optional[ResourceOptions] = None)
    func NewFeatureFlag(ctx *Context, name string, args FeatureFlagArgs, opts ...ResourceOption) (*FeatureFlag, error)
    public FeatureFlag(string name, FeatureFlagArgs args, CustomResourceOptions? opts = null)
    public FeatureFlag(String name, FeatureFlagArgs args)
    public FeatureFlag(String name, FeatureFlagArgs args, CustomResourceOptions options)
    
    type: launchdarkly:FeatureFlag
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args FeatureFlagArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args FeatureFlagArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args FeatureFlagArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args FeatureFlagArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args FeatureFlagArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    FeatureFlag Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The FeatureFlag resource accepts the following input properties:

    Key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    ProjectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    VariationType string
    The feature flag's variation type: boolean, string, number or json.
    Archived bool
    Whether to archive the flag
    ClientSideAvailabilities List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagClientSideAvailability>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    CustomProperties List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagCustomProperty>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    Defaults Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    Description string
    The feature flag's description.
    IncludeInSnippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    MaintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    Name string
    The human-readable name of the feature flag.
    Tags List<string>
    Set of feature flag tags.
    Temporary bool
    Specifies whether the flag is a temporary flag.
    Variations List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagVariation>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    Key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    ProjectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    VariationType string
    The feature flag's variation type: boolean, string, number or json.
    Archived bool
    Whether to archive the flag
    ClientSideAvailabilities []FeatureFlagClientSideAvailabilityArgs
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    CustomProperties []FeatureFlagCustomPropertyArgs
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    Defaults FeatureFlagDefaultsArgs
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    Description string
    The feature flag's description.
    IncludeInSnippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    MaintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    Name string
    The human-readable name of the feature flag.
    Tags []string
    Set of feature flag tags.
    Temporary bool
    Specifies whether the flag is a temporary flag.
    Variations []FeatureFlagVariationArgs
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    key String
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    projectKey String
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    variationType String
    The feature flag's variation type: boolean, string, number or json.
    archived Boolean
    Whether to archive the flag
    clientSideAvailabilities List<FeatureFlagClientSideAvailability>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties List<FeatureFlagCustomProperty>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description String
    The feature flag's description.
    includeInSnippet Boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    maintainerId String
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name String
    The human-readable name of the feature flag.
    tags List<String>
    Set of feature flag tags.
    temporary Boolean
    Specifies whether the flag is a temporary flag.
    variations List<FeatureFlagVariation>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    projectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    variationType string
    The feature flag's variation type: boolean, string, number or json.
    archived boolean
    Whether to archive the flag
    clientSideAvailabilities FeatureFlagClientSideAvailability[]
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties FeatureFlagCustomProperty[]
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description string
    The feature flag's description.
    includeInSnippet boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    maintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name string
    The human-readable name of the feature flag.
    tags string[]
    Set of feature flag tags.
    temporary boolean
    Specifies whether the flag is a temporary flag.
    variations FeatureFlagVariation[]
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    key str
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    project_key str
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    variation_type str
    The feature flag's variation type: boolean, string, number or json.
    archived bool
    Whether to archive the flag
    client_side_availabilities Sequence[FeatureFlagClientSideAvailabilityArgs]
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    custom_properties Sequence[FeatureFlagCustomPropertyArgs]
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaultsArgs
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description str
    The feature flag's description.
    include_in_snippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    maintainer_id str
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name str
    The human-readable name of the feature flag.
    tags Sequence[str]
    Set of feature flag tags.
    temporary bool
    Specifies whether the flag is a temporary flag.
    variations Sequence[FeatureFlagVariationArgs]
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    key String
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    projectKey String
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    variationType String
    The feature flag's variation type: boolean, string, number or json.
    archived Boolean
    Whether to archive the flag
    clientSideAvailabilities List<Property Map>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties List<Property Map>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults Property Map
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description String
    The feature flag's description.
    includeInSnippet Boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    maintainerId String
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name String
    The human-readable name of the feature flag.
    tags List<String>
    Set of feature flag tags.
    temporary Boolean
    Specifies whether the flag is a temporary flag.
    variations List<Property Map>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the FeatureFlag resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing FeatureFlag Resource

    Get an existing FeatureFlag resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: FeatureFlagState, opts?: CustomResourceOptions): FeatureFlag
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            archived: Optional[bool] = None,
            client_side_availabilities: Optional[Sequence[FeatureFlagClientSideAvailabilityArgs]] = None,
            custom_properties: Optional[Sequence[FeatureFlagCustomPropertyArgs]] = None,
            defaults: Optional[FeatureFlagDefaultsArgs] = None,
            description: Optional[str] = None,
            include_in_snippet: Optional[bool] = None,
            key: Optional[str] = None,
            maintainer_id: Optional[str] = None,
            name: Optional[str] = None,
            project_key: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            temporary: Optional[bool] = None,
            variation_type: Optional[str] = None,
            variations: Optional[Sequence[FeatureFlagVariationArgs]] = None) -> FeatureFlag
    func GetFeatureFlag(ctx *Context, name string, id IDInput, state *FeatureFlagState, opts ...ResourceOption) (*FeatureFlag, error)
    public static FeatureFlag Get(string name, Input<string> id, FeatureFlagState? state, CustomResourceOptions? opts = null)
    public static FeatureFlag get(String name, Output<String> id, FeatureFlagState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Archived bool
    Whether to archive the flag
    ClientSideAvailabilities List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagClientSideAvailability>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    CustomProperties List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagCustomProperty>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    Defaults Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    Description string
    The feature flag's description.
    IncludeInSnippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    Key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    MaintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    Name string
    The human-readable name of the feature flag.
    ProjectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    Tags List<string>
    Set of feature flag tags.
    Temporary bool
    Specifies whether the flag is a temporary flag.
    VariationType string
    The feature flag's variation type: boolean, string, number or json.
    Variations List<Lbrlabs.PulumiPackage.Launchdarkly.Inputs.FeatureFlagVariation>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    Archived bool
    Whether to archive the flag
    ClientSideAvailabilities []FeatureFlagClientSideAvailabilityArgs
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    CustomProperties []FeatureFlagCustomPropertyArgs
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    Defaults FeatureFlagDefaultsArgs
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    Description string
    The feature flag's description.
    IncludeInSnippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    Key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    MaintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    Name string
    The human-readable name of the feature flag.
    ProjectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    Tags []string
    Set of feature flag tags.
    Temporary bool
    Specifies whether the flag is a temporary flag.
    VariationType string
    The feature flag's variation type: boolean, string, number or json.
    Variations []FeatureFlagVariationArgs
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    archived Boolean
    Whether to archive the flag
    clientSideAvailabilities List<FeatureFlagClientSideAvailability>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties List<FeatureFlagCustomProperty>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description String
    The feature flag's description.
    includeInSnippet Boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    key String
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    maintainerId String
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name String
    The human-readable name of the feature flag.
    projectKey String
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    tags List<String>
    Set of feature flag tags.
    temporary Boolean
    Specifies whether the flag is a temporary flag.
    variationType String
    The feature flag's variation type: boolean, string, number or json.
    variations List<FeatureFlagVariation>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    archived boolean
    Whether to archive the flag
    clientSideAvailabilities FeatureFlagClientSideAvailability[]
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties FeatureFlagCustomProperty[]
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaults
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description string
    The feature flag's description.
    includeInSnippet boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    key string
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    maintainerId string
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name string
    The human-readable name of the feature flag.
    projectKey string
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    tags string[]
    Set of feature flag tags.
    temporary boolean
    Specifies whether the flag is a temporary flag.
    variationType string
    The feature flag's variation type: boolean, string, number or json.
    variations FeatureFlagVariation[]
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    archived bool
    Whether to archive the flag
    client_side_availabilities Sequence[FeatureFlagClientSideAvailabilityArgs]
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    custom_properties Sequence[FeatureFlagCustomPropertyArgs]
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults FeatureFlagDefaultsArgs
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description str
    The feature flag's description.
    include_in_snippet bool
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    key str
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    maintainer_id str
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name str
    The human-readable name of the feature flag.
    project_key str
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    tags Sequence[str]
    Set of feature flag tags.
    temporary bool
    Specifies whether the flag is a temporary flag.
    variation_type str
    The feature flag's variation type: boolean, string, number or json.
    variations Sequence[FeatureFlagVariationArgs]
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.
    archived Boolean
    Whether to archive the flag
    clientSideAvailabilities List<Property Map>
    A block describing whether this flag should be made available to the client-side JavaScript SDK using the client-side Id, mobile key, or both. This value gets its default from your project configuration if not set. To learn more, read Nested Client-Side Availability Block.
    customProperties List<Property Map>
    List of nested blocks describing the feature flag's custom properties. To learn more, read Nested Custom Properties.
    defaults Property Map
    A block containing the indices of the variations to be used as the default on and off variations in all new environments. Flag configurations in existing environments will not be changed nor updated if the configuration block is removed. To learn more, read Nested Defaults Blocks.
    description String
    The feature flag's description.
    includeInSnippet Boolean
    Deprecated (Optional) Specifies whether this flag should be made available to the client-side JavaScript SDK using the client-side Id. This value gets its default from your project configuration if not set. include_in_snippet is now deprecated. Please migrate to client_side_availability.using_environment_id to maintain future compatability.

    Deprecated:'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.

    key String
    The unique feature flag key that references the flag in your application code. A change in this field will force the destruction of the existing resource and the creation of a new one.
    maintainerId String
    The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member associated with your Terraform API key or the most recently set maintainer
    name String
    The human-readable name of the feature flag.
    projectKey String
    The feature flag's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.
    tags List<String>
    Set of feature flag tags.
    temporary Boolean
    Specifies whether the flag is a temporary flag.
    variationType String
    The feature flag's variation type: boolean, string, number or json.
    variations List<Property Map>
    List of nested blocks describing the variations associated with the feature flag. You must specify at least two variations. To learn more, read Nested Variations Blocks.

    Supporting Types

    FeatureFlagClientSideAvailability, FeatureFlagClientSideAvailabilityArgs

    UsingEnvironmentId bool
    Whether this flag is available to SDKs using the client-side ID.
    UsingMobileKey bool
    Whether this flag is available to SDKs using a mobile key.
    UsingEnvironmentId bool
    Whether this flag is available to SDKs using the client-side ID.
    UsingMobileKey bool
    Whether this flag is available to SDKs using a mobile key.
    usingEnvironmentId Boolean
    Whether this flag is available to SDKs using the client-side ID.
    usingMobileKey Boolean
    Whether this flag is available to SDKs using a mobile key.
    usingEnvironmentId boolean
    Whether this flag is available to SDKs using the client-side ID.
    usingMobileKey boolean
    Whether this flag is available to SDKs using a mobile key.
    using_environment_id bool
    Whether this flag is available to SDKs using the client-side ID.
    using_mobile_key bool
    Whether this flag is available to SDKs using a mobile key.
    usingEnvironmentId Boolean
    Whether this flag is available to SDKs using the client-side ID.
    usingMobileKey Boolean
    Whether this flag is available to SDKs using a mobile key.

    FeatureFlagCustomProperty, FeatureFlagCustomPropertyArgs

    Key string
    The unique custom property key.
    Name string
    The name of the custom property.
    Values List<string>
    The list of custom property value strings.
    Key string
    The unique custom property key.
    Name string
    The name of the custom property.
    Values []string
    The list of custom property value strings.
    key String
    The unique custom property key.
    name String
    The name of the custom property.
    values List<String>
    The list of custom property value strings.
    key string
    The unique custom property key.
    name string
    The name of the custom property.
    values string[]
    The list of custom property value strings.
    key str
    The unique custom property key.
    name str
    The name of the custom property.
    values Sequence[str]
    The list of custom property value strings.
    key String
    The unique custom property key.
    name String
    The name of the custom property.
    values List<String>
    The list of custom property value strings.

    FeatureFlagDefaults, FeatureFlagDefaultsArgs

    OffVariation int
    The index of the variation the flag will default to in all new environments when off.
    OnVariation int
    The index of the variation the flag will default to in all new environments when on.
    OffVariation int
    The index of the variation the flag will default to in all new environments when off.
    OnVariation int
    The index of the variation the flag will default to in all new environments when on.
    offVariation Integer
    The index of the variation the flag will default to in all new environments when off.
    onVariation Integer
    The index of the variation the flag will default to in all new environments when on.
    offVariation number
    The index of the variation the flag will default to in all new environments when off.
    onVariation number
    The index of the variation the flag will default to in all new environments when on.
    off_variation int
    The index of the variation the flag will default to in all new environments when off.
    on_variation int
    The index of the variation the flag will default to in all new environments when on.
    offVariation Number
    The index of the variation the flag will default to in all new environments when off.
    onVariation Number
    The index of the variation the flag will default to in all new environments when on.

    FeatureFlagVariation, FeatureFlagVariationArgs

    Value string
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    Description string
    The variation's description.
    Name string
    The name of the variation.
    Value string
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    Description string
    The variation's description.
    Name string
    The name of the variation.
    value String
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    description String
    The variation's description.
    name String
    The name of the variation.
    value string
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    description string
    The variation's description.
    name string
    The name of the variation.
    value str
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    description str
    The variation's description.
    name str
    The name of the variation.
    value String
    The variation value. The value's type must correspond to the variation_type argument. For example: variation_type = "boolean" accepts only true or false. The "number" variation type accepts both floats and ints, but please note that any trailing zeroes on floats will be trimmed (i.e. 1.1 and 1.100 will both be converted to 1.1).
    description String
    The variation's description.
    name String
    The name of the variation.

    Import

    You can import a feature flag using the feature flag’s ID in the format project_key/flag_key. For example

     $ pulumi import launchdarkly:index/featureFlag:FeatureFlag building_materials example-project/building-materials
    

    Package Details

    Repository
    launchdarkly lbrlabs/pulumi-launchdarkly
    License
    Notes
    This Pulumi package is based on the launchdarkly Terraform Provider.
    launchdarkly logo
    Launch Darkly v0.0.6 published on Sunday, Feb 19, 2023 by lbrlabs