{
  "name": "doppler",
  "displayName": "Doppler",
  "version": "0.9.0",
  "description": "A Pulumi package for creating and managing doppler cloud resources.",
  "keywords": [
    "pulumi",
    "doppler",
    "category/cloud"
  ],
  "homepage": "https://www.pulumi.com",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`doppler` Terraform Provider](https://github.com/DopplerHQ/terraform-provider-doppler).",
  "repository": "https://github.com/pulumiverse/pulumi-doppler",
  "logoUrl": "https://raw.githubusercontent.com/pulumiverse/pulumi-doppler/main/docs/logo.png",
  "pluginDownloadURL": "github://api.github.com/pulumiverse",
  "publisher": "Pulumiverse",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Pulumiverse"
    },
    "go": {
      "importBasePath": "github.com/pulumiverse/pulumi-doppler/sdk/go/doppler",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "nodejs": {
      "packageName": "@pulumiverse/doppler",
      "packageDescription": "A Pulumi package for creating and managing doppler cloud resources.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/DopplerHQ/terraform-provider-doppler)\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-doppler` repo](https://github.com/pulumiverse/pulumi-doppler/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-doppler` repo](https://github.com/DopplerHQ/terraform-provider-doppler/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "pulumiverse_doppler",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/DopplerHQ/terraform-provider-doppler)\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-doppler` repo](https://github.com/pulumiverse/pulumi-doppler/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-doppler` repo](https://github.com/DopplerHQ/terraform-provider-doppler/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "dopplerToken": {
        "type": "string",
        "description": "A Doppler token, either a personal or service token. This can also be set via the DOPPLER_TOKEN environment variable.\n"
      },
      "host": {
        "type": "string",
        "description": "The Doppler API host (i.e. https://api.doppler.com). This can also be set via the DOPPLER_API_HOST environment variable.\n"
      },
      "verifyTls": {
        "type": "boolean",
        "description": "Whether or not to verify TLS. This can also be set via the DOPPLER_VERIFY_TLS environment variable.\n"
      }
    },
    "defaults": [
      "dopplerToken"
    ]
  },
  "types": {
    "doppler:index/WebhookAuthentication:WebhookAuthentication": {
      "properties": {
        "password": {
          "type": "string",
          "secret": true
        },
        "token": {
          "type": "string",
          "secret": true
        },
        "type": {
          "type": "string"
        },
        "username": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    }
  },
  "provider": {
    "description": "The provider type for the doppler 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": {
      "dopplerToken": {
        "type": "string",
        "description": "A Doppler token, either a personal or service token. This can also be set via the DOPPLER_TOKEN environment variable.\n"
      },
      "host": {
        "type": "string",
        "description": "The Doppler API host (i.e. https://api.doppler.com). This can also be set via the DOPPLER_API_HOST environment variable.\n"
      }
    },
    "type": "object",
    "required": [
      "dopplerToken"
    ],
    "inputProperties": {
      "dopplerToken": {
        "type": "string",
        "description": "A Doppler token, either a personal or service token. This can also be set via the DOPPLER_TOKEN environment variable.\n"
      },
      "host": {
        "type": "string",
        "description": "The Doppler API host (i.e. https://api.doppler.com). This can also be set via the DOPPLER_API_HOST environment variable.\n"
      },
      "verifyTls": {
        "type": "boolean",
        "description": "Whether or not to verify TLS. This can also be set via the DOPPLER_VERIFY_TLS environment variable.\n"
      }
    },
    "requiredInputs": [
      "dopplerToken"
    ]
  },
  "resources": {
    "doppler:index/branchConfig:BranchConfig": {
      "description": "Manage a Doppler config.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backendCiGithub = new doppler.BranchConfig(\"backend_ci_github\", {\n    project: \"backend\",\n    environment: \"ci\",\n    name: \"ci_github\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend_ci_github = doppler.BranchConfig(\"backend_ci_github\",\n    project=\"backend\",\n    environment=\"ci\",\n    name=\"ci_github\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backendCiGithub = new Doppler.BranchConfig(\"backend_ci_github\", new()\n    {\n        Project = \"backend\",\n        Environment = \"ci\",\n        Name = \"ci_github\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewBranchConfig(ctx, \"backend_ci_github\", &doppler.BranchConfigArgs{\n\t\t\tProject:     pulumi.String(\"backend\"),\n\t\t\tEnvironment: pulumi.String(\"ci\"),\n\t\t\tName:        pulumi.String(\"ci_github\"),\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.doppler.BranchConfig;\nimport com.pulumi.doppler.BranchConfigArgs;\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 backendCiGithub = new BranchConfig(\"backendCiGithub\", BranchConfigArgs.builder()\n            .project(\"backend\")\n            .environment(\"ci\")\n            .name(\"ci_github\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backendCiGithub:\n    type: doppler:BranchConfig\n    name: backend_ci_github\n    properties:\n      project: backend\n      environment: ci\n      name: ci_github\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import doppler:index/branchConfig:BranchConfig default <project-name>.<environment-slug>.<config-name>\n```\n\n",
      "properties": {
        "environment": {
          "type": "string",
          "description": "The name of the Doppler environment where the config is located\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the config is located\n"
        }
      },
      "type": "object",
      "required": [
        "environment",
        "name",
        "project"
      ],
      "inputProperties": {
        "environment": {
          "type": "string",
          "description": "The name of the Doppler environment where the config is located\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the config is located\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "environment",
        "project"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering BranchConfig resources.\n",
        "properties": {
          "environment": {
            "type": "string",
            "description": "The name of the Doppler environment where the config is located\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The name of the Doppler config\n"
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the config is located\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      },
      "aliases": [
        {
          "type": "doppler:index/config:Config"
        }
      ]
    },
    "doppler:index/environment:Environment": {
      "description": "Manage a Doppler environment.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backendCi = new doppler.Environment(\"backend_ci\", {\n    project: \"backend\",\n    slug: \"ci\",\n    name: \"Continuous Integration\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend_ci = doppler.Environment(\"backend_ci\",\n    project=\"backend\",\n    slug=\"ci\",\n    name=\"Continuous Integration\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backendCi = new Doppler.Environment(\"backend_ci\", new()\n    {\n        Project = \"backend\",\n        Slug = \"ci\",\n        Name = \"Continuous Integration\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewEnvironment(ctx, \"backend_ci\", &doppler.EnvironmentArgs{\n\t\t\tProject: pulumi.String(\"backend\"),\n\t\t\tSlug:    pulumi.String(\"ci\"),\n\t\t\tName:    pulumi.String(\"Continuous Integration\"),\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.doppler.Environment;\nimport com.pulumi.doppler.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 backendCi = new Environment(\"backendCi\", EnvironmentArgs.builder()\n            .project(\"backend\")\n            .slug(\"ci\")\n            .name(\"Continuous Integration\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backendCi:\n    type: doppler:Environment\n    name: backend_ci\n    properties:\n      project: backend\n      slug: ci\n      name: Continuous Integration\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import doppler:index/environment:Environment default <project-name>.<environment-slug>\n```\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the Doppler environment\n"
        },
        "personalConfigs": {
          "type": "boolean",
          "description": "Whether or not personal configs are enabled for the environment\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the environment is located\n"
        },
        "slug": {
          "type": "string",
          "description": "The slug of the Doppler environment\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "project",
        "slug"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name of the Doppler environment\n"
        },
        "personalConfigs": {
          "type": "boolean",
          "description": "Whether or not personal configs are enabled for the environment\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the environment is located\n",
          "willReplaceOnChanges": true
        },
        "slug": {
          "type": "string",
          "description": "The slug of the Doppler environment\n"
        }
      },
      "requiredInputs": [
        "name",
        "project",
        "slug"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Environment resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the Doppler environment\n"
          },
          "personalConfigs": {
            "type": "boolean",
            "description": "Whether or not personal configs are enabled for the environment\n"
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the environment is located\n",
            "willReplaceOnChanges": true
          },
          "slug": {
            "type": "string",
            "description": "The slug of the Doppler environment\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/group:Group": {
      "description": "Manage a Doppler group.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst engineering = new doppler.Group(\"engineering\", {name: \"engineering\"});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nengineering = doppler.Group(\"engineering\", name=\"engineering\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var engineering = new Doppler.Group(\"engineering\", new()\n    {\n        Name = \"engineering\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewGroup(ctx, \"engineering\", &doppler.GroupArgs{\n\t\t\tName: pulumi.String(\"engineering\"),\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.doppler.Group;\nimport com.pulumi.doppler.GroupArgs;\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 engineering = new Group(\"engineering\", GroupArgs.builder()\n            .name(\"engineering\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  engineering:\n    type: doppler:Group\n    properties:\n      name: engineering\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport using the group slug from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/groups/[group-slug]\n\n```sh\n$ pulumi import doppler:index/group:Group default <group-slug>\n```\n\n",
      "properties": {
        "defaultProjectRole": {
          "type": "string",
          "description": "The default project role assigned to the group when added to a Doppler project\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the group\n"
        },
        "slug": {
          "type": "string",
          "description": "The slug of the group\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "slug"
      ],
      "inputProperties": {
        "defaultProjectRole": {
          "type": "string",
          "description": "The default project role assigned to the group when added to a Doppler project\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the group\n"
        }
      },
      "requiredInputs": [
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "defaultProjectRole": {
            "type": "string",
            "description": "The default project role assigned to the group when added to a Doppler project\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the group\n"
          },
          "slug": {
            "type": "string",
            "description": "The slug of the group\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/groupMember:GroupMember": {
      "description": "Manage a Doppler user/group membership.\n\n**Note:** You can also exclusively manage all memberships in a group with a single resource.\nSee the `doppler.GroupMembers` resource for more information.\n\n## Import\n\nimport using the group slug from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/groups/[group-slug]\n\nand the user slug from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/users/[user-slug]\n\n```sh\n$ pulumi import doppler:index/groupMember:GroupMember default <group-slug>.workplace_user.<user-slug>\n```\n\n",
      "properties": {
        "groupSlug": {
          "type": "string",
          "description": "The slug of the Doppler group\n"
        },
        "userSlug": {
          "type": "string",
          "description": "The slug of the Doppler workplace user\n"
        }
      },
      "type": "object",
      "required": [
        "groupSlug",
        "userSlug"
      ],
      "inputProperties": {
        "groupSlug": {
          "type": "string",
          "description": "The slug of the Doppler group\n",
          "willReplaceOnChanges": true
        },
        "userSlug": {
          "type": "string",
          "description": "The slug of the Doppler workplace user\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "groupSlug",
        "userSlug"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering GroupMember resources.\n",
        "properties": {
          "groupSlug": {
            "type": "string",
            "description": "The slug of the Doppler group\n",
            "willReplaceOnChanges": true
          },
          "userSlug": {
            "type": "string",
            "description": "The slug of the Doppler workplace user\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:index/groupMembers:GroupMembers": {
      "description": "Manage a Doppler group's memberships.\n\n**Note:** The `doppler.GroupMembers` resource will clear/replace all existing memberships.\nMultiple `doppler.GroupMembers` resources or combinations of `doppler.GroupMembers` and `doppler.GroupMember` will produce inconsistent behavior.\nTo non-exclusively manage group memberships, use `doppler.GroupMember` only.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumi/doppler\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst engineering = new doppler.Group(\"engineering\", {name: \"engineering\"});\nconst nic = doppler.getUser({\n    email: \"nic@doppler.com\",\n});\nconst andre = doppler.getUser({\n    email: \"andre@doppler.com\",\n});\nconst engineeringGroupMembers = new doppler.GroupMembers(\"engineering\", {\n    groupSlug: engineering.slug,\n    userSlugs: [\n        nic.then(nic => nic.slug),\n        andre.then(andre => andre.slug),\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_doppler as doppler\nimport pulumiverse_doppler as doppler\n\nengineering = doppler.Group(\"engineering\", name=\"engineering\")\nnic = doppler.get_user(email=\"nic@doppler.com\")\nandre = doppler.get_user(email=\"andre@doppler.com\")\nengineering_group_members = doppler.GroupMembers(\"engineering\",\n    group_slug=engineering.slug,\n    user_slugs=[\n        nic.slug,\n        andre.slug,\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumi.Doppler;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var engineering = new Doppler.Group(\"engineering\", new()\n    {\n        Name = \"engineering\",\n    });\n\n    var nic = Doppler.GetUser.Invoke(new()\n    {\n        Email = \"nic@doppler.com\",\n    });\n\n    var andre = Doppler.GetUser.Invoke(new()\n    {\n        Email = \"andre@doppler.com\",\n    });\n\n    var engineeringGroupMembers = new Doppler.GroupMembers(\"engineering\", new()\n    {\n        GroupSlug = engineering.Slug,\n        UserSlugs = new[]\n        {\n            nic.Apply(getUserResult => getUserResult.Slug),\n            andre.Apply(getUserResult => getUserResult.Slug),\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tengineering, err := doppler.NewGroup(ctx, \"engineering\", &doppler.GroupArgs{\n\t\t\tName: pulumi.String(\"engineering\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tnic, err := doppler.GetUser(ctx, &doppler.GetUserArgs{\n\t\t\tEmail: \"nic@doppler.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tandre, err := doppler.GetUser(ctx, &doppler.GetUserArgs{\n\t\t\tEmail: \"andre@doppler.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = doppler.NewGroupMembers(ctx, \"engineering\", &doppler.GroupMembersArgs{\n\t\t\tGroupSlug: engineering.Slug,\n\t\t\tUserSlugs: pulumi.StringArray{\n\t\t\t\tpulumi.String(nic.Slug),\n\t\t\t\tpulumi.String(andre.Slug),\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.doppler.Group;\nimport com.pulumi.doppler.GroupArgs;\nimport com.pulumi.doppler.DopplerFunctions;\nimport com.pulumi.doppler.inputs.GetUserArgs;\nimport com.pulumi.doppler.GroupMembers;\nimport com.pulumi.doppler.GroupMembersArgs;\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 engineering = new Group(\"engineering\", GroupArgs.builder()\n            .name(\"engineering\")\n            .build());\n\n        final var nic = DopplerFunctions.getUser(GetUserArgs.builder()\n            .email(\"nic@doppler.com\")\n            .build());\n\n        final var andre = DopplerFunctions.getUser(GetUserArgs.builder()\n            .email(\"andre@doppler.com\")\n            .build());\n\n        var engineeringGroupMembers = new GroupMembers(\"engineeringGroupMembers\", GroupMembersArgs.builder()\n            .groupSlug(engineering.slug())\n            .userSlugs(            \n                nic.applyValue(getUserResult -> getUserResult.slug()),\n                andre.applyValue(getUserResult -> getUserResult.slug()))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  engineering:\n    type: doppler:Group\n    properties:\n      name: engineering\n  engineeringGroupMembers:\n    type: doppler:GroupMembers\n    name: engineering\n    properties:\n      groupSlug: ${engineering.slug}\n      userSlugs:\n        - ${nic.slug}\n        - ${andre.slug}\nvariables:\n  nic:\n    fn::invoke:\n      Function: doppler:getUser\n      Arguments:\n        email: nic@doppler.com\n  andre:\n    fn::invoke:\n      Function: doppler:getUser\n      Arguments:\n        email: andre@doppler.com\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport using the group slug from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/groups/[group-slug]\n\nand the user slugs from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/users/[user-slug]\n\n```sh\n$ pulumi import doppler:index/groupMembers:GroupMembers default <group-slug>\n```\n\n",
      "properties": {
        "groupSlug": {
          "type": "string",
          "description": "The slug of the group\n"
        },
        "userSlugs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of user slugs in the group\n"
        }
      },
      "type": "object",
      "required": [
        "groupSlug",
        "userSlugs"
      ],
      "inputProperties": {
        "groupSlug": {
          "type": "string",
          "description": "The slug of the group\n",
          "willReplaceOnChanges": true
        },
        "userSlugs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of user slugs in the group\n"
        }
      },
      "requiredInputs": [
        "groupSlug",
        "userSlugs"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering GroupMembers resources.\n",
        "properties": {
          "groupSlug": {
            "type": "string",
            "description": "The slug of the group\n",
            "willReplaceOnChanges": true
          },
          "userSlugs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of user slugs in the group\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/project:Project": {
      "description": "Manage a Doppler project.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backend = new doppler.Project(\"backend\", {\n    name: \"backend\",\n    description: \"The main backend project\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend = doppler.Project(\"backend\",\n    name=\"backend\",\n    description=\"The main backend project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backend = new Doppler.Project(\"backend\", new()\n    {\n        Name = \"backend\",\n        Description = \"The main backend project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewProject(ctx, \"backend\", &doppler.ProjectArgs{\n\t\t\tName:        pulumi.String(\"backend\"),\n\t\t\tDescription: pulumi.String(\"The main backend project\"),\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.doppler.Project;\nimport com.pulumi.doppler.ProjectArgs;\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 backend = new Project(\"backend\", ProjectArgs.builder()\n            .name(\"backend\")\n            .description(\"The main backend project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backend:\n    type: doppler:Project\n    properties:\n      name: backend\n      description: The main backend project\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import doppler:index/project:Project default <project-name>\n```\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "The description of the Doppler project\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        }
      },
      "type": "object",
      "required": [
        "name"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "The description of the Doppler project\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        }
      },
      "requiredInputs": [
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Project resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "The description of the Doppler project\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the Doppler project\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/projectRole:ProjectRole": {
      "description": "Manage a Doppler project_role.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst logViewer = new doppler.ProjectRole(\"log_viewer\", {\n    name: \"Log Viewer\",\n    permissions: [\"enclave_config_logs\"],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nlog_viewer = doppler.ProjectRole(\"log_viewer\",\n    name=\"Log Viewer\",\n    permissions=[\"enclave_config_logs\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var logViewer = new Doppler.ProjectRole(\"log_viewer\", new()\n    {\n        Name = \"Log Viewer\",\n        Permissions = new[]\n        {\n            \"enclave_config_logs\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewProjectRole(ctx, \"log_viewer\", &doppler.ProjectRoleArgs{\n\t\t\tName: pulumi.String(\"Log Viewer\"),\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"enclave_config_logs\"),\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.doppler.ProjectRole;\nimport com.pulumi.doppler.ProjectRoleArgs;\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 logViewer = new ProjectRole(\"logViewer\", ProjectRoleArgs.builder()\n            .name(\"Log Viewer\")\n            .permissions(\"enclave_config_logs\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  logViewer:\n    type: doppler:ProjectRole\n    name: log_viewer\n    properties:\n      name: Log Viewer\n      permissions:\n        - enclave_config_logs\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\n```sh\n$ pulumi import doppler:index/projectRole:ProjectRole default <project-role-identifier>\n```\n\n",
      "properties": {
        "identifier": {
          "type": "string",
          "description": "The role's unique identifier\n"
        },
        "isCustomRole": {
          "type": "boolean",
          "description": "Whether or not the role is custom (as opposed to Doppler built-in)\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler project role\n"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of [Doppler project permissions](https://docs.doppler.com/reference/project_roles-create)\n"
        }
      },
      "type": "object",
      "required": [
        "identifier",
        "isCustomRole",
        "name",
        "permissions"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name of the Doppler project role\n"
        },
        "permissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of [Doppler project permissions](https://docs.doppler.com/reference/project_roles-create)\n"
        }
      },
      "requiredInputs": [
        "name",
        "permissions"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ProjectRole resources.\n",
        "properties": {
          "identifier": {
            "type": "string",
            "description": "The role's unique identifier\n"
          },
          "isCustomRole": {
            "type": "boolean",
            "description": "Whether or not the role is custom (as opposed to Doppler built-in)\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the Doppler project role\n"
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of [Doppler project permissions](https://docs.doppler.com/reference/project_roles-create)\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/secret:Secret": {
      "description": "Manage a single Doppler secret in a config.\n\n## Import\n\n```sh\n$ pulumi import doppler:index/secret:Secret default <project-name>.<config-name>.<secret-name>\n```\n\n",
      "properties": {
        "computed": {
          "type": "string",
          "description": "The computed secret value, after resolving secret references\n",
          "secret": true
        },
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler secret\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "value": {
          "type": "string",
          "description": "The raw secret value\n",
          "secret": true
        },
        "visibility": {
          "type": "string",
          "description": "The visibility of the secret\n"
        }
      },
      "type": "object",
      "required": [
        "computed",
        "config",
        "name",
        "project",
        "value"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler secret\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "value": {
          "type": "string",
          "description": "The raw secret value\n",
          "secret": true
        },
        "visibility": {
          "type": "string",
          "description": "The visibility of the secret\n"
        }
      },
      "requiredInputs": [
        "config",
        "name",
        "project",
        "value"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Secret resources.\n",
        "properties": {
          "computed": {
            "type": "string",
            "description": "The computed secret value, after resolving secret references\n",
            "secret": true
          },
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The name of the Doppler secret\n"
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "value": {
            "type": "string",
            "description": "The raw secret value\n",
            "secret": true
          },
          "visibility": {
            "type": "string",
            "description": "The visibility of the secret\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/serviceAccount:ServiceAccount": {
      "description": "Manage a Doppler service account.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst ci = new doppler.ServiceAccount(\"ci\", {name: \"ci\"});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nci = doppler.ServiceAccount(\"ci\", name=\"ci\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var ci = new Doppler.ServiceAccount(\"ci\", new()\n    {\n        Name = \"ci\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewServiceAccount(ctx, \"ci\", &doppler.ServiceAccountArgs{\n\t\t\tName: pulumi.String(\"ci\"),\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.doppler.ServiceAccount;\nimport com.pulumi.doppler.ServiceAccountArgs;\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 ci = new ServiceAccount(\"ci\", ServiceAccountArgs.builder()\n            .name(\"ci\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ci:\n    type: doppler:ServiceAccount\n    properties:\n      name: ci\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nimport using the service account slug from the URL:\n\nhttps://dashboard.doppler.com/workplace/[workplace-slug]/team/service_accounts/[service-account-slug]\n\n```sh\n$ pulumi import doppler:index/serviceAccount:ServiceAccount default <service-account-slug>\n```\n\n",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the service account\n"
        },
        "slug": {
          "type": "string",
          "description": "The slug of the service account\n"
        },
        "workplacePermissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of the workplace permissions for the service account (or use `workplace_role`)\n"
        },
        "workplaceRole": {
          "type": "string",
          "description": "The identifier of the workplace role for the service account (or use `workplace_permissions`)\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "slug"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The name of the service account\n"
        },
        "workplacePermissions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of the workplace permissions for the service account (or use `workplace_role`)\n"
        },
        "workplaceRole": {
          "type": "string",
          "description": "The identifier of the workplace role for the service account (or use `workplace_permissions`)\n"
        }
      },
      "requiredInputs": [
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceAccount resources.\n",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the service account\n"
          },
          "slug": {
            "type": "string",
            "description": "The slug of the service account\n"
          },
          "workplacePermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A list of the workplace permissions for the service account (or use `workplace_role`)\n"
          },
          "workplaceRole": {
            "type": "string",
            "description": "The identifier of the workplace role for the service account (or use `workplace_permissions`)\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/serviceAccountToken:ServiceAccountToken": {
      "description": "Manage a Doppler service account token.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  builderCiToken:\n    type: doppler:ServiceAccountToken\n    name: builder_ci_token\n    properties:\n      serviceAccount: builder\n      name: Builder CI Token\n      expiresAt: 2024-05-30T11:00:00.000Z\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "apiKey": {
          "type": "string",
          "description": "The api key used to authenticate the service account\n",
          "secret": true
        },
        "createdAt": {
          "type": "string",
          "description": "The datetime that the token was created.\n"
        },
        "expiresAt": {
          "type": "string",
          "description": "The datetime at which the API token should expire. If not provided, the API token will remain valid indefinitely unless manually revoked\n"
        },
        "name": {
          "type": "string",
          "description": "The display name of the API token\n"
        },
        "serviceAccountSlug": {
          "type": "string",
          "description": "Slug of the service account\n"
        },
        "slug": {
          "type": "string",
          "description": "Slug of the service account token\n"
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "createdAt",
        "name",
        "serviceAccountSlug",
        "slug"
      ],
      "inputProperties": {
        "expiresAt": {
          "type": "string",
          "description": "The datetime at which the API token should expire. If not provided, the API token will remain valid indefinitely unless manually revoked\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The display name of the API token\n",
          "willReplaceOnChanges": true
        },
        "serviceAccountSlug": {
          "type": "string",
          "description": "Slug of the service account\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "name",
        "serviceAccountSlug"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceAccountToken resources.\n",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "The api key used to authenticate the service account\n",
            "secret": true
          },
          "createdAt": {
            "type": "string",
            "description": "The datetime that the token was created.\n"
          },
          "expiresAt": {
            "type": "string",
            "description": "The datetime at which the API token should expire. If not provided, the API token will remain valid indefinitely unless manually revoked\n",
            "willReplaceOnChanges": true
          },
          "name": {
            "type": "string",
            "description": "The display name of the API token\n",
            "willReplaceOnChanges": true
          },
          "serviceAccountSlug": {
            "type": "string",
            "description": "Slug of the service account\n",
            "willReplaceOnChanges": true
          },
          "slug": {
            "type": "string",
            "description": "Slug of the service account token\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:index/serviceToken:ServiceToken": {
      "description": "Manage a Doppler service token.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backendCiToken = new doppler.ServiceToken(\"backend_ci_token\", {\n    project: \"backend\",\n    config: \"ci\",\n    name: \"Builder Token\",\n    access: \"read\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend_ci_token = doppler.ServiceToken(\"backend_ci_token\",\n    project=\"backend\",\n    config=\"ci\",\n    name=\"Builder Token\",\n    access=\"read\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backendCiToken = new Doppler.ServiceToken(\"backend_ci_token\", new()\n    {\n        Project = \"backend\",\n        Config = \"ci\",\n        Name = \"Builder Token\",\n        Access = \"read\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.NewServiceToken(ctx, \"backend_ci_token\", &doppler.ServiceTokenArgs{\n\t\t\tProject: pulumi.String(\"backend\"),\n\t\t\tConfig:  pulumi.String(\"ci\"),\n\t\t\tName:    pulumi.String(\"Builder Token\"),\n\t\t\tAccess:  pulumi.String(\"read\"),\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.doppler.ServiceToken;\nimport com.pulumi.doppler.ServiceTokenArgs;\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 backendCiToken = new ServiceToken(\"backendCiToken\", ServiceTokenArgs.builder()\n            .project(\"backend\")\n            .config(\"ci\")\n            .name(\"Builder Token\")\n            .access(\"read\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backendCiToken:\n    type: doppler:ServiceToken\n    name: backend_ci_token\n    properties:\n      project: backend\n      config: ci\n      name: Builder Token\n      access: read\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "access": {
          "type": "string",
          "description": "The access level (read or read/write)\n"
        },
        "config": {
          "type": "string",
          "description": "The name of the Doppler config where the service token is located\n"
        },
        "key": {
          "type": "string",
          "description": "The key for the Doppler service token\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler service token\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the service token is located\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "key",
        "name",
        "project"
      ],
      "inputProperties": {
        "access": {
          "type": "string",
          "description": "The access level (read or read/write)\n",
          "willReplaceOnChanges": true
        },
        "config": {
          "type": "string",
          "description": "The name of the Doppler config where the service token is located\n",
          "willReplaceOnChanges": true
        },
        "name": {
          "type": "string",
          "description": "The name of the Doppler service token\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the service token is located\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "name",
        "project"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceToken resources.\n",
        "properties": {
          "access": {
            "type": "string",
            "description": "The access level (read or read/write)\n",
            "willReplaceOnChanges": true
          },
          "config": {
            "type": "string",
            "description": "The name of the Doppler config where the service token is located\n",
            "willReplaceOnChanges": true
          },
          "key": {
            "type": "string",
            "description": "The key for the Doppler service token\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the Doppler service token\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the service token is located\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:index/webhook:Webhook": {
      "properties": {
        "authentication": {
          "$ref": "#/types/doppler:index%2FWebhookAuthentication:WebhookAuthentication",
          "description": "Authentication method used by the webhook\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the webhook is enabled or disabled.  Default to true.\n"
        },
        "enabledConfigs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Configs this webhook will trigger for\n"
        },
        "payload": {
          "type": "string",
          "description": "The webhook's payload as a JSON string.  Leave empty to use the default webhook payload\n",
          "secret": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the webhook is located\n"
        },
        "secret": {
          "type": "string",
          "description": "Secret used for request signing\n",
          "secret": true
        },
        "slug": {
          "type": "string",
          "description": "The slug of the Webhook\n"
        },
        "url": {
          "type": "string",
          "description": "The URL of the webhook endpoint\n"
        }
      },
      "type": "object",
      "required": [
        "project",
        "slug",
        "url"
      ],
      "inputProperties": {
        "authentication": {
          "$ref": "#/types/doppler:index%2FWebhookAuthentication:WebhookAuthentication",
          "description": "Authentication method used by the webhook\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether the webhook is enabled or disabled.  Default to true.\n"
        },
        "enabledConfigs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Configs this webhook will trigger for\n"
        },
        "payload": {
          "type": "string",
          "description": "The webhook's payload as a JSON string.  Leave empty to use the default webhook payload\n",
          "secret": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the webhook is located\n",
          "willReplaceOnChanges": true
        },
        "secret": {
          "type": "string",
          "description": "Secret used for request signing\n",
          "secret": true
        },
        "url": {
          "type": "string",
          "description": "The URL of the webhook endpoint\n"
        }
      },
      "requiredInputs": [
        "project",
        "url"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Webhook resources.\n",
        "properties": {
          "authentication": {
            "$ref": "#/types/doppler:index%2FWebhookAuthentication:WebhookAuthentication",
            "description": "Authentication method used by the webhook\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the webhook is enabled or disabled.  Default to true.\n"
          },
          "enabledConfigs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Configs this webhook will trigger for\n"
          },
          "payload": {
            "type": "string",
            "description": "The webhook's payload as a JSON string.  Leave empty to use the default webhook payload\n",
            "secret": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the webhook is located\n",
            "willReplaceOnChanges": true
          },
          "secret": {
            "type": "string",
            "description": "Secret used for request signing\n",
            "secret": true
          },
          "slug": {
            "type": "string",
            "description": "The slug of the Webhook\n"
          },
          "url": {
            "type": "string",
            "description": "The URL of the webhook endpoint\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:integration/awsParameterStore:AwsParameterStore": {
      "description": "Manage an AWS Parameter Store Doppler integration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst dopplerParameterStore = new aws.iam.Role(\"doppler_parameter_store\", {\n    name: \"doppler_parameter_store\",\n    assumeRolePolicy: JSON.stringify({\n        Version: \"2012-10-17\",\n        Statement: [{\n            Effect: \"Allow\",\n            Action: \"sts:AssumeRole\",\n            Principal: {\n                AWS: \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            Condition: {\n                StringEquals: {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inlinePolicies: [{\n        name: \"doppler_secret_manager\",\n        policy: JSON.stringify({\n            Version: \"2012-10-17\",\n            Statement: [{\n                Action: [\n                    \"ssm:PutParameter\",\n                    \"ssm:LabelParameterVersion\",\n                    \"ssm:DeleteParameter\",\n                    \"ssm:RemoveTagsFromResource\",\n                    \"ssm:GetParameterHistory\",\n                    \"ssm:AddTagsToResource\",\n                    \"ssm:GetParametersByPath\",\n                    \"ssm:GetParameters\",\n                    \"ssm:GetParameter\",\n                    \"ssm:DeleteParameters\",\n                ],\n                Effect: \"Allow\",\n                Resource: \"*\",\n            }],\n        }),\n    }],\n});\nconst prod = new doppler.integration.AwsParameterStore(\"prod\", {\n    name: \"Production\",\n    assumeRoleArn: dopplerParameterStore.arn,\n});\nconst backendProd = new doppler.secretssync.AwsParameterStore(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    region: \"us-east-1\",\n    path: \"/backend/\",\n    secureString: true,\n    tags: {\n        myTag: \"enabled\",\n    },\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumiverse_doppler as doppler\n\ndoppler_parameter_store = aws.iam.Role(\"doppler_parameter_store\",\n    name=\"doppler_parameter_store\",\n    assume_role_policy=json.dumps({\n        \"Version\": \"2012-10-17\",\n        \"Statement\": [{\n            \"Effect\": \"Allow\",\n            \"Action\": \"sts:AssumeRole\",\n            \"Principal\": {\n                \"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            \"Condition\": {\n                \"StringEquals\": {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inline_policies=[{\n        \"name\": \"doppler_secret_manager\",\n        \"policy\": json.dumps({\n            \"version\": \"2012-10-17\",\n            \"statement\": [{\n                \"action\": [\n                    \"ssm:PutParameter\",\n                    \"ssm:LabelParameterVersion\",\n                    \"ssm:DeleteParameter\",\n                    \"ssm:RemoveTagsFromResource\",\n                    \"ssm:GetParameterHistory\",\n                    \"ssm:AddTagsToResource\",\n                    \"ssm:GetParametersByPath\",\n                    \"ssm:GetParameters\",\n                    \"ssm:GetParameter\",\n                    \"ssm:DeleteParameters\",\n                ],\n                \"effect\": \"Allow\",\n                \"resource\": \"*\",\n            }],\n        }),\n    }])\nprod = doppler.integration.AwsParameterStore(\"prod\",\n    name=\"Production\",\n    assume_role_arn=doppler_parameter_store.arn)\nbackend_prod = doppler.secrets_sync.AwsParameterStore(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    region=\"us-east-1\",\n    path=\"/backend/\",\n    secure_string=True,\n    tags={\n        \"myTag\": \"enabled\",\n    },\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var dopplerParameterStore = new Aws.Iam.Role(\"doppler_parameter_store\", new()\n    {\n        Name = \"doppler_parameter_store\",\n        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"Version\"] = \"2012-10-17\",\n            [\"Statement\"] = new[]\n            {\n                new Dictionary<string, object?>\n                {\n                    [\"Effect\"] = \"Allow\",\n                    [\"Action\"] = \"sts:AssumeRole\",\n                    [\"Principal\"] = new Dictionary<string, object?>\n                    {\n                        [\"AWS\"] = \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n                    },\n                    [\"Condition\"] = new Dictionary<string, object?>\n                    {\n                        [\"StringEquals\"] = new Dictionary<string, object?>\n                        {\n                            [\"sts:ExternalId\"] = \"<YOUR_WORKPLACE_SLUG>\",\n                        },\n                    },\n                },\n            },\n        }),\n        InlinePolicies = new[]\n        {\n            new Aws.Iam.Inputs.RoleInlinePolicyArgs\n            {\n                Name = \"doppler_secret_manager\",\n                Policy = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"Version\"] = \"2012-10-17\",\n                    [\"Statement\"] = new[]\n                    {\n                        new Dictionary<string, object?>\n                        {\n                            [\"Action\"] = new[]\n                            {\n                                \"ssm:PutParameter\",\n                                \"ssm:LabelParameterVersion\",\n                                \"ssm:DeleteParameter\",\n                                \"ssm:RemoveTagsFromResource\",\n                                \"ssm:GetParameterHistory\",\n                                \"ssm:AddTagsToResource\",\n                                \"ssm:GetParametersByPath\",\n                                \"ssm:GetParameters\",\n                                \"ssm:GetParameter\",\n                                \"ssm:DeleteParameters\",\n                            },\n                            [\"Effect\"] = \"Allow\",\n                            [\"Resource\"] = \"*\",\n                        },\n                    },\n                }),\n            },\n        },\n    });\n\n    var prod = new Doppler.Integration.AwsParameterStore(\"prod\", new()\n    {\n        Name = \"Production\",\n        AssumeRoleArn = dopplerParameterStore.Arn,\n    });\n\n    var backendProd = new Doppler.SecretsSync.AwsParameterStore(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        Region = \"us-east-1\",\n        Path = \"/backend/\",\n        SecureString = true,\n        Tags = \n        {\n            { \"myTag\", \"enabled\" },\n        },\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\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\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ssm:PutParameter\",\n\t\t\t\t\t\t\"ssm:LabelParameterVersion\",\n\t\t\t\t\t\t\"ssm:DeleteParameter\",\n\t\t\t\t\t\t\"ssm:RemoveTagsFromResource\",\n\t\t\t\t\t\t\"ssm:GetParameterHistory\",\n\t\t\t\t\t\t\"ssm:AddTagsToResource\",\n\t\t\t\t\t\t\"ssm:GetParametersByPath\",\n\t\t\t\t\t\t\"ssm:GetParameters\",\n\t\t\t\t\t\t\"ssm:GetParameter\",\n\t\t\t\t\t\t\"ssm:DeleteParameters\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\":   \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdopplerParameterStore, err := iam.NewRole(ctx, \"doppler_parameter_store\", &iam.RoleArgs{\n\t\t\tName:             pulumi.String(\"doppler_parameter_store\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t&iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName:   pulumi.String(\"doppler_secret_manager\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\tprod, err := integration.NewAwsParameterStore(ctx, \"prod\", &integration.AwsParameterStoreArgs{\n\t\t\tName:          pulumi.String(\"Production\"),\n\t\t\tAssumeRoleArn: dopplerParameterStore.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewAwsParameterStore(ctx, \"backend_prod\", &secretsSync.AwsParameterStoreArgs{\n\t\t\tIntegration:  prod.ID(),\n\t\t\tProject:      pulumi.String(\"backend\"),\n\t\t\tConfig:       pulumi.String(\"prd\"),\n\t\t\tRegion:       pulumi.String(\"us-east-1\"),\n\t\t\tPath:         pulumi.String(\"/backend/\"),\n\t\t\tSecureString: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"myTag\": pulumi.String(\"enabled\"),\n\t\t\t},\n\t\t\tDeleteBehavior: pulumi.String(\"leave_in_target\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.doppler.integration.AwsParameterStore;\nimport com.pulumi.doppler.integration.AwsParameterStoreArgs;\nimport com.pulumi.doppler.secretsSync.AwsParameterStore;\nimport com.pulumi.doppler.secretsSync.AwsParameterStoreArgs;\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 dopplerParameterStore = new Role(\"dopplerParameterStore\", RoleArgs.builder()\n            .name(\"doppler_parameter_store\")\n            .assumeRolePolicy(serializeJson(\n                jsonObject(\n                    jsonProperty(\"Version\", \"2012-10-17\"),\n                    jsonProperty(\"Statement\", jsonArray(jsonObject(\n                        jsonProperty(\"Effect\", \"Allow\"),\n                        jsonProperty(\"Action\", \"sts:AssumeRole\"),\n                        jsonProperty(\"Principal\", jsonObject(\n                            jsonProperty(\"AWS\", \"arn:aws:iam::299900769157:user/doppler-integration-operator\")\n                        )),\n                        jsonProperty(\"Condition\", jsonObject(\n                            jsonProperty(\"StringEquals\", jsonObject(\n                                jsonProperty(\"sts:ExternalId\", \"<YOUR_WORKPLACE_SLUG>\")\n                            ))\n                        ))\n                    )))\n                )))\n            .inlinePolicies(RoleInlinePolicyArgs.builder()\n                .name(\"doppler_secret_manager\")\n                .policy(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"Version\", \"2012-10-17\"),\n                        jsonProperty(\"Statement\", jsonArray(jsonObject(\n                            jsonProperty(\"Action\", jsonArray(\n                                \"ssm:PutParameter\", \n                                \"ssm:LabelParameterVersion\", \n                                \"ssm:DeleteParameter\", \n                                \"ssm:RemoveTagsFromResource\", \n                                \"ssm:GetParameterHistory\", \n                                \"ssm:AddTagsToResource\", \n                                \"ssm:GetParametersByPath\", \n                                \"ssm:GetParameters\", \n                                \"ssm:GetParameter\", \n                                \"ssm:DeleteParameters\"\n                            )),\n                            jsonProperty(\"Effect\", \"Allow\"),\n                            jsonProperty(\"Resource\", \"*\")\n                        )))\n                    )))\n                .build())\n            .build());\n\n        var prod = new AwsParameterStore(\"prod\", AwsParameterStoreArgs.builder()\n            .name(\"Production\")\n            .assumeRoleArn(dopplerParameterStore.arn())\n            .build());\n\n        var backendProd = new AwsParameterStore(\"backendProd\", AwsParameterStoreArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .region(\"us-east-1\")\n            .path(\"/backend/\")\n            .secureString(true)\n            .tags(Map.of(\"myTag\", \"enabled\"))\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dopplerParameterStore:\n    type: aws:iam:Role\n    name: doppler_parameter_store\n    properties:\n      name: doppler_parameter_store\n      assumeRolePolicy:\n        fn::toJSON:\n          Version: 2012-10-17\n          Statement:\n            - Effect: Allow\n              Action: sts:AssumeRole\n              Principal:\n                AWS: arn:aws:iam::299900769157:user/doppler-integration-operator\n              Condition:\n                StringEquals:\n                  sts:ExternalId: <YOUR_WORKPLACE_SLUG>\n      inlinePolicies:\n        - name: doppler_secret_manager\n          policy:\n            fn::toJSON:\n              Version: 2012-10-17\n              Statement:\n                - Action:\n                    - ssm:PutParameter\n                    - ssm:LabelParameterVersion\n                    - ssm:DeleteParameter\n                    - ssm:RemoveTagsFromResource\n                    - ssm:GetParameterHistory\n                    - ssm:AddTagsToResource\n                    - ssm:GetParametersByPath\n                    - ssm:GetParameters\n                    - ssm:GetParameter\n                    - ssm:DeleteParameters\n                  Effect: Allow\n                  Resource: '*'\n  prod:\n    type: doppler:integration:AwsParameterStore\n    properties:\n      name: Production\n      assumeRoleArn: ${dopplerParameterStore.arn}\n  backendProd:\n    type: doppler:secretsSync:AwsParameterStore\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      region: us-east-1\n      path: /backend/\n      secureString: true\n      tags:\n        myTag: enabled\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "assumeRoleArn": {
          "type": "string",
          "description": "The ARN of the AWS role for Doppler to assume\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n"
        }
      },
      "type": "object",
      "required": [
        "assumeRoleArn",
        "name"
      ],
      "inputProperties": {
        "assumeRoleArn": {
          "type": "string",
          "description": "The ARN of the AWS role for Doppler to assume\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "assumeRoleArn",
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsParameterStore resources.\n",
        "properties": {
          "assumeRoleArn": {
            "type": "string",
            "description": "The ARN of the AWS role for Doppler to assume\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the integration\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:integration/awsSecretsManager:AwsSecretsManager": {
      "description": "Manage an AWS Secrets Manager Doppler integration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst dopplerSecretsManager = new aws.iam.Role(\"doppler_secrets_manager\", {\n    name: \"doppler_secrets_manager\",\n    assumeRolePolicy: JSON.stringify({\n        Version: \"2012-10-17\",\n        Statement: [{\n            Effect: \"Allow\",\n            Action: \"sts:AssumeRole\",\n            Principal: {\n                AWS: \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            Condition: {\n                StringEquals: {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inlinePolicies: [{\n        name: \"doppler_secret_manager\",\n        policy: JSON.stringify({\n            Version: \"2012-10-17\",\n            Statement: [{\n                Action: [\n                    \"secretsmanager:GetSecretValue\",\n                    \"secretsmanager:DescribeSecret\",\n                    \"secretsmanager:PutSecretValue\",\n                    \"secretsmanager:CreateSecret\",\n                    \"secretsmanager:DeleteSecret\",\n                    \"secretsmanager:TagResource\",\n                    \"secretsmanager:UpdateSecret\",\n                ],\n                Effect: \"Allow\",\n                Resource: \"*\",\n            }],\n        }),\n    }],\n});\nconst prod = new doppler.integration.AwsSecretsManager(\"prod\", {\n    name: \"Production\",\n    assumeRoleArn: dopplerSecretsManager.arn,\n});\nconst backendProd = new doppler.secretssync.AwsSecretsManager(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    region: \"us-east-1\",\n    path: \"/backend/\",\n    tags: {\n        myTag: \"enabled\",\n    },\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumiverse_doppler as doppler\n\ndoppler_secrets_manager = aws.iam.Role(\"doppler_secrets_manager\",\n    name=\"doppler_secrets_manager\",\n    assume_role_policy=json.dumps({\n        \"Version\": \"2012-10-17\",\n        \"Statement\": [{\n            \"Effect\": \"Allow\",\n            \"Action\": \"sts:AssumeRole\",\n            \"Principal\": {\n                \"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            \"Condition\": {\n                \"StringEquals\": {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inline_policies=[{\n        \"name\": \"doppler_secret_manager\",\n        \"policy\": json.dumps({\n            \"version\": \"2012-10-17\",\n            \"statement\": [{\n                \"action\": [\n                    \"secretsmanager:GetSecretValue\",\n                    \"secretsmanager:DescribeSecret\",\n                    \"secretsmanager:PutSecretValue\",\n                    \"secretsmanager:CreateSecret\",\n                    \"secretsmanager:DeleteSecret\",\n                    \"secretsmanager:TagResource\",\n                    \"secretsmanager:UpdateSecret\",\n                ],\n                \"effect\": \"Allow\",\n                \"resource\": \"*\",\n            }],\n        }),\n    }])\nprod = doppler.integration.AwsSecretsManager(\"prod\",\n    name=\"Production\",\n    assume_role_arn=doppler_secrets_manager.arn)\nbackend_prod = doppler.secrets_sync.AwsSecretsManager(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    region=\"us-east-1\",\n    path=\"/backend/\",\n    tags={\n        \"myTag\": \"enabled\",\n    },\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var dopplerSecretsManager = new Aws.Iam.Role(\"doppler_secrets_manager\", new()\n    {\n        Name = \"doppler_secrets_manager\",\n        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"Version\"] = \"2012-10-17\",\n            [\"Statement\"] = new[]\n            {\n                new Dictionary<string, object?>\n                {\n                    [\"Effect\"] = \"Allow\",\n                    [\"Action\"] = \"sts:AssumeRole\",\n                    [\"Principal\"] = new Dictionary<string, object?>\n                    {\n                        [\"AWS\"] = \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n                    },\n                    [\"Condition\"] = new Dictionary<string, object?>\n                    {\n                        [\"StringEquals\"] = new Dictionary<string, object?>\n                        {\n                            [\"sts:ExternalId\"] = \"<YOUR_WORKPLACE_SLUG>\",\n                        },\n                    },\n                },\n            },\n        }),\n        InlinePolicies = new[]\n        {\n            new Aws.Iam.Inputs.RoleInlinePolicyArgs\n            {\n                Name = \"doppler_secret_manager\",\n                Policy = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"Version\"] = \"2012-10-17\",\n                    [\"Statement\"] = new[]\n                    {\n                        new Dictionary<string, object?>\n                        {\n                            [\"Action\"] = new[]\n                            {\n                                \"secretsmanager:GetSecretValue\",\n                                \"secretsmanager:DescribeSecret\",\n                                \"secretsmanager:PutSecretValue\",\n                                \"secretsmanager:CreateSecret\",\n                                \"secretsmanager:DeleteSecret\",\n                                \"secretsmanager:TagResource\",\n                                \"secretsmanager:UpdateSecret\",\n                            },\n                            [\"Effect\"] = \"Allow\",\n                            [\"Resource\"] = \"*\",\n                        },\n                    },\n                }),\n            },\n        },\n    });\n\n    var prod = new Doppler.Integration.AwsSecretsManager(\"prod\", new()\n    {\n        Name = \"Production\",\n        AssumeRoleArn = dopplerSecretsManager.Arn,\n    });\n\n    var backendProd = new Doppler.SecretsSync.AwsSecretsManager(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        Region = \"us-east-1\",\n        Path = \"/backend/\",\n        Tags = \n        {\n            { \"myTag\", \"enabled\" },\n        },\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\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\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t\t\"secretsmanager:DescribeSecret\",\n\t\t\t\t\t\t\"secretsmanager:PutSecretValue\",\n\t\t\t\t\t\t\"secretsmanager:CreateSecret\",\n\t\t\t\t\t\t\"secretsmanager:DeleteSecret\",\n\t\t\t\t\t\t\"secretsmanager:TagResource\",\n\t\t\t\t\t\t\"secretsmanager:UpdateSecret\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\":   \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdopplerSecretsManager, err := iam.NewRole(ctx, \"doppler_secrets_manager\", &iam.RoleArgs{\n\t\t\tName:             pulumi.String(\"doppler_secrets_manager\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t&iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName:   pulumi.String(\"doppler_secret_manager\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\tprod, err := integration.NewAwsSecretsManager(ctx, \"prod\", &integration.AwsSecretsManagerArgs{\n\t\t\tName:          pulumi.String(\"Production\"),\n\t\t\tAssumeRoleArn: dopplerSecretsManager.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewAwsSecretsManager(ctx, \"backend_prod\", &secretsSync.AwsSecretsManagerArgs{\n\t\t\tIntegration: prod.ID(),\n\t\t\tProject:     pulumi.String(\"backend\"),\n\t\t\tConfig:      pulumi.String(\"prd\"),\n\t\t\tRegion:      pulumi.String(\"us-east-1\"),\n\t\t\tPath:        pulumi.String(\"/backend/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"myTag\": pulumi.String(\"enabled\"),\n\t\t\t},\n\t\t\tDeleteBehavior: pulumi.String(\"leave_in_target\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.doppler.integration.AwsSecretsManager;\nimport com.pulumi.doppler.integration.AwsSecretsManagerArgs;\nimport com.pulumi.doppler.secretsSync.AwsSecretsManager;\nimport com.pulumi.doppler.secretsSync.AwsSecretsManagerArgs;\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 dopplerSecretsManager = new Role(\"dopplerSecretsManager\", RoleArgs.builder()\n            .name(\"doppler_secrets_manager\")\n            .assumeRolePolicy(serializeJson(\n                jsonObject(\n                    jsonProperty(\"Version\", \"2012-10-17\"),\n                    jsonProperty(\"Statement\", jsonArray(jsonObject(\n                        jsonProperty(\"Effect\", \"Allow\"),\n                        jsonProperty(\"Action\", \"sts:AssumeRole\"),\n                        jsonProperty(\"Principal\", jsonObject(\n                            jsonProperty(\"AWS\", \"arn:aws:iam::299900769157:user/doppler-integration-operator\")\n                        )),\n                        jsonProperty(\"Condition\", jsonObject(\n                            jsonProperty(\"StringEquals\", jsonObject(\n                                jsonProperty(\"sts:ExternalId\", \"<YOUR_WORKPLACE_SLUG>\")\n                            ))\n                        ))\n                    )))\n                )))\n            .inlinePolicies(RoleInlinePolicyArgs.builder()\n                .name(\"doppler_secret_manager\")\n                .policy(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"Version\", \"2012-10-17\"),\n                        jsonProperty(\"Statement\", jsonArray(jsonObject(\n                            jsonProperty(\"Action\", jsonArray(\n                                \"secretsmanager:GetSecretValue\", \n                                \"secretsmanager:DescribeSecret\", \n                                \"secretsmanager:PutSecretValue\", \n                                \"secretsmanager:CreateSecret\", \n                                \"secretsmanager:DeleteSecret\", \n                                \"secretsmanager:TagResource\", \n                                \"secretsmanager:UpdateSecret\"\n                            )),\n                            jsonProperty(\"Effect\", \"Allow\"),\n                            jsonProperty(\"Resource\", \"*\")\n                        )))\n                    )))\n                .build())\n            .build());\n\n        var prod = new AwsSecretsManager(\"prod\", AwsSecretsManagerArgs.builder()\n            .name(\"Production\")\n            .assumeRoleArn(dopplerSecretsManager.arn())\n            .build());\n\n        var backendProd = new AwsSecretsManager(\"backendProd\", AwsSecretsManagerArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .region(\"us-east-1\")\n            .path(\"/backend/\")\n            .tags(Map.of(\"myTag\", \"enabled\"))\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dopplerSecretsManager:\n    type: aws:iam:Role\n    name: doppler_secrets_manager\n    properties:\n      name: doppler_secrets_manager\n      assumeRolePolicy:\n        fn::toJSON:\n          Version: 2012-10-17\n          Statement:\n            - Effect: Allow\n              Action: sts:AssumeRole\n              Principal:\n                AWS: arn:aws:iam::299900769157:user/doppler-integration-operator\n              Condition:\n                StringEquals:\n                  sts:ExternalId: <YOUR_WORKPLACE_SLUG>\n      inlinePolicies:\n        - name: doppler_secret_manager\n          policy:\n            fn::toJSON:\n              Version: 2012-10-17\n              Statement:\n                - Action:\n                    - secretsmanager:GetSecretValue\n                    - secretsmanager:DescribeSecret\n                    - secretsmanager:PutSecretValue\n                    - secretsmanager:CreateSecret\n                    - secretsmanager:DeleteSecret\n                    - secretsmanager:TagResource\n                    - secretsmanager:UpdateSecret\n                  Effect: Allow\n                  Resource: '*'\n  prod:\n    type: doppler:integration:AwsSecretsManager\n    properties:\n      name: Production\n      assumeRoleArn: ${dopplerSecretsManager.arn}\n  backendProd:\n    type: doppler:secretsSync:AwsSecretsManager\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      region: us-east-1\n      path: /backend/\n      tags:\n        myTag: enabled\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "assumeRoleArn": {
          "type": "string",
          "description": "The ARN of the AWS role for Doppler to assume\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n"
        }
      },
      "type": "object",
      "required": [
        "assumeRoleArn",
        "name"
      ],
      "inputProperties": {
        "assumeRoleArn": {
          "type": "string",
          "description": "The ARN of the AWS role for Doppler to assume\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "assumeRoleArn",
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsSecretsManager resources.\n",
        "properties": {
          "assumeRoleArn": {
            "type": "string",
            "description": "The ARN of the AWS role for Doppler to assume\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the integration\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:integration/circleci:Circleci": {
      "description": "Manage a CircleCI Doppler integration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst prod = new doppler.integration.Circleci(\"prod\", {\n    name: \"Production\",\n    apiToken: \"my_api_token\",\n});\nconst backendProd = new doppler.secretssync.Circleci(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    resourceType: \"project\",\n    resourceId: \"github/myorg/myproject\",\n    organizationSlug: \"myorg\",\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nprod = doppler.integration.Circleci(\"prod\",\n    name=\"Production\",\n    api_token=\"my_api_token\")\nbackend_prod = doppler.secrets_sync.Circleci(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    resource_type=\"project\",\n    resource_id=\"github/myorg/myproject\",\n    organization_slug=\"myorg\",\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var prod = new Doppler.Integration.Circleci(\"prod\", new()\n    {\n        Name = \"Production\",\n        ApiToken = \"my_api_token\",\n    });\n\n    var backendProd = new Doppler.SecretsSync.Circleci(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        ResourceType = \"project\",\n        ResourceId = \"github/myorg/myproject\",\n        OrganizationSlug = \"myorg\",\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := integration.NewCircleci(ctx, \"prod\", &integration.CircleciArgs{\n\t\t\tName:     pulumi.String(\"Production\"),\n\t\t\tApiToken: pulumi.String(\"my_api_token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewCircleci(ctx, \"backend_prod\", &secretsSync.CircleciArgs{\n\t\t\tIntegration:      prod.ID(),\n\t\t\tProject:          pulumi.String(\"backend\"),\n\t\t\tConfig:           pulumi.String(\"prd\"),\n\t\t\tResourceType:     pulumi.String(\"project\"),\n\t\t\tResourceId:       pulumi.String(\"github/myorg/myproject\"),\n\t\t\tOrganizationSlug: pulumi.String(\"myorg\"),\n\t\t\tDeleteBehavior:   pulumi.String(\"leave_in_target\"),\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.doppler.integration.Circleci;\nimport com.pulumi.doppler.integration.CircleciArgs;\nimport com.pulumi.doppler.secretsSync.Circleci;\nimport com.pulumi.doppler.secretsSync.CircleciArgs;\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 prod = new Circleci(\"prod\", CircleciArgs.builder()\n            .name(\"Production\")\n            .apiToken(\"my_api_token\")\n            .build());\n\n        var backendProd = new Circleci(\"backendProd\", CircleciArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .resourceType(\"project\")\n            .resourceId(\"github/myorg/myproject\")\n            .organizationSlug(\"myorg\")\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  prod:\n    type: doppler:integration:Circleci\n    properties:\n      name: Production\n      apiToken: my_api_token\n  backendProd:\n    type: doppler:secretsSync:Circleci\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      resourceType: project\n      resourceId: github/myorg/myproject\n      organizationSlug: myorg\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "apiToken": {
          "type": "string",
          "description": "A CircleCI API token. See https://docs.doppler.com/docs/circleci for details.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n"
        }
      },
      "type": "object",
      "required": [
        "apiToken",
        "name"
      ],
      "inputProperties": {
        "apiToken": {
          "type": "string",
          "description": "A CircleCI API token. See https://docs.doppler.com/docs/circleci for details.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "apiToken",
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Circleci resources.\n",
        "properties": {
          "apiToken": {
            "type": "string",
            "description": "A CircleCI API token. See https://docs.doppler.com/docs/circleci for details.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the integration\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:integration/flyio:Flyio": {
      "description": "Manage a Fly.io Doppler integration.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst prod = new doppler.integration.Flyio(\"prod\", {\n    name: \"TF Fly.io\",\n    apiKey: \"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n});\nconst backendProd = new doppler.secretssync.Flyio(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    appId: \"my-app\",\n    restartMachines: true,\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nprod = doppler.integration.Flyio(\"prod\",\n    name=\"TF Fly.io\",\n    api_key=\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\nbackend_prod = doppler.secrets_sync.Flyio(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    app_id=\"my-app\",\n    restart_machines=True,\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var prod = new Doppler.Integration.Flyio(\"prod\", new()\n    {\n        Name = \"TF Fly.io\",\n        ApiKey = \"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n    });\n\n    var backendProd = new Doppler.SecretsSync.Flyio(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        AppId = \"my-app\",\n        RestartMachines = true,\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := integration.NewFlyio(ctx, \"prod\", &integration.FlyioArgs{\n\t\t\tName:   pulumi.String(\"TF Fly.io\"),\n\t\t\tApiKey: pulumi.String(\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewFlyio(ctx, \"backend_prod\", &secretsSync.FlyioArgs{\n\t\t\tIntegration:     prod.ID(),\n\t\t\tProject:         pulumi.String(\"backend\"),\n\t\t\tConfig:          pulumi.String(\"prd\"),\n\t\t\tAppId:           pulumi.String(\"my-app\"),\n\t\t\tRestartMachines: pulumi.Bool(true),\n\t\t\tDeleteBehavior:  pulumi.String(\"leave_in_target\"),\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.doppler.integration.Flyio;\nimport com.pulumi.doppler.integration.FlyioArgs;\nimport com.pulumi.doppler.secretsSync.Flyio;\nimport com.pulumi.doppler.secretsSync.FlyioArgs;\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 prod = new Flyio(\"prod\", FlyioArgs.builder()\n            .name(\"TF Fly.io\")\n            .apiKey(\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n            .build());\n\n        var backendProd = new Flyio(\"backendProd\", FlyioArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .appId(\"my-app\")\n            .restartMachines(true)\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  prod:\n    type: doppler:integration:Flyio\n    properties:\n      name: TF Fly.io\n      apiKey: fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n  backendProd:\n    type: doppler:secretsSync:Flyio\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      appId: my-app\n      restartMachines: true\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "apiKey": {
          "type": "string",
          "description": "A Fly.io API key.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n"
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "name"
      ],
      "inputProperties": {
        "apiKey": {
          "type": "string",
          "description": "A Fly.io API key.\n",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "apiKey",
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Flyio resources.\n",
        "properties": {
          "apiKey": {
            "type": "string",
            "description": "A Fly.io API key.\n",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the integration\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:integration/terraformCloud:TerraformCloud": {
      "description": "## Example Usage\n\n",
      "properties": {
        "apiKey": {
          "type": "string",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n"
        }
      },
      "type": "object",
      "required": [
        "apiKey",
        "name"
      ],
      "inputProperties": {
        "apiKey": {
          "type": "string",
          "secret": true
        },
        "name": {
          "type": "string",
          "description": "The name of the integration\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "apiKey",
        "name"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering TerraformCloud resources.\n",
        "properties": {
          "apiKey": {
            "type": "string",
            "secret": true
          },
          "name": {
            "type": "string",
            "description": "The name of the integration\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:projectMember/group:Group": {
      "description": "Manage a Doppler project group member.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backendEngineering = new doppler.projectmember.Group(\"backend_engineering\", {\n    project: \"backend\",\n    groupSlug: engineering.slug,\n    role: \"collaborator\",\n    environments: [\n        \"dev\",\n        \"stg\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend_engineering = doppler.project_member.Group(\"backend_engineering\",\n    project=\"backend\",\n    group_slug=engineering[\"slug\"],\n    role=\"collaborator\",\n    environments=[\n        \"dev\",\n        \"stg\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backendEngineering = new Doppler.ProjectMember.Group(\"backend_engineering\", new()\n    {\n        Project = \"backend\",\n        GroupSlug = engineering.Slug,\n        Role = \"collaborator\",\n        Environments = new[]\n        {\n            \"dev\",\n            \"stg\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/projectMember\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := projectMember.NewGroup(ctx, \"backend_engineering\", &projectMember.GroupArgs{\n\t\t\tProject:   pulumi.String(\"backend\"),\n\t\t\tGroupSlug: pulumi.Any(engineering.Slug),\n\t\t\tRole:      pulumi.String(\"collaborator\"),\n\t\t\tEnvironments: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"stg\"),\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.doppler.projectMember.Group;\nimport com.pulumi.doppler.projectMember.GroupArgs;\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 backendEngineering = new Group(\"backendEngineering\", GroupArgs.builder()\n            .project(\"backend\")\n            .groupSlug(engineering.slug())\n            .role(\"collaborator\")\n            .environments(            \n                \"dev\",\n                \"stg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backendEngineering:\n    type: doppler:projectMember:Group\n    name: backend_engineering\n    properties:\n      project: backend\n      groupSlug: ${engineering.slug}\n      role: collaborator\n      environments:\n        - dev\n        - stg\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "environments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
        },
        "groupSlug": {
          "type": "string",
          "description": "The slug of the Doppler group\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the access is applied\n"
        },
        "role": {
          "type": "string",
          "description": "The project role identifier for the access\n"
        }
      },
      "type": "object",
      "required": [
        "groupSlug",
        "project",
        "role"
      ],
      "inputProperties": {
        "environments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
        },
        "groupSlug": {
          "type": "string",
          "description": "The slug of the Doppler group\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the access is applied\n",
          "willReplaceOnChanges": true
        },
        "role": {
          "type": "string",
          "description": "The project role identifier for the access\n"
        }
      },
      "requiredInputs": [
        "groupSlug",
        "project",
        "role"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Group resources.\n",
        "properties": {
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
          },
          "groupSlug": {
            "type": "string",
            "description": "The slug of the Doppler group\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the access is applied\n",
            "willReplaceOnChanges": true
          },
          "role": {
            "type": "string",
            "description": "The project role identifier for the access\n"
          }
        },
        "type": "object"
      }
    },
    "doppler:projectMember/serviceAccount:ServiceAccount": {
      "description": "Manage a Doppler project service account member.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst backendCi = new doppler.projectmember.ServiceAccount(\"backend_ci\", {\n    project: \"backend\",\n    serviceAccountSlug: ci.slug,\n    role: \"viewer\",\n    environments: [\n        \"dev\",\n        \"stg\",\n        \"prd\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nbackend_ci = doppler.project_member.ServiceAccount(\"backend_ci\",\n    project=\"backend\",\n    service_account_slug=ci[\"slug\"],\n    role=\"viewer\",\n    environments=[\n        \"dev\",\n        \"stg\",\n        \"prd\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var backendCi = new Doppler.ProjectMember.ServiceAccount(\"backend_ci\", new()\n    {\n        Project = \"backend\",\n        ServiceAccountSlug = ci.Slug,\n        Role = \"viewer\",\n        Environments = new[]\n        {\n            \"dev\",\n            \"stg\",\n            \"prd\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/projectMember\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := projectMember.NewServiceAccount(ctx, \"backend_ci\", &projectMember.ServiceAccountArgs{\n\t\t\tProject:            pulumi.String(\"backend\"),\n\t\t\tServiceAccountSlug: pulumi.Any(ci.Slug),\n\t\t\tRole:               pulumi.String(\"viewer\"),\n\t\t\tEnvironments: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\tpulumi.String(\"stg\"),\n\t\t\t\tpulumi.String(\"prd\"),\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.doppler.projectMember.ServiceAccount;\nimport com.pulumi.doppler.projectMember.ServiceAccountArgs;\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 backendCi = new ServiceAccount(\"backendCi\", ServiceAccountArgs.builder()\n            .project(\"backend\")\n            .serviceAccountSlug(ci.slug())\n            .role(\"viewer\")\n            .environments(            \n                \"dev\",\n                \"stg\",\n                \"prd\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  backendCi:\n    type: doppler:projectMember:ServiceAccount\n    name: backend_ci\n    properties:\n      project: backend\n      serviceAccountSlug: ${ci.slug}\n      role: viewer\n      environments:\n        - dev\n        - stg\n        - prd\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "environments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the access is applied\n"
        },
        "role": {
          "type": "string",
          "description": "The project role identifier for the access\n"
        },
        "serviceAccountSlug": {
          "type": "string",
          "description": "The slug of the Doppler service account\n"
        }
      },
      "type": "object",
      "required": [
        "project",
        "role",
        "serviceAccountSlug"
      ],
      "inputProperties": {
        "environments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project where the access is applied\n",
          "willReplaceOnChanges": true
        },
        "role": {
          "type": "string",
          "description": "The project role identifier for the access\n"
        },
        "serviceAccountSlug": {
          "type": "string",
          "description": "The slug of the Doppler service account\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "project",
        "role",
        "serviceAccountSlug"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ServiceAccount resources.\n",
        "properties": {
          "environments": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The environments in the project where this access will apply (null or omitted for roles with access to all environments)\n"
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project where the access is applied\n",
            "willReplaceOnChanges": true
          },
          "role": {
            "type": "string",
            "description": "The project role identifier for the access\n"
          },
          "serviceAccountSlug": {
            "type": "string",
            "description": "The slug of the Doppler service account\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/awsParameterStore:AwsParameterStore": {
      "description": "Manage an AWS Parameter Store Doppler sync.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst dopplerParameterStore = new aws.iam.Role(\"doppler_parameter_store\", {\n    name: \"doppler_parameter_store\",\n    assumeRolePolicy: JSON.stringify({\n        Version: \"2012-10-17\",\n        Statement: [{\n            Effect: \"Allow\",\n            Action: \"sts:AssumeRole\",\n            Principal: {\n                AWS: \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            Condition: {\n                StringEquals: {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inlinePolicies: [{\n        name: \"doppler_secret_manager\",\n        policy: JSON.stringify({\n            Version: \"2012-10-17\",\n            Statement: [{\n                Action: [\n                    \"ssm:PutParameter\",\n                    \"ssm:LabelParameterVersion\",\n                    \"ssm:DeleteParameter\",\n                    \"ssm:RemoveTagsFromResource\",\n                    \"ssm:GetParameterHistory\",\n                    \"ssm:AddTagsToResource\",\n                    \"ssm:GetParametersByPath\",\n                    \"ssm:GetParameters\",\n                    \"ssm:GetParameter\",\n                    \"ssm:DeleteParameters\",\n                ],\n                Effect: \"Allow\",\n                Resource: \"*\",\n            }],\n        }),\n    }],\n});\nconst prod = new doppler.integration.AwsParameterStore(\"prod\", {\n    name: \"Production\",\n    assumeRoleArn: dopplerParameterStore.arn,\n});\nconst backendProd = new doppler.secretssync.AwsParameterStore(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    region: \"us-east-1\",\n    path: \"/backend/\",\n    secureString: true,\n    tags: {\n        myTag: \"enabled\",\n    },\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumiverse_doppler as doppler\n\ndoppler_parameter_store = aws.iam.Role(\"doppler_parameter_store\",\n    name=\"doppler_parameter_store\",\n    assume_role_policy=json.dumps({\n        \"Version\": \"2012-10-17\",\n        \"Statement\": [{\n            \"Effect\": \"Allow\",\n            \"Action\": \"sts:AssumeRole\",\n            \"Principal\": {\n                \"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            \"Condition\": {\n                \"StringEquals\": {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inline_policies=[{\n        \"name\": \"doppler_secret_manager\",\n        \"policy\": json.dumps({\n            \"version\": \"2012-10-17\",\n            \"statement\": [{\n                \"action\": [\n                    \"ssm:PutParameter\",\n                    \"ssm:LabelParameterVersion\",\n                    \"ssm:DeleteParameter\",\n                    \"ssm:RemoveTagsFromResource\",\n                    \"ssm:GetParameterHistory\",\n                    \"ssm:AddTagsToResource\",\n                    \"ssm:GetParametersByPath\",\n                    \"ssm:GetParameters\",\n                    \"ssm:GetParameter\",\n                    \"ssm:DeleteParameters\",\n                ],\n                \"effect\": \"Allow\",\n                \"resource\": \"*\",\n            }],\n        }),\n    }])\nprod = doppler.integration.AwsParameterStore(\"prod\",\n    name=\"Production\",\n    assume_role_arn=doppler_parameter_store.arn)\nbackend_prod = doppler.secrets_sync.AwsParameterStore(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    region=\"us-east-1\",\n    path=\"/backend/\",\n    secure_string=True,\n    tags={\n        \"myTag\": \"enabled\",\n    },\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var dopplerParameterStore = new Aws.Iam.Role(\"doppler_parameter_store\", new()\n    {\n        Name = \"doppler_parameter_store\",\n        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"Version\"] = \"2012-10-17\",\n            [\"Statement\"] = new[]\n            {\n                new Dictionary<string, object?>\n                {\n                    [\"Effect\"] = \"Allow\",\n                    [\"Action\"] = \"sts:AssumeRole\",\n                    [\"Principal\"] = new Dictionary<string, object?>\n                    {\n                        [\"AWS\"] = \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n                    },\n                    [\"Condition\"] = new Dictionary<string, object?>\n                    {\n                        [\"StringEquals\"] = new Dictionary<string, object?>\n                        {\n                            [\"sts:ExternalId\"] = \"<YOUR_WORKPLACE_SLUG>\",\n                        },\n                    },\n                },\n            },\n        }),\n        InlinePolicies = new[]\n        {\n            new Aws.Iam.Inputs.RoleInlinePolicyArgs\n            {\n                Name = \"doppler_secret_manager\",\n                Policy = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"Version\"] = \"2012-10-17\",\n                    [\"Statement\"] = new[]\n                    {\n                        new Dictionary<string, object?>\n                        {\n                            [\"Action\"] = new[]\n                            {\n                                \"ssm:PutParameter\",\n                                \"ssm:LabelParameterVersion\",\n                                \"ssm:DeleteParameter\",\n                                \"ssm:RemoveTagsFromResource\",\n                                \"ssm:GetParameterHistory\",\n                                \"ssm:AddTagsToResource\",\n                                \"ssm:GetParametersByPath\",\n                                \"ssm:GetParameters\",\n                                \"ssm:GetParameter\",\n                                \"ssm:DeleteParameters\",\n                            },\n                            [\"Effect\"] = \"Allow\",\n                            [\"Resource\"] = \"*\",\n                        },\n                    },\n                }),\n            },\n        },\n    });\n\n    var prod = new Doppler.Integration.AwsParameterStore(\"prod\", new()\n    {\n        Name = \"Production\",\n        AssumeRoleArn = dopplerParameterStore.Arn,\n    });\n\n    var backendProd = new Doppler.SecretsSync.AwsParameterStore(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        Region = \"us-east-1\",\n        Path = \"/backend/\",\n        SecureString = true,\n        Tags = \n        {\n            { \"myTag\", \"enabled\" },\n        },\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\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\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"ssm:PutParameter\",\n\t\t\t\t\t\t\"ssm:LabelParameterVersion\",\n\t\t\t\t\t\t\"ssm:DeleteParameter\",\n\t\t\t\t\t\t\"ssm:RemoveTagsFromResource\",\n\t\t\t\t\t\t\"ssm:GetParameterHistory\",\n\t\t\t\t\t\t\"ssm:AddTagsToResource\",\n\t\t\t\t\t\t\"ssm:GetParametersByPath\",\n\t\t\t\t\t\t\"ssm:GetParameters\",\n\t\t\t\t\t\t\"ssm:GetParameter\",\n\t\t\t\t\t\t\"ssm:DeleteParameters\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\":   \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdopplerParameterStore, err := iam.NewRole(ctx, \"doppler_parameter_store\", &iam.RoleArgs{\n\t\t\tName:             pulumi.String(\"doppler_parameter_store\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t&iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName:   pulumi.String(\"doppler_secret_manager\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\tprod, err := integration.NewAwsParameterStore(ctx, \"prod\", &integration.AwsParameterStoreArgs{\n\t\t\tName:          pulumi.String(\"Production\"),\n\t\t\tAssumeRoleArn: dopplerParameterStore.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewAwsParameterStore(ctx, \"backend_prod\", &secretsSync.AwsParameterStoreArgs{\n\t\t\tIntegration:  prod.ID(),\n\t\t\tProject:      pulumi.String(\"backend\"),\n\t\t\tConfig:       pulumi.String(\"prd\"),\n\t\t\tRegion:       pulumi.String(\"us-east-1\"),\n\t\t\tPath:         pulumi.String(\"/backend/\"),\n\t\t\tSecureString: pulumi.Bool(true),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"myTag\": pulumi.String(\"enabled\"),\n\t\t\t},\n\t\t\tDeleteBehavior: pulumi.String(\"leave_in_target\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.doppler.integration.AwsParameterStore;\nimport com.pulumi.doppler.integration.AwsParameterStoreArgs;\nimport com.pulumi.doppler.secretsSync.AwsParameterStore;\nimport com.pulumi.doppler.secretsSync.AwsParameterStoreArgs;\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 dopplerParameterStore = new Role(\"dopplerParameterStore\", RoleArgs.builder()\n            .name(\"doppler_parameter_store\")\n            .assumeRolePolicy(serializeJson(\n                jsonObject(\n                    jsonProperty(\"Version\", \"2012-10-17\"),\n                    jsonProperty(\"Statement\", jsonArray(jsonObject(\n                        jsonProperty(\"Effect\", \"Allow\"),\n                        jsonProperty(\"Action\", \"sts:AssumeRole\"),\n                        jsonProperty(\"Principal\", jsonObject(\n                            jsonProperty(\"AWS\", \"arn:aws:iam::299900769157:user/doppler-integration-operator\")\n                        )),\n                        jsonProperty(\"Condition\", jsonObject(\n                            jsonProperty(\"StringEquals\", jsonObject(\n                                jsonProperty(\"sts:ExternalId\", \"<YOUR_WORKPLACE_SLUG>\")\n                            ))\n                        ))\n                    )))\n                )))\n            .inlinePolicies(RoleInlinePolicyArgs.builder()\n                .name(\"doppler_secret_manager\")\n                .policy(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"Version\", \"2012-10-17\"),\n                        jsonProperty(\"Statement\", jsonArray(jsonObject(\n                            jsonProperty(\"Action\", jsonArray(\n                                \"ssm:PutParameter\", \n                                \"ssm:LabelParameterVersion\", \n                                \"ssm:DeleteParameter\", \n                                \"ssm:RemoveTagsFromResource\", \n                                \"ssm:GetParameterHistory\", \n                                \"ssm:AddTagsToResource\", \n                                \"ssm:GetParametersByPath\", \n                                \"ssm:GetParameters\", \n                                \"ssm:GetParameter\", \n                                \"ssm:DeleteParameters\"\n                            )),\n                            jsonProperty(\"Effect\", \"Allow\"),\n                            jsonProperty(\"Resource\", \"*\")\n                        )))\n                    )))\n                .build())\n            .build());\n\n        var prod = new AwsParameterStore(\"prod\", AwsParameterStoreArgs.builder()\n            .name(\"Production\")\n            .assumeRoleArn(dopplerParameterStore.arn())\n            .build());\n\n        var backendProd = new AwsParameterStore(\"backendProd\", AwsParameterStoreArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .region(\"us-east-1\")\n            .path(\"/backend/\")\n            .secureString(true)\n            .tags(Map.of(\"myTag\", \"enabled\"))\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dopplerParameterStore:\n    type: aws:iam:Role\n    name: doppler_parameter_store\n    properties:\n      name: doppler_parameter_store\n      assumeRolePolicy:\n        fn::toJSON:\n          Version: 2012-10-17\n          Statement:\n            - Effect: Allow\n              Action: sts:AssumeRole\n              Principal:\n                AWS: arn:aws:iam::299900769157:user/doppler-integration-operator\n              Condition:\n                StringEquals:\n                  sts:ExternalId: <YOUR_WORKPLACE_SLUG>\n      inlinePolicies:\n        - name: doppler_secret_manager\n          policy:\n            fn::toJSON:\n              Version: 2012-10-17\n              Statement:\n                - Action:\n                    - ssm:PutParameter\n                    - ssm:LabelParameterVersion\n                    - ssm:DeleteParameter\n                    - ssm:RemoveTagsFromResource\n                    - ssm:GetParameterHistory\n                    - ssm:AddTagsToResource\n                    - ssm:GetParametersByPath\n                    - ssm:GetParameters\n                    - ssm:GetParameter\n                    - ssm:DeleteParameters\n                  Effect: Allow\n                  Resource: '*'\n  prod:\n    type: doppler:integration:AwsParameterStore\n    properties:\n      name: Production\n      assumeRoleArn: ${dopplerParameterStore.arn}\n  backendProd:\n    type: doppler:secretsSync:AwsParameterStore\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      region: us-east-1\n      path: /backend/\n      secureString: true\n      tags:\n        myTag: enabled\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "kmsKeyId": {
          "type": "string",
          "description": "The AWS KMS key used to encrypt the parameter (ID, Alias, or ARN)\n"
        },
        "path": {
          "type": "string",
          "description": "The path to the parameters in AWS\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "region": {
          "type": "string",
          "description": "The AWS region\n"
        },
        "secureString": {
          "type": "boolean",
          "description": "Whether or not the parameters are stored as a secure string\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "AWS tags to attach to the parameters\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integration",
        "path",
        "project",
        "region"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "kmsKeyId": {
          "type": "string",
          "description": "The AWS KMS key used to encrypt the parameter (ID, Alias, or ARN)\n",
          "willReplaceOnChanges": true
        },
        "path": {
          "type": "string",
          "description": "The path to the parameters in AWS\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "region": {
          "type": "string",
          "description": "The AWS region\n",
          "willReplaceOnChanges": true
        },
        "secureString": {
          "type": "boolean",
          "description": "Whether or not the parameters are stored as a secure string\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "AWS tags to attach to the parameters\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "integration",
        "path",
        "project",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsParameterStore resources.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "kmsKeyId": {
            "type": "string",
            "description": "The AWS KMS key used to encrypt the parameter (ID, Alias, or ARN)\n",
            "willReplaceOnChanges": true
          },
          "path": {
            "type": "string",
            "description": "The path to the parameters in AWS\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "region": {
            "type": "string",
            "description": "The AWS region\n",
            "willReplaceOnChanges": true
          },
          "secureString": {
            "type": "boolean",
            "description": "Whether or not the parameters are stored as a secure string\n",
            "willReplaceOnChanges": true
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "AWS tags to attach to the parameters\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/awsSecretsManager:AwsSecretsManager": {
      "description": "Manage an AWS Secrets Manager Doppler sync.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst dopplerSecretsManager = new aws.iam.Role(\"doppler_secrets_manager\", {\n    name: \"doppler_secrets_manager\",\n    assumeRolePolicy: JSON.stringify({\n        Version: \"2012-10-17\",\n        Statement: [{\n            Effect: \"Allow\",\n            Action: \"sts:AssumeRole\",\n            Principal: {\n                AWS: \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            Condition: {\n                StringEquals: {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inlinePolicies: [{\n        name: \"doppler_secret_manager\",\n        policy: JSON.stringify({\n            Version: \"2012-10-17\",\n            Statement: [{\n                Action: [\n                    \"secretsmanager:GetSecretValue\",\n                    \"secretsmanager:DescribeSecret\",\n                    \"secretsmanager:PutSecretValue\",\n                    \"secretsmanager:CreateSecret\",\n                    \"secretsmanager:DeleteSecret\",\n                    \"secretsmanager:TagResource\",\n                    \"secretsmanager:UpdateSecret\",\n                ],\n                Effect: \"Allow\",\n                Resource: \"*\",\n            }],\n        }),\n    }],\n});\nconst prod = new doppler.integration.AwsSecretsManager(\"prod\", {\n    name: \"Production\",\n    assumeRoleArn: dopplerSecretsManager.arn,\n});\nconst backendProd = new doppler.secretssync.AwsSecretsManager(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    region: \"us-east-1\",\n    path: \"/backend/\",\n    tags: {\n        myTag: \"enabled\",\n    },\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_aws as aws\nimport pulumiverse_doppler as doppler\n\ndoppler_secrets_manager = aws.iam.Role(\"doppler_secrets_manager\",\n    name=\"doppler_secrets_manager\",\n    assume_role_policy=json.dumps({\n        \"Version\": \"2012-10-17\",\n        \"Statement\": [{\n            \"Effect\": \"Allow\",\n            \"Action\": \"sts:AssumeRole\",\n            \"Principal\": {\n                \"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n            },\n            \"Condition\": {\n                \"StringEquals\": {\n                    \"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\n                },\n            },\n        }],\n    }),\n    inline_policies=[{\n        \"name\": \"doppler_secret_manager\",\n        \"policy\": json.dumps({\n            \"version\": \"2012-10-17\",\n            \"statement\": [{\n                \"action\": [\n                    \"secretsmanager:GetSecretValue\",\n                    \"secretsmanager:DescribeSecret\",\n                    \"secretsmanager:PutSecretValue\",\n                    \"secretsmanager:CreateSecret\",\n                    \"secretsmanager:DeleteSecret\",\n                    \"secretsmanager:TagResource\",\n                    \"secretsmanager:UpdateSecret\",\n                ],\n                \"effect\": \"Allow\",\n                \"resource\": \"*\",\n            }],\n        }),\n    }])\nprod = doppler.integration.AwsSecretsManager(\"prod\",\n    name=\"Production\",\n    assume_role_arn=doppler_secrets_manager.arn)\nbackend_prod = doppler.secrets_sync.AwsSecretsManager(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    region=\"us-east-1\",\n    path=\"/backend/\",\n    tags={\n        \"myTag\": \"enabled\",\n    },\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var dopplerSecretsManager = new Aws.Iam.Role(\"doppler_secrets_manager\", new()\n    {\n        Name = \"doppler_secrets_manager\",\n        AssumeRolePolicy = JsonSerializer.Serialize(new Dictionary<string, object?>\n        {\n            [\"Version\"] = \"2012-10-17\",\n            [\"Statement\"] = new[]\n            {\n                new Dictionary<string, object?>\n                {\n                    [\"Effect\"] = \"Allow\",\n                    [\"Action\"] = \"sts:AssumeRole\",\n                    [\"Principal\"] = new Dictionary<string, object?>\n                    {\n                        [\"AWS\"] = \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n                    },\n                    [\"Condition\"] = new Dictionary<string, object?>\n                    {\n                        [\"StringEquals\"] = new Dictionary<string, object?>\n                        {\n                            [\"sts:ExternalId\"] = \"<YOUR_WORKPLACE_SLUG>\",\n                        },\n                    },\n                },\n            },\n        }),\n        InlinePolicies = new[]\n        {\n            new Aws.Iam.Inputs.RoleInlinePolicyArgs\n            {\n                Name = \"doppler_secret_manager\",\n                Policy = JsonSerializer.Serialize(new Dictionary<string, object?>\n                {\n                    [\"Version\"] = \"2012-10-17\",\n                    [\"Statement\"] = new[]\n                    {\n                        new Dictionary<string, object?>\n                        {\n                            [\"Action\"] = new[]\n                            {\n                                \"secretsmanager:GetSecretValue\",\n                                \"secretsmanager:DescribeSecret\",\n                                \"secretsmanager:PutSecretValue\",\n                                \"secretsmanager:CreateSecret\",\n                                \"secretsmanager:DeleteSecret\",\n                                \"secretsmanager:TagResource\",\n                                \"secretsmanager:UpdateSecret\",\n                            },\n                            [\"Effect\"] = \"Allow\",\n                            [\"Resource\"] = \"*\",\n                        },\n                    },\n                }),\n            },\n        },\n    });\n\n    var prod = new Doppler.Integration.AwsSecretsManager(\"prod\", new()\n    {\n        Name = \"Production\",\n        AssumeRoleArn = dopplerSecretsManager.Arn,\n    });\n\n    var backendProd = new Doppler.SecretsSync.AwsSecretsManager(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        Region = \"us-east-1\",\n        Path = \"/backend/\",\n        Tags = \n        {\n            { \"myTag\", \"enabled\" },\n        },\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\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\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Effect\": \"Allow\",\n\t\t\t\t\t\"Action\": \"sts:AssumeRole\",\n\t\t\t\t\t\"Principal\": map[string]interface{}{\n\t\t\t\t\t\t\"AWS\": \"arn:aws:iam::299900769157:user/doppler-integration-operator\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Condition\": map[string]interface{}{\n\t\t\t\t\t\t\"StringEquals\": map[string]interface{}{\n\t\t\t\t\t\t\t\"sts:ExternalId\": \"<YOUR_WORKPLACE_SLUG>\",\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\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"Version\": \"2012-10-17\",\n\t\t\t\"Statement\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"Action\": []string{\n\t\t\t\t\t\t\"secretsmanager:GetSecretValue\",\n\t\t\t\t\t\t\"secretsmanager:DescribeSecret\",\n\t\t\t\t\t\t\"secretsmanager:PutSecretValue\",\n\t\t\t\t\t\t\"secretsmanager:CreateSecret\",\n\t\t\t\t\t\t\"secretsmanager:DeleteSecret\",\n\t\t\t\t\t\t\"secretsmanager:TagResource\",\n\t\t\t\t\t\t\"secretsmanager:UpdateSecret\",\n\t\t\t\t\t},\n\t\t\t\t\t\"Effect\":   \"Allow\",\n\t\t\t\t\t\"Resource\": \"*\",\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\tjson1 := string(tmpJSON1)\n\t\tdopplerSecretsManager, err := iam.NewRole(ctx, \"doppler_secrets_manager\", &iam.RoleArgs{\n\t\t\tName:             pulumi.String(\"doppler_secrets_manager\"),\n\t\t\tAssumeRolePolicy: pulumi.String(json0),\n\t\t\tInlinePolicies: iam.RoleInlinePolicyArray{\n\t\t\t\t&iam.RoleInlinePolicyArgs{\n\t\t\t\t\tName:   pulumi.String(\"doppler_secret_manager\"),\n\t\t\t\t\tPolicy: pulumi.String(json1),\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\tprod, err := integration.NewAwsSecretsManager(ctx, \"prod\", &integration.AwsSecretsManagerArgs{\n\t\t\tName:          pulumi.String(\"Production\"),\n\t\t\tAssumeRoleArn: dopplerSecretsManager.Arn,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewAwsSecretsManager(ctx, \"backend_prod\", &secretsSync.AwsSecretsManagerArgs{\n\t\t\tIntegration: prod.ID(),\n\t\t\tProject:     pulumi.String(\"backend\"),\n\t\t\tConfig:      pulumi.String(\"prd\"),\n\t\t\tRegion:      pulumi.String(\"us-east-1\"),\n\t\t\tPath:        pulumi.String(\"/backend/\"),\n\t\t\tTags: pulumi.StringMap{\n\t\t\t\t\"myTag\": pulumi.String(\"enabled\"),\n\t\t\t},\n\t\t\tDeleteBehavior: pulumi.String(\"leave_in_target\"),\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.aws.iam.Role;\nimport com.pulumi.aws.iam.RoleArgs;\nimport com.pulumi.aws.iam.inputs.RoleInlinePolicyArgs;\nimport com.pulumi.doppler.integration.AwsSecretsManager;\nimport com.pulumi.doppler.integration.AwsSecretsManagerArgs;\nimport com.pulumi.doppler.secretsSync.AwsSecretsManager;\nimport com.pulumi.doppler.secretsSync.AwsSecretsManagerArgs;\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 dopplerSecretsManager = new Role(\"dopplerSecretsManager\", RoleArgs.builder()\n            .name(\"doppler_secrets_manager\")\n            .assumeRolePolicy(serializeJson(\n                jsonObject(\n                    jsonProperty(\"Version\", \"2012-10-17\"),\n                    jsonProperty(\"Statement\", jsonArray(jsonObject(\n                        jsonProperty(\"Effect\", \"Allow\"),\n                        jsonProperty(\"Action\", \"sts:AssumeRole\"),\n                        jsonProperty(\"Principal\", jsonObject(\n                            jsonProperty(\"AWS\", \"arn:aws:iam::299900769157:user/doppler-integration-operator\")\n                        )),\n                        jsonProperty(\"Condition\", jsonObject(\n                            jsonProperty(\"StringEquals\", jsonObject(\n                                jsonProperty(\"sts:ExternalId\", \"<YOUR_WORKPLACE_SLUG>\")\n                            ))\n                        ))\n                    )))\n                )))\n            .inlinePolicies(RoleInlinePolicyArgs.builder()\n                .name(\"doppler_secret_manager\")\n                .policy(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"Version\", \"2012-10-17\"),\n                        jsonProperty(\"Statement\", jsonArray(jsonObject(\n                            jsonProperty(\"Action\", jsonArray(\n                                \"secretsmanager:GetSecretValue\", \n                                \"secretsmanager:DescribeSecret\", \n                                \"secretsmanager:PutSecretValue\", \n                                \"secretsmanager:CreateSecret\", \n                                \"secretsmanager:DeleteSecret\", \n                                \"secretsmanager:TagResource\", \n                                \"secretsmanager:UpdateSecret\"\n                            )),\n                            jsonProperty(\"Effect\", \"Allow\"),\n                            jsonProperty(\"Resource\", \"*\")\n                        )))\n                    )))\n                .build())\n            .build());\n\n        var prod = new AwsSecretsManager(\"prod\", AwsSecretsManagerArgs.builder()\n            .name(\"Production\")\n            .assumeRoleArn(dopplerSecretsManager.arn())\n            .build());\n\n        var backendProd = new AwsSecretsManager(\"backendProd\", AwsSecretsManagerArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .region(\"us-east-1\")\n            .path(\"/backend/\")\n            .tags(Map.of(\"myTag\", \"enabled\"))\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dopplerSecretsManager:\n    type: aws:iam:Role\n    name: doppler_secrets_manager\n    properties:\n      name: doppler_secrets_manager\n      assumeRolePolicy:\n        fn::toJSON:\n          Version: 2012-10-17\n          Statement:\n            - Effect: Allow\n              Action: sts:AssumeRole\n              Principal:\n                AWS: arn:aws:iam::299900769157:user/doppler-integration-operator\n              Condition:\n                StringEquals:\n                  sts:ExternalId: <YOUR_WORKPLACE_SLUG>\n      inlinePolicies:\n        - name: doppler_secret_manager\n          policy:\n            fn::toJSON:\n              Version: 2012-10-17\n              Statement:\n                - Action:\n                    - secretsmanager:GetSecretValue\n                    - secretsmanager:DescribeSecret\n                    - secretsmanager:PutSecretValue\n                    - secretsmanager:CreateSecret\n                    - secretsmanager:DeleteSecret\n                    - secretsmanager:TagResource\n                    - secretsmanager:UpdateSecret\n                  Effect: Allow\n                  Resource: '*'\n  prod:\n    type: doppler:integration:AwsSecretsManager\n    properties:\n      name: Production\n      assumeRoleArn: ${dopplerSecretsManager.arn}\n  backendProd:\n    type: doppler:secretsSync:AwsSecretsManager\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      region: us-east-1\n      path: /backend/\n      tags:\n        myTag: enabled\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "kmsKeyId": {
          "type": "string",
          "description": "The AWS KMS key used to encrypt the secret (ID, Alias, or ARN)\n"
        },
        "path": {
          "type": "string",
          "description": "The path to the secret in AWS\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "region": {
          "type": "string",
          "description": "The AWS region\n"
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "AWS tags to attach to the secrets\n"
        },
        "updateMetadata": {
          "type": "boolean",
          "description": "If enabled, Doppler will update the AWS secret metadata (e.g. KMS key) during every sync. If disabled, Doppler will only set secret metadata for new AWS secrets. Note that Doppler never updates tags for existing AWS secrets.\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integration",
        "path",
        "project",
        "region"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "kmsKeyId": {
          "type": "string",
          "description": "The AWS KMS key used to encrypt the secret (ID, Alias, or ARN)\n",
          "willReplaceOnChanges": true
        },
        "path": {
          "type": "string",
          "description": "The path to the secret in AWS\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "region": {
          "type": "string",
          "description": "The AWS region\n",
          "willReplaceOnChanges": true
        },
        "tags": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "AWS tags to attach to the secrets\n",
          "willReplaceOnChanges": true
        },
        "updateMetadata": {
          "type": "boolean",
          "description": "If enabled, Doppler will update the AWS secret metadata (e.g. KMS key) during every sync. If disabled, Doppler will only set secret metadata for new AWS secrets. Note that Doppler never updates tags for existing AWS secrets.\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "integration",
        "path",
        "project",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering AwsSecretsManager resources.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "kmsKeyId": {
            "type": "string",
            "description": "The AWS KMS key used to encrypt the secret (ID, Alias, or ARN)\n",
            "willReplaceOnChanges": true
          },
          "path": {
            "type": "string",
            "description": "The path to the secret in AWS\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "region": {
            "type": "string",
            "description": "The AWS region\n",
            "willReplaceOnChanges": true
          },
          "tags": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "AWS tags to attach to the secrets\n",
            "willReplaceOnChanges": true
          },
          "updateMetadata": {
            "type": "boolean",
            "description": "If enabled, Doppler will update the AWS secret metadata (e.g. KMS key) during every sync. If disabled, Doppler will only set secret metadata for new AWS secrets. Note that Doppler never updates tags for existing AWS secrets.\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/circleci:Circleci": {
      "description": "Manage a CircleCI Doppler sync.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst prod = new doppler.integration.Circleci(\"prod\", {\n    name: \"Production\",\n    apiToken: \"my_api_token\",\n});\nconst backendProd = new doppler.secretssync.Circleci(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    resourceType: \"project\",\n    resourceId: \"github/myorg/myproject\",\n    organizationSlug: \"myorg\",\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nprod = doppler.integration.Circleci(\"prod\",\n    name=\"Production\",\n    api_token=\"my_api_token\")\nbackend_prod = doppler.secrets_sync.Circleci(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    resource_type=\"project\",\n    resource_id=\"github/myorg/myproject\",\n    organization_slug=\"myorg\",\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var prod = new Doppler.Integration.Circleci(\"prod\", new()\n    {\n        Name = \"Production\",\n        ApiToken = \"my_api_token\",\n    });\n\n    var backendProd = new Doppler.SecretsSync.Circleci(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        ResourceType = \"project\",\n        ResourceId = \"github/myorg/myproject\",\n        OrganizationSlug = \"myorg\",\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := integration.NewCircleci(ctx, \"prod\", &integration.CircleciArgs{\n\t\t\tName:     pulumi.String(\"Production\"),\n\t\t\tApiToken: pulumi.String(\"my_api_token\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewCircleci(ctx, \"backend_prod\", &secretsSync.CircleciArgs{\n\t\t\tIntegration:      prod.ID(),\n\t\t\tProject:          pulumi.String(\"backend\"),\n\t\t\tConfig:           pulumi.String(\"prd\"),\n\t\t\tResourceType:     pulumi.String(\"project\"),\n\t\t\tResourceId:       pulumi.String(\"github/myorg/myproject\"),\n\t\t\tOrganizationSlug: pulumi.String(\"myorg\"),\n\t\t\tDeleteBehavior:   pulumi.String(\"leave_in_target\"),\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.doppler.integration.Circleci;\nimport com.pulumi.doppler.integration.CircleciArgs;\nimport com.pulumi.doppler.secretsSync.Circleci;\nimport com.pulumi.doppler.secretsSync.CircleciArgs;\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 prod = new Circleci(\"prod\", CircleciArgs.builder()\n            .name(\"Production\")\n            .apiToken(\"my_api_token\")\n            .build());\n\n        var backendProd = new Circleci(\"backendProd\", CircleciArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .resourceType(\"project\")\n            .resourceId(\"github/myorg/myproject\")\n            .organizationSlug(\"myorg\")\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  prod:\n    type: doppler:integration:Circleci\n    properties:\n      name: Production\n      apiToken: my_api_token\n  backendProd:\n    type: doppler:secretsSync:Circleci\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      resourceType: project\n      resourceId: github/myorg/myproject\n      organizationSlug: myorg\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "organizationSlug": {
          "type": "string",
          "description": "The organization slug where the resource is located\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "resourceId": {
          "type": "string",
          "description": "The resource ID (either project or context) to sync to\n"
        },
        "resourceType": {
          "type": "string",
          "description": "Either \"project\" or \"context\", based on the resource type to sync to\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integration",
        "organizationSlug",
        "project",
        "resourceId",
        "resourceType"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "organizationSlug": {
          "type": "string",
          "description": "The organization slug where the resource is located\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "resourceId": {
          "type": "string",
          "description": "The resource ID (either project or context) to sync to\n",
          "willReplaceOnChanges": true
        },
        "resourceType": {
          "type": "string",
          "description": "Either \"project\" or \"context\", based on the resource type to sync to\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "integration",
        "organizationSlug",
        "project",
        "resourceId",
        "resourceType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Circleci resources.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "organizationSlug": {
            "type": "string",
            "description": "The organization slug where the resource is located\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "resourceId": {
            "type": "string",
            "description": "The resource ID (either project or context) to sync to\n",
            "willReplaceOnChanges": true
          },
          "resourceType": {
            "type": "string",
            "description": "Either \"project\" or \"context\", based on the resource type to sync to\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/flyio:Flyio": {
      "description": "Manage a Fly.io Doppler sync.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumiverse/doppler\";\n\nconst prod = new doppler.integration.Flyio(\"prod\", {\n    name: \"TF Fly.io\",\n    apiKey: \"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n});\nconst backendProd = new doppler.secretssync.Flyio(\"backend_prod\", {\n    integration: prod.id,\n    project: \"backend\",\n    config: \"prd\",\n    appId: \"my-app\",\n    restartMachines: true,\n    deleteBehavior: \"leave_in_target\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_doppler as doppler\n\nprod = doppler.integration.Flyio(\"prod\",\n    name=\"TF Fly.io\",\n    api_key=\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\nbackend_prod = doppler.secrets_sync.Flyio(\"backend_prod\",\n    integration=prod.id,\n    project=\"backend\",\n    config=\"prd\",\n    app_id=\"my-app\",\n    restart_machines=True,\n    delete_behavior=\"leave_in_target\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumiverse.Doppler;\n\nreturn await Deployment.RunAsync(() => \n{\n    var prod = new Doppler.Integration.Flyio(\"prod\", new()\n    {\n        Name = \"TF Fly.io\",\n        ApiKey = \"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\",\n    });\n\n    var backendProd = new Doppler.SecretsSync.Flyio(\"backend_prod\", new()\n    {\n        Integration = prod.Id,\n        Project = \"backend\",\n        Config = \"prd\",\n        AppId = \"my-app\",\n        RestartMachines = true,\n        DeleteBehavior = \"leave_in_target\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/integration\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler/secretsSync\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tprod, err := integration.NewFlyio(ctx, \"prod\", &integration.FlyioArgs{\n\t\t\tName:   pulumi.String(\"TF Fly.io\"),\n\t\t\tApiKey: pulumi.String(\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = secretsSync.NewFlyio(ctx, \"backend_prod\", &secretsSync.FlyioArgs{\n\t\t\tIntegration:     prod.ID(),\n\t\t\tProject:         pulumi.String(\"backend\"),\n\t\t\tConfig:          pulumi.String(\"prd\"),\n\t\t\tAppId:           pulumi.String(\"my-app\"),\n\t\t\tRestartMachines: pulumi.Bool(true),\n\t\t\tDeleteBehavior:  pulumi.String(\"leave_in_target\"),\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.doppler.integration.Flyio;\nimport com.pulumi.doppler.integration.FlyioArgs;\nimport com.pulumi.doppler.secretsSync.Flyio;\nimport com.pulumi.doppler.secretsSync.FlyioArgs;\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 prod = new Flyio(\"prod\", FlyioArgs.builder()\n            .name(\"TF Fly.io\")\n            .apiKey(\"fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\")\n            .build());\n\n        var backendProd = new Flyio(\"backendProd\", FlyioArgs.builder()\n            .integration(prod.id())\n            .project(\"backend\")\n            .config(\"prd\")\n            .appId(\"my-app\")\n            .restartMachines(true)\n            .deleteBehavior(\"leave_in_target\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  prod:\n    type: doppler:integration:Flyio\n    properties:\n      name: TF Fly.io\n      apiKey: fo1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n  backendProd:\n    type: doppler:secretsSync:Flyio\n    name: backend_prod\n    properties:\n      integration: ${prod.id}\n      project: backend\n      config: prd\n      appId: my-app\n      restartMachines: true\n      deleteBehavior: leave_in_target\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "appId": {
          "type": "string",
          "description": "The app ID\n"
        },
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "restartMachines": {
          "type": "boolean",
          "description": "Whether or not to restart the Fly.io machines when secrets are updated\n"
        }
      },
      "type": "object",
      "required": [
        "appId",
        "config",
        "integration",
        "project",
        "restartMachines"
      ],
      "inputProperties": {
        "appId": {
          "type": "string",
          "description": "The app ID\n",
          "willReplaceOnChanges": true
        },
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "restartMachines": {
          "type": "boolean",
          "description": "Whether or not to restart the Fly.io machines when secrets are updated\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "appId",
        "config",
        "integration",
        "project",
        "restartMachines"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Flyio resources.\n",
        "properties": {
          "appId": {
            "type": "string",
            "description": "The app ID\n",
            "willReplaceOnChanges": true
          },
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "restartMachines": {
            "type": "boolean",
            "description": "Whether or not to restart the Fly.io machines when secrets are updated\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/githubActions:GithubActions": {
      "description": "Manage a GitHub Actions Doppler sync.\n\n",
      "properties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "environmentName": {
          "type": "string",
          "description": "The GitHub repo environment name to sync to (only used when `sync_target` is set to \"repo\")\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "orgScope": {
          "type": "string",
          "description": "Either \"all\" or \"private\", based on the which repos you want to have access (only used when `sync_target` is set to \"org\")\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "repoName": {
          "type": "string",
          "description": "The GitHub repo name to sync to (only used when `sync_target` is set to \"repo\")\n"
        },
        "syncTarget": {
          "type": "string",
          "description": "Either \"repo\" or \"org\", based on the resource type to sync to\n"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integration",
        "project",
        "syncTarget"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "environmentName": {
          "type": "string",
          "description": "The GitHub repo environment name to sync to (only used when `sync_target` is set to \"repo\")\n",
          "willReplaceOnChanges": true
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "orgScope": {
          "type": "string",
          "description": "Either \"all\" or \"private\", based on the which repos you want to have access (only used when `sync_target` is set to \"org\")\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "repoName": {
          "type": "string",
          "description": "The GitHub repo name to sync to (only used when `sync_target` is set to \"repo\")\n",
          "willReplaceOnChanges": true
        },
        "syncTarget": {
          "type": "string",
          "description": "Either \"repo\" or \"org\", based on the resource type to sync to\n",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "integration",
        "project",
        "syncTarget"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering GithubActions resources.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "environmentName": {
            "type": "string",
            "description": "The GitHub repo environment name to sync to (only used when `sync_target` is set to \"repo\")\n",
            "willReplaceOnChanges": true
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "orgScope": {
            "type": "string",
            "description": "Either \"all\" or \"private\", based on the which repos you want to have access (only used when `sync_target` is set to \"org\")\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "repoName": {
            "type": "string",
            "description": "The GitHub repo name to sync to (only used when `sync_target` is set to \"repo\")\n",
            "willReplaceOnChanges": true
          },
          "syncTarget": {
            "type": "string",
            "description": "Either \"repo\" or \"org\", based on the resource type to sync to\n",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    },
    "doppler:secretsSync/terraformCloud:TerraformCloud": {
      "description": "## Example Usage\n\n",
      "properties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n"
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n"
        },
        "nameTransform": {
          "type": "string",
          "description": "A name transform to apply before syncing secrets: \"none\" or \"lowercase\"\n"
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n"
        },
        "syncTarget": {
          "type": "string",
          "description": "Either \"workspace\" or \"variableSet\", based on the resource type to sync to\n"
        },
        "variableSetId": {
          "type": "string"
        },
        "variableSyncType": {
          "type": "string"
        },
        "workspaceId": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "config",
        "integration",
        "nameTransform",
        "project",
        "syncTarget",
        "variableSyncType"
      ],
      "inputProperties": {
        "config": {
          "type": "string",
          "description": "The name of the Doppler config\n",
          "willReplaceOnChanges": true
        },
        "deleteBehavior": {
          "type": "string",
          "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
        },
        "integration": {
          "type": "string",
          "description": "The slug of the integration to use for this sync\n",
          "willReplaceOnChanges": true
        },
        "nameTransform": {
          "type": "string",
          "description": "A name transform to apply before syncing secrets: \"none\" or \"lowercase\"\n",
          "willReplaceOnChanges": true
        },
        "project": {
          "type": "string",
          "description": "The name of the Doppler project\n",
          "willReplaceOnChanges": true
        },
        "syncTarget": {
          "type": "string",
          "description": "Either \"workspace\" or \"variableSet\", based on the resource type to sync to\n",
          "willReplaceOnChanges": true
        },
        "variableSetId": {
          "type": "string",
          "willReplaceOnChanges": true
        },
        "variableSyncType": {
          "type": "string",
          "willReplaceOnChanges": true
        },
        "workspaceId": {
          "type": "string",
          "willReplaceOnChanges": true
        }
      },
      "requiredInputs": [
        "config",
        "integration",
        "nameTransform",
        "project",
        "syncTarget",
        "variableSyncType"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering TerraformCloud resources.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config\n",
            "willReplaceOnChanges": true
          },
          "deleteBehavior": {
            "type": "string",
            "description": "The behavior to be performed on the secrets in the sync target when this resource is deleted or recreated. Either `leave_in_target` (default) or `delete_from_target`.\n"
          },
          "integration": {
            "type": "string",
            "description": "The slug of the integration to use for this sync\n",
            "willReplaceOnChanges": true
          },
          "nameTransform": {
            "type": "string",
            "description": "A name transform to apply before syncing secrets: \"none\" or \"lowercase\"\n",
            "willReplaceOnChanges": true
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project\n",
            "willReplaceOnChanges": true
          },
          "syncTarget": {
            "type": "string",
            "description": "Either \"workspace\" or \"variableSet\", based on the resource type to sync to\n",
            "willReplaceOnChanges": true
          },
          "variableSetId": {
            "type": "string",
            "willReplaceOnChanges": true
          },
          "variableSyncType": {
            "type": "string",
            "willReplaceOnChanges": true
          },
          "workspaceId": {
            "type": "string",
            "willReplaceOnChanges": true
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "doppler:index/getSecrets:getSecrets": {
      "description": "Retrieve all secrets in the config.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSecrets.\n",
        "properties": {
          "config": {
            "type": "string",
            "description": "The name of the Doppler config (required for personal tokens)\n"
          },
          "project": {
            "type": "string",
            "description": "The name of the Doppler project (required for personal tokens)\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSecrets.\n",
        "properties": {
          "config": {
            "description": "The name of the Doppler config (required for personal tokens)\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "map": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "A mapping of secret names to computed secret values\n",
            "secret": true,
            "type": "object"
          },
          "project": {
            "description": "The name of the Doppler project (required for personal tokens)\n",
            "type": "string"
          }
        },
        "required": [
          "id",
          "map"
        ],
        "type": "object"
      }
    },
    "doppler:index/getUser:getUser": {
      "description": "Retrieve an existing Doppler user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as doppler from \"@pulumi/doppler\";\n\nconst nic = doppler.getUser({\n    email: \"nic@doppler.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_doppler as doppler\n\nnic = doppler.get_user(email=\"nic@doppler.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Doppler = Pulumi.Doppler;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var nic = Doppler.GetUser.Invoke(new()\n    {\n        Email = \"nic@doppler.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-doppler/sdk/go/doppler\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := doppler.GetUser(ctx, \u0026doppler.GetUserArgs{\n\t\t\tEmail: \"nic@doppler.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.doppler.DopplerFunctions;\nimport com.pulumi.doppler.inputs.GetUserArgs;\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 nic = DopplerFunctions.getUser(GetUserArgs.builder()\n            .email(\"nic@doppler.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  nic:\n    fn::invoke:\n      Function: doppler:getUser\n      Arguments:\n        email: nic@doppler.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUser.\n",
        "properties": {
          "email": {
            "type": "string",
            "description": "The email address of the Doppler user\n"
          }
        },
        "type": "object",
        "required": [
          "email"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getUser.\n",
        "properties": {
          "email": {
            "description": "The email address of the Doppler user\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "slug": {
            "description": "The slug of the Doppler user\n",
            "type": "string"
          }
        },
        "required": [
          "email",
          "id",
          "slug"
        ],
        "type": "object"
      }
    }
  }
}
