{
  "name": "launchdarkly",
  "displayName": "Launch Darkly",
  "version": "0.0.6",
  "description": "A Pulumi package for creating and managing launch darkly cloud resources.",
  "keywords": [
    "pulumi",
    "launchdarkly",
    "lbrlabs"
  ],
  "homepage": "https://www.pulumi.com",
  "attribution": "This Pulumi package is based on the [`launchdarkly` Terraform Provider](https://github.com/launchdarkly/terraform-provider-launchdarkly).",
  "repository": "https://github.com/lbrlabs/pulumi-launchdarkly",
  "logoUrl": "https://raw.githubusercontent.com/lbrlabs/pulumi-launchdarkly/master/assets/logo.png",
  "pluginDownloadURL": "github://api.github.com/lbrlabs",
  "publisher": "lbrlabs",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "compatibility": "tfbridge20",
      "namespaces": null,
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "rootNamespace": "Lbrlabs.PulumiPackage"
    },
    "go": {
      "generateExtraInputTypes": true,
      "generateResourceContainerTypes": true,
      "importBasePath": "github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly"
    },
    "nodejs": {
      "compatibility": "tfbridge20",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "disableUnionOutputTypes": true,
      "packageDescription": "A Pulumi package for creating and managing launch darkly cloud resources.",
      "packageName": "@lbrlabs/pulumi-launchdarkly",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/launchdarkly/terraform-provider-launchdarkly)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-launchdarkly` repo](https://github.com/lbrlabs/pulumi-launchdarkly/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-launchdarkly` repo](https://github.com/launchdarkly/terraform-provider-launchdarkly/issues).",
      "typescriptVersion": ""
    },
    "python": {
      "compatibility": "tfbridge20",
      "packageName": "lbrlabs_pulumi_launchdarkly",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/launchdarkly/terraform-provider-launchdarkly)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-launchdarkly` repo](https://github.com/lbrlabs/pulumi-launchdarkly/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-launchdarkly` repo](https://github.com/launchdarkly/terraform-provider-launchdarkly/issues).",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      }
    }
  },
  "config": {
    "variables": {
      "accessToken": {
        "type": "string",
        "description": "The LaunchDarkly API key\n",
        "defaultInfo": {
          "environment": [
            "LAUNCHDARKLY_ACCESS_TOKEN"
          ]
        }
      },
      "apiHost": {
        "type": "string",
        "description": "The LaunchDarkly host address, e.g. https://app.launchdarkly.com\n"
      },
      "oauthToken": {
        "type": "string",
        "description": "The LaunchDarkly OAuth token\n",
        "defaultInfo": {
          "environment": [
            "LAUNCHDARKLY_OAUTH_TOKEN"
          ]
        }
      }
    }
  },
  "types": {
    "launchdarkly:index/AccessTokenInlineRole:AccessTokenInlineRole": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "- Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement does not apply.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement does not apply.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement applies.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/AccessTokenPolicyStatement:AccessTokenPolicyStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "- Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement does not apply.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement does not apply.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement applies.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/AuditLogSubscriptionStatement:AuditLogSubscriptionStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies. For a list of available actions, read [Using actions](https://docs.launchdarkly.com/home/members/role-actions).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement does not apply. For a list of available actions, read [Using actions](https://docs.launchdarkly.com/home/members/role-actions).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement does not apply. To learn more about how to configure these, read [Using resources](https://docs.launchdarkly.com/home/members/role-resources).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement applies. To learn more about how to configure these, read [Using resources](https://docs.launchdarkly.com/home/members/role-resources).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/CustomRolePolicy:CustomRolePolicy": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/members/role-actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "- Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement applies. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/members/role-resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "actions",
        "effect",
        "resources"
      ]
    },
    "launchdarkly:index/CustomRolePolicyStatement:CustomRolePolicyStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/members/role-actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "- Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement does not apply. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/members/role-actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement does not apply. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/members/role-resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the statement applies. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/members/role-resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/EnvironmentApprovalSetting:EnvironmentApprovalSetting": {
      "properties": {
        "canApplyDeclinedChanges": {
          "type": "boolean",
          "description": "Set to `true` if changes can be applied as long as the `min_num_approvals` is met, regardless of whether any reviewers have declined a request. Defaults to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "canReviewOwnRequest": {
          "type": "boolean",
          "description": "Set to `true` if requesters can approve or decline their own request. They may always comment. Defaults to `false`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "minNumApprovals": {
          "type": "integer",
          "description": "The number of approvals required before an approval request can be applied. This number must be between 1 and 5. Defaults to 1.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "required": {
          "type": "boolean",
          "description": "Set to `true` for changes to flags in this environment to require approval. You may only set `required` to true if `required_approval_tags` is not set and vice versa. Defaults to `false`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "requiredApprovalTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of tags used to specify which flags with those tags require approval. You may only set `required_approval_tags` if `required` is not set to `true` and vice versa.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/FeatureFlagClientSideAvailability:FeatureFlagClientSideAvailability": {
      "properties": {
        "usingEnvironmentId": {
          "type": "boolean",
          "description": "Whether this flag is available to SDKs using the client-side ID.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "usingMobileKey": {
          "type": "boolean",
          "description": "Whether this flag is available to SDKs using a mobile key.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "usingEnvironmentId"
          ]
        }
      }
    },
    "launchdarkly:index/FeatureFlagCustomProperty:FeatureFlagCustomProperty": {
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique custom property key.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the custom property.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of custom property value strings.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "key",
        "name",
        "values"
      ]
    },
    "launchdarkly:index/FeatureFlagDefaults:FeatureFlagDefaults": {
      "properties": {
        "offVariation": {
          "type": "integer",
          "description": "The index of the variation the flag will default to in all new environments when off.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "onVariation": {
          "type": "integer",
          "description": "The index of the variation the flag will default to in all new environments when on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "offVariation",
        "onVariation"
      ]
    },
    "launchdarkly:index/FeatureFlagEnvironmentFallthrough:FeatureFlagEnvironmentFallthrough": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "Group percentage rollout by a custom attribute. This argument is only valid if `rollout_weights` is also specified.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "rolloutWeights": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "List of integer percentage rollout weights (in thousandths of a percent) to apply to each variation if the rule clauses evaluates to `true`. The sum of the `rollout_weights` must equal 100000 and the number of rollout weights specified in the array must match the number of flag variations. You must specify either `variation` or `rollout_weights`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index to serve if the rule clauses evaluate to `true`. You must specify either `variation` or `rollout_weights`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/FeatureFlagEnvironmentPrerequisite:FeatureFlagEnvironmentPrerequisite": {
      "properties": {
        "flagKey": {
          "type": "string",
          "description": "The prerequisite feature flag's `key`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The index of the prerequisite feature flag's variation to target.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "flagKey",
        "variation"
      ]
    },
    "launchdarkly:index/FeatureFlagEnvironmentRule:FeatureFlagEnvironmentRule": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "Group percentage rollout by a custom attribute. This argument is only valid if `rollout_weights` is also specified.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "clauses": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentRuleClause:FeatureFlagEnvironmentRuleClause"
          },
          "description": "List of nested blocks specifying the logical clauses to evaluate. To learn more, read Nested Clauses Blocks.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "rolloutWeights": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "List of integer percentage rollout weights (in thousandths of a percent) to apply to each variation if the rule clauses evaluates to `true`. The sum of the `rollout_weights` must equal 100000 and the number of rollout weights specified in the array must match the number of flag variations. You must specify either `variation` or `rollout_weights`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index to serve if the rule clauses evaluate to `true`. You must specify either `variation` or `rollout_weights`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/FeatureFlagEnvironmentRuleClause:FeatureFlagEnvironmentRuleClause": {
      "properties": {
        "attribute": {
          "type": "string",
          "description": "The user attribute to operate on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "negate": {
          "type": "boolean",
          "description": "Whether to negate the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "op": {
          "type": "string",
          "description": "The operator associated with the rule clause. Available options are `in`, `endsWith`, `startsWith`, `matches`, `contains`, `lessThan`, `lessThanOrEqual`, `greaterThanOrEqual`, `before`, `after`, `segmentMatch`, `semVerEqual`, `semVerLessThan`, and `semVerGreaterThan`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "valueType": {
          "type": "string",
          "description": "The type for each of the clause's values. Available types are `boolean`, `string`, and `number`. If omitted, `value_type` defaults to `string`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of values associated with the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "attribute",
        "op",
        "values"
      ]
    },
    "launchdarkly:index/FeatureFlagEnvironmentTarget:FeatureFlagEnvironmentTarget": {
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of `user` strings to target.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The index of the variation to serve is a user target value is matched.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "values",
        "variation"
      ]
    },
    "launchdarkly:index/FeatureFlagVariation:FeatureFlagVariation": {
      "properties": {
        "description": {
          "type": "string",
          "description": "The variation's description.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the variation.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "value": {
          "type": "string",
          "description": "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`).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "value"
      ]
    },
    "launchdarkly:index/FlagTriggerInstructions:FlagTriggerInstructions": {
      "properties": {
        "kind": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "kind"
      ]
    },
    "launchdarkly:index/MetricUrl:MetricUrl": {
      "properties": {
        "kind": {
          "type": "string",
          "description": "The URL type. Available choices are `exact`, `canonical`, `substring` and `regex`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "pattern": {
          "type": "string",
          "description": "The regex pattern to match by.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "substring": {
          "type": "string",
          "description": "The URL substring to match by.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "url": {
          "type": "string",
          "description": "The exact or canonical URL.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "kind"
      ]
    },
    "launchdarkly:index/ProjectDefaultClientSideAvailability:ProjectDefaultClientSideAvailability": {
      "properties": {
        "usingEnvironmentId": {
          "type": "boolean",
          "description": "Whether feature flags created under the project are available to JavaScript SDKs using the client-side ID by default. Defaults to `false` when not using `default_client_side_availability`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "usingMobileKey": {
          "type": "boolean",
          "description": "Whether feature flags created under the project are available to mobile SDKs, and other non-JavaScript SDKs, using a mobile key by default. Defaults to `true` when not using `default_client_side_availability`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "usingEnvironmentId",
        "usingMobileKey"
      ]
    },
    "launchdarkly:index/ProjectEnvironment:ProjectEnvironment": {
      "properties": {
        "apiKey": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          },
          "secret": true
        },
        "approvalSettings": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FProjectEnvironmentApprovalSetting:ProjectEnvironmentApprovalSetting"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "clientSideId": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          },
          "secret": true
        },
        "color": {
          "type": "string",
          "description": "The color swatch as an RGB hex value with no leading `#`. For example: `000000`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "confirmChanges": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires confirmation for flag and segment changes. This field will default to `false` when not set.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "defaultTrackEvents": {
          "type": "boolean",
          "description": "Set to `true` to enable data export for every flag created in this environment after you configure this argument. This field will default to `false` when not set. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "defaultTtl": {
          "type": "integer",
          "description": "The TTL for the environment. This must be between 0 and 60 minutes. The TTL setting only applies to environments using the PHP SDK. This field will default to `0` when not set. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "key": {
          "type": "string",
          "description": "The project-unique key for the environment. A change in this field will force the destruction of the existing environment and the creation of a new one.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "mobileKey": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          },
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the environment.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "requireComments": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires comments for flag and segment changes. This field will default to `false` when not set.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "secureMode": {
          "type": "boolean",
          "description": "Set to `true` to ensure a user of the client-side SDK cannot impersonate another user. This field will default to `false` when not set.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the environment.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "color",
        "key",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "apiKey",
            "approvalSettings",
            "clientSideId",
            "color",
            "key",
            "mobileKey",
            "name"
          ]
        }
      }
    },
    "launchdarkly:index/ProjectEnvironmentApprovalSetting:ProjectEnvironmentApprovalSetting": {
      "properties": {
        "canApplyDeclinedChanges": {
          "type": "boolean",
          "description": "Set to `true` if changes can be applied as long as the `min_num_approvals` is met, regardless of whether any reviewers have declined a request. Defaults to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "canReviewOwnRequest": {
          "type": "boolean",
          "description": "Set to `true` if requesters can approve or decline their own request. They may always comment. Defaults to `false`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "minNumApprovals": {
          "type": "integer",
          "description": "The number of approvals required before an approval request can be applied. This number must be between 1 and 5. Defaults to 1.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "required": {
          "type": "boolean",
          "description": "Set to `true` for changes to flags in this environment to require approval. You may only set `required` to true if `required_approval_tags` is not set and vice versa. Defaults to `false`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "requiredApprovalTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An array of tags used to specify which flags with those tags require approval. You may only set `required_approval_tags` if `required` is not set to `true` and vice versa.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/RelayProxyConfigurationPolicy:RelayProxyConfigurationPolicy": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the rule policy applies. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/account-security/custom-roles/actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "- Either `allow` or `deny`. This argument defines whether the rule policy allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the rule policy does not apply. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/account-security/custom-roles/actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the rule policy does not apply. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "- The list of resource specifiers defining the resources to which the rule policy applies. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/SegmentRule:SegmentRule": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "The attribute by which to group users together.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "clauses": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FSegmentRuleClause:SegmentRuleClause"
          },
          "description": "List of nested custom rule clause blocks. To learn more, read Nested Clauses Blocks.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "weight": {
          "type": "integer",
          "description": "The integer weight of the rule (between 1 and 100000).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/SegmentRuleClause:SegmentRuleClause": {
      "properties": {
        "attribute": {
          "type": "string",
          "description": "The user attribute to operate on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "negate": {
          "type": "boolean",
          "description": "Whether to negate the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "op": {
          "type": "string",
          "description": "The operator associated with the rule clause. Available options are `in`, `endsWith`, `startsWith`, `matches`, `contains`, `lessThan`, `lessThanOrEqual`, `greaterThanOrEqual`, `before`, `after`, `segmentMatch`, `semVerEqual`, `semVerLessThan`, and `semVerGreaterThan`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "valueType": {
          "type": "string",
          "description": "The type for each of the clause's values. Available types are `boolean`, `string`, and `number`. If omitted, `value_type` defaults to `string`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of values associated with the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "attribute",
        "op",
        "values"
      ]
    },
    "launchdarkly:index/WebhookStatement:WebhookStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement applies. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/account-security/custom-roles/actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of action specifiers defining the actions to which the statement does not apply. Either `actions` or `not_actions` must be specified. For a list of available actions read [Actions reference](https://docs.launchdarkly.com/home/account-security/custom-roles/actions#actions-reference).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement does not apply. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement applies. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/getAuditLogSubscriptionStatement:getAuditLogSubscriptionStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement does not apply. To learn more about how to configure these, read [Using resources](https://docs.launchdarkly.com/home/members/role-resources).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement applies. To learn more about how to configure these read [Using resources](https://docs.launchdarkly.com/home/members/role-resources).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/getEnvironmentApprovalSetting:getEnvironmentApprovalSetting": {
      "properties": {
        "canApplyDeclinedChanges": {
          "type": "boolean",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "canReviewOwnRequest": {
          "type": "boolean",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "minNumApprovals": {
          "type": "integer",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "required": {
          "type": "boolean",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "requiredApprovalTags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/getFeatureFlagClientSideAvailability:getFeatureFlagClientSideAvailability": {
      "properties": {
        "usingEnvironmentId": {
          "type": "boolean",
          "description": "When set to true, this flag is available to SDKs using the client-side ID.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "usingMobileKey": {
          "type": "boolean",
          "description": "When set to true, this flag is available to SDKs using a mobile key.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "usingEnvironmentId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "launchdarkly:index/getFeatureFlagCustomProperty:getFeatureFlagCustomProperty": {
      "properties": {
        "key": {
          "type": "string",
          "description": "The unique feature flag key that references the flag in your application code.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the custom property.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of custom property value strings.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "key",
        "name",
        "values"
      ]
    },
    "launchdarkly:index/getFeatureFlagDefaults:getFeatureFlagDefaults": {
      "properties": {
        "offVariation": {
          "type": "integer",
          "description": "(Required) The index of the variation the flag will default to in all new environments when off.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "onVariation": {
          "type": "integer",
          "description": "(Required) The index of the variation the flag will default to in all new environments when on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "offVariation",
        "onVariation"
      ]
    },
    "launchdarkly:index/getFeatureFlagEnvironmentFallthrough:getFeatureFlagEnvironmentFallthrough": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "Group percentage rollout by a custom attribute.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "rolloutWeights": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "List of integer percentage rollout weights applied to each variation when the rule clauses evaluates to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index served when the rule clauses evaluate to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/getFeatureFlagEnvironmentPrerequisite:getFeatureFlagEnvironmentPrerequisite": {
      "properties": {
        "flagKey": {
          "type": "string",
          "description": "The prerequisite feature flag's `key`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index served when the rule clauses evaluate to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "flagKey",
        "variation"
      ]
    },
    "launchdarkly:index/getFeatureFlagEnvironmentRule:getFeatureFlagEnvironmentRule": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "Group percentage rollout by a custom attribute.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "clauses": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentRuleClause:getFeatureFlagEnvironmentRuleClause"
          },
          "description": "List of nested blocks specifying the logical clauses evaluated. To learn more, read Nested Clauses Blocks.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "rolloutWeights": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "List of integer percentage rollout weights applied to each variation when the rule clauses evaluates to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index served when the rule clauses evaluate to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/getFeatureFlagEnvironmentRuleClause:getFeatureFlagEnvironmentRuleClause": {
      "properties": {
        "attribute": {
          "type": "string",
          "description": "The user attribute operated on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "negate": {
          "type": "boolean",
          "description": "Whether the rule clause is negated.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "op": {
          "type": "string",
          "description": "The operator associated with the rule clause. This will be one of `in`, `endsWith`, `startsWith`, `matches`, `contains`, `lessThan`, `lessThanOrEqual`, `greaterThanOrEqual`, `before`, `after`, `segmentMatch`, `semVerEqual`, `semVerLessThan`, and `semVerGreaterThan`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "valueType": {
          "type": "string",
          "description": "The type for each of the clause's values. Available types are `boolean`, `string`, and `number`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of values associated with the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "attribute",
        "op",
        "values"
      ]
    },
    "launchdarkly:index/getFeatureFlagEnvironmentTarget:getFeatureFlagEnvironmentTarget": {
      "properties": {
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of values associated with the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "variation": {
          "type": "integer",
          "description": "The integer variation index served when the rule clauses evaluate to `true`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "values",
        "variation"
      ]
    },
    "launchdarkly:index/getFeatureFlagVariation:getFeatureFlagVariation": {
      "properties": {
        "description": {
          "type": "string",
          "description": "The variation's description.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "name": {
          "type": "string",
          "description": "The name of the custom property.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "value": {
          "type": "string",
          "description": "The list of custom property value strings.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "value"
      ]
    },
    "launchdarkly:index/getFlagTriggerInstructions:getFlagTriggerInstructions": {
      "properties": {
        "kind": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "kind"
      ]
    },
    "launchdarkly:index/getMetricUrl:getMetricUrl": {
      "properties": {
        "kind": {
          "type": "string",
          "description": "The metric type. Available choices are `click`, `custom`, and `pageview`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "pattern": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "substring": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "url": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "kind"
      ]
    },
    "launchdarkly:index/getProjectClientSideAvailability:getProjectClientSideAvailability": {
      "properties": {
        "usingEnvironmentId": {
          "type": "boolean",
          "description": "When set to true, the flags in this project are available to SDKs using the client-side ID by default.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "usingMobileKey": {
          "type": "boolean",
          "description": "When set to true, the flags in this project are available to SDKs using a mobile key by default.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/getProjectDefaultClientSideAvailability:getProjectDefaultClientSideAvailability": {
      "properties": {
        "usingEnvironmentId": {
          "type": "boolean",
          "description": "When set to true, the flags in this project are available to SDKs using the client-side ID by default.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "usingMobileKey": {
          "type": "boolean",
          "description": "When set to true, the flags in this project are available to SDKs using a mobile key by default.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "usingEnvironmentId",
        "usingMobileKey"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "launchdarkly:index/getRelayProxyConfigurationPolicy:getRelayProxyConfigurationPolicy": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "Either `allow` or `deny`. This argument defines whether the rule policy allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the rule policy does not apply. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the rule policy applies. Either `resources` or `not_resources` must be specified. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    },
    "launchdarkly:index/getSegmentRule:getSegmentRule": {
      "properties": {
        "bucketBy": {
          "type": "string",
          "description": "The attribute by which to group users together.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "clauses": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FgetSegmentRuleClause:getSegmentRuleClause"
          },
          "description": "List of nested custom rule clause blocks. To learn more, read Nested Clauses Blocks.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "weight": {
          "type": "integer",
          "description": "The integer weight of the rule (between 0 and 100000).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object"
    },
    "launchdarkly:index/getSegmentRuleClause:getSegmentRuleClause": {
      "properties": {
        "attribute": {
          "type": "string",
          "description": "The user attribute operated on.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "negate": {
          "type": "boolean",
          "description": "Whether the rule clause is negated.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "op": {
          "type": "string",
          "description": "The operator associated with the rule clause. This will be one of `in`, `endsWith`, `startsWith`, `matches`, `contains`, `lessThan`, `lessThanOrEqual`, `greaterThanOrEqual`, `before`, `after`, `segmentMatch`, `semVerEqual`, `semVerLessThan`, and `semVerGreaterThan`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "valueType": {
          "type": "string",
          "description": "The type for each of the clause's values. Available types are `boolean`, `string`, and `number`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of values associated with the rule clause.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "attribute",
        "op",
        "values"
      ]
    },
    "launchdarkly:index/getTeamMaintainer:getTeamMaintainer": {
      "properties": {
        "email": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "firstName": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "id": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "lastName": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "role": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "email",
        "firstName",
        "id",
        "lastName",
        "role"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "launchdarkly:index/getTeamMembersTeamMember:getTeamMembersTeamMember": {
      "properties": {
        "customRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "email": {
          "type": "string",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "firstName": {
          "type": "string",
          "description": "The team member's given name.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "id": {
          "type": "string",
          "description": "The 24 character alphanumeric ID of the team member.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "lastName": {
          "type": "string",
          "description": "The team member's family name.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "role": {
          "type": "string",
          "description": "The role associated with team member. Possible roles are `owner`, `reader`, `writer`, or `admin`.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "customRoles",
        "email",
        "firstName",
        "id",
        "lastName",
        "role"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "launchdarkly:index/getWebhookStatement:getWebhookStatement": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "effect": {
          "type": "string",
          "description": "Either `allow` or `deny`. This argument defines whether the statement allows or denies access to the named resources and actions.\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notActions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "notResources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement does not apply. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        },
        "resources": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of resource specifiers defining the resources to which the statement applies. For a list of available resources read [Understanding resource types and scopes](https://docs.launchdarkly.com/home/account-security/custom-roles/resources#understanding-resource-types-and-scopes).\n",
          "language": {
            "python": {
              "mapCase": false
            }
          }
        }
      },
      "type": "object",
      "required": [
        "effect"
      ]
    }
  },
  "provider": {
    "description": "The provider type for the launchdarkly package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "accessToken": {
        "type": "string",
        "description": "The LaunchDarkly API key\n"
      },
      "apiHost": {
        "type": "string",
        "description": "The LaunchDarkly host address, e.g. https://app.launchdarkly.com\n"
      },
      "oauthToken": {
        "type": "string",
        "description": "The LaunchDarkly OAuth token\n"
      }
    },
    "type": "object",
    "inputProperties": {
      "accessToken": {
        "type": "string",
        "description": "The LaunchDarkly API key\n",
        "defaultInfo": {
          "environment": [
            "LAUNCHDARKLY_ACCESS_TOKEN"
          ]
        }
      },
      "apiHost": {
        "type": "string",
        "description": "The LaunchDarkly host address, e.g. https://app.launchdarkly.com\n"
      },
      "oauthToken": {
        "type": "string",
        "description": "The LaunchDarkly OAuth token\n",
        "defaultInfo": {
          "environment": [
            "LAUNCHDARKLY_OAUTH_TOKEN"
          ]
        }
      }
    }
  },
  "resources": {
    "launchdarkly:index/accessToken:AccessToken": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\nThe resource must contain either a `role`, `custom_role` or an `inline_roles` (previously `policy_statements`) block. As of v1.7.0, `policy_statements` has been deprecated in favor of `inline_roles`.\n\nWith a built-in role\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst readerToken = new launchdarkly.AccessToken(\"readerToken\", {role: \"reader\"});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nreader_token = launchdarkly.AccessToken(\"readerToken\", role=\"reader\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var readerToken = new Launchdarkly.AccessToken(\"readerToken\", new()\n    {\n        Role = \"reader\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewAccessToken(ctx, \"readerToken\", &launchdarkly.AccessTokenArgs{\n\t\t\tRole: pulumi.String(\"reader\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.AccessToken;\nimport com.pulumi.launchdarkly.AccessTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var readerToken = new AccessToken(\"readerToken\", AccessTokenArgs.builder()        \n            .role(\"reader\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  readerToken:\n    type: launchdarkly:AccessToken\n    properties:\n      role: reader\n```\n\nWith a custom role\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst customRoleToken = new launchdarkly.AccessToken(\"customRoleToken\", {customRoles: [\"ops\"]});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\ncustom_role_token = launchdarkly.AccessToken(\"customRoleToken\", custom_roles=[\"ops\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var customRoleToken = new Launchdarkly.AccessToken(\"customRoleToken\", new()\n    {\n        CustomRoles = new[]\n        {\n            \"ops\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewAccessToken(ctx, \"customRoleToken\", &launchdarkly.AccessTokenArgs{\n\t\t\tCustomRoles: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ops\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.AccessToken;\nimport com.pulumi.launchdarkly.AccessTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var customRoleToken = new AccessToken(\"customRoleToken\", AccessTokenArgs.builder()        \n            .customRoles(\"ops\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  customRoleToken:\n    type: launchdarkly:AccessToken\n    properties:\n      customRoles:\n        - ops\n```\n\nWith an inline custom role (policy statements)\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst tokenWithPolicyStatements = new launchdarkly.AccessToken(\"tokenWithPolicyStatements\", {\n    inlineRoles: [{\n        actions: [\"*\"],\n        effect: \"deny\",\n        resources: [\"proj/*:env/production\"],\n    }],\n    serviceToken: true,\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\ntoken_with_policy_statements = launchdarkly.AccessToken(\"tokenWithPolicyStatements\",\n    inline_roles=[launchdarkly.AccessTokenInlineRoleArgs(\n        actions=[\"*\"],\n        effect=\"deny\",\n        resources=[\"proj/*:env/production\"],\n    )],\n    service_token=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var tokenWithPolicyStatements = new Launchdarkly.AccessToken(\"tokenWithPolicyStatements\", new()\n    {\n        InlineRoles = new[]\n        {\n            new Launchdarkly.Inputs.AccessTokenInlineRoleArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"deny\",\n                Resources = new[]\n                {\n                    \"proj/*:env/production\",\n                },\n            },\n        },\n        ServiceToken = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewAccessToken(ctx, \"tokenWithPolicyStatements\", &launchdarkly.AccessTokenArgs{\n\t\t\tInlineRoles: launchdarkly.AccessTokenInlineRoleArray{\n\t\t\t\t&launchdarkly.AccessTokenInlineRoleArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"deny\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tServiceToken: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.AccessToken;\nimport com.pulumi.launchdarkly.AccessTokenArgs;\nimport com.pulumi.launchdarkly.inputs.AccessTokenInlineRoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var tokenWithPolicyStatements = new AccessToken(\"tokenWithPolicyStatements\", AccessTokenArgs.builder()        \n            .inlineRoles(AccessTokenInlineRoleArgs.builder()\n                .actions(\"*\")\n                .effect(\"deny\")\n                .resources(\"proj/*:env/production\")\n                .build())\n            .serviceToken(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tokenWithPolicyStatements:\n    type: launchdarkly:AccessToken\n    properties:\n      inlineRoles:\n        - actions:\n            - '*'\n          effect: deny\n          resources:\n            - proj/*:env/production\n      serviceToken: true\n```\n{{% /example %}}\n{{% /examples %}}",
      "properties": {
        "customRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of custom role IDs to use as access limits for the access token\n"
        },
        "defaultApiVersion": {
          "type": "integer",
          "description": "The default API version for this token. Defaults to the latest API version. A change in this field will force the destruction of the existing token in state and the creation of a new one.\n"
        },
        "expire": {
          "type": "integer",
          "description": "An expiration time for the current token secret, expressed as a Unix epoch time. Replace the computed token secret with a new value. The expired secret will no longer be able to authorize usage of the LaunchDarkly API. This field argument is **deprecated**. Please update your config to remove `expire` to maintain compatibility with future versions.\n",
          "deprecationMessage": "'expire' is deprecated and will be removed in the next major release of the LaunchDarkly provider"
        },
        "inlineRoles": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAccessTokenInlineRole:AccessTokenInlineRole"
          },
          "description": "An array of statements represented as config blocks with 3 attributes: effect, resources, actions. May be used in place\nof a built-in or custom role.\n"
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for the access token.\n"
        },
        "policyStatements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAccessTokenPolicyStatement:AccessTokenPolicyStatement"
          },
          "description": "Define inline custom roles. An array of statements represented as config blocks with three attributes: effect, resources, actions. May be used in place of a built-in or custom role. May be specified more than once. This field argument is **deprecated**. Update your config to use `inline_role` to maintain compatibility with future versions.\n",
          "deprecationMessage": "'policy_statements' is deprecated in favor of 'inline_roles'. This field will be removed in the next major release of the LaunchDarkly provider"
        },
        "role": {
          "type": "string",
          "description": "A built-in LaunchDarkly role. Can be `reader`, `writer`, or `admin`\n"
        },
        "serviceToken": {
          "type": "boolean",
          "description": "Whether the token will be a [service token](https://docs.launchdarkly.com/home/account-security/api-access-tokens#service-tokens). A change in this field will force the destruction of the existing token and the creation of a new one.\n"
        },
        "token": {
          "type": "string",
          "description": "The access token used to authorize usage of the LaunchDarkly API.\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "defaultApiVersion",
        "name",
        "token"
      ],
      "inputProperties": {
        "customRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of custom role IDs to use as access limits for the access token\n"
        },
        "defaultApiVersion": {
          "type": "integer",
          "description": "The default API version for this token. Defaults to the latest API version. A change in this field will force the destruction of the existing token in state and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "expire": {
          "type": "integer",
          "description": "An expiration time for the current token secret, expressed as a Unix epoch time. Replace the computed token secret with a new value. The expired secret will no longer be able to authorize usage of the LaunchDarkly API. This field argument is **deprecated**. Please update your config to remove `expire` to maintain compatibility with future versions.\n",
          "deprecationMessage": "'expire' is deprecated and will be removed in the next major release of the LaunchDarkly provider"
        },
        "inlineRoles": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAccessTokenInlineRole:AccessTokenInlineRole"
          },
          "description": "An array of statements represented as config blocks with 3 attributes: effect, resources, actions. May be used in place\nof a built-in or custom role.\n"
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for the access token.\n"
        },
        "policyStatements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAccessTokenPolicyStatement:AccessTokenPolicyStatement"
          },
          "description": "Define inline custom roles. An array of statements represented as config blocks with three attributes: effect, resources, actions. May be used in place of a built-in or custom role. May be specified more than once. This field argument is **deprecated**. Update your config to use `inline_role` to maintain compatibility with future versions.\n",
          "deprecationMessage": "'policy_statements' is deprecated in favor of 'inline_roles'. This field will be removed in the next major release of the LaunchDarkly provider"
        },
        "role": {
          "type": "string",
          "description": "A built-in LaunchDarkly role. Can be `reader`, `writer`, or `admin`\n"
        },
        "serviceToken": {
          "type": "boolean",
          "description": "Whether the token will be a [service token](https://docs.launchdarkly.com/home/account-security/api-access-tokens#service-tokens). A change in this field will force the destruction of the existing token and the creation of a new one.\n",
          "willReplaceOnChanges": true
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AccessToken resources.\n",
        "properties": {
          "customRoles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of custom role IDs to use as access limits for the access token\n"
          },
          "defaultApiVersion": {
            "type": "integer",
            "description": "The default API version for this token. Defaults to the latest API version. A change in this field will force the destruction of the existing token in state and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "expire": {
            "type": "integer",
            "description": "An expiration time for the current token secret, expressed as a Unix epoch time. Replace the computed token secret with a new value. The expired secret will no longer be able to authorize usage of the LaunchDarkly API. This field argument is **deprecated**. Please update your config to remove `expire` to maintain compatibility with future versions.\n",
            "deprecationMessage": "'expire' is deprecated and will be removed in the next major release of the LaunchDarkly provider"
          },
          "inlineRoles": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FAccessTokenInlineRole:AccessTokenInlineRole"
            },
            "description": "An array of statements represented as config blocks with 3 attributes: effect, resources, actions. May be used in place\nof a built-in or custom role.\n"
          },
          "name": {
            "type": "string",
            "description": "A human-friendly name for the access token.\n"
          },
          "policyStatements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FAccessTokenPolicyStatement:AccessTokenPolicyStatement"
            },
            "description": "Define inline custom roles. An array of statements represented as config blocks with three attributes: effect, resources, actions. May be used in place of a built-in or custom role. May be specified more than once. This field argument is **deprecated**. Update your config to use `inline_role` to maintain compatibility with future versions.\n",
            "deprecationMessage": "'policy_statements' is deprecated in favor of 'inline_roles'. This field will be removed in the next major release of the LaunchDarkly provider"
          },
          "role": {
            "type": "string",
            "description": "A built-in LaunchDarkly role. Can be `reader`, `writer`, or `admin`\n"
          },
          "serviceToken": {
            "type": "boolean",
            "description": "Whether the token will be a [service token](https://docs.launchdarkly.com/home/account-security/api-access-tokens#service-tokens). A change in this field will force the destruction of the existing token and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "token": {
            "type": "string",
            "description": "The access token used to authorize usage of the LaunchDarkly API.\n",
            "secret": true
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/auditLogSubscription:AuditLogSubscription": {
      "description": "Provides a LaunchDarkly audit log subscription resource.\n\nThis resource allows you to create and manage LaunchDarkly audit log subscriptions.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.AuditLogSubscription(\"example\", {\n    config: {\n        api_key: \"yoursecretkey\",\n        host_url: \"https://api.datadoghq.com\",\n    },\n    integrationKey: \"datadog\",\n    statements: [{\n        actions: [\"*\"],\n        effect: \"allow\",\n        resources: [\"proj/*:env/*:flag/*\"],\n    }],\n    tags: [\n        \"integrations\",\n        \"terraform\",\n    ],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.AuditLogSubscription(\"example\",\n    config={\n        \"api_key\": \"yoursecretkey\",\n        \"host_url\": \"https://api.datadoghq.com\",\n    },\n    integration_key=\"datadog\",\n    statements=[launchdarkly.AuditLogSubscriptionStatementArgs(\n        actions=[\"*\"],\n        effect=\"allow\",\n        resources=[\"proj/*:env/*:flag/*\"],\n    )],\n    tags=[\n        \"integrations\",\n        \"terraform\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.AuditLogSubscription(\"example\", new()\n    {\n        Config = \n        {\n            { \"api_key\", \"yoursecretkey\" },\n            { \"host_url\", \"https://api.datadoghq.com\" },\n        },\n        IntegrationKey = \"datadog\",\n        Statements = new[]\n        {\n            new Launchdarkly.Inputs.AuditLogSubscriptionStatementArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"allow\",\n                Resources = new[]\n                {\n                    \"proj/*:env/*:flag/*\",\n                },\n            },\n        },\n        Tags = new[]\n        {\n            \"integrations\",\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewAuditLogSubscription(ctx, \"example\", &launchdarkly.AuditLogSubscriptionArgs{\n\t\t\tConfig: pulumi.AnyMap{\n\t\t\t\t\"api_key\":  pulumi.Any(\"yoursecretkey\"),\n\t\t\t\t\"host_url\": pulumi.Any(\"https://api.datadoghq.com\"),\n\t\t\t},\n\t\t\tIntegrationKey: pulumi.String(\"datadog\"),\n\t\t\tStatements: launchdarkly.AuditLogSubscriptionStatementArray{\n\t\t\t\t&launchdarkly.AuditLogSubscriptionStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/*:flag/*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"integrations\"),\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.AuditLogSubscription;\nimport com.pulumi.launchdarkly.AuditLogSubscriptionArgs;\nimport com.pulumi.launchdarkly.inputs.AuditLogSubscriptionStatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AuditLogSubscription(\"example\", AuditLogSubscriptionArgs.builder()        \n            .config(Map.ofEntries(\n                Map.entry(\"api_key\", \"yoursecretkey\"),\n                Map.entry(\"host_url\", \"https://api.datadoghq.com\")\n            ))\n            .integrationKey(\"datadog\")\n            .statements(AuditLogSubscriptionStatementArgs.builder()\n                .actions(\"*\")\n                .effect(\"allow\")\n                .resources(\"proj/*:env/*:flag/*\")\n                .build())\n            .tags(            \n                \"integrations\",\n                \"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:AuditLogSubscription\n    properties:\n      config:\n        api_key: yoursecretkey\n        host_url: https://api.datadoghq.com\n      integrationKey: datadog\n      statements:\n        - actions:\n            - '*'\n          effect: allow\n          resources:\n            - proj/*:env/*:flag/*\n      tags:\n        - integrations\n        - terraform\n```\n",
      "properties": {
        "config": {
          "type": "object",
          "additionalProperties": {
            "$ref": "pulumi.json#/Any"
          }
        },
        "integrationKey": {
          "type": "string",
          "description": "The integration key. As of January 2022, supported integrations are `\"datadog\"`, `\"dynatrace\"`, `\"elastic\"`, `\"honeycomb\"`, `\"logdna\"`, `\"msteams\"`, `\"new-relic-apm\"`, `\"signalfx\"`, `\"slack\"`, and `\"splunk\"`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for your audit log subscription viewable from within the LaunchDarkly Integrations page.\n"
        },
        "on": {
          "type": "boolean",
          "description": "Whether or not you want your subscription enabled, i.e. to actively send events.\n"
        },
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAuditLogSubscriptionStatement:AuditLogSubscriptionStatement"
          },
          "description": "A block representing the resources to which you wish to subscribe. To learn more about how to configure these blocks, read Nested Subscription Statements Blocks.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the subscription object.\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integrationKey",
        "name",
        "on",
        "statements"
      ],
      "inputProperties": {
        "config": {
          "type": "object",
          "additionalProperties": {
            "$ref": "pulumi.json#/Any"
          }
        },
        "integrationKey": {
          "type": "string",
          "description": "The integration key. As of January 2022, supported integrations are `\"datadog\"`, `\"dynatrace\"`, `\"elastic\"`, `\"honeycomb\"`, `\"logdna\"`, `\"msteams\"`, `\"new-relic-apm\"`, `\"signalfx\"`, `\"slack\"`, and `\"splunk\"`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for your audit log subscription viewable from within the LaunchDarkly Integrations page.\n"
        },
        "on": {
          "type": "boolean",
          "description": "Whether or not you want your subscription enabled, i.e. to actively send events.\n"
        },
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FAuditLogSubscriptionStatement:AuditLogSubscriptionStatement"
          },
          "description": "A block representing the resources to which you wish to subscribe. To learn more about how to configure these blocks, read Nested Subscription Statements Blocks.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the subscription object.\n"
        }
      },
      "requiredInputs": [
        "config",
        "integrationKey",
        "on",
        "statements"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AuditLogSubscription resources.\n",
        "properties": {
          "config": {
            "type": "object",
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            }
          },
          "integrationKey": {
            "type": "string",
            "description": "The integration key. As of January 2022, supported integrations are `\"datadog\"`, `\"dynatrace\"`, `\"elastic\"`, `\"honeycomb\"`, `\"logdna\"`, `\"msteams\"`, `\"new-relic-apm\"`, `\"signalfx\"`, `\"slack\"`, and `\"splunk\"`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "A human-friendly name for your audit log subscription viewable from within the LaunchDarkly Integrations page.\n"
          },
          "on": {
            "type": "boolean",
            "description": "Whether or not you want your subscription enabled, i.e. to actively send events.\n"
          },
          "statements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FAuditLogSubscriptionStatement:AuditLogSubscriptionStatement"
            },
            "description": "A block representing the resources to which you wish to subscribe. To learn more about how to configure these blocks, read Nested Subscription Statements Blocks.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the subscription object.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/customRole:CustomRole": {
      "description": "Provides a LaunchDarkly custom role resource.\n\n> **Note:** Custom roles are available to customers on an Enterprise LaunchDarkly plan. To learn more, read about our pricing. To upgrade your plan, [contact LaunchDarkly Sales](https://launchdarkly.com/contact-sales/).\n\nThis resource allows you to create and manage custom roles within your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.CustomRole(\"example\", {\n    description: \"This is an example role\",\n    key: \"example-role-key-1\",\n    policyStatements: [\n        {\n            actions: [\"*\"],\n            effect: \"allow\",\n            resources: [\"proj/*:env/production:flag/*\"],\n        },\n        {\n            actions: [\"*\"],\n            effect: \"allow\",\n            resources: [\"proj/*:env/production\"],\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.CustomRole(\"example\",\n    description=\"This is an example role\",\n    key=\"example-role-key-1\",\n    policy_statements=[\n        launchdarkly.CustomRolePolicyStatementArgs(\n            actions=[\"*\"],\n            effect=\"allow\",\n            resources=[\"proj/*:env/production:flag/*\"],\n        ),\n        launchdarkly.CustomRolePolicyStatementArgs(\n            actions=[\"*\"],\n            effect=\"allow\",\n            resources=[\"proj/*:env/production\"],\n        ),\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.CustomRole(\"example\", new()\n    {\n        Description = \"This is an example role\",\n        Key = \"example-role-key-1\",\n        PolicyStatements = new[]\n        {\n            new Launchdarkly.Inputs.CustomRolePolicyStatementArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"allow\",\n                Resources = new[]\n                {\n                    \"proj/*:env/production:flag/*\",\n                },\n            },\n            new Launchdarkly.Inputs.CustomRolePolicyStatementArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"allow\",\n                Resources = new[]\n                {\n                    \"proj/*:env/production\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewCustomRole(ctx, \"example\", &launchdarkly.CustomRoleArgs{\n\t\t\tDescription: pulumi.String(\"This is an example role\"),\n\t\t\tKey:         pulumi.String(\"example-role-key-1\"),\n\t\t\tPolicyStatements: launchdarkly.CustomRolePolicyStatementArray{\n\t\t\t\t&launchdarkly.CustomRolePolicyStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/production:flag/*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t&launchdarkly.CustomRolePolicyStatementArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/production\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.CustomRole;\nimport com.pulumi.launchdarkly.CustomRoleArgs;\nimport com.pulumi.launchdarkly.inputs.CustomRolePolicyStatementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new CustomRole(\"example\", CustomRoleArgs.builder()        \n            .description(\"This is an example role\")\n            .key(\"example-role-key-1\")\n            .policyStatements(            \n                CustomRolePolicyStatementArgs.builder()\n                    .actions(\"*\")\n                    .effect(\"allow\")\n                    .resources(\"proj/*:env/production:flag/*\")\n                    .build(),\n                CustomRolePolicyStatementArgs.builder()\n                    .actions(\"*\")\n                    .effect(\"allow\")\n                    .resources(\"proj/*:env/production\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:CustomRole\n    properties:\n      description: This is an example role\n      key: example-role-key-1\n      policyStatements:\n        - actions:\n            - '*'\n          effect: allow\n          resources:\n            - proj/*:env/production:flag/*\n        - actions:\n            - '*'\n          effect: allow\n          resources:\n            - proj/*:env/production\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import LaunchDarkly custom roles by using an existing custom role `key`. For example\n\n```sh\n $ pulumi import launchdarkly:index/customRole:CustomRole example example-role-key-1\n```\n\n ",
      "properties": {
        "basePermissions": {
          "type": "string",
          "description": "The base permission level. Either `reader` or `no_access`. Defaults to `reader` if not set.\n"
        },
        "description": {
          "type": "string",
          "description": "The description of the custom role.\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the custom role. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the custom role.\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FCustomRolePolicy:CustomRolePolicy"
          },
          "deprecationMessage": "'policy' is now deprecated. Please migrate to 'policy_statements' to maintain future compatability."
        },
        "policyStatements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FCustomRolePolicyStatement:CustomRolePolicyStatement"
          },
          "description": "The custom role policy block. To learn more, read [Using policies](https://docs.launchdarkly.com/home/members/role-policies).\n"
        }
      },
      "type": "object",
      "required": [
        "key",
        "name"
      ],
      "inputProperties": {
        "basePermissions": {
          "type": "string",
          "description": "The base permission level. Either `reader` or `no_access`. Defaults to `reader` if not set.\n"
        },
        "description": {
          "type": "string",
          "description": "The description of the custom role.\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the custom role. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for the custom role.\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FCustomRolePolicy:CustomRolePolicy"
          },
          "deprecationMessage": "'policy' is now deprecated. Please migrate to 'policy_statements' to maintain future compatability."
        },
        "policyStatements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FCustomRolePolicyStatement:CustomRolePolicyStatement"
          },
          "description": "The custom role policy block. To learn more, read [Using policies](https://docs.launchdarkly.com/home/members/role-policies).\n"
        }
      },
      "requiredInputs": [
        "key"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering CustomRole resources.\n",
        "properties": {
          "basePermissions": {
            "type": "string",
            "description": "The base permission level. Either `reader` or `no_access`. Defaults to `reader` if not set.\n"
          },
          "description": {
            "type": "string",
            "description": "The description of the custom role.\n"
          },
          "key": {
            "type": "string",
            "description": "The unique key that references the custom role. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for the custom role.\n"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FCustomRolePolicy:CustomRolePolicy"
            },
            "deprecationMessage": "'policy' is now deprecated. Please migrate to 'policy_statements' to maintain future compatability."
          },
          "policyStatements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FCustomRolePolicyStatement:CustomRolePolicyStatement"
            },
            "description": "The custom role policy block. To learn more, read [Using policies](https://docs.launchdarkly.com/home/members/role-policies).\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/destination:Destination": {
      "description": "Provides a LaunchDarkly Data Export Destination resource.\n\n> **Note:** Data Export is available to customers on an Enterprise LaunchDarkly plan. To learn more, read about our pricing. To upgrade your plan, [contact LaunchDarkly Sales](https://launchdarkly.com/contact-sales/).\n\nData Export Destinations are locations that receive exported data. This resource allows you to configure destinations for the export of raw analytics data, including feature flag requests, analytics events, custom events, and more.\n\nTo learn more about data export, read [Data Export Documentation](https://docs.launchdarkly.com/integrations/data-export).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\nCurrently the following five types of destinations are available: kinesis, google-pubsub, mparticle, azure-event-hubs, and segment. Please note that config fields will vary depending on which destination you are trying to configure / access.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Destination(\"example\", {\n    projectKey: \"example-project\",\n    envKey: \"example-env\",\n    kind: \"kinesis\",\n    config: {\n        region: \"us-east-1\",\n        role_arn: \"arn:aws:iam::123456789012:role/marketingadmin\",\n        stream_name: \"cat-stream\",\n    },\n    on: true,\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Destination(\"example\",\n    project_key=\"example-project\",\n    env_key=\"example-env\",\n    kind=\"kinesis\",\n    config={\n        \"region\": \"us-east-1\",\n        \"role_arn\": \"arn:aws:iam::123456789012:role/marketingadmin\",\n        \"stream_name\": \"cat-stream\",\n    },\n    on=True,\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Destination(\"example\", new()\n    {\n        ProjectKey = \"example-project\",\n        EnvKey = \"example-env\",\n        Kind = \"kinesis\",\n        Config = \n        {\n            { \"region\", \"us-east-1\" },\n            { \"role_arn\", \"arn:aws:iam::123456789012:role/marketingadmin\" },\n            { \"stream_name\", \"cat-stream\" },\n        },\n        On = true,\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewDestination(ctx, \"example\", &launchdarkly.DestinationArgs{\n\t\t\tProjectKey: pulumi.String(\"example-project\"),\n\t\t\tEnvKey:     pulumi.String(\"example-env\"),\n\t\t\tKind:       pulumi.String(\"kinesis\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"region\":      pulumi.String(\"us-east-1\"),\n\t\t\t\t\"role_arn\":    pulumi.String(\"arn:aws:iam::123456789012:role/marketingadmin\"),\n\t\t\t\t\"stream_name\": pulumi.String(\"cat-stream\"),\n\t\t\t},\n\t\t\tOn: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Destination;\nimport com.pulumi.launchdarkly.DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Destination(\"example\", DestinationArgs.builder()        \n            .projectKey(\"example-project\")\n            .envKey(\"example-env\")\n            .kind(\"kinesis\")\n            .config(Map.ofEntries(\n                Map.entry(\"region\", \"us-east-1\"),\n                Map.entry(\"role_arn\", \"arn:aws:iam::123456789012:role/marketingadmin\"),\n                Map.entry(\"stream_name\", \"cat-stream\")\n            ))\n            .on(true)\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Destination\n    properties:\n      projectKey: example-project\n      envKey: example-env\n      kind: kinesis\n      config:\n        region: us-east-1\n        role_arn: arn:aws:iam::123456789012:role/marketingadmin\n        stream_name: cat-stream\n      on: true\n      tags:\n        - terraform\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Destination(\"example\", {\n    projectKey: \"example-project\",\n    envKey: \"example-env\",\n    kind: \"google-pubsub\",\n    config: {\n        project: \"example-pub-sub-project\",\n        topic: \"example-topic\",\n    },\n    on: true,\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Destination(\"example\",\n    project_key=\"example-project\",\n    env_key=\"example-env\",\n    kind=\"google-pubsub\",\n    config={\n        \"project\": \"example-pub-sub-project\",\n        \"topic\": \"example-topic\",\n    },\n    on=True,\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Destination(\"example\", new()\n    {\n        ProjectKey = \"example-project\",\n        EnvKey = \"example-env\",\n        Kind = \"google-pubsub\",\n        Config = \n        {\n            { \"project\", \"example-pub-sub-project\" },\n            { \"topic\", \"example-topic\" },\n        },\n        On = true,\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewDestination(ctx, \"example\", &launchdarkly.DestinationArgs{\n\t\t\tProjectKey: pulumi.String(\"example-project\"),\n\t\t\tEnvKey:     pulumi.String(\"example-env\"),\n\t\t\tKind:       pulumi.String(\"google-pubsub\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"project\": pulumi.String(\"example-pub-sub-project\"),\n\t\t\t\t\"topic\":   pulumi.String(\"example-topic\"),\n\t\t\t},\n\t\t\tOn: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Destination;\nimport com.pulumi.launchdarkly.DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Destination(\"example\", DestinationArgs.builder()        \n            .projectKey(\"example-project\")\n            .envKey(\"example-env\")\n            .kind(\"google-pubsub\")\n            .config(Map.ofEntries(\n                Map.entry(\"project\", \"example-pub-sub-project\"),\n                Map.entry(\"topic\", \"example-topic\")\n            ))\n            .on(true)\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Destination\n    properties:\n      projectKey: example-project\n      envKey: example-env\n      kind: google-pubsub\n      config:\n        project: example-pub-sub-project\n        topic: example-topic\n      on: true\n      tags:\n        - terraform\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Destination(\"example\", {\n    projectKey: \"example-project\",\n    envKey: \"example-env\",\n    kind: \"mparticle\",\n    config: {\n        api_key: \"apiKeyfromMParticle\",\n        secret: \"mParticleSecret\",\n        user_identity: \"customer_id\",\n        environment: \"production\",\n    },\n    on: true,\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Destination(\"example\",\n    project_key=\"example-project\",\n    env_key=\"example-env\",\n    kind=\"mparticle\",\n    config={\n        \"api_key\": \"apiKeyfromMParticle\",\n        \"secret\": \"mParticleSecret\",\n        \"user_identity\": \"customer_id\",\n        \"environment\": \"production\",\n    },\n    on=True,\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Destination(\"example\", new()\n    {\n        ProjectKey = \"example-project\",\n        EnvKey = \"example-env\",\n        Kind = \"mparticle\",\n        Config = \n        {\n            { \"api_key\", \"apiKeyfromMParticle\" },\n            { \"secret\", \"mParticleSecret\" },\n            { \"user_identity\", \"customer_id\" },\n            { \"environment\", \"production\" },\n        },\n        On = true,\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewDestination(ctx, \"example\", &launchdarkly.DestinationArgs{\n\t\t\tProjectKey: pulumi.String(\"example-project\"),\n\t\t\tEnvKey:     pulumi.String(\"example-env\"),\n\t\t\tKind:       pulumi.String(\"mparticle\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"api_key\":       pulumi.String(\"apiKeyfromMParticle\"),\n\t\t\t\t\"secret\":        pulumi.String(\"mParticleSecret\"),\n\t\t\t\t\"user_identity\": pulumi.String(\"customer_id\"),\n\t\t\t\t\"environment\":   pulumi.String(\"production\"),\n\t\t\t},\n\t\t\tOn: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Destination;\nimport com.pulumi.launchdarkly.DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Destination(\"example\", DestinationArgs.builder()        \n            .projectKey(\"example-project\")\n            .envKey(\"example-env\")\n            .kind(\"mparticle\")\n            .config(Map.ofEntries(\n                Map.entry(\"api_key\", \"apiKeyfromMParticle\"),\n                Map.entry(\"secret\", \"mParticleSecret\"),\n                Map.entry(\"user_identity\", \"customer_id\"),\n                Map.entry(\"environment\", \"production\")\n            ))\n            .on(true)\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Destination\n    properties:\n      projectKey: example-project\n      envKey: example-env\n      kind: mparticle\n      config:\n        api_key: apiKeyfromMParticle\n        secret: mParticleSecret\n        user_identity: customer_id\n        environment: production\n      on: true\n      tags:\n        - terraform\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Destination(\"example\", {\n    config: {\n        name: \"example-azure-name\",\n        namespace: \"example-azure-namespace\",\n        policy_key: \"azure-event-hubs-policy-key\",\n        policy_name: \"example-policy-name\",\n    },\n    envKey: \"example-env\",\n    kind: \"azure-event-hubs\",\n    on: true,\n    projectKey: \"example-project\",\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Destination(\"example\",\n    config={\n        \"name\": \"example-azure-name\",\n        \"namespace\": \"example-azure-namespace\",\n        \"policy_key\": \"azure-event-hubs-policy-key\",\n        \"policy_name\": \"example-policy-name\",\n    },\n    env_key=\"example-env\",\n    kind=\"azure-event-hubs\",\n    on=True,\n    project_key=\"example-project\",\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Destination(\"example\", new()\n    {\n        Config = \n        {\n            { \"name\", \"example-azure-name\" },\n            { \"namespace\", \"example-azure-namespace\" },\n            { \"policy_key\", \"azure-event-hubs-policy-key\" },\n            { \"policy_name\", \"example-policy-name\" },\n        },\n        EnvKey = \"example-env\",\n        Kind = \"azure-event-hubs\",\n        On = true,\n        ProjectKey = \"example-project\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewDestination(ctx, \"example\", &launchdarkly.DestinationArgs{\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"name\":        pulumi.String(\"example-azure-name\"),\n\t\t\t\t\"namespace\":   pulumi.String(\"example-azure-namespace\"),\n\t\t\t\t\"policy_key\":  pulumi.String(\"azure-event-hubs-policy-key\"),\n\t\t\t\t\"policy_name\": pulumi.String(\"example-policy-name\"),\n\t\t\t},\n\t\t\tEnvKey:     pulumi.String(\"example-env\"),\n\t\t\tKind:       pulumi.String(\"azure-event-hubs\"),\n\t\t\tOn:         pulumi.Bool(true),\n\t\t\tProjectKey: pulumi.String(\"example-project\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Destination;\nimport com.pulumi.launchdarkly.DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Destination(\"example\", DestinationArgs.builder()        \n            .config(Map.ofEntries(\n                Map.entry(\"name\", \"example-azure-name\"),\n                Map.entry(\"namespace\", \"example-azure-namespace\"),\n                Map.entry(\"policy_key\", \"azure-event-hubs-policy-key\"),\n                Map.entry(\"policy_name\", \"example-policy-name\")\n            ))\n            .envKey(\"example-env\")\n            .kind(\"azure-event-hubs\")\n            .on(true)\n            .projectKey(\"example-project\")\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Destination\n    properties:\n      config:\n        name: example-azure-name\n        namespace: example-azure-namespace\n        policy_key: azure-event-hubs-policy-key\n        policy_name: example-policy-name\n      envKey: example-env\n      kind: azure-event-hubs\n      on: true\n      projectKey: example-project\n      tags:\n        - terraform\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Destination(\"example\", {\n    projectKey: \"example-project\",\n    envKey: \"example-env\",\n    kind: \"segment\",\n    config: {\n        write_key: \"segment-write-key\",\n    },\n    on: true,\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Destination(\"example\",\n    project_key=\"example-project\",\n    env_key=\"example-env\",\n    kind=\"segment\",\n    config={\n        \"write_key\": \"segment-write-key\",\n    },\n    on=True,\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Destination(\"example\", new()\n    {\n        ProjectKey = \"example-project\",\n        EnvKey = \"example-env\",\n        Kind = \"segment\",\n        Config = \n        {\n            { \"write_key\", \"segment-write-key\" },\n        },\n        On = true,\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewDestination(ctx, \"example\", &launchdarkly.DestinationArgs{\n\t\t\tProjectKey: pulumi.String(\"example-project\"),\n\t\t\tEnvKey:     pulumi.String(\"example-env\"),\n\t\t\tKind:       pulumi.String(\"segment\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"write_key\": pulumi.String(\"segment-write-key\"),\n\t\t\t},\n\t\t\tOn: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Destination;\nimport com.pulumi.launchdarkly.DestinationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Destination(\"example\", DestinationArgs.builder()        \n            .projectKey(\"example-project\")\n            .envKey(\"example-env\")\n            .kind(\"segment\")\n            .config(Map.of(\"write_key\", \"segment-write-key\"))\n            .on(true)\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Destination\n    properties:\n      projectKey: example-project\n      envKey: example-env\n      kind: segment\n      config:\n        write_key: segment-write-key\n      on: true\n      tags:\n        - terraform\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import a data export destination using the destination's full ID in the format `project_key/environment_key/id`. For example\n\n```sh\n $ pulumi import launchdarkly:index/destination:Destination example example-project/example-env/57c0af609969090743529967\n```\n\n ",
      "properties": {
        "config": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "- The destination-specific configuration. To learn more, read Destination-Specific Configs.\n"
        },
        "envKey": {
          "type": "string",
          "description": "- The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "kind": {
          "type": "string",
          "description": "- The data export destination type. Available choices are `kinesis`, `google-pubsub`, `mparticle`, `azure-event-hubs`, and `segment`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "name": {
          "type": "string",
          "description": "-\n"
        },
        "on": {
          "type": "boolean",
          "description": "- Whether the data export destination is on or not.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "- The LaunchDarkly project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags associated with your resource\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "envKey",
        "kind",
        "name",
        "projectKey"
      ],
      "inputProperties": {
        "config": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "- The destination-specific configuration. To learn more, read Destination-Specific Configs.\n"
        },
        "envKey": {
          "type": "string",
          "description": "- The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "kind": {
          "type": "string",
          "description": "- The data export destination type. Available choices are `kinesis`, `google-pubsub`, `mparticle`, `azure-event-hubs`, and `segment`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "-\n"
        },
        "on": {
          "type": "boolean",
          "description": "- Whether the data export destination is on or not.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "- The LaunchDarkly project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Tags associated with your resource\n"
        }
      },
      "requiredInputs": [
        "config",
        "envKey",
        "kind",
        "projectKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Destination resources.\n",
        "properties": {
          "config": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "- The destination-specific configuration. To learn more, read Destination-Specific Configs.\n"
          },
          "envKey": {
            "type": "string",
            "description": "- The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "kind": {
            "type": "string",
            "description": "- The data export destination type. Available choices are `kinesis`, `google-pubsub`, `mparticle`, `azure-event-hubs`, and `segment`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "-\n"
          },
          "on": {
            "type": "boolean",
            "description": "- Whether the data export destination is on or not.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "- The LaunchDarkly project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Tags associated with your resource\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/environment:Environment": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst staging = new launchdarkly.Environment(\"staging\", {\n    key: \"staging\",\n    color: \"ff00ff\",\n    tags: [\n        \"terraform\",\n        \"staging\",\n    ],\n    projectKey: launchdarkly_project.example.key,\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nstaging = launchdarkly.Environment(\"staging\",\n    key=\"staging\",\n    color=\"ff00ff\",\n    tags=[\n        \"terraform\",\n        \"staging\",\n    ],\n    project_key=launchdarkly_project[\"example\"][\"key\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var staging = new Launchdarkly.Environment(\"staging\", new()\n    {\n        Key = \"staging\",\n        Color = \"ff00ff\",\n        Tags = new[]\n        {\n            \"terraform\",\n            \"staging\",\n        },\n        ProjectKey = launchdarkly_project.Example.Key,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewEnvironment(ctx, \"staging\", &launchdarkly.EnvironmentArgs{\n\t\t\tKey:   pulumi.String(\"staging\"),\n\t\t\tColor: pulumi.String(\"ff00ff\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"staging\"),\n\t\t\t},\n\t\t\tProjectKey: pulumi.Any(launchdarkly_project.Example.Key),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Environment;\nimport com.pulumi.launchdarkly.EnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var staging = new Environment(\"staging\", EnvironmentArgs.builder()        \n            .key(\"staging\")\n            .color(\"ff00ff\")\n            .tags(            \n                \"terraform\",\n                \"staging\")\n            .projectKey(launchdarkly_project.example().key())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  staging:\n    type: launchdarkly:Environment\n    properties:\n      key: staging\n      color: ff00ff\n      tags:\n        - terraform\n        - staging\n      projectKey: ${launchdarkly_project.example.key}\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst approvalsExample = new launchdarkly.Environment(\"approvalsExample\", {\n    key: \"approvals-example\",\n    color: \"ff00ff\",\n    tags: [\n        \"terraform\",\n        \"staging\",\n    ],\n    approvalSettings: [{\n        required: true,\n        canReviewOwnRequest: true,\n        minNumApprovals: 2,\n        canApplyDeclinedChanges: true,\n    }],\n    projectKey: launchdarkly_project.example.key,\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\napprovals_example = launchdarkly.Environment(\"approvalsExample\",\n    key=\"approvals-example\",\n    color=\"ff00ff\",\n    tags=[\n        \"terraform\",\n        \"staging\",\n    ],\n    approval_settings=[launchdarkly.EnvironmentApprovalSettingArgs(\n        required=True,\n        can_review_own_request=True,\n        min_num_approvals=2,\n        can_apply_declined_changes=True,\n    )],\n    project_key=launchdarkly_project[\"example\"][\"key\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var approvalsExample = new Launchdarkly.Environment(\"approvalsExample\", new()\n    {\n        Key = \"approvals-example\",\n        Color = \"ff00ff\",\n        Tags = new[]\n        {\n            \"terraform\",\n            \"staging\",\n        },\n        ApprovalSettings = new[]\n        {\n            new Launchdarkly.Inputs.EnvironmentApprovalSettingArgs\n            {\n                Required = true,\n                CanReviewOwnRequest = true,\n                MinNumApprovals = 2,\n                CanApplyDeclinedChanges = true,\n            },\n        },\n        ProjectKey = launchdarkly_project.Example.Key,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewEnvironment(ctx, \"approvalsExample\", &launchdarkly.EnvironmentArgs{\n\t\t\tKey:   pulumi.String(\"approvals-example\"),\n\t\t\tColor: pulumi.String(\"ff00ff\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"staging\"),\n\t\t\t},\n\t\t\tApprovalSettings: launchdarkly.EnvironmentApprovalSettingArray{\n\t\t\t\t&launchdarkly.EnvironmentApprovalSettingArgs{\n\t\t\t\t\tRequired:                pulumi.Bool(true),\n\t\t\t\t\tCanReviewOwnRequest:     pulumi.Bool(true),\n\t\t\t\t\tMinNumApprovals:         pulumi.Int(2),\n\t\t\t\t\tCanApplyDeclinedChanges: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectKey: pulumi.Any(launchdarkly_project.Example.Key),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Environment;\nimport com.pulumi.launchdarkly.EnvironmentArgs;\nimport com.pulumi.launchdarkly.inputs.EnvironmentApprovalSettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var approvalsExample = new Environment(\"approvalsExample\", EnvironmentArgs.builder()        \n            .key(\"approvals-example\")\n            .color(\"ff00ff\")\n            .tags(            \n                \"terraform\",\n                \"staging\")\n            .approvalSettings(EnvironmentApprovalSettingArgs.builder()\n                .required(true)\n                .canReviewOwnRequest(true)\n                .minNumApprovals(2)\n                .canApplyDeclinedChanges(true)\n                .build())\n            .projectKey(launchdarkly_project.example().key())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  approvalsExample:\n    type: launchdarkly:Environment\n    properties:\n      key: approvals-example\n      color: ff00ff\n      tags:\n        - terraform\n        - staging\n      approvalSettings:\n        - required: true\n          canReviewOwnRequest: true\n          minNumApprovals: 2\n          canApplyDeclinedChanges: true\n      projectKey: ${launchdarkly_project.example.key}\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import a LaunchDarkly environment using this format`project_key/environment_key`. For example\n\n```sh\n $ pulumi import launchdarkly:index/environment:Environment staging example-project/staging\n```\n\n ",
      "properties": {
        "apiKey": {
          "type": "string",
          "description": "The environment's SDK key.\n",
          "secret": true
        },
        "approvalSettings": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FEnvironmentApprovalSetting:EnvironmentApprovalSetting"
          }
        },
        "clientSideId": {
          "type": "string",
          "description": "The environment's client-side ID.\n",
          "secret": true
        },
        "color": {
          "type": "string",
          "description": "The color swatch as an RGB hex value with no leading `#`. For example: `000000`.\n"
        },
        "confirmChanges": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires confirmation for flag and segment changes. This field will default to `false` when not set.\n"
        },
        "defaultTrackEvents": {
          "type": "boolean",
          "description": "Set to `true` to enable data export for every flag created in this environment after you configure this argument. This field will default to `false` when not set. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n"
        },
        "defaultTtl": {
          "type": "integer",
          "description": "The TTL for the environment. This must be between 0 and 60 minutes. The TTL setting only applies to environments using the PHP SDK. This field will default to `0` when not set. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n"
        },
        "key": {
          "type": "string",
          "description": "The project-unique key for the environment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "mobileKey": {
          "type": "string",
          "description": "The environment's mobile key.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the environment.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "- The environment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "requireComments": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires comments for flag and segment changes. This field will default to `false` when not set.\n"
        },
        "secureMode": {
          "type": "boolean",
          "description": "Set to `true` to ensure a user of the client-side SDK cannot impersonate another user. This field will default to `false` when not set.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the environment.\n"
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "approvalSettings",
        "clientSideId",
        "color",
        "key",
        "mobileKey",
        "name",
        "projectKey"
      ],
      "inputProperties": {
        "approvalSettings": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FEnvironmentApprovalSetting:EnvironmentApprovalSetting"
          }
        },
        "color": {
          "type": "string",
          "description": "The color swatch as an RGB hex value with no leading `#`. For example: `000000`.\n"
        },
        "confirmChanges": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires confirmation for flag and segment changes. This field will default to `false` when not set.\n"
        },
        "defaultTrackEvents": {
          "type": "boolean",
          "description": "Set to `true` to enable data export for every flag created in this environment after you configure this argument. This field will default to `false` when not set. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n"
        },
        "defaultTtl": {
          "type": "integer",
          "description": "The TTL for the environment. This must be between 0 and 60 minutes. The TTL setting only applies to environments using the PHP SDK. This field will default to `0` when not set. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n"
        },
        "key": {
          "type": "string",
          "description": "The project-unique key for the environment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name of the environment.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "- The environment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "requireComments": {
          "type": "boolean",
          "description": "Set to `true` if this environment requires comments for flag and segment changes. This field will default to `false` when not set.\n"
        },
        "secureMode": {
          "type": "boolean",
          "description": "Set to `true` to ensure a user of the client-side SDK cannot impersonate another user. This field will default to `false` when not set.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the environment.\n"
        }
      },
      "requiredInputs": [
        "color",
        "key",
        "projectKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Environment resources.\n",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "The environment's SDK key.\n",
            "secret": true
          },
          "approvalSettings": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FEnvironmentApprovalSetting:EnvironmentApprovalSetting"
            }
          },
          "clientSideId": {
            "type": "string",
            "description": "The environment's client-side ID.\n",
            "secret": true
          },
          "color": {
            "type": "string",
            "description": "The color swatch as an RGB hex value with no leading `#`. For example: `000000`.\n"
          },
          "confirmChanges": {
            "type": "boolean",
            "description": "Set to `true` if this environment requires confirmation for flag and segment changes. This field will default to `false` when not set.\n"
          },
          "defaultTrackEvents": {
            "type": "boolean",
            "description": "Set to `true` to enable data export for every flag created in this environment after you configure this argument. This field will default to `false` when not set. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n"
          },
          "defaultTtl": {
            "type": "integer",
            "description": "The TTL for the environment. This must be between 0 and 60 minutes. The TTL setting only applies to environments using the PHP SDK. This field will default to `0` when not set. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n"
          },
          "key": {
            "type": "string",
            "description": "The project-unique key for the environment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "mobileKey": {
            "type": "string",
            "description": "The environment's mobile key.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the environment.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "- The environment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "requireComments": {
            "type": "boolean",
            "description": "Set to `true` if this environment requires comments for flag and segment changes. This field will default to `false` when not set.\n"
          },
          "secureMode": {
            "type": "boolean",
            "description": "Set to `true` to ensure a user of the client-side SDK cannot impersonate another user. This field will default to `false` when not set.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the environment.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/featureFlag:FeatureFlag": {
      "description": "Provides a LaunchDarkly feature flag resource.\n\nThis resource allows you to create and manage feature flags within your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst buildingMaterials = new launchdarkly.FeatureFlag(\"buildingMaterials\", {\n    projectKey: launchdarkly_project.example.key,\n    key: \"building-materials\",\n    description: \"this is a multivariate flag with string variations.\",\n    variationType: \"string\",\n    variations: [\n        {\n            value: \"straw\",\n            name: \"Straw\",\n            description: \"Watch out for wind.\",\n        },\n        {\n            value: \"sticks\",\n            name: \"Sticks\",\n            description: \"Sturdier than straw\",\n        },\n        {\n            value: \"bricks\",\n            name: \"Bricks\",\n            description: \"The strongest variation\",\n        },\n    ],\n    defaults: {\n        onVariation: 2,\n        offVariation: 0,\n    },\n    tags: [\n        \"example\",\n        \"terraform\",\n        \"multivariate\",\n        \"building-materials\",\n    ],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nbuilding_materials = launchdarkly.FeatureFlag(\"buildingMaterials\",\n    project_key=launchdarkly_project[\"example\"][\"key\"],\n    key=\"building-materials\",\n    description=\"this is a multivariate flag with string variations.\",\n    variation_type=\"string\",\n    variations=[\n        launchdarkly.FeatureFlagVariationArgs(\n            value=\"straw\",\n            name=\"Straw\",\n            description=\"Watch out for wind.\",\n        ),\n        launchdarkly.FeatureFlagVariationArgs(\n            value=\"sticks\",\n            name=\"Sticks\",\n            description=\"Sturdier than straw\",\n        ),\n        launchdarkly.FeatureFlagVariationArgs(\n            value=\"bricks\",\n            name=\"Bricks\",\n            description=\"The strongest variation\",\n        ),\n    ],\n    defaults=launchdarkly.FeatureFlagDefaultsArgs(\n        on_variation=2,\n        off_variation=0,\n    ),\n    tags=[\n        \"example\",\n        \"terraform\",\n        \"multivariate\",\n        \"building-materials\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var buildingMaterials = new Launchdarkly.FeatureFlag(\"buildingMaterials\", new()\n    {\n        ProjectKey = launchdarkly_project.Example.Key,\n        Key = \"building-materials\",\n        Description = \"this is a multivariate flag with string variations.\",\n        VariationType = \"string\",\n        Variations = new[]\n        {\n            new Launchdarkly.Inputs.FeatureFlagVariationArgs\n            {\n                Value = \"straw\",\n                Name = \"Straw\",\n                Description = \"Watch out for wind.\",\n            },\n            new Launchdarkly.Inputs.FeatureFlagVariationArgs\n            {\n                Value = \"sticks\",\n                Name = \"Sticks\",\n                Description = \"Sturdier than straw\",\n            },\n            new Launchdarkly.Inputs.FeatureFlagVariationArgs\n            {\n                Value = \"bricks\",\n                Name = \"Bricks\",\n                Description = \"The strongest variation\",\n            },\n        },\n        Defaults = new Launchdarkly.Inputs.FeatureFlagDefaultsArgs\n        {\n            OnVariation = 2,\n            OffVariation = 0,\n        },\n        Tags = new[]\n        {\n            \"example\",\n            \"terraform\",\n            \"multivariate\",\n            \"building-materials\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewFeatureFlag(ctx, \"buildingMaterials\", &launchdarkly.FeatureFlagArgs{\n\t\t\tProjectKey:    pulumi.Any(launchdarkly_project.Example.Key),\n\t\t\tKey:           pulumi.String(\"building-materials\"),\n\t\t\tDescription:   pulumi.String(\"this is a multivariate flag with string variations.\"),\n\t\t\tVariationType: pulumi.String(\"string\"),\n\t\t\tVariations: launchdarkly.FeatureFlagVariationArray{\n\t\t\t\t&launchdarkly.FeatureFlagVariationArgs{\n\t\t\t\t\tValue:       pulumi.String(\"straw\"),\n\t\t\t\t\tName:        pulumi.String(\"Straw\"),\n\t\t\t\t\tDescription: pulumi.String(\"Watch out for wind.\"),\n\t\t\t\t},\n\t\t\t\t&launchdarkly.FeatureFlagVariationArgs{\n\t\t\t\t\tValue:       pulumi.String(\"sticks\"),\n\t\t\t\t\tName:        pulumi.String(\"Sticks\"),\n\t\t\t\t\tDescription: pulumi.String(\"Sturdier than straw\"),\n\t\t\t\t},\n\t\t\t\t&launchdarkly.FeatureFlagVariationArgs{\n\t\t\t\t\tValue:       pulumi.String(\"bricks\"),\n\t\t\t\t\tName:        pulumi.String(\"Bricks\"),\n\t\t\t\t\tDescription: pulumi.String(\"The strongest variation\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaults: &launchdarkly.FeatureFlagDefaultsArgs{\n\t\t\t\tOnVariation:  pulumi.Int(2),\n\t\t\t\tOffVariation: pulumi.Int(0),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\tpulumi.String(\"multivariate\"),\n\t\t\t\tpulumi.String(\"building-materials\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.FeatureFlag;\nimport com.pulumi.launchdarkly.FeatureFlagArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagVariationArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagDefaultsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var buildingMaterials = new FeatureFlag(\"buildingMaterials\", FeatureFlagArgs.builder()        \n            .projectKey(launchdarkly_project.example().key())\n            .key(\"building-materials\")\n            .description(\"this is a multivariate flag with string variations.\")\n            .variationType(\"string\")\n            .variations(            \n                FeatureFlagVariationArgs.builder()\n                    .value(\"straw\")\n                    .name(\"Straw\")\n                    .description(\"Watch out for wind.\")\n                    .build(),\n                FeatureFlagVariationArgs.builder()\n                    .value(\"sticks\")\n                    .name(\"Sticks\")\n                    .description(\"Sturdier than straw\")\n                    .build(),\n                FeatureFlagVariationArgs.builder()\n                    .value(\"bricks\")\n                    .name(\"Bricks\")\n                    .description(\"The strongest variation\")\n                    .build())\n            .defaults(FeatureFlagDefaultsArgs.builder()\n                .onVariation(2)\n                .offVariation(0)\n                .build())\n            .tags(            \n                \"example\",\n                \"terraform\",\n                \"multivariate\",\n                \"building-materials\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  buildingMaterials:\n    type: launchdarkly:FeatureFlag\n    properties:\n      projectKey: ${launchdarkly_project.example.key}\n      key: building-materials\n      description: this is a multivariate flag with string variations.\n      variationType: string\n      variations:\n        - value: straw\n          name: Straw\n          description: Watch out for wind.\n        - value: sticks\n          name: Sticks\n          description: Sturdier than straw\n        - value: bricks\n          name: Bricks\n          description: The strongest variation\n      defaults:\n        onVariation: 2\n        offVariation: 0\n      tags:\n        - example\n        - terraform\n        - multivariate\n        - building-materials\n```\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst jsonExample = new launchdarkly.FeatureFlag(\"jsonExample\", {\n    projectKey: \"example-project\",\n    key: \"json-example\",\n    variationType: \"json\",\n    variations: [\n        {\n            name: \"Single foo\",\n            value: JSON.stringify({\n                foo: \"bar\",\n            }),\n        },\n        {\n            name: \"Multiple foos\",\n            value: JSON.stringify({\n                foos: [\n                    \"bar1\",\n                    \"bar2\",\n                ],\n            }),\n        },\n    ],\n    defaults: {\n        onVariation: 1,\n        offVariation: 0,\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\njson_example = launchdarkly.FeatureFlag(\"jsonExample\",\n    project_key=\"example-project\",\n    key=\"json-example\",\n    variation_type=\"json\",\n    variations=[\n        launchdarkly.FeatureFlagVariationArgs(\n            name=\"Single foo\",\n            value=json.dumps({\n                \"foo\": \"bar\",\n            }),\n        ),\n        launchdarkly.FeatureFlagVariationArgs(\n            name=\"Multiple foos\",\n            value=json.dumps({\n                \"foos\": [\n                    \"bar1\",\n                    \"bar2\",\n                ],\n            }),\n        ),\n    ],\n    defaults=launchdarkly.FeatureFlagDefaultsArgs(\n        on_variation=1,\n        off_variation=0,\n    ))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Text.Json;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var jsonExample = new Launchdarkly.FeatureFlag(\"jsonExample\", new()\n    {\n        ProjectKey = \"example-project\",\n        Key = \"json-example\",\n        VariationType = \"json\",\n        Variations = new[]\n        {\n            new Launchdarkly.Inputs.FeatureFlagVariationArgs\n            {\n                Name = \"Single foo\",\n                Value = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"foo\"] = \"bar\",\n                }),\n            },\n            new Launchdarkly.Inputs.FeatureFlagVariationArgs\n            {\n                Name = \"Multiple foos\",\n                Value = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"foos\"] = new[]\n                    {\n                        \"bar1\",\n                        \"bar2\",\n                    },\n                }),\n            },\n        },\n        Defaults = new Launchdarkly.Inputs.FeatureFlagDefaultsArgs\n        {\n            OnVariation = 1,\n            OffVariation = 0,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foo\": \"bar\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"foos\": []string{\n\t\t\t\t\"bar1\",\n\t\t\t\t\"bar2\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = launchdarkly.NewFeatureFlag(ctx, \"jsonExample\", &launchdarkly.FeatureFlagArgs{\n\t\t\tProjectKey:    pulumi.String(\"example-project\"),\n\t\t\tKey:           pulumi.String(\"json-example\"),\n\t\t\tVariationType: pulumi.String(\"json\"),\n\t\t\tVariations: launchdarkly.FeatureFlagVariationArray{\n\t\t\t\t&launchdarkly.FeatureFlagVariationArgs{\n\t\t\t\t\tName:  pulumi.String(\"Single foo\"),\n\t\t\t\t\tValue: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\t&launchdarkly.FeatureFlagVariationArgs{\n\t\t\t\t\tName:  pulumi.String(\"Multiple foos\"),\n\t\t\t\t\tValue: pulumi.String(json1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDefaults: &launchdarkly.FeatureFlagDefaultsArgs{\n\t\t\t\tOnVariation:  pulumi.Int(1),\n\t\t\t\tOffVariation: pulumi.Int(0),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.FeatureFlag;\nimport com.pulumi.launchdarkly.FeatureFlagArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagVariationArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagDefaultsArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var jsonExample = new FeatureFlag(\"jsonExample\", FeatureFlagArgs.builder()        \n            .projectKey(\"example-project\")\n            .key(\"json-example\")\n            .variationType(\"json\")\n            .variations(            \n                FeatureFlagVariationArgs.builder()\n                    .name(\"Single foo\")\n                    .value(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"foo\", \"bar\")\n                        )))\n                    .build(),\n                FeatureFlagVariationArgs.builder()\n                    .name(\"Multiple foos\")\n                    .value(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"foos\", jsonArray(\n                                \"bar1\", \n                                \"bar2\"\n                            ))\n                        )))\n                    .build())\n            .defaults(FeatureFlagDefaultsArgs.builder()\n                .onVariation(1)\n                .offVariation(0)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  jsonExample:\n    type: launchdarkly:FeatureFlag\n    properties:\n      projectKey: example-project\n      key: json-example\n      variationType: json\n      variations:\n        - name: Single foo\n          value:\n            fn::toJSON:\n              foo: bar\n        - name: Multiple foos\n          value:\n            fn::toJSON:\n              foos:\n                - bar1\n                - bar2\n      defaults:\n        onVariation: 1\n        offVariation: 0\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nYou can import a feature flag using the feature flag's ID in the format `project_key/flag_key`. For example\n\n```sh\n $ pulumi import launchdarkly:index/featureFlag:FeatureFlag building_materials example-project/building-materials\n```\n\n ",
      "properties": {
        "archived": {
          "type": "boolean",
          "description": "Whether to archive the flag\n"
        },
        "clientSideAvailabilities": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagClientSideAvailability:FeatureFlagClientSideAvailability"
          },
          "description": "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.\n"
        },
        "customProperties": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagCustomProperty:FeatureFlagCustomProperty"
          },
          "description": "List of nested blocks describing the feature flag's [custom properties](https://docs.launchdarkly.com/home/connecting/custom-properties). To learn more, read Nested Custom Properties.\n"
        },
        "defaults": {
          "$ref": "#/types/launchdarkly:index%2FFeatureFlagDefaults:FeatureFlagDefaults",
          "description": "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.\n"
        },
        "description": {
          "type": "string",
          "description": "The feature flag's description.\n"
        },
        "includeInSnippet": {
          "type": "boolean",
          "description": "**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.\n",
          "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability."
        },
        "key": {
          "type": "string",
          "description": "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.\n"
        },
        "maintainerId": {
          "type": "string",
          "description": "The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently set maintainer\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name of the feature flag.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "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.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of feature flag tags.\n"
        },
        "temporary": {
          "type": "boolean",
          "description": "Specifies whether the flag is a temporary flag.\n"
        },
        "variationType": {
          "type": "string",
          "description": "The feature flag's variation type: `boolean`, `string`, `number` or `json`.\n"
        },
        "variations": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagVariation:FeatureFlagVariation"
          },
          "description": "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.\n"
        }
      },
      "type": "object",
      "required": [
        "clientSideAvailabilities",
        "defaults",
        "includeInSnippet",
        "key",
        "maintainerId",
        "name",
        "projectKey",
        "variationType",
        "variations"
      ],
      "inputProperties": {
        "archived": {
          "type": "boolean",
          "description": "Whether to archive the flag\n"
        },
        "clientSideAvailabilities": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagClientSideAvailability:FeatureFlagClientSideAvailability"
          },
          "description": "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.\n"
        },
        "customProperties": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagCustomProperty:FeatureFlagCustomProperty"
          },
          "description": "List of nested blocks describing the feature flag's [custom properties](https://docs.launchdarkly.com/home/connecting/custom-properties). To learn more, read Nested Custom Properties.\n"
        },
        "defaults": {
          "$ref": "#/types/launchdarkly:index%2FFeatureFlagDefaults:FeatureFlagDefaults",
          "description": "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.\n"
        },
        "description": {
          "type": "string",
          "description": "The feature flag's description.\n"
        },
        "includeInSnippet": {
          "type": "boolean",
          "description": "**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.\n",
          "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability."
        },
        "key": {
          "type": "string",
          "description": "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.\n",
          "willReplaceOnChanges": true
        },
        "maintainerId": {
          "type": "string",
          "description": "The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently set maintainer\n"
        },
        "name": {
          "type": "string",
          "description": "The human-readable name of the feature flag.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "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.\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of feature flag tags.\n"
        },
        "temporary": {
          "type": "boolean",
          "description": "Specifies whether the flag is a temporary flag.\n"
        },
        "variationType": {
          "type": "string",
          "description": "The feature flag's variation type: `boolean`, `string`, `number` or `json`.\n",
          "willReplaceOnChanges": true
        },
        "variations": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagVariation:FeatureFlagVariation"
          },
          "description": "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.\n"
        }
      },
      "requiredInputs": [
        "key",
        "projectKey",
        "variationType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FeatureFlag resources.\n",
        "properties": {
          "archived": {
            "type": "boolean",
            "description": "Whether to archive the flag\n"
          },
          "clientSideAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagClientSideAvailability:FeatureFlagClientSideAvailability"
            },
            "description": "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.\n"
          },
          "customProperties": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagCustomProperty:FeatureFlagCustomProperty"
            },
            "description": "List of nested blocks describing the feature flag's [custom properties](https://docs.launchdarkly.com/home/connecting/custom-properties). To learn more, read Nested Custom Properties.\n"
          },
          "defaults": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagDefaults:FeatureFlagDefaults",
            "description": "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.\n"
          },
          "description": {
            "type": "string",
            "description": "The feature flag's description.\n"
          },
          "includeInSnippet": {
            "type": "boolean",
            "description": "**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.\n",
            "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability."
          },
          "key": {
            "type": "string",
            "description": "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.\n",
            "willReplaceOnChanges": true
          },
          "maintainerId": {
            "type": "string",
            "description": "The LaunchDarkly id of the user who will maintain the flag. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently set maintainer\n"
          },
          "name": {
            "type": "string",
            "description": "The human-readable name of the feature flag.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "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.\n",
            "willReplaceOnChanges": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of feature flag tags.\n"
          },
          "temporary": {
            "type": "boolean",
            "description": "Specifies whether the flag is a temporary flag.\n"
          },
          "variationType": {
            "type": "string",
            "description": "The feature flag's variation type: `boolean`, `string`, `number` or `json`.\n",
            "willReplaceOnChanges": true
          },
          "variations": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagVariation:FeatureFlagVariation"
            },
            "description": "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.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/featureFlagEnvironment:FeatureFlagEnvironment": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst numberEnv = new launchdarkly.FeatureFlagEnvironment(\"numberEnv\", {\n    flagId: launchdarkly_feature_flag.number.id,\n    envKey: launchdarkly_environment.staging.key,\n    on: true,\n    prerequisites: [{\n        flagKey: launchdarkly_feature_flag.basic.key,\n        variation: 0,\n    }],\n    targets: [\n        {\n            values: [\"user0\"],\n            variation: 0,\n        },\n        {\n            values: [\n                \"user1\",\n                \"user2\",\n            ],\n            variation: 1,\n        },\n    ],\n    rules: [{\n        clauses: [\n            {\n                attribute: \"country\",\n                op: \"startsWith\",\n                values: [\n                    \"aus\",\n                    \"de\",\n                    \"united\",\n                ],\n                negate: false,\n            },\n            {\n                attribute: \"segmentMatch\",\n                op: \"segmentMatch\",\n                values: [launchdarkly_segment.example.key],\n                negate: false,\n            },\n        ],\n        variation: 0,\n    }],\n    fallthrough: {\n        rolloutWeights: [\n            60000,\n            40000,\n            0,\n        ],\n    },\n    offVariation: 2,\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nnumber_env = launchdarkly.FeatureFlagEnvironment(\"numberEnv\",\n    flag_id=launchdarkly_feature_flag[\"number\"][\"id\"],\n    env_key=launchdarkly_environment[\"staging\"][\"key\"],\n    on=True,\n    prerequisites=[launchdarkly.FeatureFlagEnvironmentPrerequisiteArgs(\n        flag_key=launchdarkly_feature_flag[\"basic\"][\"key\"],\n        variation=0,\n    )],\n    targets=[\n        launchdarkly.FeatureFlagEnvironmentTargetArgs(\n            values=[\"user0\"],\n            variation=0,\n        ),\n        launchdarkly.FeatureFlagEnvironmentTargetArgs(\n            values=[\n                \"user1\",\n                \"user2\",\n            ],\n            variation=1,\n        ),\n    ],\n    rules=[launchdarkly.FeatureFlagEnvironmentRuleArgs(\n        clauses=[\n            launchdarkly.FeatureFlagEnvironmentRuleClauseArgs(\n                attribute=\"country\",\n                op=\"startsWith\",\n                values=[\n                    \"aus\",\n                    \"de\",\n                    \"united\",\n                ],\n                negate=False,\n            ),\n            launchdarkly.FeatureFlagEnvironmentRuleClauseArgs(\n                attribute=\"segmentMatch\",\n                op=\"segmentMatch\",\n                values=[launchdarkly_segment[\"example\"][\"key\"]],\n                negate=False,\n            ),\n        ],\n        variation=0,\n    )],\n    fallthrough=launchdarkly.FeatureFlagEnvironmentFallthroughArgs(\n        rollout_weights=[\n            60000,\n            40000,\n            0,\n        ],\n    ),\n    off_variation=2)\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var numberEnv = new Launchdarkly.FeatureFlagEnvironment(\"numberEnv\", new()\n    {\n        FlagId = launchdarkly_feature_flag.Number.Id,\n        EnvKey = launchdarkly_environment.Staging.Key,\n        On = true,\n        Prerequisites = new[]\n        {\n            new Launchdarkly.Inputs.FeatureFlagEnvironmentPrerequisiteArgs\n            {\n                FlagKey = launchdarkly_feature_flag.Basic.Key,\n                Variation = 0,\n            },\n        },\n        Targets = new[]\n        {\n            new Launchdarkly.Inputs.FeatureFlagEnvironmentTargetArgs\n            {\n                Values = new[]\n                {\n                    \"user0\",\n                },\n                Variation = 0,\n            },\n            new Launchdarkly.Inputs.FeatureFlagEnvironmentTargetArgs\n            {\n                Values = new[]\n                {\n                    \"user1\",\n                    \"user2\",\n                },\n                Variation = 1,\n            },\n        },\n        Rules = new[]\n        {\n            new Launchdarkly.Inputs.FeatureFlagEnvironmentRuleArgs\n            {\n                Clauses = new[]\n                {\n                    new Launchdarkly.Inputs.FeatureFlagEnvironmentRuleClauseArgs\n                    {\n                        Attribute = \"country\",\n                        Op = \"startsWith\",\n                        Values = new[]\n                        {\n                            \"aus\",\n                            \"de\",\n                            \"united\",\n                        },\n                        Negate = false,\n                    },\n                    new Launchdarkly.Inputs.FeatureFlagEnvironmentRuleClauseArgs\n                    {\n                        Attribute = \"segmentMatch\",\n                        Op = \"segmentMatch\",\n                        Values = new[]\n                        {\n                            launchdarkly_segment.Example.Key,\n                        },\n                        Negate = false,\n                    },\n                },\n                Variation = 0,\n            },\n        },\n        Fallthrough = new Launchdarkly.Inputs.FeatureFlagEnvironmentFallthroughArgs\n        {\n            RolloutWeights = new[]\n            {\n                60000,\n                40000,\n                0,\n            },\n        },\n        OffVariation = 2,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewFeatureFlagEnvironment(ctx, \"numberEnv\", &launchdarkly.FeatureFlagEnvironmentArgs{\n\t\t\tFlagId: pulumi.Any(launchdarkly_feature_flag.Number.Id),\n\t\t\tEnvKey: pulumi.Any(launchdarkly_environment.Staging.Key),\n\t\t\tOn:     pulumi.Bool(true),\n\t\t\tPrerequisites: launchdarkly.FeatureFlagEnvironmentPrerequisiteArray{\n\t\t\t\t&launchdarkly.FeatureFlagEnvironmentPrerequisiteArgs{\n\t\t\t\t\tFlagKey:   pulumi.Any(launchdarkly_feature_flag.Basic.Key),\n\t\t\t\t\tVariation: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTargets: launchdarkly.FeatureFlagEnvironmentTargetArray{\n\t\t\t\t&launchdarkly.FeatureFlagEnvironmentTargetArgs{\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"user0\"),\n\t\t\t\t\t},\n\t\t\t\t\tVariation: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t\t&launchdarkly.FeatureFlagEnvironmentTargetArgs{\n\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"user1\"),\n\t\t\t\t\t\tpulumi.String(\"user2\"),\n\t\t\t\t\t},\n\t\t\t\t\tVariation: pulumi.Int(1),\n\t\t\t\t},\n\t\t\t},\n\t\t\tRules: launchdarkly.FeatureFlagEnvironmentRuleArray{\n\t\t\t\t&launchdarkly.FeatureFlagEnvironmentRuleArgs{\n\t\t\t\t\tClauses: launchdarkly.FeatureFlagEnvironmentRuleClauseArray{\n\t\t\t\t\t\t&launchdarkly.FeatureFlagEnvironmentRuleClauseArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"country\"),\n\t\t\t\t\t\t\tOp:        pulumi.String(\"startsWith\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"aus\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"de\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"united\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t&launchdarkly.FeatureFlagEnvironmentRuleClauseArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"segmentMatch\"),\n\t\t\t\t\t\t\tOp:        pulumi.String(\"segmentMatch\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tlaunchdarkly_segment.Example.Key,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tVariation: pulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tFallthrough: &launchdarkly.FeatureFlagEnvironmentFallthroughArgs{\n\t\t\t\tRolloutWeights: pulumi.IntArray{\n\t\t\t\t\tpulumi.Int(60000),\n\t\t\t\t\tpulumi.Int(40000),\n\t\t\t\t\tpulumi.Int(0),\n\t\t\t\t},\n\t\t\t},\n\t\t\tOffVariation: pulumi.Int(2),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.FeatureFlagEnvironment;\nimport com.pulumi.launchdarkly.FeatureFlagEnvironmentArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagEnvironmentPrerequisiteArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagEnvironmentTargetArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagEnvironmentRuleArgs;\nimport com.pulumi.launchdarkly.inputs.FeatureFlagEnvironmentFallthroughArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var numberEnv = new FeatureFlagEnvironment(\"numberEnv\", FeatureFlagEnvironmentArgs.builder()        \n            .flagId(launchdarkly_feature_flag.number().id())\n            .envKey(launchdarkly_environment.staging().key())\n            .on(true)\n            .prerequisites(FeatureFlagEnvironmentPrerequisiteArgs.builder()\n                .flagKey(launchdarkly_feature_flag.basic().key())\n                .variation(0)\n                .build())\n            .targets(            \n                FeatureFlagEnvironmentTargetArgs.builder()\n                    .values(\"user0\")\n                    .variation(0)\n                    .build(),\n                FeatureFlagEnvironmentTargetArgs.builder()\n                    .values(                    \n                        \"user1\",\n                        \"user2\")\n                    .variation(1)\n                    .build())\n            .rules(FeatureFlagEnvironmentRuleArgs.builder()\n                .clauses(                \n                    FeatureFlagEnvironmentRuleClauseArgs.builder()\n                        .attribute(\"country\")\n                        .op(\"startsWith\")\n                        .values(                        \n                            \"aus\",\n                            \"de\",\n                            \"united\")\n                        .negate(false)\n                        .build(),\n                    FeatureFlagEnvironmentRuleClauseArgs.builder()\n                        .attribute(\"segmentMatch\")\n                        .op(\"segmentMatch\")\n                        .values(launchdarkly_segment.example().key())\n                        .negate(false)\n                        .build())\n                .variation(0)\n                .build())\n            .fallthrough(FeatureFlagEnvironmentFallthroughArgs.builder()\n                .rolloutWeights(                \n                    60000,\n                    40000,\n                    0)\n                .build())\n            .offVariation(2)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  numberEnv:\n    type: launchdarkly:FeatureFlagEnvironment\n    properties:\n      flagId: ${launchdarkly_feature_flag.number.id}\n      envKey: ${launchdarkly_environment.staging.key}\n      on: true\n      prerequisites:\n        - flagKey: ${launchdarkly_feature_flag.basic.key}\n          variation: 0\n      targets:\n        - values:\n            - user0\n          variation: 0\n        - values:\n            - user1\n            - user2\n          variation: 1\n      rules:\n        - clauses:\n            - attribute: country\n              op: startsWith\n              values:\n                - aus\n                - de\n                - united\n              negate: false\n            - attribute: segmentMatch\n              op: segmentMatch\n              values:\n                - ${launchdarkly_segment.example.key}\n              negate: false\n          variation: 0\n      fallthrough:\n        rolloutWeights:\n          - 60000\n          - 40000\n          - 0\n      offVariation: 2\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLaunchDarkly feature flag environments can be imported using the resource's ID in the form `project_key/env_key/flag_key`, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/featureFlagEnvironment:FeatureFlagEnvironment example example-project/example-env/example-flag-key\n```\n\n ",
      "properties": {
        "envKey": {
          "type": "string",
          "description": "The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "fallthrough": {
          "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentFallthrough:FeatureFlagEnvironmentFallthrough",
          "description": "- (Required) Nested block describing the default variation to serve if no `prerequisites`, `target`, or `rules` apply.To learn more, read Nested Fallthrough Block.\n"
        },
        "flagId": {
          "type": "string",
          "description": "The feature flag's unique `id` in the format `project_key/flag_key`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "offVariation": {
          "type": "integer",
          "description": "The index of the variation to serve if targeting is disabled.\n"
        },
        "on": {
          "type": "boolean",
          "description": "- (Optional) Whether targeting is enabled. Defaults to `false` if not set.\n"
        },
        "prerequisites": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentPrerequisite:FeatureFlagEnvironmentPrerequisite"
          },
          "description": "List of nested blocks describing prerequisite feature flags rules. To learn more, read Nested Prequisites Blocks.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentRule:FeatureFlagEnvironmentRule"
          },
          "description": "List of logical targeting rules. To learn more, read Nested Rules Blocks.\n"
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentTarget:FeatureFlagEnvironmentTarget"
          },
          "description": "- (Optional) Set of nested blocks describing the individual user targets for each variation. To learn more, read Nested Target Blocks.\n"
        },
        "trackEvents": {
          "type": "boolean",
          "description": "Whether to send event data back to LaunchDarkly. Defaults to `false` if not set.\n"
        }
      },
      "type": "object",
      "required": [
        "envKey",
        "fallthrough",
        "flagId",
        "offVariation"
      ],
      "inputProperties": {
        "envKey": {
          "type": "string",
          "description": "The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "fallthrough": {
          "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentFallthrough:FeatureFlagEnvironmentFallthrough",
          "description": "- (Required) Nested block describing the default variation to serve if no `prerequisites`, `target`, or `rules` apply.To learn more, read Nested Fallthrough Block.\n"
        },
        "flagId": {
          "type": "string",
          "description": "The feature flag's unique `id` in the format `project_key/flag_key`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "offVariation": {
          "type": "integer",
          "description": "The index of the variation to serve if targeting is disabled.\n"
        },
        "on": {
          "type": "boolean",
          "description": "- (Optional) Whether targeting is enabled. Defaults to `false` if not set.\n"
        },
        "prerequisites": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentPrerequisite:FeatureFlagEnvironmentPrerequisite"
          },
          "description": "List of nested blocks describing prerequisite feature flags rules. To learn more, read Nested Prequisites Blocks.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentRule:FeatureFlagEnvironmentRule"
          },
          "description": "List of logical targeting rules. To learn more, read Nested Rules Blocks.\n"
        },
        "targets": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentTarget:FeatureFlagEnvironmentTarget"
          },
          "description": "- (Optional) Set of nested blocks describing the individual user targets for each variation. To learn more, read Nested Target Blocks.\n"
        },
        "trackEvents": {
          "type": "boolean",
          "description": "Whether to send event data back to LaunchDarkly. Defaults to `false` if not set.\n"
        }
      },
      "requiredInputs": [
        "envKey",
        "fallthrough",
        "flagId",
        "offVariation"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FeatureFlagEnvironment resources.\n",
        "properties": {
          "envKey": {
            "type": "string",
            "description": "The environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "fallthrough": {
            "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentFallthrough:FeatureFlagEnvironmentFallthrough",
            "description": "- (Required) Nested block describing the default variation to serve if no `prerequisites`, `target`, or `rules` apply.To learn more, read Nested Fallthrough Block.\n"
          },
          "flagId": {
            "type": "string",
            "description": "The feature flag's unique `id` in the format `project_key/flag_key`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "offVariation": {
            "type": "integer",
            "description": "The index of the variation to serve if targeting is disabled.\n"
          },
          "on": {
            "type": "boolean",
            "description": "- (Optional) Whether targeting is enabled. Defaults to `false` if not set.\n"
          },
          "prerequisites": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentPrerequisite:FeatureFlagEnvironmentPrerequisite"
            },
            "description": "List of nested blocks describing prerequisite feature flags rules. To learn more, read Nested Prequisites Blocks.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentRule:FeatureFlagEnvironmentRule"
            },
            "description": "List of logical targeting rules. To learn more, read Nested Rules Blocks.\n"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FFeatureFlagEnvironmentTarget:FeatureFlagEnvironmentTarget"
            },
            "description": "- (Optional) Set of nested blocks describing the individual user targets for each variation. To learn more, read Nested Target Blocks.\n"
          },
          "trackEvents": {
            "type": "boolean",
            "description": "Whether to send event data back to LaunchDarkly. Defaults to `false` if not set.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/flagTrigger:FlagTrigger": {
      "description": "\n\n\n## Import\n\nLaunchDarkly flag triggers can be imported using the following syntax\n\n```sh\n $ pulumi import launchdarkly:index/flagTrigger:FlagTrigger example example-project-key/example-env-key/example-flag-key/62581d4488def814b831abc3\n```\n\n where the string following the final slash is your unique trigger ID. The unique trigger ID can be found in your saved trigger URLhttps://app.launchdarkly.com/webhook/triggers/THIS_IS_YOUR_TRIGGER_ID/aff25a53-17d9-4112-a9b8-12718d1a2e79 Please note that if you did not save this upon creation of the resource, you will have to reset it to get a new value, which can cause breaking changes. ",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether the trigger is currently active or not. This property defaults to true upon creation\n"
        },
        "envKey": {
          "type": "string",
          "description": "The unique key of the environment the flag trigger will work in. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "flagKey": {
          "type": "string",
          "description": "The unique key of the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "instructions": {
          "$ref": "#/types/launchdarkly:index%2FFlagTriggerInstructions:FlagTriggerInstructions",
          "description": "Instructions containing the action to perform when invoking the trigger. Currently supported flag actions are `\"turnFlagOn\"` and `\"turnFlagOff\"`. This must be passed as the key-value pair `{ kind = \"<flag_action>\" }`.\n"
        },
        "integrationKey": {
          "type": "string",
          "description": "The unique identifier of the integration you intend to set your trigger up with. Currently supported are `\"datadog\"`, `\"dynatrace\"`, `\"honeycomb\"`, `\"new-relic-apm\"`, `\"signalfx\"`, and `\"generic-trigger\"`. `\"generic-trigger\"` should be used for integrations not explicitly supported. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "maintainerId": {
          "type": "string",
          "description": "The LaunchDarkly ID of the member who maintains the trigger. The API will automatically apply the member associated with\nyour Terraform API key or the most recently-set maintainer\n"
        },
        "projectKey": {
          "type": "string",
          "description": "The unique key of the project encompassing the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "triggerUrl": {
          "type": "string",
          "description": "The unique trigger URL\n",
          "secret": true
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "envKey",
        "flagKey",
        "instructions",
        "integrationKey",
        "maintainerId",
        "projectKey",
        "triggerUrl"
      ],
      "inputProperties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether the trigger is currently active or not. This property defaults to true upon creation\n"
        },
        "envKey": {
          "type": "string",
          "description": "The unique key of the environment the flag trigger will work in. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "flagKey": {
          "type": "string",
          "description": "The unique key of the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "instructions": {
          "$ref": "#/types/launchdarkly:index%2FFlagTriggerInstructions:FlagTriggerInstructions",
          "description": "Instructions containing the action to perform when invoking the trigger. Currently supported flag actions are `\"turnFlagOn\"` and `\"turnFlagOff\"`. This must be passed as the key-value pair `{ kind = \"<flag_action>\" }`.\n"
        },
        "integrationKey": {
          "type": "string",
          "description": "The unique identifier of the integration you intend to set your trigger up with. Currently supported are `\"datadog\"`, `\"dynatrace\"`, `\"honeycomb\"`, `\"new-relic-apm\"`, `\"signalfx\"`, and `\"generic-trigger\"`. `\"generic-trigger\"` should be used for integrations not explicitly supported. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "projectKey": {
          "type": "string",
          "description": "The unique key of the project encompassing the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "enabled",
        "envKey",
        "flagKey",
        "instructions",
        "integrationKey",
        "projectKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FlagTrigger resources.\n",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether the trigger is currently active or not. This property defaults to true upon creation\n"
          },
          "envKey": {
            "type": "string",
            "description": "The unique key of the environment the flag trigger will work in. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "flagKey": {
            "type": "string",
            "description": "The unique key of the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "instructions": {
            "$ref": "#/types/launchdarkly:index%2FFlagTriggerInstructions:FlagTriggerInstructions",
            "description": "Instructions containing the action to perform when invoking the trigger. Currently supported flag actions are `\"turnFlagOn\"` and `\"turnFlagOff\"`. This must be passed as the key-value pair `{ kind = \"<flag_action>\" }`.\n"
          },
          "integrationKey": {
            "type": "string",
            "description": "The unique identifier of the integration you intend to set your trigger up with. Currently supported are `\"datadog\"`, `\"dynatrace\"`, `\"honeycomb\"`, `\"new-relic-apm\"`, `\"signalfx\"`, and `\"generic-trigger\"`. `\"generic-trigger\"` should be used for integrations not explicitly supported. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "maintainerId": {
            "type": "string",
            "description": "The LaunchDarkly ID of the member who maintains the trigger. The API will automatically apply the member associated with\nyour Terraform API key or the most recently-set maintainer\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The unique key of the project encompassing the associated flag. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "triggerUrl": {
            "type": "string",
            "description": "The unique trigger URL\n",
            "secret": true
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/metric:Metric": {
      "description": "Provides a LaunchDarkly metric resource.\n\nThis resource allows you to create and manage metrics within your LaunchDarkly organization.\n\nTo learn more about metrics and experimentation, read [Experimentation Documentation](https://docs.launchdarkly.com/home/experimentation).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Metric(\"example\", {\n    projectKey: launchdarkly_project.example.key,\n    key: \"example-metric\",\n    description: \"Metric description.\",\n    kind: \"pageview\",\n    tags: [\"example\"],\n    urls: [{\n        kind: \"substring\",\n        substring: \"foo\",\n    }],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Metric(\"example\",\n    project_key=launchdarkly_project[\"example\"][\"key\"],\n    key=\"example-metric\",\n    description=\"Metric description.\",\n    kind=\"pageview\",\n    tags=[\"example\"],\n    urls=[launchdarkly.MetricUrlArgs(\n        kind=\"substring\",\n        substring=\"foo\",\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Metric(\"example\", new()\n    {\n        ProjectKey = launchdarkly_project.Example.Key,\n        Key = \"example-metric\",\n        Description = \"Metric description.\",\n        Kind = \"pageview\",\n        Tags = new[]\n        {\n            \"example\",\n        },\n        Urls = new[]\n        {\n            new Launchdarkly.Inputs.MetricUrlArgs\n            {\n                Kind = \"substring\",\n                Substring = \"foo\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewMetric(ctx, \"example\", &launchdarkly.MetricArgs{\n\t\t\tProjectKey:  pulumi.Any(launchdarkly_project.Example.Key),\n\t\t\tKey:         pulumi.String(\"example-metric\"),\n\t\t\tDescription: pulumi.String(\"Metric description.\"),\n\t\t\tKind:        pulumi.String(\"pageview\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example\"),\n\t\t\t},\n\t\t\tUrls: launchdarkly.MetricUrlArray{\n\t\t\t\t&launchdarkly.MetricUrlArgs{\n\t\t\t\t\tKind:      pulumi.String(\"substring\"),\n\t\t\t\t\tSubstring: pulumi.String(\"foo\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Metric;\nimport com.pulumi.launchdarkly.MetricArgs;\nimport com.pulumi.launchdarkly.inputs.MetricUrlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Metric(\"example\", MetricArgs.builder()        \n            .projectKey(launchdarkly_project.example().key())\n            .key(\"example-metric\")\n            .description(\"Metric description.\")\n            .kind(\"pageview\")\n            .tags(\"example\")\n            .urls(MetricUrlArgs.builder()\n                .kind(\"substring\")\n                .substring(\"foo\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Metric\n    properties:\n      projectKey: ${launchdarkly_project.example.key}\n      key: example-metric\n      description: Metric description.\n      kind: pageview\n      tags:\n        - example\n      urls:\n        - kind: substring\n          substring: foo\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLaunchDarkly metrics can be imported using the metric's ID in the form `project_key/metric_key`, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/metric:Metric example example-project/example-metric-key\n```\n\n ",
      "properties": {
        "description": {
          "type": "string",
          "description": "The description of the metric's purpose.\n"
        },
        "eventKey": {
          "type": "string",
          "description": "The event key to watch for `custom` metrics.\n"
        },
        "isActive": {
          "type": "boolean",
          "description": "Whether the metric is active\n"
        },
        "isNumeric": {
          "type": "boolean",
          "description": "Whether the metric is numeric\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the metric. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "kind": {
          "type": "string",
          "description": "The metric type. Available choices are `click`, `custom`, and `pageview`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "maintainerId": {
          "type": "string",
          "description": "The LaunchDarkly ID of the user who will maintain the metric. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently-set maintainer\n"
        },
        "name": {
          "type": "string",
          "description": "The human-friendly name for the metric.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "The metrics's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "selector": {
          "type": "string",
          "description": "The CSS selector for `click` metrics.\n"
        },
        "successCriteria": {
          "type": "string",
          "description": "The success criteria for numeric `custom` metrics.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags for the metric.\n"
        },
        "unit": {
          "type": "string",
          "description": "The unit for numeric `custom` metrics.\n"
        },
        "urls": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FMetricUrl:MetricUrl"
          },
          "description": "A block determining which URLs the metric watches. To learn more, read Nested Urls Blocks.\n"
        }
      },
      "type": "object",
      "required": [
        "key",
        "kind",
        "maintainerId",
        "name",
        "projectKey"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description of the metric's purpose.\n"
        },
        "eventKey": {
          "type": "string",
          "description": "The event key to watch for `custom` metrics.\n"
        },
        "isActive": {
          "type": "boolean",
          "description": "Whether the metric is active\n"
        },
        "isNumeric": {
          "type": "boolean",
          "description": "Whether the metric is numeric\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the metric. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "kind": {
          "type": "string",
          "description": "The metric type. Available choices are `click`, `custom`, and `pageview`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "maintainerId": {
          "type": "string",
          "description": "The LaunchDarkly ID of the user who will maintain the metric. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently-set maintainer\n"
        },
        "name": {
          "type": "string",
          "description": "The human-friendly name for the metric.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "The metrics's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "selector": {
          "type": "string",
          "description": "The CSS selector for `click` metrics.\n"
        },
        "successCriteria": {
          "type": "string",
          "description": "The success criteria for numeric `custom` metrics.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags for the metric.\n"
        },
        "unit": {
          "type": "string",
          "description": "The unit for numeric `custom` metrics.\n"
        },
        "urls": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FMetricUrl:MetricUrl"
          },
          "description": "A block determining which URLs the metric watches. To learn more, read Nested Urls Blocks.\n"
        }
      },
      "requiredInputs": [
        "key",
        "kind",
        "projectKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Metric resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the metric's purpose.\n"
          },
          "eventKey": {
            "type": "string",
            "description": "The event key to watch for `custom` metrics.\n"
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the metric is active\n"
          },
          "isNumeric": {
            "type": "boolean",
            "description": "Whether the metric is numeric\n"
          },
          "key": {
            "type": "string",
            "description": "The unique key that references the metric. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "kind": {
            "type": "string",
            "description": "The metric type. Available choices are `click`, `custom`, and `pageview`. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "maintainerId": {
            "type": "string",
            "description": "The LaunchDarkly ID of the user who will maintain the metric. If not set, the API will automatically apply the member\nassociated with your Terraform API key or the most recently-set maintainer\n"
          },
          "name": {
            "type": "string",
            "description": "The human-friendly name for the metric.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The metrics's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "selector": {
            "type": "string",
            "description": "The CSS selector for `click` metrics.\n"
          },
          "successCriteria": {
            "type": "string",
            "description": "The success criteria for numeric `custom` metrics.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags for the metric.\n"
          },
          "unit": {
            "type": "string",
            "description": "The unit for numeric `custom` metrics.\n"
          },
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FMetricUrl:MetricUrl"
            },
            "description": "A block determining which URLs the metric watches. To learn more, read Nested Urls Blocks.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/project:Project": {
      "description": "Provides a LaunchDarkly project resource.\n\nThis resource allows you to create and manage projects within your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Project(\"example\", {\n    environments: [\n        {\n            approvalSettings: [{\n                canApplyDeclinedChanges: false,\n                canReviewOwnRequest: false,\n                minNumApprovals: 3,\n                requiredApprovalTags: [\"approvals_required\"],\n            }],\n            color: \"EEEEEE\",\n            key: \"production\",\n            name: \"Production\",\n            tags: [\"terraform\"],\n        },\n        {\n            color: \"000000\",\n            key: \"staging\",\n            name: \"Staging\",\n            tags: [\"terraform\"],\n        },\n    ],\n    key: \"example-project\",\n    tags: [\"terraform\"],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Project(\"example\",\n    environments=[\n        launchdarkly.ProjectEnvironmentArgs(\n            approval_settings=[launchdarkly.ProjectEnvironmentApprovalSettingArgs(\n                can_apply_declined_changes=False,\n                can_review_own_request=False,\n                min_num_approvals=3,\n                required_approval_tags=[\"approvals_required\"],\n            )],\n            color=\"EEEEEE\",\n            key=\"production\",\n            name=\"Production\",\n            tags=[\"terraform\"],\n        ),\n        launchdarkly.ProjectEnvironmentArgs(\n            color=\"000000\",\n            key=\"staging\",\n            name=\"Staging\",\n            tags=[\"terraform\"],\n        ),\n    ],\n    key=\"example-project\",\n    tags=[\"terraform\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Project(\"example\", new()\n    {\n        Environments = new[]\n        {\n            new Launchdarkly.Inputs.ProjectEnvironmentArgs\n            {\n                ApprovalSettings = new[]\n                {\n                    new Launchdarkly.Inputs.ProjectEnvironmentApprovalSettingArgs\n                    {\n                        CanApplyDeclinedChanges = false,\n                        CanReviewOwnRequest = false,\n                        MinNumApprovals = 3,\n                        RequiredApprovalTags = new[]\n                        {\n                            \"approvals_required\",\n                        },\n                    },\n                },\n                Color = \"EEEEEE\",\n                Key = \"production\",\n                Name = \"Production\",\n                Tags = new[]\n                {\n                    \"terraform\",\n                },\n            },\n            new Launchdarkly.Inputs.ProjectEnvironmentArgs\n            {\n                Color = \"000000\",\n                Key = \"staging\",\n                Name = \"Staging\",\n                Tags = new[]\n                {\n                    \"terraform\",\n                },\n            },\n        },\n        Key = \"example-project\",\n        Tags = new[]\n        {\n            \"terraform\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewProject(ctx, \"example\", &launchdarkly.ProjectArgs{\n\t\t\tEnvironments: launchdarkly.ProjectEnvironmentArray{\n\t\t\t\t&launchdarkly.ProjectEnvironmentArgs{\n\t\t\t\t\tApprovalSettings: launchdarkly.ProjectEnvironmentApprovalSettingArray{\n\t\t\t\t\t\t&launchdarkly.ProjectEnvironmentApprovalSettingArgs{\n\t\t\t\t\t\t\tCanApplyDeclinedChanges: pulumi.Bool(false),\n\t\t\t\t\t\t\tCanReviewOwnRequest:     pulumi.Bool(false),\n\t\t\t\t\t\t\tMinNumApprovals:         pulumi.Int(3),\n\t\t\t\t\t\t\tRequiredApprovalTags: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"approvals_required\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tColor: pulumi.String(\"EEEEEE\"),\n\t\t\t\t\tKey:   pulumi.String(\"production\"),\n\t\t\t\t\tName:  pulumi.String(\"Production\"),\n\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t&launchdarkly.ProjectEnvironmentArgs{\n\t\t\t\t\tColor: pulumi.String(\"000000\"),\n\t\t\t\t\tKey:   pulumi.String(\"staging\"),\n\t\t\t\t\tName:  pulumi.String(\"Staging\"),\n\t\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tKey: pulumi.String(\"example-project\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"terraform\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Project;\nimport com.pulumi.launchdarkly.ProjectArgs;\nimport com.pulumi.launchdarkly.inputs.ProjectEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Project(\"example\", ProjectArgs.builder()        \n            .environments(            \n                ProjectEnvironmentArgs.builder()\n                    .approvalSettings(ProjectEnvironmentApprovalSettingArgs.builder()\n                        .canApplyDeclinedChanges(false)\n                        .canReviewOwnRequest(false)\n                        .minNumApprovals(3)\n                        .requiredApprovalTags(\"approvals_required\")\n                        .build())\n                    .color(\"EEEEEE\")\n                    .key(\"production\")\n                    .name(\"Production\")\n                    .tags(\"terraform\")\n                    .build(),\n                ProjectEnvironmentArgs.builder()\n                    .color(\"000000\")\n                    .key(\"staging\")\n                    .name(\"Staging\")\n                    .tags(\"terraform\")\n                    .build())\n            .key(\"example-project\")\n            .tags(\"terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Project\n    properties:\n      environments:\n        - approvalSettings:\n            - canApplyDeclinedChanges: false\n              canReviewOwnRequest: false\n              minNumApprovals: 3\n              requiredApprovalTags:\n                - approvals_required\n          color: EEEEEE\n          key: production\n          name: Production\n          tags:\n            - terraform\n        - color: '000000'\n          key: staging\n          name: Staging\n          tags:\n            - terraform\n      key: example-project\n      tags:\n        - terraform\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLaunchDarkly projects can be imported using the project's key, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/project:Project example example-project\n```\n\n **IMPORTANT:** Please note that, regardless of how many `environments` blocks you include on your import, _all_ of the project's environments will be saved to the Terraform state and will update with subsequent applies. This means that any environments not included in your import configuration will be torn down with any subsequent apply. If you wish to manage project properties with Terraform but not nested environments consider using Terraform's [ignore changes](https://www.terraform.io/docs/language/meta-arguments/lifecycle.html#ignore_changes) lifecycle meta-argument; see below for example. resource \"launchdarkly_project\" \"example\" { \t\tlifecycle { \t\t\tignore_changes = [environments] \t\t} \t\tname = \"testProject\" \t\tkey = \"%s\" \t\t# environments not included on this configuration will not be affected by subsequent applies \t} **Managing environment resources with Terraform should always be done on the project unless the project is not also managed with Terraform.** ",
      "properties": {
        "defaultClientSideAvailabilities": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FProjectDefaultClientSideAvailability:ProjectDefaultClientSideAvailability"
          },
          "description": "A block describing which client-side SDKs can use new flags by default. To learn more, read Nested Client Side Availability Block.\n"
        },
        "environments": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FProjectEnvironment:ProjectEnvironment"
          },
          "description": "List of nested `environments` blocks describing LaunchDarkly environments that belong to the project\n"
        },
        "includeInSnippet": {
          "type": "boolean",
          "description": "**Deprecated** (Optional) Whether feature flags created under the project should be available to client-side SDKs by default. Please migrate to `default_client_side_availability` to maintain future compatibility.\n",
          "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'default_client_side_availability' to maintain future compatability."
        },
        "key": {
          "type": "string",
          "description": "The project's unique key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "name": {
          "type": "string",
          "description": "The project's name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The project's set of tags.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultClientSideAvailabilities",
        "environments",
        "includeInSnippet",
        "key",
        "name"
      ],
      "inputProperties": {
        "defaultClientSideAvailabilities": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FProjectDefaultClientSideAvailability:ProjectDefaultClientSideAvailability"
          },
          "description": "A block describing which client-side SDKs can use new flags by default. To learn more, read Nested Client Side Availability Block.\n"
        },
        "environments": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FProjectEnvironment:ProjectEnvironment"
          },
          "description": "List of nested `environments` blocks describing LaunchDarkly environments that belong to the project\n"
        },
        "includeInSnippet": {
          "type": "boolean",
          "description": "**Deprecated** (Optional) Whether feature flags created under the project should be available to client-side SDKs by default. Please migrate to `default_client_side_availability` to maintain future compatibility.\n",
          "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'default_client_side_availability' to maintain future compatability."
        },
        "key": {
          "type": "string",
          "description": "The project's unique key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The project's name.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The project's set of tags.\n"
        }
      },
      "requiredInputs": [
        "environments",
        "key"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Project resources.\n",
        "properties": {
          "defaultClientSideAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FProjectDefaultClientSideAvailability:ProjectDefaultClientSideAvailability"
            },
            "description": "A block describing which client-side SDKs can use new flags by default. To learn more, read Nested Client Side Availability Block.\n"
          },
          "environments": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FProjectEnvironment:ProjectEnvironment"
            },
            "description": "List of nested `environments` blocks describing LaunchDarkly environments that belong to the project\n"
          },
          "includeInSnippet": {
            "type": "boolean",
            "description": "**Deprecated** (Optional) Whether feature flags created under the project should be available to client-side SDKs by default. Please migrate to `default_client_side_availability` to maintain future compatibility.\n",
            "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'default_client_side_availability' to maintain future compatability."
          },
          "key": {
            "type": "string",
            "description": "The project's unique key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The project's name.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The project's set of tags.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/relayProxyConfiguration:RelayProxyConfiguration": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.RelayProxyConfiguration(\"example\", {policies: [{\n    actions: [\"*\"],\n    effect: \"allow\",\n    resources: [\"proj/*:env/*\"],\n}]});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.RelayProxyConfiguration(\"example\", policies=[launchdarkly.RelayProxyConfigurationPolicyArgs(\n    actions=[\"*\"],\n    effect=\"allow\",\n    resources=[\"proj/*:env/*\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.RelayProxyConfiguration(\"example\", new()\n    {\n        Policies = new[]\n        {\n            new Launchdarkly.Inputs.RelayProxyConfigurationPolicyArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"allow\",\n                Resources = new[]\n                {\n                    \"proj/*:env/*\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewRelayProxyConfiguration(ctx, \"example\", &launchdarkly.RelayProxyConfigurationArgs{\n\t\t\tPolicies: launchdarkly.RelayProxyConfigurationPolicyArray{\n\t\t\t\t&launchdarkly.RelayProxyConfigurationPolicyArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.RelayProxyConfiguration;\nimport com.pulumi.launchdarkly.RelayProxyConfigurationArgs;\nimport com.pulumi.launchdarkly.inputs.RelayProxyConfigurationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RelayProxyConfiguration(\"example\", RelayProxyConfigurationArgs.builder()        \n            .policies(RelayProxyConfigurationPolicyArgs.builder()\n                .actions(\"*\")\n                .effect(\"allow\")\n                .resources(\"proj/*:env/*\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:RelayProxyConfiguration\n    properties:\n      policies:\n        - actions:\n            - '*'\n          effect: allow\n          resources:\n            - proj/*:env/*\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nRelay Proxy configurations can be imported using the configuration's unique 24 character ID, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/relayProxyConfiguration:RelayProxyConfiguration example 51d440e30c9ff61457c710f6\n```\n\n The unique relay proxy ID can be found in the relay proxy edit page URL, which you can locate by clicking the three dot menu on your relay proxy item in the UI and selecting 'Edit configuration'https://app.launchdarkly.com/settings/relay/THIS_IS_YOUR_RELAY_PROXY_ID/edit ",
      "properties": {
        "displayKey": {
          "type": "string",
          "description": "The last 4 characters of the Relay Proxy configuration's unique key.\n"
        },
        "fullKey": {
          "type": "string",
          "description": "The Relay Proxy configuration's unique key. Because the `full_key` is only exposed upon creation, it will not be available if the resource is imported.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The human-readable name for your Relay Proxy configuration.\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FRelayProxyConfigurationPolicy:RelayProxyConfigurationPolicy"
          },
          "description": "The Relay Proxy configuration's rule policy block. This determines what content the Relay Proxy receives. To learn more, read [Understanding policies](https://docs.launchdarkly.com/home/members/role-policies#understanding-policies).\n"
        }
      },
      "type": "object",
      "required": [
        "displayKey",
        "fullKey",
        "name",
        "policies"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The human-readable name for your Relay Proxy configuration.\n"
        },
        "policies": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FRelayProxyConfigurationPolicy:RelayProxyConfigurationPolicy"
          },
          "description": "The Relay Proxy configuration's rule policy block. This determines what content the Relay Proxy receives. To learn more, read [Understanding policies](https://docs.launchdarkly.com/home/members/role-policies#understanding-policies).\n"
        }
      },
      "requiredInputs": [
        "policies"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering RelayProxyConfiguration resources.\n",
        "properties": {
          "displayKey": {
            "type": "string",
            "description": "The last 4 characters of the Relay Proxy configuration's unique key.\n"
          },
          "fullKey": {
            "type": "string",
            "description": "The Relay Proxy configuration's unique key. Because the `full_key` is only exposed upon creation, it will not be available if the resource is imported.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The human-readable name for your Relay Proxy configuration.\n"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FRelayProxyConfigurationPolicy:RelayProxyConfigurationPolicy"
            },
            "description": "The Relay Proxy configuration's rule policy block. This determines what content the Relay Proxy receives. To learn more, read [Understanding policies](https://docs.launchdarkly.com/home/members/role-policies#understanding-policies).\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/segment:Segment": {
      "description": "Provides a LaunchDarkly segment resource.\n\nThis resource allows you to create and manage segments within your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.Segment(\"example\", {\n    key: \"example-segment-key\",\n    projectKey: launchdarkly_project.example.key,\n    envKey: launchdarkly_environment.example.key,\n    description: \"This segment is managed by Terraform\",\n    tags: [\n        \"segment-tag-1\",\n        \"segment-tag-2\",\n    ],\n    includeds: [\n        \"user1\",\n        \"user2\",\n    ],\n    excludeds: [\n        \"user3\",\n        \"user4\",\n    ],\n    rules: [{\n        clauses: [{\n            attribute: \"country\",\n            op: \"startsWith\",\n            values: [\n                \"en\",\n                \"de\",\n                \"un\",\n            ],\n            negate: false,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.Segment(\"example\",\n    key=\"example-segment-key\",\n    project_key=launchdarkly_project[\"example\"][\"key\"],\n    env_key=launchdarkly_environment[\"example\"][\"key\"],\n    description=\"This segment is managed by Terraform\",\n    tags=[\n        \"segment-tag-1\",\n        \"segment-tag-2\",\n    ],\n    includeds=[\n        \"user1\",\n        \"user2\",\n    ],\n    excludeds=[\n        \"user3\",\n        \"user4\",\n    ],\n    rules=[launchdarkly.SegmentRuleArgs(\n        clauses=[launchdarkly.SegmentRuleClauseArgs(\n            attribute=\"country\",\n            op=\"startsWith\",\n            values=[\n                \"en\",\n                \"de\",\n                \"un\",\n            ],\n            negate=False,\n        )],\n    )])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.Segment(\"example\", new()\n    {\n        Key = \"example-segment-key\",\n        ProjectKey = launchdarkly_project.Example.Key,\n        EnvKey = launchdarkly_environment.Example.Key,\n        Description = \"This segment is managed by Terraform\",\n        Tags = new[]\n        {\n            \"segment-tag-1\",\n            \"segment-tag-2\",\n        },\n        Includeds = new[]\n        {\n            \"user1\",\n            \"user2\",\n        },\n        Excludeds = new[]\n        {\n            \"user3\",\n            \"user4\",\n        },\n        Rules = new[]\n        {\n            new Launchdarkly.Inputs.SegmentRuleArgs\n            {\n                Clauses = new[]\n                {\n                    new Launchdarkly.Inputs.SegmentRuleClauseArgs\n                    {\n                        Attribute = \"country\",\n                        Op = \"startsWith\",\n                        Values = new[]\n                        {\n                            \"en\",\n                            \"de\",\n                            \"un\",\n                        },\n                        Negate = false,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewSegment(ctx, \"example\", &launchdarkly.SegmentArgs{\n\t\t\tKey:         pulumi.String(\"example-segment-key\"),\n\t\t\tProjectKey:  pulumi.Any(launchdarkly_project.Example.Key),\n\t\t\tEnvKey:      pulumi.Any(launchdarkly_environment.Example.Key),\n\t\t\tDescription: pulumi.String(\"This segment is managed by Terraform\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"segment-tag-1\"),\n\t\t\t\tpulumi.String(\"segment-tag-2\"),\n\t\t\t},\n\t\t\tIncludeds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user1\"),\n\t\t\t\tpulumi.String(\"user2\"),\n\t\t\t},\n\t\t\tExcludeds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user3\"),\n\t\t\t\tpulumi.String(\"user4\"),\n\t\t\t},\n\t\t\tRules: launchdarkly.SegmentRuleArray{\n\t\t\t\t&launchdarkly.SegmentRuleArgs{\n\t\t\t\t\tClauses: launchdarkly.SegmentRuleClauseArray{\n\t\t\t\t\t\t&launchdarkly.SegmentRuleClauseArgs{\n\t\t\t\t\t\t\tAttribute: pulumi.String(\"country\"),\n\t\t\t\t\t\t\tOp:        pulumi.String(\"startsWith\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"en\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"de\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"un\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNegate: pulumi.Bool(false),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Segment;\nimport com.pulumi.launchdarkly.SegmentArgs;\nimport com.pulumi.launchdarkly.inputs.SegmentRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Segment(\"example\", SegmentArgs.builder()        \n            .key(\"example-segment-key\")\n            .projectKey(launchdarkly_project.example().key())\n            .envKey(launchdarkly_environment.example().key())\n            .description(\"This segment is managed by Terraform\")\n            .tags(            \n                \"segment-tag-1\",\n                \"segment-tag-2\")\n            .includeds(            \n                \"user1\",\n                \"user2\")\n            .excludeds(            \n                \"user3\",\n                \"user4\")\n            .rules(SegmentRuleArgs.builder()\n                .clauses(SegmentRuleClauseArgs.builder()\n                    .attribute(\"country\")\n                    .op(\"startsWith\")\n                    .values(                    \n                        \"en\",\n                        \"de\",\n                        \"un\")\n                    .negate(false)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:Segment\n    properties:\n      key: example-segment-key\n      projectKey: ${launchdarkly_project.example.key}\n      envKey: ${launchdarkly_environment.example.key}\n      description: This segment is managed by Terraform\n      tags:\n        - segment-tag-1\n        - segment-tag-2\n      includeds:\n        - user1\n        - user2\n      excludeds:\n        - user3\n        - user4\n      rules:\n        - clauses:\n            - attribute: country\n              op: startsWith\n              values:\n                - en\n                - de\n                - un\n              negate: false\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLaunchDarkly segments can be imported using the segment's ID in the form `project_key/env_key/segment_key`, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/segment:Segment example example-project/example-environment/example-segment-key\n```\n\n ",
      "properties": {
        "creationDate": {
          "type": "integer",
          "description": "The segment's creation date represented as a UNIX epoch timestamp.\n"
        },
        "description": {
          "type": "string",
          "description": "The description of the segment's purpose.\n"
        },
        "envKey": {
          "type": "string",
          "description": "The segment's environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "excludeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of user keys excluded from the segment.\n"
        },
        "includeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of user keys included in the segment.\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the segment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "name": {
          "type": "string",
          "description": "The human-friendly name for the segment.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "The segment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FSegmentRule:SegmentRule"
          },
          "description": "List of nested custom rule blocks to apply to the segment. To learn more, read Nested Rules Blocks.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags for the segment.\n"
        }
      },
      "type": "object",
      "required": [
        "creationDate",
        "envKey",
        "key",
        "name",
        "projectKey"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description of the segment's purpose.\n"
        },
        "envKey": {
          "type": "string",
          "description": "The segment's environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "excludeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of user keys excluded from the segment.\n"
        },
        "includeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of user keys included in the segment.\n"
        },
        "key": {
          "type": "string",
          "description": "The unique key that references the segment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The human-friendly name for the segment.\n"
        },
        "projectKey": {
          "type": "string",
          "description": "The segment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FSegmentRule:SegmentRule"
          },
          "description": "List of nested custom rule blocks to apply to the segment. To learn more, read Nested Rules Blocks.\n"
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags for the segment.\n"
        }
      },
      "requiredInputs": [
        "envKey",
        "key",
        "projectKey"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Segment resources.\n",
        "properties": {
          "creationDate": {
            "type": "integer",
            "description": "The segment's creation date represented as a UNIX epoch timestamp.\n"
          },
          "description": {
            "type": "string",
            "description": "The description of the segment's purpose.\n"
          },
          "envKey": {
            "type": "string",
            "description": "The segment's environment key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "excludeds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of user keys excluded from the segment.\n"
          },
          "includeds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of user keys included in the segment.\n"
          },
          "key": {
            "type": "string",
            "description": "The unique key that references the segment. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The human-friendly name for the segment.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The segment's project key. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FSegmentRule:SegmentRule"
            },
            "description": "List of nested custom rule blocks to apply to the segment. To learn more, read Nested Rules Blocks.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags for the segment.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/team:Team": {
      "description": "Provides a LaunchDarkly team resource.\n\nThis resource allows you to create and manage a team within your LaunchDarkly organization.\n\n> **Note:** Teams are available to customers on an Enterprise LaunchDarkly plan. To learn more, read about our pricing. To upgrade your plan, [contact LaunchDarkly Sales](https://launchdarkly.com/contact-sales/).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst platformTeam = new launchdarkly.Team(\"platformTeam\", {\n    customRoleKeys: [\n        \"platform\",\n        \"nomad-administrators\",\n    ],\n    description: \"Team to manage internal infrastructure\",\n    key: \"platform_team\",\n    maintainers: [\"12ab3c45de678910abc12345\"],\n    memberIds: [\n        \"507f1f77bcf86cd799439011\",\n        \"569f183514f4432160000007\",\n    ],\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nplatform_team = launchdarkly.Team(\"platformTeam\",\n    custom_role_keys=[\n        \"platform\",\n        \"nomad-administrators\",\n    ],\n    description=\"Team to manage internal infrastructure\",\n    key=\"platform_team\",\n    maintainers=[\"12ab3c45de678910abc12345\"],\n    member_ids=[\n        \"507f1f77bcf86cd799439011\",\n        \"569f183514f4432160000007\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var platformTeam = new Launchdarkly.Team(\"platformTeam\", new()\n    {\n        CustomRoleKeys = new[]\n        {\n            \"platform\",\n            \"nomad-administrators\",\n        },\n        Description = \"Team to manage internal infrastructure\",\n        Key = \"platform_team\",\n        Maintainers = new[]\n        {\n            \"12ab3c45de678910abc12345\",\n        },\n        MemberIds = new[]\n        {\n            \"507f1f77bcf86cd799439011\",\n            \"569f183514f4432160000007\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewTeam(ctx, \"platformTeam\", &launchdarkly.TeamArgs{\n\t\t\tCustomRoleKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"platform\"),\n\t\t\t\tpulumi.String(\"nomad-administrators\"),\n\t\t\t},\n\t\t\tDescription: pulumi.String(\"Team to manage internal infrastructure\"),\n\t\t\tKey:         pulumi.String(\"platform_team\"),\n\t\t\tMaintainers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"12ab3c45de678910abc12345\"),\n\t\t\t},\n\t\t\tMemberIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"507f1f77bcf86cd799439011\"),\n\t\t\t\tpulumi.String(\"569f183514f4432160000007\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.Team;\nimport com.pulumi.launchdarkly.TeamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var platformTeam = new Team(\"platformTeam\", TeamArgs.builder()        \n            .customRoleKeys(            \n                \"platform\",\n                \"nomad-administrators\")\n            .description(\"Team to manage internal infrastructure\")\n            .key(\"platform_team\")\n            .maintainers(\"12ab3c45de678910abc12345\")\n            .memberIds(            \n                \"507f1f77bcf86cd799439011\",\n                \"569f183514f4432160000007\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  platformTeam:\n    type: launchdarkly:Team\n    properties:\n      customRoleKeys:\n        - platform\n        - nomad-administrators\n      description: Team to manage internal infrastructure\n      key: platform_team\n      maintainers:\n        - 12ab3c45de678910abc12345\n      memberIds:\n        - 507f1f77bcf86cd799439011\n        - 569f183514f4432160000007\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nA LaunchDarkly team can be imported using the team key\n\n```sh\n $ pulumi import launchdarkly:index/team:Team platform_team platform_team\n```\n\n ",
      "properties": {
        "customRoleKeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of custom role keys the team will access. The referenced custom roles must already exist in LaunchDarkly. If they don't, the provider may behave unexpectedly.\n"
        },
        "description": {
          "type": "string",
          "description": "The team description.\n"
        },
        "key": {
          "type": "string",
          "description": "The team key.\n"
        },
        "maintainers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of member IDs for users who maintain the team.\n"
        },
        "memberIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of member IDs who belong to the team.\n"
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for the team.\n"
        }
      },
      "type": "object",
      "required": [
        "key",
        "name"
      ],
      "inputProperties": {
        "customRoleKeys": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of custom role keys the team will access. The referenced custom roles must already exist in LaunchDarkly. If they don't, the provider may behave unexpectedly.\n"
        },
        "description": {
          "type": "string",
          "description": "The team description.\n"
        },
        "key": {
          "type": "string",
          "description": "The team key.\n"
        },
        "maintainers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of member IDs for users who maintain the team.\n"
        },
        "memberIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of member IDs who belong to the team.\n"
        },
        "name": {
          "type": "string",
          "description": "A human-friendly name for the team.\n"
        }
      },
      "requiredInputs": [
        "key"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Team resources.\n",
        "properties": {
          "customRoleKeys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of custom role keys the team will access. The referenced custom roles must already exist in LaunchDarkly. If they don't, the provider may behave unexpectedly.\n"
          },
          "description": {
            "type": "string",
            "description": "The team description.\n"
          },
          "key": {
            "type": "string",
            "description": "The team key.\n"
          },
          "maintainers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of member IDs for users who maintain the team.\n"
          },
          "memberIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of member IDs who belong to the team.\n"
          },
          "name": {
            "type": "string",
            "description": "A human-friendly name for the team.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/teamMember:TeamMember": {
      "description": "Provides a LaunchDarkly team member resource.\n\nThis resource allows you to create and manage team members within your LaunchDarkly organization.\n\n> **Note:** You can only manage team members with \"admin\" level personal access tokens. To learn more, read [Managing Teams](https://docs.launchdarkly.com/home/teams/managing).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.TeamMember(\"example\", {\n    email: \"example.user@example.com\",\n    firstName: \"John\",\n    lastName: \"Smith\",\n    role: \"writer\",\n});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.TeamMember(\"example\",\n    email=\"example.user@example.com\",\n    first_name=\"John\",\n    last_name=\"Smith\",\n    role=\"writer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Launchdarkly.TeamMember(\"example\", new()\n    {\n        Email = \"example.user@example.com\",\n        FirstName = \"John\",\n        LastName = \"Smith\",\n        Role = \"writer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewTeamMember(ctx, \"example\", &launchdarkly.TeamMemberArgs{\n\t\t\tEmail:     pulumi.String(\"example.user@example.com\"),\n\t\t\tFirstName: pulumi.String(\"John\"),\n\t\t\tLastName:  pulumi.String(\"Smith\"),\n\t\t\tRole:      pulumi.String(\"writer\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.TeamMember;\nimport com.pulumi.launchdarkly.TeamMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new TeamMember(\"example\", TeamMemberArgs.builder()        \n            .email(\"example.user@example.com\")\n            .firstName(\"John\")\n            .lastName(\"Smith\")\n            .role(\"writer\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:TeamMember\n    properties:\n      email: example.user@example.com\n      firstName: John\n      lastName: Smith\n      role: writer\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nLaunchDarkly team members can be imported using the team member's 24 character ID, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/teamMember:TeamMember example 5f05565b48be0b441fb63020\n```\n\n ",
      "properties": {
        "customRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of custom roles keys associated with the team member. Custom roles are only available to customers on enterprise plans. To learn more about enterprise plans, contact sales@launchdarkly.com.\n"
        },
        "email": {
          "type": "string",
          "description": "The unique email address associated with the team member. A change in this field will force the destruction of the existing resource and the creation of a new one.\n"
        },
        "firstName": {
          "type": "string",
          "description": "The team member's given name. Please note that, once created, this cannot be updated except by the team member themself.\n"
        },
        "lastName": {
          "type": "string",
          "description": "The team member's family name. Please note that, once created, this cannot be updated except by the team member themself.\n"
        },
        "role": {
          "type": "string",
          "description": "The role associated with team member. Supported roles are `reader`, `writer`, `no_access`, or `admin`. If you don't specify a role, `reader` is assigned by default.\n"
        }
      },
      "type": "object",
      "required": [
        "email",
        "role"
      ],
      "inputProperties": {
        "customRoles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The list of custom roles keys associated with the team member. Custom roles are only available to customers on enterprise plans. To learn more about enterprise plans, contact sales@launchdarkly.com.\n"
        },
        "email": {
          "type": "string",
          "description": "The unique email address associated with the team member. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
          "willReplaceOnChanges": true
        },
        "firstName": {
          "type": "string",
          "description": "The team member's given name. Please note that, once created, this cannot be updated except by the team member themself.\n"
        },
        "lastName": {
          "type": "string",
          "description": "The team member's family name. Please note that, once created, this cannot be updated except by the team member themself.\n"
        },
        "role": {
          "type": "string",
          "description": "The role associated with team member. Supported roles are `reader`, `writer`, `no_access`, or `admin`. If you don't specify a role, `reader` is assigned by default.\n"
        }
      },
      "requiredInputs": [
        "email"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering TeamMember resources.\n",
        "properties": {
          "customRoles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of custom roles keys associated with the team member. Custom roles are only available to customers on enterprise plans. To learn more about enterprise plans, contact sales@launchdarkly.com.\n"
          },
          "email": {
            "type": "string",
            "description": "The unique email address associated with the team member. A change in this field will force the destruction of the existing resource and the creation of a new one.\n",
            "willReplaceOnChanges": true
          },
          "firstName": {
            "type": "string",
            "description": "The team member's given name. Please note that, once created, this cannot be updated except by the team member themself.\n"
          },
          "lastName": {
            "type": "string",
            "description": "The team member's family name. Please note that, once created, this cannot be updated except by the team member themself.\n"
          },
          "role": {
            "type": "string",
            "description": "The role associated with team member. Supported roles are `reader`, `writer`, `no_access`, or `admin`. If you don't specify a role, `reader` is assigned by default.\n"
          }
        },
        "type": "object"
      }
    },
    "launchdarkly:index/webhook:Webhook": {
      "description": "Provides a LaunchDarkly webhook resource.\n\nThis resource allows you to create and manage webhooks within your LaunchDarkly organization.\n\n\n## Import\n\nLaunchDarkly webhooks can be imported using the webhook's 24 character ID, e.g.\n\n```sh\n $ pulumi import launchdarkly:index/webhook:Webhook example 57c0af609969090743529967\n```\n\n ",
      "properties": {
        "name": {
          "type": "string",
          "description": "The webhook's human-readable name.\n"
        },
        "on": {
          "type": "boolean",
          "description": "Specifies whether the webhook is enabled.\n"
        },
        "secret": {
          "type": "string",
          "description": "The secret used to sign the webhook.\n",
          "secret": true
        },
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FWebhookStatement:WebhookStatement"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the webhook.\n"
        },
        "url": {
          "type": "string",
          "description": "The URL of the remote webhook.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "url"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The webhook's human-readable name.\n"
        },
        "on": {
          "type": "boolean",
          "description": "Specifies whether the webhook is enabled.\n"
        },
        "secret": {
          "type": "string",
          "description": "The secret used to sign the webhook.\n",
          "secret": true
        },
        "statements": {
          "type": "array",
          "items": {
            "$ref": "#/types/launchdarkly:index%2FWebhookStatement:WebhookStatement"
          }
        },
        "tags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of tags associated with the webhook.\n"
        },
        "url": {
          "type": "string",
          "description": "The URL of the remote webhook.\n"
        }
      },
      "requiredInputs": [
        "url"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Webhook resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "The webhook's human-readable name.\n"
          },
          "on": {
            "type": "boolean",
            "description": "Specifies whether the webhook is enabled.\n"
          },
          "secret": {
            "type": "string",
            "description": "The secret used to sign the webhook.\n",
            "secret": true
          },
          "statements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FWebhookStatement:WebhookStatement"
            }
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the webhook.\n"
          },
          "url": {
            "type": "string",
            "description": "The URL of the remote webhook.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "launchdarkly:index/getAuditLogSubscription:getAuditLogSubscription": {
      "description": "Provides a LaunchDarkly audit log subscription data source.\n\nThis data source allows you to retrieve information about LaunchDarkly audit log subscriptions.\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst test = launchdarkly.getAuditLogSubscription({\n    id: \"5f0cd446a77cba0b4c5644a7\",\n    integrationKey: \"msteams\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\ntest = launchdarkly.get_audit_log_subscription(id=\"5f0cd446a77cba0b4c5644a7\",\n    integration_key=\"msteams\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Launchdarkly.GetAuditLogSubscription.Invoke(new()\n    {\n        Id = \"5f0cd446a77cba0b4c5644a7\",\n        IntegrationKey = \"msteams\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupAuditLogSubscription(ctx, \u0026launchdarkly.LookupAuditLogSubscriptionArgs{\n\t\t\tId:             \"5f0cd446a77cba0b4c5644a7\",\n\t\t\tIntegrationKey: \"msteams\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetAuditLogSubscriptionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = LaunchdarklyFunctions.getAuditLogSubscription(GetAuditLogSubscriptionArgs.builder()\n            .id(\"5f0cd446a77cba0b4c5644a7\")\n            .integrationKey(\"msteams\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      Function: launchdarkly:getAuditLogSubscription\n      Arguments:\n        id: 5f0cd446a77cba0b4c5644a7\n        integrationKey: msteams\n```\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAuditLogSubscription.\n",
        "properties": {
          "config": {
            "type": "object",
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "description": "A block of configuration fields associated with your integration type.\n"
          },
          "id": {
            "type": "string",
            "description": "The unique subscription ID. This can be found in the URL of the pull-out configuration sidebar for the given subscription on your [LaunchDarkly Integrations page](https://app.launchdarkly.com/default/integrations).\n"
          },
          "integrationKey": {
            "type": "string",
            "description": "The integration key. As of February 2022, supported integrations are `\"datadog\"`, `\"dynatrace\"`, `\"elastic\"`, `\"honeycomb\"`, `\"logdna\"`, `\"msteams\"`, `\"new-relic-apm\"`, `\"signalfx\"`, `\"slack\"`, and `\"splunk\"`.\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The subscription's human-readable name.\n"
          },
          "on": {
            "type": "boolean",
            "description": "Whether the subscription is enabled.\n"
          },
          "statements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetAuditLogSubscriptionStatement:getAuditLogSubscriptionStatement"
            },
            "description": "The statement block used to filter subscription events. To learn more, read Statement Blocks.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the subscription.\n"
          }
        },
        "type": "object",
        "required": [
          "id",
          "integrationKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getAuditLogSubscription.\n",
        "properties": {
          "config": {
            "additionalProperties": {
              "$ref": "pulumi.json#/Any"
            },
            "description": "A block of configuration fields associated with your integration type.\n",
            "type": "object"
          },
          "id": {
            "type": "string"
          },
          "integrationKey": {
            "type": "string"
          },
          "name": {
            "description": "The subscription's human-readable name.\n",
            "type": "string"
          },
          "on": {
            "description": "Whether the subscription is enabled.\n",
            "type": "boolean"
          },
          "statements": {
            "description": "The statement block used to filter subscription events. To learn more, read Statement Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetAuditLogSubscriptionStatement:getAuditLogSubscriptionStatement"
            },
            "type": "array"
          },
          "tags": {
            "description": "Set of tags associated with the subscription.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "integrationKey"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getEnvironment:getEnvironment": {
      "description": "Provides a LaunchDarkly environment data source.\n\nThis data source allows you to retrieve environment information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getEnvironment({\n    key: \"example-env\",\n    projectKey: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_environment(key=\"example-env\",\n    project_key=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetEnvironment.Invoke(new()\n    {\n        Key = \"example-env\",\n        ProjectKey = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupEnvironment(ctx, \u0026launchdarkly.LookupEnvironmentArgs{\n\t\t\tKey:        \"example-env\",\n\t\t\tProjectKey: \"example-project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .key(\"example-env\")\n            .projectKey(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getEnvironment\n      Arguments:\n        key: example-env\n        projectKey: example-project\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getEnvironment.\n",
        "properties": {
          "approvalSettings": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetEnvironmentApprovalSetting:getEnvironmentApprovalSetting"
            }
          },
          "confirmChanges": {
            "type": "boolean",
            "description": "A value of `true` indicates that this environment requires confirmation for flag and segment changes.\n"
          },
          "defaultTrackEvents": {
            "type": "boolean",
            "description": "A value of `true` enables data export for every flag created in this environment. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n"
          },
          "defaultTtl": {
            "type": "integer",
            "description": "The TTL for the environment. This will be a numeric value between 0 and 60 in minutes. The TTL setting only applies to environments using the PHP SDK. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n"
          },
          "key": {
            "type": "string",
            "description": "The environment's unique key.\n",
            "willReplaceOnChanges": true
          },
          "projectKey": {
            "type": "string",
            "description": "The environment's project key.\n"
          },
          "requireComments": {
            "type": "boolean",
            "description": "A value of `true` indicates that this environment requires comments for flag and segment changes.\n"
          },
          "secureMode": {
            "type": "boolean",
            "description": "A value of true `true` ensures a user of the client-side SDK cannot impersonate another user.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the environment.\n"
          }
        },
        "type": "object",
        "required": [
          "key",
          "projectKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getEnvironment.\n",
        "properties": {
          "apiKey": {
            "description": "The environment's SDK key.\n",
            "secret": true,
            "type": "string"
          },
          "approvalSettings": {
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetEnvironmentApprovalSetting:getEnvironmentApprovalSetting"
            },
            "type": "array"
          },
          "clientSideId": {
            "description": "The environment's client-side ID.\n",
            "secret": true,
            "type": "string"
          },
          "color": {
            "description": "The color swatch as an RGB hex value with no leading `#`. For example: `000000`.\n",
            "type": "string"
          },
          "confirmChanges": {
            "description": "A value of `true` indicates that this environment requires confirmation for flag and segment changes.\n",
            "type": "boolean"
          },
          "defaultTrackEvents": {
            "description": "A value of `true` enables data export for every flag created in this environment. To learn more, read [Data Export](https://docs.launchdarkly.com/home/data-export).\n",
            "type": "boolean"
          },
          "defaultTtl": {
            "description": "The TTL for the environment. This will be a numeric value between 0 and 60 in minutes. The TTL setting only applies to environments using the PHP SDK. To learn more, read [TTL settings](https://docs.launchdarkly.com/home/organize/environments#ttl-settings).\n",
            "type": "integer"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "mobileKey": {
            "description": "The environment's mobile key.\n",
            "secret": true,
            "type": "string"
          },
          "name": {
            "description": "The name of the environment.\n",
            "type": "string"
          },
          "projectKey": {
            "type": "string"
          },
          "requireComments": {
            "description": "A value of `true` indicates that this environment requires comments for flag and segment changes.\n",
            "type": "boolean"
          },
          "secureMode": {
            "description": "A value of true `true` ensures a user of the client-side SDK cannot impersonate another user.\n",
            "type": "boolean"
          },
          "tags": {
            "description": "Set of tags associated with the environment.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "apiKey",
          "approvalSettings",
          "clientSideId",
          "color",
          "id",
          "key",
          "mobileKey",
          "name",
          "projectKey"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getFeatureFlag:getFeatureFlag": {
      "description": "Provides a LaunchDarkly feature flag data source.\n\nThis data source allows you to retrieve feature flag information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getFeatureFlag({\n    key: \"example-flag\",\n    projectKey: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_feature_flag(key=\"example-flag\",\n    project_key=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetFeatureFlag.Invoke(new()\n    {\n        Key = \"example-flag\",\n        ProjectKey = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupFeatureFlag(ctx, \u0026launchdarkly.LookupFeatureFlagArgs{\n\t\t\tKey:        \"example-flag\",\n\t\t\tProjectKey: \"example-project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetFeatureFlagArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getFeatureFlag(GetFeatureFlagArgs.builder()\n            .key(\"example-flag\")\n            .projectKey(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getFeatureFlag\n      Arguments:\n        key: example-flag\n        projectKey: example-project\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getFeatureFlag.\n",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "clientSideAvailabilities": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagClientSideAvailability:getFeatureFlagClientSideAvailability"
            },
            "description": "A map describing whether this flag has been made available to the client-side JavaScript SDK. To learn more, read Nested Client-Side Availability Block.\n"
          },
          "customProperties": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagCustomProperty:getFeatureFlagCustomProperty"
            },
            "description": "List of nested blocks describing the feature flag's [custom properties](https://docs.launchdarkly.com/home/connecting/custom-properties). To learn more, read Nested Custom Properties.\n"
          },
          "defaults": {
            "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagDefaults:getFeatureFlagDefaults",
            "description": "A map describing the index of the variation served when the flag is on for new environments. To learn more, read Nested Defaults Blocks.\n"
          },
          "description": {
            "type": "string",
            "description": "The variation's description.\n"
          },
          "includeInSnippet": {
            "type": "boolean",
            "description": "**Deprecated** A boolean describing whether this flag has been made available to the client-side Javescript SDK using the client-side ID only. `include_in_snippet` is now deprecated. Please retrieve information from `client_side_availability.using_environment_id` to maintain future compatability.\n",
            "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability."
          },
          "key": {
            "type": "string",
            "description": "The unique feature flag key that references the flag in your application code.\n",
            "willReplaceOnChanges": true
          },
          "maintainerId": {
            "type": "string",
            "description": "The feature flag maintainer's 24 character alphanumeric team member ID.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The feature flag's project key.\n",
            "willReplaceOnChanges": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of feature flag tags.\n"
          },
          "temporary": {
            "type": "boolean",
            "description": "Whether the flag is a temporary flag.\n"
          },
          "variations": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagVariation:getFeatureFlagVariation"
            },
            "description": "List of nested blocks describing the variations associated with the feature flag. To learn more, read Nested Variations Blocks.\n"
          }
        },
        "type": "object",
        "required": [
          "key",
          "projectKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getFeatureFlag.\n",
        "properties": {
          "archived": {
            "type": "boolean"
          },
          "clientSideAvailabilities": {
            "description": "A map describing whether this flag has been made available to the client-side JavaScript SDK. To learn more, read Nested Client-Side Availability Block.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagClientSideAvailability:getFeatureFlagClientSideAvailability"
            },
            "type": "array"
          },
          "customProperties": {
            "description": "List of nested blocks describing the feature flag's [custom properties](https://docs.launchdarkly.com/home/connecting/custom-properties). To learn more, read Nested Custom Properties.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagCustomProperty:getFeatureFlagCustomProperty"
            },
            "type": "array"
          },
          "defaults": {
            "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagDefaults:getFeatureFlagDefaults",
            "description": "A map describing the index of the variation served when the flag is on for new environments. To learn more, read Nested Defaults Blocks.\n"
          },
          "description": {
            "description": "The variation's description.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "includeInSnippet": {
            "deprecationMessage": "'include_in_snippet' is now deprecated. Please migrate to 'client_side_availability' to maintain future compatability.",
            "description": "**Deprecated** A boolean describing whether this flag has been made available to the client-side Javescript SDK using the client-side ID only. `include_in_snippet` is now deprecated. Please retrieve information from `client_side_availability.using_environment_id` to maintain future compatability.\n",
            "type": "boolean"
          },
          "key": {
            "description": "The unique custom property key.\n",
            "type": "string"
          },
          "maintainerId": {
            "description": "The feature flag maintainer's 24 character alphanumeric team member ID.\n",
            "type": "string"
          },
          "name": {
            "description": "The name of the custom property.\n",
            "type": "string"
          },
          "projectKey": {
            "type": "string"
          },
          "tags": {
            "description": "Set of feature flag tags.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "temporary": {
            "description": "Whether the flag is a temporary flag.\n",
            "type": "boolean"
          },
          "variationType": {
            "description": "The feature flag's variation type: `boolean`, `string`, `number` or `json`.\n",
            "type": "string"
          },
          "variations": {
            "description": "List of nested blocks describing the variations associated with the feature flag. To learn more, read Nested Variations Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagVariation:getFeatureFlagVariation"
            },
            "type": "array"
          }
        },
        "required": [
          "clientSideAvailabilities",
          "defaults",
          "id",
          "includeInSnippet",
          "key",
          "maintainerId",
          "name",
          "projectKey",
          "variationType",
          "variations"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getFeatureFlagEnvironment:getFeatureFlagEnvironment": {
      "description": "Provides a LaunchDarkly environment-specific feature flag data source.\n\nThis data source allows you to retrieve environment-specific feature flag information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getFeatureFlagEnvironment({\n    envKey: \"example-env\",\n    flagId: \"example-project/example-flag\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_feature_flag_environment(env_key=\"example-env\",\n    flag_id=\"example-project/example-flag\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetFeatureFlagEnvironment.Invoke(new()\n    {\n        EnvKey = \"example-env\",\n        FlagId = \"example-project/example-flag\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupFeatureFlagEnvironment(ctx, \u0026launchdarkly.LookupFeatureFlagEnvironmentArgs{\n\t\t\tEnvKey: \"example-env\",\n\t\t\tFlagId: \"example-project/example-flag\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetFeatureFlagEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getFeatureFlagEnvironment(GetFeatureFlagEnvironmentArgs.builder()\n            .envKey(\"example-env\")\n            .flagId(\"example-project/example-flag\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getFeatureFlagEnvironment\n      Arguments:\n        envKey: example-env\n        flagId: example-project/example-flag\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getFeatureFlagEnvironment.\n",
        "properties": {
          "envKey": {
            "type": "string",
            "description": "The environment key.\n",
            "willReplaceOnChanges": true
          },
          "fallthrough": {
            "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentFallthrough:getFeatureFlagEnvironmentFallthrough"
          },
          "flagId": {
            "type": "string",
            "description": "The feature flag's unique `id` in the format `project_key/flag_key`.\n",
            "willReplaceOnChanges": true
          },
          "offVariation": {
            "type": "integer",
            "description": "The index of the variation served when targeting is disabled.\n"
          },
          "on": {
            "type": "boolean",
            "description": "Whether targeting is enabled.\n"
          },
          "prerequisites": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentPrerequisite:getFeatureFlagEnvironmentPrerequisite"
            },
            "description": "List of nested blocks describing prerequisite feature flags rules. To learn more, read Nested Prequisites Blocks.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentRule:getFeatureFlagEnvironmentRule"
            },
            "description": "List of logical targeting rules. To learn more, read Nested Rules Blocks.\n"
          },
          "targets": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentTarget:getFeatureFlagEnvironmentTarget"
            }
          },
          "trackEvents": {
            "type": "boolean",
            "description": "Whether event data will be sent back to LaunchDarkly.\n"
          }
        },
        "type": "object",
        "required": [
          "envKey",
          "flagId"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getFeatureFlagEnvironment.\n",
        "properties": {
          "envKey": {
            "type": "string"
          },
          "fallthrough": {
            "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentFallthrough:getFeatureFlagEnvironmentFallthrough"
          },
          "flagId": {
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "offVariation": {
            "description": "The index of the variation served when targeting is disabled.\n",
            "type": "integer"
          },
          "on": {
            "description": "Whether targeting is enabled.\n",
            "type": "boolean"
          },
          "prerequisites": {
            "description": "List of nested blocks describing prerequisite feature flags rules. To learn more, read Nested Prequisites Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentPrerequisite:getFeatureFlagEnvironmentPrerequisite"
            },
            "type": "array"
          },
          "rules": {
            "description": "List of logical targeting rules. To learn more, read Nested Rules Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentRule:getFeatureFlagEnvironmentRule"
            },
            "type": "array"
          },
          "targets": {
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetFeatureFlagEnvironmentTarget:getFeatureFlagEnvironmentTarget"
            },
            "type": "array"
          },
          "trackEvents": {
            "description": "Whether event data will be sent back to LaunchDarkly.\n",
            "type": "boolean"
          }
        },
        "required": [
          "envKey",
          "flagId",
          "id"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getFlagTrigger:getFlagTrigger": {
      "description": "Provides a LaunchDarkly flag trigger data source.\n\n\u003e **Note:** Flag triggers are available to customers on an Enterprise LaunchDarkly plan. To learn more, read about our pricing. To upgrade your plan, [contact LaunchDarkly Sales](https://launchdarkly.com/contact-sales/).\n\nThis data source allows you to retrieve information about flag triggers from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getFlagTrigger({\n    id: \"\u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\",\n    instructions: {\n        kind: \"turnFlagOff\",\n    },\n    integrationKey: \"datadog\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_flag_trigger(id=\"\u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\",\n    instructions=launchdarkly.GetFlagTriggerInstructionsArgs(\n        kind=\"turnFlagOff\",\n    ),\n    integration_key=\"datadog\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetFlagTrigger.Invoke(new()\n    {\n        Id = \"\u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\",\n        Instructions = new Launchdarkly.Inputs.GetFlagTriggerInstructionsInputArgs\n        {\n            Kind = \"turnFlagOff\",\n        },\n        IntegrationKey = \"datadog\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupFlagTrigger(ctx, \u0026launchdarkly.LookupFlagTriggerArgs{\n\t\t\tId: \"\u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\",\n\t\t\tInstructions: launchdarkly.GetFlagTriggerInstructions{\n\t\t\t\tKind: \"turnFlagOff\",\n\t\t\t},\n\t\t\tIntegrationKey: pulumi.StringRef(\"datadog\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetFlagTriggerArgs;\nimport com.pulumi.launchdarkly.inputs.GetFlagTriggerInstructionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getFlagTrigger(GetFlagTriggerArgs.builder()\n            .id(\"\u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\")\n            .instructions(GetFlagTriggerInstructionsArgs.builder()\n                .kind(\"turnFlagOff\")\n                .build())\n            .integrationKey(\"datadog\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getFlagTrigger\n      Arguments:\n        id: \u003cproject_key\u003e/\u003cenv_key\u003e/\u003cflag_key\u003e/61d490757f7821150815518f\n        instructions:\n          kind: turnFlagOff\n        integrationKey: datadog\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getFlagTrigger.\n",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether the trigger is currently active or not.\n"
          },
          "envKey": {
            "type": "string",
            "description": "The unique key of the environment the flag trigger will work in.\n",
            "willReplaceOnChanges": true
          },
          "flagKey": {
            "type": "string",
            "description": "The unique key of the associated flag.\n",
            "willReplaceOnChanges": true
          },
          "id": {
            "type": "string"
          },
          "instructions": {
            "$ref": "#/types/launchdarkly:index%2FgetFlagTriggerInstructions:getFlagTriggerInstructions",
            "description": "Instructions containing the action to perform when invoking the trigger. Currently supported flag actions are `\"turnFlagOn\"` and `\"turnFlagOff\"`. These can be found on the `kind` field nested on the `instructions` attribute.\n"
          },
          "integrationKey": {
            "type": "string",
            "description": "The unique identifier of the integration your trigger is set up with.\n",
            "willReplaceOnChanges": true
          },
          "projectKey": {
            "type": "string",
            "description": "The unique key of the project encompassing the associated flag.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object",
        "required": [
          "envKey",
          "flagKey",
          "id",
          "projectKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getFlagTrigger.\n",
        "properties": {
          "enabled": {
            "description": "Whether the trigger is currently active or not.\n",
            "type": "boolean"
          },
          "envKey": {
            "description": "The unique key of the environment the flag trigger will work in.\n",
            "type": "string"
          },
          "flagKey": {
            "description": "The unique key of the associated flag.\n",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "instructions": {
            "$ref": "#/types/launchdarkly:index%2FgetFlagTriggerInstructions:getFlagTriggerInstructions",
            "description": "Instructions containing the action to perform when invoking the trigger. Currently supported flag actions are `\"turnFlagOn\"` and `\"turnFlagOff\"`. These can be found on the `kind` field nested on the `instructions` attribute.\n"
          },
          "integrationKey": {
            "description": "The unique identifier of the integration your trigger is set up with.\n",
            "type": "string"
          },
          "maintainerId": {
            "type": "string"
          },
          "projectKey": {
            "description": "The unique key of the project encompassing the associated flag.\n",
            "type": "string"
          },
          "triggerUrl": {
            "secret": true,
            "type": "string"
          }
        },
        "required": [
          "envKey",
          "flagKey",
          "id",
          "maintainerId",
          "projectKey",
          "triggerUrl"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getMetric:getMetric": {
      "description": "Provides a LaunchDarkly metric data source.\n\nThis data source allows you to retrieve metric information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getMetric({\n    key: \"example-metric\",\n    projectKey: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_metric(key=\"example-metric\",\n    project_key=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetMetric.Invoke(new()\n    {\n        Key = \"example-metric\",\n        ProjectKey = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupMetric(ctx, \u0026launchdarkly.LookupMetricArgs{\n\t\t\tKey:        \"example-metric\",\n\t\t\tProjectKey: \"example-project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetMetricArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getMetric(GetMetricArgs.builder()\n            .key(\"example-metric\")\n            .projectKey(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getMetric\n      Arguments:\n        key: example-metric\n        projectKey: example-project\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getMetric.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the metric's purpose.\n"
          },
          "eventKey": {
            "type": "string",
            "description": "The event key to watch for `custom` metrics.\n"
          },
          "isActive": {
            "type": "boolean"
          },
          "isNumeric": {
            "type": "boolean"
          },
          "key": {
            "type": "string",
            "description": "The metric's unique key.\n",
            "willReplaceOnChanges": true
          },
          "kind": {
            "type": "string",
            "description": "The metric type. Available choices are `click`, `custom`, and `pageview`.\n",
            "willReplaceOnChanges": true
          },
          "maintainerId": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "The name of the metric.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The metric's project key.\n",
            "willReplaceOnChanges": true
          },
          "selector": {
            "type": "string",
            "description": "The CSS selector for `click` metrics.\n"
          },
          "successCriteria": {
            "type": "string",
            "description": "The success criteria for numeric `custom` metrics.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the metric.\n"
          },
          "unit": {
            "type": "string",
            "description": "The unit for numeric `custom` metrics.\n"
          },
          "urls": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetMetricUrl:getMetricUrl"
            },
            "description": "Which URLs the metric watches.\n"
          }
        },
        "type": "object",
        "required": [
          "key",
          "projectKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getMetric.\n",
        "properties": {
          "description": {
            "description": "The description of the metric's purpose.\n",
            "type": "string"
          },
          "eventKey": {
            "description": "The event key to watch for `custom` metrics.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "isActive": {
            "type": "boolean"
          },
          "isNumeric": {
            "type": "boolean"
          },
          "key": {
            "type": "string"
          },
          "kind": {
            "description": "The metric type. Available choices are `click`, `custom`, and `pageview`.\n",
            "type": "string"
          },
          "maintainerId": {
            "type": "string"
          },
          "name": {
            "description": "The name of the metric.\n",
            "type": "string"
          },
          "projectKey": {
            "description": "The metrics's project key.\n",
            "type": "string"
          },
          "selector": {
            "description": "The CSS selector for `click` metrics.\n",
            "type": "string"
          },
          "successCriteria": {
            "description": "The success criteria for numeric `custom` metrics.\n",
            "type": "string"
          },
          "tags": {
            "description": "Set of tags associated with the metric.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "unit": {
            "description": "The unit for numeric `custom` metrics.\n",
            "type": "string"
          },
          "urls": {
            "description": "Which URLs the metric watches.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetMetricUrl:getMetricUrl"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "key",
          "maintainerId",
          "projectKey"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getProject:getProject": {
      "description": "Provides a LaunchDarkly project data source.\n\nThis data source allows you to retrieve project information from your LaunchDarkly organization.\n\n\u003e **Note:** LaunchDarkly data sources do not provide access to the project's environments. If you wish to import environment configurations as data sources you must use the [`launchdarkly.Environment` data source](https://www.terraform.io/docs/providers/launchdarkly/d/environment.html).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getProject({\n    key: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_project(key=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetProject.Invoke(new()\n    {\n        Key = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupProject(ctx, \u0026launchdarkly.LookupProjectArgs{\n\t\t\tKey: \"example-project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getProject(GetProjectArgs.builder()\n            .key(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getProject\n      Arguments:\n        key: example-project\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getProject.\n",
        "properties": {
          "key": {
            "type": "string",
            "description": "The project's unique key.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The project's set of tags.\n"
          }
        },
        "type": "object",
        "required": [
          "key"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getProject.\n",
        "properties": {
          "clientSideAvailabilities": {
            "deprecationMessage": "'client_side_availability' is now deprecated. Please migrate to 'default_client_side_availability' to maintain future compatability.",
            "description": "**Deprecated** A map describing which client-side SDKs can use new flags by default. To learn more, read Nested Client-Side Availability Block.\nPlease migrate to `default_client_side_availability` to maintain future compatability.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetProjectClientSideAvailability:getProjectClientSideAvailability"
            },
            "type": "array"
          },
          "defaultClientSideAvailabilities": {
            "description": "A block describing which client-side SDKs can use new flags by default. To learn more, read Nested Client-Side Availability Block.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetProjectDefaultClientSideAvailability:getProjectDefaultClientSideAvailability"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "description": "The project's name.\n",
            "type": "string"
          },
          "tags": {
            "description": "The project's set of tags.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "clientSideAvailabilities",
          "defaultClientSideAvailabilities",
          "id",
          "key",
          "name"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getRelayProxyConfiguration:getRelayProxyConfiguration": {
      "description": "{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@lbrlabs/pulumi-launchdarkly\";\n\nconst example = new launchdarkly.RelayProxyConfiguration(\"example\", {policies: [{\n    actions: [\"*\"],\n    effect: \"allow\",\n    resources: [\"proj/*:env/*\"],\n}]});\n```\n```python\nimport pulumi\nimport lbrlabs_pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.RelayProxyConfiguration(\"example\", policies=[launchdarkly.RelayProxyConfigurationPolicyArgs(\n    actions=[\"*\"],\n    effect=\"allow\",\n    resources=[\"proj/*:env/*\"],\n)])\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Lbrlabs.PulumiPackage.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Launchdarkly.RelayProxyConfiguration(\"example\", new()\n    {\n        Policies = new[]\n        {\n            new Launchdarkly.Inputs.RelayProxyConfigurationPolicyArgs\n            {\n                Actions = new[]\n                {\n                    \"*\",\n                },\n                Effect = \"allow\",\n                Resources = new[]\n                {\n                    \"proj/*:env/*\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := launchdarkly.NewRelayProxyConfiguration(ctx, \"example\", \u0026launchdarkly.RelayProxyConfigurationArgs{\n\t\t\tPolicies: launchdarkly.RelayProxyConfigurationPolicyArray{\n\t\t\t\t\u0026launchdarkly.RelayProxyConfigurationPolicyArgs{\n\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t\tEffect: pulumi.String(\"allow\"),\n\t\t\t\t\tResources: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"proj/*:env/*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.RelayProxyConfiguration;\nimport com.pulumi.launchdarkly.RelayProxyConfigurationArgs;\nimport com.pulumi.launchdarkly.inputs.RelayProxyConfigurationPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RelayProxyConfiguration(\"example\", RelayProxyConfigurationArgs.builder()        \n            .policies(RelayProxyConfigurationPolicyArgs.builder()\n                .actions(\"*\")\n                .effect(\"allow\")\n                .resources(\"proj/*:env/*\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: launchdarkly:RelayProxyConfiguration\n    properties:\n      policies:\n        - actions:\n            - '*'\n          effect: allow\n          resources:\n            - proj/*:env/*\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getRelayProxyConfiguration.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The Relay Proxy configuration's unique 24 character ID. The unique relay proxy ID can be found in the relay proxy edit page URL, which you can locate by clicking the three dot menu on your relay proxy item in the UI and selecting 'Edit configuration':\n"
          },
          "policies": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetRelayProxyConfigurationPolicy:getRelayProxyConfigurationPolicy"
            },
            "description": "The Relay Proxy configuration's rule policy block. This determines what content the Relay Proxy receives. To learn more, read [Understanding policies](https://docs.launchdarkly.com/home/members/role-policies#understanding-policies).\n"
          }
        },
        "type": "object",
        "required": [
          "id"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getRelayProxyConfiguration.\n",
        "properties": {
          "displayKey": {
            "description": "The last 4 characters of the Relay Proxy configuration's unique key.\n",
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "description": "The human-readable name for your Relay Proxy configuration.\n",
            "type": "string"
          },
          "policies": {
            "description": "The Relay Proxy configuration's rule policy block. This determines what content the Relay Proxy receives. To learn more, read [Understanding policies](https://docs.launchdarkly.com/home/members/role-policies#understanding-policies).\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetRelayProxyConfigurationPolicy:getRelayProxyConfigurationPolicy"
            },
            "type": "array"
          }
        },
        "required": [
          "displayKey",
          "id",
          "name"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getSegment:getSegment": {
      "description": "Provides a LaunchDarkly segment data source.\n\nThis data source allows you to retrieve segment information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getSegment({\n    envKey: \"example-env\",\n    key: \"example-segment\",\n    projectKey: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_segment(env_key=\"example-env\",\n    key=\"example-segment\",\n    project_key=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetSegment.Invoke(new()\n    {\n        EnvKey = \"example-env\",\n        Key = \"example-segment\",\n        ProjectKey = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupSegment(ctx, \u0026launchdarkly.LookupSegmentArgs{\n\t\t\tEnvKey:     \"example-env\",\n\t\t\tKey:        \"example-segment\",\n\t\t\tProjectKey: \"example-project\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetSegmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getSegment(GetSegmentArgs.builder()\n            .envKey(\"example-env\")\n            .key(\"example-segment\")\n            .projectKey(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getSegment\n      Arguments:\n        envKey: example-env\n        key: example-segment\n        projectKey: example-project\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getSegment.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the segment's purpose.\n"
          },
          "envKey": {
            "type": "string",
            "description": "The segment's environment key.\n"
          },
          "excludeds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of user keys excluded from the segment.\n"
          },
          "includeds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of user keys included in the segment.\n"
          },
          "key": {
            "type": "string",
            "description": "The unique key that references the segment.\n"
          },
          "projectKey": {
            "type": "string",
            "description": "The segment's project key.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetSegmentRule:getSegmentRule"
            },
            "description": "List of nested custom rule blocks to apply to the segment. To learn more, read Nested Rules Blocks.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags for the segment.\n"
          }
        },
        "type": "object",
        "required": [
          "envKey",
          "key",
          "projectKey"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getSegment.\n",
        "properties": {
          "creationDate": {
            "description": "The segment's creation date represented as a UNIX epoch timestamp.\n",
            "type": "integer"
          },
          "description": {
            "description": "The description of the segment's purpose.\n",
            "type": "string"
          },
          "envKey": {
            "type": "string"
          },
          "excludeds": {
            "description": "List of user keys excluded from the segment.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "includeds": {
            "description": "List of user keys included in the segment.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "key": {
            "type": "string"
          },
          "name": {
            "description": "The human-friendly name for the segment.\n",
            "type": "string"
          },
          "projectKey": {
            "type": "string"
          },
          "rules": {
            "description": "List of nested custom rule blocks to apply to the segment. To learn more, read Nested Rules Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetSegmentRule:getSegmentRule"
            },
            "type": "array"
          },
          "tags": {
            "description": "Set of tags for the segment.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "creationDate",
          "envKey",
          "id",
          "key",
          "name",
          "projectKey"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getTeam:getTeam": {
      "description": "Provides a LaunchDarkly team data source.\n\nThis data source allows you to retrieve team information from your LaunchDarkly organization.\n\n\u003e **Note:** Teams are available to customers on an Enterprise LaunchDarkly plan. To learn more, read about our pricing. To upgrade your plan, [contact LaunchDarkly Sales](https://launchdarkly.com/contact-sales/).\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst platformTeam = launchdarkly.getTeam({\n    key: \"platform_team\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nplatform_team = launchdarkly.get_team(key=\"platform_team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var platformTeam = Launchdarkly.GetTeam.Invoke(new()\n    {\n        Key = \"platform_team\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupTeam(ctx, \u0026launchdarkly.LookupTeamArgs{\n\t\t\tKey: \"platform_team\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetTeamArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var platformTeam = LaunchdarklyFunctions.getTeam(GetTeamArgs.builder()\n            .key(\"platform_team\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  platformTeam:\n    fn::invoke:\n      Function: launchdarkly:getTeam\n      Arguments:\n        key: platform_team\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getTeam.\n",
        "properties": {
          "customRoleKeys": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The list of the keys of the custom roles that you have assigned to the team.\n"
          },
          "description": {
            "type": "string",
            "description": "The team description.\n"
          },
          "key": {
            "type": "string",
            "description": "The team key.\n"
          },
          "name": {
            "type": "string",
            "description": "Human readable name for the team.\n"
          }
        },
        "type": "object",
        "required": [
          "key"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTeam.\n",
        "properties": {
          "customRoleKeys": {
            "description": "The list of the keys of the custom roles that you have assigned to the team.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "The team description.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "maintainers": {
            "description": "The list of team maintainers as [team member objects](https://www.terraform.io/docs/providers/launchdarkly/d/team_member.html).\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetTeamMaintainer:getTeamMaintainer"
            },
            "type": "array"
          },
          "name": {
            "description": "Human readable name for the team.\n",
            "type": "string"
          },
          "projectKeys": {
            "description": "The list of keys of the projects that the team has any write access to.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "key",
          "maintainers",
          "projectKeys"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getTeamMember:getTeamMember": {
      "description": "Provides a LaunchDarkly team member data source.\n\nThis data source allows you to retrieve team member information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getTeamMember({\n    email: \"example@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_team_member(email=\"example@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetTeamMember.Invoke(new()\n    {\n        Email = \"example@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupTeamMember(ctx, \u0026launchdarkly.LookupTeamMemberArgs{\n\t\t\tEmail: \"example@example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetTeamMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getTeamMember(GetTeamMemberArgs.builder()\n            .email(\"example@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getTeamMember\n      Arguments:\n        email: example@example.com\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getTeamMember.\n",
        "properties": {
          "email": {
            "type": "string",
            "description": "The unique email address associated with the team member.\n"
          },
          "id": {
            "type": "string",
            "description": "The 24 character alphanumeric ID of the team member.\n"
          }
        },
        "type": "object",
        "required": [
          "email"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTeamMember.\n",
        "properties": {
          "customRoles": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "email": {
            "type": "string"
          },
          "firstName": {
            "description": "The team member's given name.\n",
            "type": "string"
          },
          "id": {
            "description": "The 24 character alphanumeric ID of the team member.\n",
            "type": "string"
          },
          "lastName": {
            "description": "The team member's family name.\n",
            "type": "string"
          },
          "role": {
            "description": "The role associated with team member. Possible roles are `owner`, `reader`, `writer`, or `admin`.\n",
            "type": "string"
          }
        },
        "required": [
          "customRoles",
          "email",
          "firstName",
          "id",
          "lastName",
          "role"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getTeamMembers:getTeamMembers": {
      "description": "Provides a LaunchDarkly team members data source.\n\nThis data source allows you to retrieve team member information from your LaunchDarkly organization on multiple team members.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetTeamMemberArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getTeamMember(GetTeamMemberArgs.builder()\n            .emails(            \n                \"example@example.com\",\n                \"example2@example.com\",\n                \"example3@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getTeamMember\n      Arguments:\n        emails:\n          - example@example.com\n          - example2@example.com\n          - example3@example.com\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getTeamMembers.\n",
        "properties": {
          "emails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An array of unique email addresses associated with the team members.\n"
          },
          "ignoreMissing": {
            "type": "boolean",
            "description": "A boolean to determine whether to ignore members that weren't found.\n"
          }
        },
        "type": "object",
        "required": [
          "emails"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getTeamMembers.\n",
        "properties": {
          "emails": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "ignoreMissing": {
            "type": "boolean"
          },
          "teamMembers": {
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetTeamMembersTeamMember:getTeamMembersTeamMember"
            },
            "type": "array"
          }
        },
        "required": [
          "emails",
          "id",
          "teamMembers"
        ],
        "type": "object"
      }
    },
    "launchdarkly:index/getWebhook:getWebhook": {
      "description": "Provides a LaunchDarkly webhook data source.\n\nThis data source allows you to retrieve webhook information from your LaunchDarkly organization.\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as launchdarkly from \"@pulumi/launchdarkly\";\n\nconst example = launchdarkly.getWebhook({\n    id: \"57c0af6099690907435299\",\n});\n```\n```python\nimport pulumi\nimport pulumi_launchdarkly as launchdarkly\n\nexample = launchdarkly.get_webhook(id=\"57c0af6099690907435299\")\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Launchdarkly = Pulumi.Launchdarkly;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Launchdarkly.GetWebhook.Invoke(new()\n    {\n        Id = \"57c0af6099690907435299\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/lbrlabs/pulumi-launchdarkly/sdk/go/launchdarkly\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err = launchdarkly.LookupWebhook(ctx, \u0026launchdarkly.LookupWebhookArgs{\n\t\t\tId: \"57c0af6099690907435299\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.launchdarkly.LaunchdarklyFunctions;\nimport com.pulumi.launchdarkly.inputs.GetWebhookArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = LaunchdarklyFunctions.getWebhook(GetWebhookArgs.builder()\n            .id(\"57c0af6099690907435299\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      Function: launchdarkly:getWebhook\n      Arguments:\n        id: 57c0af6099690907435299\n```\n{{% /example %}}\n{{% /examples %}}",
      "inputs": {
        "description": "A collection of arguments for invoking getWebhook.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique webhook ID.\n"
          },
          "name": {
            "type": "string",
            "description": "The webhook's human-readable name.\n"
          },
          "secret": {
            "type": "string",
            "description": "The secret used to sign the webhook.\n",
            "secret": true
          },
          "statements": {
            "type": "array",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetWebhookStatement:getWebhookStatement"
            },
            "description": "List of policy statement blocks used to filter webhook events. For more information on webhook policy filters read [Adding a policy filter](https://docs.launchdarkly.com/integrations/webhooks#adding-a-policy-filter). To learn more, read Policy Statement Blocks.\n"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Set of tags associated with the webhook.\n"
          }
        },
        "type": "object",
        "required": [
          "id"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getWebhook.\n",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "description": "The webhook's human-readable name.\n",
            "type": "string"
          },
          "on": {
            "description": "Whether the webhook is enabled.\n",
            "type": "boolean"
          },
          "secret": {
            "description": "The secret used to sign the webhook.\n",
            "secret": true,
            "type": "string"
          },
          "statements": {
            "description": "List of policy statement blocks used to filter webhook events. For more information on webhook policy filters read [Adding a policy filter](https://docs.launchdarkly.com/integrations/webhooks#adding-a-policy-filter). To learn more, read Policy Statement Blocks.\n",
            "items": {
              "$ref": "#/types/launchdarkly:index%2FgetWebhookStatement:getWebhookStatement"
            },
            "type": "array"
          },
          "tags": {
            "description": "Set of tags associated with the webhook.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "url": {
            "description": "The URL of the remote webhook.\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "on",
          "url"
        ],
        "type": "object"
      }
    }
  }
}
