{"name":"neon","version":"0.13.0","description":"A Pulumi provider dynamically bridged from neon.","attribution":"This Pulumi package is based on the [`neon` Terraform Provider](https://github.com/kislerdm/terraform-provider-neon).","repository":"https://github.com/kislerdm/terraform-provider-neon","publisher":"kislerdm","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"neon"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from neon.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/kislerdm/terraform-provider-neon)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-neon` repo](https://github.com/kislerdm/terraform-provider-neon/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/kislerdm/terraform-provider-neon)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-neon` repo](https://github.com/kislerdm/terraform-provider-neon/issues).","respectSchemaVersion":true}},"config":{"variables":{"apiKey":{"type":"string","description":"API access key. Default is read from the environment variable `NEON_API_KEY`."}}},"types":{"neon:index/ProjectBranch:ProjectBranch":{"properties":{"databaseName":{"type":"string","description":"The name of the default database provisioned upon creation of new project. It's owned by the default role (\u003cspan pulumi-lang-nodejs=\"`roleName`\" pulumi-lang-dotnet=\"`RoleName`\" pulumi-lang-go=\"`roleName`\" pulumi-lang-python=\"`role_name`\" pulumi-lang-yaml=\"`roleName`\" pulumi-lang-java=\"`roleName`\"\u003e`role_name`\u003c/span\u003e).\nIf not specified, the default database name will be used.\n"},"id":{"type":"string","description":"Branch ID.\n"},"name":{"type":"string","description":"The name of the default branch provisioned upon creation of new project.\nIf not specified, the default branch name will be used.\n"},"roleName":{"type":"string","description":"The name of the default role provisioned upon creation of new project.\nIf not specified, the default role name will be used.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["databaseName","id","name","roleName"]}}},"neon:index/ProjectDefaultEndpointSettings:ProjectDefaultEndpointSettings":{"properties":{"autoscalingLimitMaxCu":{"type":"number"},"autoscalingLimitMinCu":{"type":"number"},"id":{"type":"string","description":"Endpoint ID.\n"},"suspendTimeoutSeconds":{"type":"number","description":"Duration of inactivity in seconds after which the compute endpoint is automatically suspended.\nThe value 0 means use the global default.\nThe value -1 means never suspend. The default value is 300 seconds (5 minutes).\nThe maximum value is 604800 seconds (1 week)\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["autoscalingLimitMaxCu","autoscalingLimitMinCu","id","suspendTimeoutSeconds"]}}},"neon:index/ProjectMaintenanceWindow:ProjectMaintenanceWindow":{"properties":{"endTime":{"type":"string","description":"End time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n"},"startTime":{"type":"string","description":"Start time of the maintenance window, in the format of \"HH:MM\". Uses UTC.\n"},"weekdays":{"type":"array","items":{"type":"number"},"description":"A list of weekdays when the maintenance window is active. Encoded as ints, where 1 - Monday, and 7 - Sunday.\n"}},"type":"object","required":["endTime","startTime","weekdays"]},"neon:index/ProjectQuota:ProjectQuota":{"properties":{"activeTimeSeconds":{"type":"number","description":"The total amount of wall-clock time allowed to be spent by the project's compute endpoints.\n"},"computeTimeSeconds":{"type":"number","description":"The total amount of CPU seconds allowed to be spent by the project's compute endpoints.\n"},"dataTransferBytes":{"type":"number","description":"Total amount of data transferred from all of a project's branches using the proxy.\n"},"logicalSizeBytes":{"type":"number","description":"Limit on the logical size of every project's branch.\n"},"writtenDataBytes":{"type":"number","description":"Total amount of data written to all of a project's branches.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["activeTimeSeconds","computeTimeSeconds","dataTransferBytes","logicalSizeBytes","writtenDataBytes"]}}},"neon:index/getBranchEndpointsEndpoint:getBranchEndpointsEndpoint":{"properties":{"host":{"type":"string","description":"Endpoint URI.\n"},"id":{"type":"string","description":"Endpoint ID.\n"},"proxyHost":{"type":"string"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions\n"},"type":{"type":"string","description":"Access type.\n"}},"type":"object","required":["host","id","proxyHost","regionId","type"],"language":{"nodejs":{"requiredInputs":[]}}},"neon:index/getBranchRolesRole:getBranchRolesRole":{"properties":{"name":{"type":"string","description":"Role name.\n"},"protected":{"type":"boolean"}},"type":"object","required":["name","protected"],"language":{"nodejs":{"requiredInputs":[]}}},"neon:index/getBranchesBranch:getBranchesBranch":{"properties":{"id":{"type":"string"},"logicalSize":{"type":"number"},"name":{"type":"string"},"parentId":{"type":"string"},"primary":{"type":"boolean"}},"type":"object","required":["id","logicalSize","name","parentId","primary"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the neon 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":{"apiKey":{"type":"string","description":"API access key. Default is read from the environment variable `NEON_API_KEY`."}},"type":"object","inputProperties":{"apiKey":{"type":"string","description":"API access key. Default is read from the environment variable `NEON_API_KEY`."}},"methods":{"terraformConfig":"pulumi:providers:neon/terraformConfig"}},"resources":{"neon:index/apiKey:ApiKey":{"description":"A key to access the Neon API.\n\n~\u003e**WARNING** The resource does not support import.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.ApiKey(\"example\", {name: \"foo\"});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.ApiKey(\"example\", name=\"foo\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.ApiKey(\"example\", new()\n    {\n        Name = \"foo\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neon.NewApiKey(ctx, \"example\", \u0026neon.ApiKeyArgs{\n\t\t\tName: pulumi.String(\"foo\"),\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.neon.ApiKey;\nimport com.pulumi.neon.ApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ApiKey(\"example\", ApiKeyArgs.builder()\n            .name(\"foo\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:ApiKey\n    properties:\n      name: foo\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource does not support import.\n\n","properties":{"key":{"type":"string","description":"The generated 64-bit token required to access the Neon API.\n","secret":true},"name":{"type":"string","description":"The name of the API Key.\n"}},"type":"object","required":["key","name"],"inputProperties":{"name":{"type":"string","description":"The name of the API Key.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering ApiKey resources.\n","properties":{"key":{"type":"string","description":"The generated 64-bit token required to access the Neon API.\n","secret":true},"name":{"type":"string","description":"The name of the API Key.\n"}},"type":"object"}},"neon:index/branch:Branch":{"description":"Project Branch. See details: https://neon.tech/docs/introduction/branching/\n\n## Import\n\nThe Neon Branch can be imported to the terraform state by its composite identifier that consists of\n\n`ProjectID` and `BranchID` separated by a forward slash.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_branch.example\n\n  id = \"curly-poetry-30604233/br-snowy-mountain-a5jkb18i\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/branch:Branch example \"curly-poetry-30604233/br-snowy-mountain-a5jkb18i\"\n```\n\n","properties":{"logicalSize":{"type":"number","description":"Branch logical size in MB.\n"},"name":{"type":"string","description":"Branch name.\n"},"parentId":{"type":"string","description":"ID of the branch to check out.\n"},"parentLsn":{"type":"string","description":"Log Sequence Number (LSN) horizon for the data to be present in the new branch.\nSee details: https://neon.tech/docs/reference/glossary/#lsn\n"},"parentTimestamp":{"type":"number","description":"Timestamp horizon for the data to be present in the new branch.\n**Note**: it's defined as Unix epoch.'\n"},"projectId":{"type":"string","description":"Project ID.\n"},"protected":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSet whether the branch is protected.\n"}},"type":"object","required":["logicalSize","name","parentId","parentLsn","parentTimestamp","projectId"],"inputProperties":{"name":{"type":"string","description":"Branch name.\n"},"parentId":{"type":"string","description":"ID of the branch to check out.\n"},"parentLsn":{"type":"string","description":"Log Sequence Number (LSN) horizon for the data to be present in the new branch.\nSee details: https://neon.tech/docs/reference/glossary/#lsn\n"},"parentTimestamp":{"type":"number","description":"Timestamp horizon for the data to be present in the new branch.\n**Note**: it's defined as Unix epoch.'\n"},"projectId":{"type":"string","description":"Project ID.\n"},"protected":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSet whether the branch is protected.\n"}},"requiredInputs":["projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Branch resources.\n","properties":{"logicalSize":{"type":"number","description":"Branch logical size in MB.\n"},"name":{"type":"string","description":"Branch name.\n"},"parentId":{"type":"string","description":"ID of the branch to check out.\n"},"parentLsn":{"type":"string","description":"Log Sequence Number (LSN) horizon for the data to be present in the new branch.\nSee details: https://neon.tech/docs/reference/glossary/#lsn\n"},"parentTimestamp":{"type":"number","description":"Timestamp horizon for the data to be present in the new branch.\n**Note**: it's defined as Unix epoch.'\n"},"projectId":{"type":"string","description":"Project ID.\n"},"protected":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSet whether the branch is protected.\n"}},"type":"object"}},"neon:index/database:Database":{"description":"Project Database. See details: https://neon.tech/docs/manage/databases/\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.Project(\"example\", {name: \"foo\"});\nconst exampleBranch = new neon.Branch(\"example\", {\n    projectId: example.id,\n    name: \"bar\",\n});\nconst exampleRole = new neon.Role(\"example\", {\n    projectId: example.id,\n    branchId: exampleBranch.id,\n    name: \"qux\",\n});\nconst exampleDatabase = new neon.Database(\"example\", {\n    projectId: example.id,\n    branchId: exampleBranch.id,\n    name: \"qux\",\n    ownerName: exampleRole.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.Project(\"example\", name=\"foo\")\nexample_branch = neon.Branch(\"example\",\n    project_id=example.id,\n    name=\"bar\")\nexample_role = neon.Role(\"example\",\n    project_id=example.id,\n    branch_id=example_branch.id,\n    name=\"qux\")\nexample_database = neon.Database(\"example\",\n    project_id=example.id,\n    branch_id=example_branch.id,\n    name=\"qux\",\n    owner_name=example_role.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.Project(\"example\", new()\n    {\n        Name = \"foo\",\n    });\n\n    var exampleBranch = new Neon.Branch(\"example\", new()\n    {\n        ProjectId = example.Id,\n        Name = \"bar\",\n    });\n\n    var exampleRole = new Neon.Role(\"example\", new()\n    {\n        ProjectId = example.Id,\n        BranchId = exampleBranch.Id,\n        Name = \"qux\",\n    });\n\n    var exampleDatabase = new Neon.Database(\"example\", new()\n    {\n        ProjectId = example.Id,\n        BranchId = exampleBranch.Id,\n        Name = \"qux\",\n        OwnerName = exampleRole.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neon.NewProject(ctx, \"example\", \u0026neon.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBranch, err := neon.NewBranch(ctx, \"example\", \u0026neon.BranchArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tName:      pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleRole, err := neon.NewRole(ctx, \"example\", \u0026neon.RoleArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tBranchId:  exampleBranch.ID(),\n\t\t\tName:      pulumi.String(\"qux\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neon.NewDatabase(ctx, \"example\", \u0026neon.DatabaseArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tBranchId:  exampleBranch.ID(),\n\t\t\tName:      pulumi.String(\"qux\"),\n\t\t\tOwnerName: exampleRole.Name,\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.neon.Project;\nimport com.pulumi.neon.ProjectArgs;\nimport com.pulumi.neon.Branch;\nimport com.pulumi.neon.BranchArgs;\nimport com.pulumi.neon.Role;\nimport com.pulumi.neon.RoleArgs;\nimport com.pulumi.neon.Database;\nimport com.pulumi.neon.DatabaseArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Project(\"example\", ProjectArgs.builder()\n            .name(\"foo\")\n            .build());\n\n        var exampleBranch = new Branch(\"exampleBranch\", BranchArgs.builder()\n            .projectId(example.id())\n            .name(\"bar\")\n            .build());\n\n        var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n            .projectId(example.id())\n            .branchId(exampleBranch.id())\n            .name(\"qux\")\n            .build());\n\n        var exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .projectId(example.id())\n            .branchId(exampleBranch.id())\n            .name(\"qux\")\n            .ownerName(exampleRole.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:Project\n    properties:\n      name: foo\n  exampleBranch:\n    type: neon:Branch\n    name: example\n    properties:\n      projectId: ${example.id}\n      name: bar\n  exampleRole:\n    type: neon:Role\n    name: example\n    properties:\n      projectId: ${example.id}\n      branchId: ${exampleBranch.id}\n      name: qux\n  exampleDatabase:\n    type: neon:Database\n    name: example\n    properties:\n      projectId: ${example.id}\n      branchId: ${exampleBranch.id}\n      name: qux\n      ownerName: ${exampleRole.name}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Neon Database can be imported to the terraform state by the identifier which is composed of the `projectID`, `branchID`\n\nand the Database `name`. For example, the identifier of the Database `myDatabase` from the branch `br-snowy-mountain-a5jkb18i`\n\nof the project `shiny-cell-31746257` is `shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myDatabase`.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_database.example\n\n  id = \"shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myDatabase\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/database:Database example \"shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myDatabase\"\n```\n\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"databaseId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Database name.\n"},"ownerName":{"type":"string","description":"Role name of the database owner.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object","required":["branchId","databaseId","name","ownerName","projectId"],"inputProperties":{"branchId":{"type":"string","description":"Branch ID.\n"},"databaseId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Database name.\n"},"ownerName":{"type":"string","description":"Role name of the database owner.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"requiredInputs":["branchId","ownerName","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"databaseId":{"type":"string","description":"The ID of this resource.\n"},"name":{"type":"string","description":"Database name.\n"},"ownerName":{"type":"string","description":"Role name of the database owner.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object"}},"neon:index/endpoint:Endpoint":{"description":"Project Endpoint. See details: https://neon.tech/docs/manage/endpoints/\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.Project(\"example\", {name: \"foo\"});\nconst exampleBranch = new neon.Branch(\"example\", {\n    projectId: example.id,\n    name: \"bar\",\n});\nconst exampleEndpoint = new neon.Endpoint(\"example\", {\n    projectId: example.id,\n    branchId: exampleBranch.id,\n    type: \"read_write\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.Project(\"example\", name=\"foo\")\nexample_branch = neon.Branch(\"example\",\n    project_id=example.id,\n    name=\"bar\")\nexample_endpoint = neon.Endpoint(\"example\",\n    project_id=example.id,\n    branch_id=example_branch.id,\n    type=\"read_write\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.Project(\"example\", new()\n    {\n        Name = \"foo\",\n    });\n\n    var exampleBranch = new Neon.Branch(\"example\", new()\n    {\n        ProjectId = example.Id,\n        Name = \"bar\",\n    });\n\n    var exampleEndpoint = new Neon.Endpoint(\"example\", new()\n    {\n        ProjectId = example.Id,\n        BranchId = exampleBranch.Id,\n        Type = \"read_write\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neon.NewProject(ctx, \"example\", \u0026neon.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBranch, err := neon.NewBranch(ctx, \"example\", \u0026neon.BranchArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tName:      pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neon.NewEndpoint(ctx, \"example\", \u0026neon.EndpointArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tBranchId:  exampleBranch.ID(),\n\t\t\tType:      pulumi.String(\"read_write\"),\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.neon.Project;\nimport com.pulumi.neon.ProjectArgs;\nimport com.pulumi.neon.Branch;\nimport com.pulumi.neon.BranchArgs;\nimport com.pulumi.neon.Endpoint;\nimport com.pulumi.neon.EndpointArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Project(\"example\", ProjectArgs.builder()\n            .name(\"foo\")\n            .build());\n\n        var exampleBranch = new Branch(\"exampleBranch\", BranchArgs.builder()\n            .projectId(example.id())\n            .name(\"bar\")\n            .build());\n\n        var exampleEndpoint = new Endpoint(\"exampleEndpoint\", EndpointArgs.builder()\n            .projectId(example.id())\n            .branchId(exampleBranch.id())\n            .type(\"read_write\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:Project\n    properties:\n      name: foo\n  exampleBranch:\n    type: neon:Branch\n    name: example\n    properties:\n      projectId: ${example.id}\n      name: bar\n  exampleEndpoint:\n    type: neon:Endpoint\n    name: example\n    properties:\n      projectId: ${example.id}\n      branchId: ${exampleBranch.id}\n      type: read_write\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Neon Endpoint can be imported to the terraform state by providing the composite identifier that consists\n\nof the `ProjectID` and the `EndpointID`.\n\nImport using the import block:\n\nFor example, use the composite identifier `curly-poetry-30604233/ep-black-mouse-a64dr7wp`\n\nto import the endpoint `ep-black-mouse-a64dr7wp` from the project `curly-poetry-30604233`:\n\nhcl\n\nimport {\n\n  to = neon_endpoint.example\n\n  id = \"curly-poetry-30604233/ep-black-mouse-a64dr7wp\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/endpoint:Endpoint example curly-poetry-30604233/ep-black-mouse-a64dr7wp\n```\n\n","properties":{"autoscalingLimitMaxCu":{"type":"number"},"autoscalingLimitMinCu":{"type":"number"},"branchId":{"type":"string","description":"Branch ID.\n"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"disabled":{"type":"boolean","description":"Disable the endpoint.\n"},"host":{"type":"string","description":"Endpoint URI.\n"},"pgSettings":{"type":"object","additionalProperties":{"type":"string"}},"poolerEnabled":{"type":"boolean","description":"Activate connection pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"poolerMode":{"type":"string","description":"Mode of connections pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"projectId":{"type":"string","description":"Project ID.\n"},"proxyHost":{"type":"string"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions\n"},"suspendTimeoutSeconds":{"type":"number","description":"Duration of inactivity in seconds after which the compute endpoint is automatically suspended.\nThe value 0 means use the global default.\nThe value -1 means never suspend. The default value is 300 seconds (5 minutes).\nThe maximum value is 604800 seconds (1 week)\n"},"type":{"type":"string","description":"Access type. **Note** that a single branch can have only one \u003cspan pulumi-lang-nodejs=\"\"readWrite\"\" pulumi-lang-dotnet=\"\"ReadWrite\"\" pulumi-lang-go=\"\"readWrite\"\" pulumi-lang-python=\"\"read_write\"\" pulumi-lang-yaml=\"\"readWrite\"\" pulumi-lang-java=\"\"readWrite\"\"\u003e\"read_write\"\u003c/span\u003e endpoint.\n"}},"type":"object","required":["autoscalingLimitMaxCu","autoscalingLimitMinCu","branchId","computeProvisioner","disabled","host","poolerEnabled","poolerMode","projectId","proxyHost","regionId","suspendTimeoutSeconds"],"inputProperties":{"autoscalingLimitMaxCu":{"type":"number"},"autoscalingLimitMinCu":{"type":"number"},"branchId":{"type":"string","description":"Branch ID.\n"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"disabled":{"type":"boolean","description":"Disable the endpoint.\n"},"pgSettings":{"type":"object","additionalProperties":{"type":"string"}},"poolerEnabled":{"type":"boolean","description":"Activate connection pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"poolerMode":{"type":"string","description":"Mode of connections pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"projectId":{"type":"string","description":"Project ID.\n"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions\n"},"suspendTimeoutSeconds":{"type":"number","description":"Duration of inactivity in seconds after which the compute endpoint is automatically suspended.\nThe value 0 means use the global default.\nThe value -1 means never suspend. The default value is 300 seconds (5 minutes).\nThe maximum value is 604800 seconds (1 week)\n"},"type":{"type":"string","description":"Access type. **Note** that a single branch can have only one \u003cspan pulumi-lang-nodejs=\"\"readWrite\"\" pulumi-lang-dotnet=\"\"ReadWrite\"\" pulumi-lang-go=\"\"readWrite\"\" pulumi-lang-python=\"\"read_write\"\" pulumi-lang-yaml=\"\"readWrite\"\" pulumi-lang-java=\"\"readWrite\"\"\u003e\"read_write\"\u003c/span\u003e endpoint.\n"}},"requiredInputs":["branchId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Endpoint resources.\n","properties":{"autoscalingLimitMaxCu":{"type":"number"},"autoscalingLimitMinCu":{"type":"number"},"branchId":{"type":"string","description":"Branch ID.\n"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"disabled":{"type":"boolean","description":"Disable the endpoint.\n"},"host":{"type":"string","description":"Endpoint URI.\n"},"pgSettings":{"type":"object","additionalProperties":{"type":"string"}},"poolerEnabled":{"type":"boolean","description":"Activate connection pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"poolerMode":{"type":"string","description":"Mode of connections pooling.\nSee details: https://neon.tech/docs/connect/connection-pooling\n"},"projectId":{"type":"string","description":"Project ID.\n"},"proxyHost":{"type":"string"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions\n"},"suspendTimeoutSeconds":{"type":"number","description":"Duration of inactivity in seconds after which the compute endpoint is automatically suspended.\nThe value 0 means use the global default.\nThe value -1 means never suspend. The default value is 300 seconds (5 minutes).\nThe maximum value is 604800 seconds (1 week)\n"},"type":{"type":"string","description":"Access type. **Note** that a single branch can have only one \u003cspan pulumi-lang-nodejs=\"\"readWrite\"\" pulumi-lang-dotnet=\"\"ReadWrite\"\" pulumi-lang-go=\"\"readWrite\"\" pulumi-lang-python=\"\"read_write\"\" pulumi-lang-yaml=\"\"readWrite\"\" pulumi-lang-java=\"\"readWrite\"\"\u003e\"read_write\"\u003c/span\u003e endpoint.\n"}},"type":"object"}},"neon:index/jwksUrl:JwksUrl":{"description":"Project JWKS URL. See details: https://neon.tech/docs/guides/neon-rls-authorize\n\n~\u003e**WARNING** The resource does not support import.\n\n\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"jwksUrl":{"type":"string","description":"The URL that lists the JWKS.\n"},"jwksUrlId":{"type":"string","description":"The ID of this resource.\n"},"jwtAudience":{"type":"string","description":"The name of the required JWT Audience to be used.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"providerName":{"type":"string","description":"The name of the authentication provider.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"The roles the JWKS should be mapped to.\n"}},"type":"object","required":["jwksUrl","jwksUrlId","projectId","providerName","roleNames"],"inputProperties":{"branchId":{"type":"string","description":"Branch ID.\n"},"jwksUrl":{"type":"string","description":"The URL that lists the JWKS.\n"},"jwksUrlId":{"type":"string","description":"The ID of this resource.\n"},"jwtAudience":{"type":"string","description":"The name of the required JWT Audience to be used.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"providerName":{"type":"string","description":"The name of the authentication provider.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"The roles the JWKS should be mapped to.\n"}},"requiredInputs":["jwksUrl","projectId","providerName","roleNames"],"stateInputs":{"description":"Input properties used for looking up and filtering JwksUrl resources.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"jwksUrl":{"type":"string","description":"The URL that lists the JWKS.\n"},"jwksUrlId":{"type":"string","description":"The ID of this resource.\n"},"jwtAudience":{"type":"string","description":"The name of the required JWT Audience to be used.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"providerName":{"type":"string","description":"The name of the authentication provider.\n"},"roleNames":{"type":"array","items":{"type":"string"},"description":"The roles the JWKS should be mapped to.\n"}},"type":"object"}},"neon:index/orgApiKey:OrgApiKey":{"description":"An org-specific key to access the Neon API.\n\n~\u003e**WARNING** The resource does not support import.\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.OrgApiKey(\"example\", {\n    name: \"foo\",\n    orgId: \"org-foo-bar-12345678\",\n});\n//## Create API key that could only be used to manage the project with the ID baz-qux-12345678\nconst limitedToProject = new neon.OrgApiKey(\"limited_to_project\", {\n    name: \"foo\",\n    orgId: \"org-foo-bar-12345678\",\n    projectId: \"baz-qux-12345678\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.OrgApiKey(\"example\",\n    name=\"foo\",\n    org_id=\"org-foo-bar-12345678\")\n### Create API key that could only be used to manage the project with the ID baz-qux-12345678\nlimited_to_project = neon.OrgApiKey(\"limited_to_project\",\n    name=\"foo\",\n    org_id=\"org-foo-bar-12345678\",\n    project_id=\"baz-qux-12345678\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.OrgApiKey(\"example\", new()\n    {\n        Name = \"foo\",\n        OrgId = \"org-foo-bar-12345678\",\n    });\n\n    //## Create API key that could only be used to manage the project with the ID baz-qux-12345678\n    var limitedToProject = new Neon.OrgApiKey(\"limited_to_project\", new()\n    {\n        Name = \"foo\",\n        OrgId = \"org-foo-bar-12345678\",\n        ProjectId = \"baz-qux-12345678\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neon.NewOrgApiKey(ctx, \"example\", \u0026neon.OrgApiKeyArgs{\n\t\t\tName:  pulumi.String(\"foo\"),\n\t\t\tOrgId: pulumi.String(\"org-foo-bar-12345678\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## Create API key that could only be used to manage the project with the ID baz-qux-12345678\n\t\t_, err = neon.NewOrgApiKey(ctx, \"limited_to_project\", \u0026neon.OrgApiKeyArgs{\n\t\t\tName:      pulumi.String(\"foo\"),\n\t\t\tOrgId:     pulumi.String(\"org-foo-bar-12345678\"),\n\t\t\tProjectId: pulumi.String(\"baz-qux-12345678\"),\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.neon.OrgApiKey;\nimport com.pulumi.neon.OrgApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new OrgApiKey(\"example\", OrgApiKeyArgs.builder()\n            .name(\"foo\")\n            .orgId(\"org-foo-bar-12345678\")\n            .build());\n\n        //## Create API key that could only be used to manage the project with the ID baz-qux-12345678\n        var limitedToProject = new OrgApiKey(\"limitedToProject\", OrgApiKeyArgs.builder()\n            .name(\"foo\")\n            .orgId(\"org-foo-bar-12345678\")\n            .projectId(\"baz-qux-12345678\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:OrgApiKey\n    properties:\n      name: foo\n      orgId: org-foo-bar-12345678\n  ### Create API key that could only be used to manage the project with the ID baz-qux-12345678\n  limitedToProject:\n    type: neon:OrgApiKey\n    name: limited_to_project\n    properties:\n      name: foo\n      orgId: org-foo-bar-12345678\n      projectId: baz-qux-12345678\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe resource does not support import.\n\n","properties":{"key":{"type":"string","description":"The generated 64-bit token required to access the Neon API.\n","secret":true},"name":{"type":"string","description":"The name of the API Key.\n"},"orgId":{"type":"string","description":"The organisation ID.\n"},"projectId":{"type":"string","description":"The project ID to which this key will grant the access to.\n"}},"type":"object","required":["key","name","orgId"],"inputProperties":{"name":{"type":"string","description":"The name of the API Key.\n"},"orgId":{"type":"string","description":"The organisation ID.\n"},"projectId":{"type":"string","description":"The project ID to which this key will grant the access to.\n"}},"requiredInputs":["orgId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrgApiKey resources.\n","properties":{"key":{"type":"string","description":"The generated 64-bit token required to access the Neon API.\n","secret":true},"name":{"type":"string","description":"The name of the API Key.\n"},"orgId":{"type":"string","description":"The organisation ID.\n"},"projectId":{"type":"string","description":"The project ID to which this key will grant the access to.\n"}},"type":"object"}},"neon:index/project:Project":{"description":"Neon Project.\n\nSee details: https://neon.tech/docs/get-started-with-neon/setting-up-a-project/\nAPI: https://api-docs.neon.tech/reference/createproject\n\n## Import\n\nThe Neon Project can be imported to the terraform state by its identifier.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_project.example\n\n  id = \"shiny-cell-31746257\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/project:Project example shiny-cell-31746257\n```\n\n","properties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses that are allowed to connect to the endpoints.\nNote that the feature is available to the Neon Scale plans only. Details: https://neon.tech/docs/manage/projects#configure-ip-allow\n"},"allowedIpsProtectedBranchesOnly":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nApply the allow-list to the protected branches only.\nNote that the feature is available to the Neon Scale plans only.\n"},"blockPublicConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections from public internet. This supersedes the AllowedIPs list.\n"},"blockVpcConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections that use VPC endpoints.\n"},"branch":{"$ref":"#/types/neon:index%2FProjectBranch:ProjectBranch"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"connectionUri":{"type":"string","description":"Default connection uri. **Note** that it contains access credentials.","secret":true},"connectionUriPooler":{"type":"string","description":"Default connection uri with the traffic via pooler. **Note** that it contains access credentials.","secret":true},"databaseHost":{"type":"string","description":"Default database host."},"databaseHostPooler":{"type":"string","description":"Default endpoint host via pooler."},"databaseName":{"type":"string","description":"Default database name."},"databasePassword":{"type":"string","description":"Default database access password.","secret":true},"databaseUser":{"type":"string","description":"Default database role."},"defaultBranchId":{"type":"string","description":"Default branch ID."},"defaultEndpointId":{"type":"string","description":"Default endpoint ID."},"defaultEndpointSettings":{"$ref":"#/types/neon:index%2FProjectDefaultEndpointSettings:ProjectDefaultEndpointSettings"},"enableLogicalReplication":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended. Once enabled, logical replication cannot be disabled.\nSee details: https://neon.tech/docs/introduction/logical-replication\n"},"historyRetentionSeconds":{"type":"number","description":"The number of seconds to retain the point-in-time restore (PITR) backup history for this project.\nDefault: 1 day, see https://neon.tech/docs/reference/glossary#point-in-time-restore.\n"},"maintenanceWindow":{"$ref":"#/types/neon:index%2FProjectMaintenanceWindow:ProjectMaintenanceWindow","description":"A time period during which Neon may perform maintenance on the project's infrastructure. During this time, the project's compute endpoints may be unavailable and existing connections can be interrupted.\n"},"name":{"type":"string","description":"Project name.\n"},"orgId":{"type":"string","description":"Identifier of the organisation to which this project belongs.\n"},"pgVersion":{"type":"number","description":"Postgres version\n"},"quota":{"$ref":"#/types/neon:index%2FProjectQuota:ProjectQuota","description":"Per-project consumption quota. If the quota is exceeded, all active computes\nare automatically suspended and it will not be possible to start them with\nan API method call or incoming proxy connections. The only exception is\nlogical*size*bytes, which is applied on per-branch basis, i.e., only the\ncompute on the branch that exceeds the\u003cspan pulumi-lang-nodejs=\" logicalSize \" pulumi-lang-dotnet=\" LogicalSize \" pulumi-lang-go=\" logicalSize \" pulumi-lang-python=\" logical_size \" pulumi-lang-yaml=\" logicalSize \" pulumi-lang-java=\" logicalSize \"\u003e logical_size \u003c/span\u003equota will be suspended.\n"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions"},"storePassword":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nWhether or not passwords are stored for roles in the Neon project.\nStoring passwords facilitates access to Neon features that require authorization."}},"type":"object","required":["computeProvisioner","connectionUri","connectionUriPooler","databaseHost","databaseHostPooler","databaseName","databasePassword","databaseUser","defaultBranchId","defaultEndpointId","name","pgVersion","regionId"],"inputProperties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses that are allowed to connect to the endpoints.\nNote that the feature is available to the Neon Scale plans only. Details: https://neon.tech/docs/manage/projects#configure-ip-allow\n"},"allowedIpsProtectedBranchesOnly":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nApply the allow-list to the protected branches only.\nNote that the feature is available to the Neon Scale plans only.\n"},"blockPublicConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections from public internet. This supersedes the AllowedIPs list.\n"},"blockVpcConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections that use VPC endpoints.\n"},"branch":{"$ref":"#/types/neon:index%2FProjectBranch:ProjectBranch"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"defaultEndpointSettings":{"$ref":"#/types/neon:index%2FProjectDefaultEndpointSettings:ProjectDefaultEndpointSettings"},"enableLogicalReplication":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended. Once enabled, logical replication cannot be disabled.\nSee details: https://neon.tech/docs/introduction/logical-replication\n"},"historyRetentionSeconds":{"type":"number","description":"The number of seconds to retain the point-in-time restore (PITR) backup history for this project.\nDefault: 1 day, see https://neon.tech/docs/reference/glossary#point-in-time-restore.\n"},"maintenanceWindow":{"$ref":"#/types/neon:index%2FProjectMaintenanceWindow:ProjectMaintenanceWindow","description":"A time period during which Neon may perform maintenance on the project's infrastructure. During this time, the project's compute endpoints may be unavailable and existing connections can be interrupted.\n"},"name":{"type":"string","description":"Project name.\n"},"orgId":{"type":"string","description":"Identifier of the organisation to which this project belongs.\n"},"pgVersion":{"type":"number","description":"Postgres version\n"},"quota":{"$ref":"#/types/neon:index%2FProjectQuota:ProjectQuota","description":"Per-project consumption quota. If the quota is exceeded, all active computes\nare automatically suspended and it will not be possible to start them with\nan API method call or incoming proxy connections. The only exception is\nlogical*size*bytes, which is applied on per-branch basis, i.e., only the\ncompute on the branch that exceeds the\u003cspan pulumi-lang-nodejs=\" logicalSize \" pulumi-lang-dotnet=\" LogicalSize \" pulumi-lang-go=\" logicalSize \" pulumi-lang-python=\" logical_size \" pulumi-lang-yaml=\" logicalSize \" pulumi-lang-java=\" logicalSize \"\u003e logical_size \u003c/span\u003equota will be suspended.\n"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions"},"storePassword":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nWhether or not passwords are stored for roles in the Neon project.\nStoring passwords facilitates access to Neon features that require authorization."}},"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"allowedIps":{"type":"array","items":{"type":"string"},"description":"A list of IP addresses that are allowed to connect to the endpoints.\nNote that the feature is available to the Neon Scale plans only. Details: https://neon.tech/docs/manage/projects#configure-ip-allow\n"},"allowedIpsProtectedBranchesOnly":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nApply the allow-list to the protected branches only.\nNote that the feature is available to the Neon Scale plans only.\n"},"blockPublicConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections from public internet. This supersedes the AllowedIPs list.\n"},"blockVpcConnections":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nBlock connections that use VPC endpoints.\n"},"branch":{"$ref":"#/types/neon:index%2FProjectBranch:ProjectBranch"},"computeProvisioner":{"type":"string","description":"Provisioner The Neon compute provisioner.\nSpecify the k8s-neonvm provisioner to create a compute endpoint that supports Autoscaling.\n"},"connectionUri":{"type":"string","description":"Default connection uri. **Note** that it contains access credentials.","secret":true},"connectionUriPooler":{"type":"string","description":"Default connection uri with the traffic via pooler. **Note** that it contains access credentials.","secret":true},"databaseHost":{"type":"string","description":"Default database host."},"databaseHostPooler":{"type":"string","description":"Default endpoint host via pooler."},"databaseName":{"type":"string","description":"Default database name."},"databasePassword":{"type":"string","description":"Default database access password.","secret":true},"databaseUser":{"type":"string","description":"Default database role."},"defaultBranchId":{"type":"string","description":"Default branch ID."},"defaultEndpointId":{"type":"string","description":"Default endpoint ID."},"defaultEndpointSettings":{"$ref":"#/types/neon:index%2FProjectDefaultEndpointSettings:ProjectDefaultEndpointSettings"},"enableLogicalReplication":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nSets wal_level=logical for all compute endpoints in this project.\nAll active endpoints will be suspended. Once enabled, logical replication cannot be disabled.\nSee details: https://neon.tech/docs/introduction/logical-replication\n"},"historyRetentionSeconds":{"type":"number","description":"The number of seconds to retain the point-in-time restore (PITR) backup history for this project.\nDefault: 1 day, see https://neon.tech/docs/reference/glossary#point-in-time-restore.\n"},"maintenanceWindow":{"$ref":"#/types/neon:index%2FProjectMaintenanceWindow:ProjectMaintenanceWindow","description":"A time period during which Neon may perform maintenance on the project's infrastructure. During this time, the project's compute endpoints may be unavailable and existing connections can be interrupted.\n"},"name":{"type":"string","description":"Project name.\n"},"orgId":{"type":"string","description":"Identifier of the organisation to which this project belongs.\n"},"pgVersion":{"type":"number","description":"Postgres version\n"},"quota":{"$ref":"#/types/neon:index%2FProjectQuota:ProjectQuota","description":"Per-project consumption quota. If the quota is exceeded, all active computes\nare automatically suspended and it will not be possible to start them with\nan API method call or incoming proxy connections. The only exception is\nlogical*size*bytes, which is applied on per-branch basis, i.e., only the\ncompute on the branch that exceeds the\u003cspan pulumi-lang-nodejs=\" logicalSize \" pulumi-lang-dotnet=\" LogicalSize \" pulumi-lang-go=\" logicalSize \" pulumi-lang-python=\" logical_size \" pulumi-lang-yaml=\" logicalSize \" pulumi-lang-java=\" logicalSize \"\u003e logical_size \u003c/span\u003equota will be suspended.\n"},"regionId":{"type":"string","description":"Deployment region: https://neon.tech/docs/introduction/regions"},"storePassword":{"type":"string","description":"Set to 'yes' to activate, 'no' to deactivate explicitly, and omit to keep the default value.\nWhether or not passwords are stored for roles in the Neon project.\nStoring passwords facilitates access to Neon features that require authorization."}},"type":"object"}},"neon:index/projectPermission:ProjectPermission":{"description":"Project's access permission.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.Project(\"example\", {name: \"foo\"});\n// grant project access to the user with the email foo@bar.qux\nconst share = new neon.ProjectPermission(\"share\", {\n    projectId: example.id,\n    grantee: \"foo@bar.qux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.Project(\"example\", name=\"foo\")\n# grant project access to the user with the email foo@bar.qux\nshare = neon.ProjectPermission(\"share\",\n    project_id=example.id,\n    grantee=\"foo@bar.qux\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.Project(\"example\", new()\n    {\n        Name = \"foo\",\n    });\n\n    // grant project access to the user with the email foo@bar.qux\n    var share = new Neon.ProjectPermission(\"share\", new()\n    {\n        ProjectId = example.Id,\n        Grantee = \"foo@bar.qux\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neon.NewProject(ctx, \"example\", \u0026neon.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// grant project access to the user with the email foo@bar.qux\n\t\t_, err = neon.NewProjectPermission(ctx, \"share\", \u0026neon.ProjectPermissionArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tGrantee:   pulumi.String(\"foo@bar.qux\"),\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.neon.Project;\nimport com.pulumi.neon.ProjectArgs;\nimport com.pulumi.neon.ProjectPermission;\nimport com.pulumi.neon.ProjectPermissionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Project(\"example\", ProjectArgs.builder()\n            .name(\"foo\")\n            .build());\n\n        // grant project access to the user with the email foo@bar.qux\n        var share = new ProjectPermission(\"share\", ProjectPermissionArgs.builder()\n            .projectId(example.id())\n            .grantee(\"foo@bar.qux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:Project\n    properties:\n      name: foo\n  # grant project access to the user with the email foo@bar.qux\n  share:\n    type: neon:ProjectPermission\n    properties:\n      projectId: ${example.id}\n      grantee: foo@bar.qux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Neon project permission can be imported to the terraform state by its identifier which is composed of the project ID,\n\nand the Neon permission ID.\n\nFor example, the identifier of the permission with the ID `12345678-1234-1234-1234-123456789abc` in the project\n\n`shiny-cell-31746257` is `shiny-cell-31746257/12345678-1234-1234-1234-123456789abc`\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_project_permission.example\n\n  id = \"shiny-cell-31746257/12345678-1234-1234-1234-123456789abc\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/projectPermission:ProjectPermission example \"shiny-cell-31746257/12345678-1234-1234-1234-123456789abc\"\n```\n\n","properties":{"grantee":{"type":"string","description":"Email of the user whom to grant project permission.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object","required":["grantee","projectId"],"inputProperties":{"grantee":{"type":"string","description":"Email of the user whom to grant project permission.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"requiredInputs":["grantee","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering ProjectPermission resources.\n","properties":{"grantee":{"type":"string","description":"Email of the user whom to grant project permission.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object"}},"neon:index/role:Role":{"description":"Project Role. **Note** that User and Role are synonymous terms in Neon. \nSee details: https://neon.tech/docs/manage/users/\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.Project(\"example\", {name: \"foo\"});\nconst exampleBranch = new neon.Branch(\"example\", {\n    projectId: example.id,\n    name: \"bar\",\n});\nconst exampleRole = new neon.Role(\"example\", {\n    projectId: example.id,\n    branchId: exampleBranch.id,\n    name: \"qux\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.Project(\"example\", name=\"foo\")\nexample_branch = neon.Branch(\"example\",\n    project_id=example.id,\n    name=\"bar\")\nexample_role = neon.Role(\"example\",\n    project_id=example.id,\n    branch_id=example_branch.id,\n    name=\"qux\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.Project(\"example\", new()\n    {\n        Name = \"foo\",\n    });\n\n    var exampleBranch = new Neon.Branch(\"example\", new()\n    {\n        ProjectId = example.Id,\n        Name = \"bar\",\n    });\n\n    var exampleRole = new Neon.Role(\"example\", new()\n    {\n        ProjectId = example.Id,\n        BranchId = exampleBranch.Id,\n        Name = \"qux\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neon.NewProject(ctx, \"example\", \u0026neon.ProjectArgs{\n\t\t\tName: pulumi.String(\"foo\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleBranch, err := neon.NewBranch(ctx, \"example\", \u0026neon.BranchArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tName:      pulumi.String(\"bar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neon.NewRole(ctx, \"example\", \u0026neon.RoleArgs{\n\t\t\tProjectId: example.ID(),\n\t\t\tBranchId:  exampleBranch.ID(),\n\t\t\tName:      pulumi.String(\"qux\"),\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.neon.Project;\nimport com.pulumi.neon.ProjectArgs;\nimport com.pulumi.neon.Branch;\nimport com.pulumi.neon.BranchArgs;\nimport com.pulumi.neon.Role;\nimport com.pulumi.neon.RoleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Project(\"example\", ProjectArgs.builder()\n            .name(\"foo\")\n            .build());\n\n        var exampleBranch = new Branch(\"exampleBranch\", BranchArgs.builder()\n            .projectId(example.id())\n            .name(\"bar\")\n            .build());\n\n        var exampleRole = new Role(\"exampleRole\", RoleArgs.builder()\n            .projectId(example.id())\n            .branchId(exampleBranch.id())\n            .name(\"qux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:Project\n    properties:\n      name: foo\n  exampleBranch:\n    type: neon:Branch\n    name: example\n    properties:\n      projectId: ${example.id}\n      name: bar\n  exampleRole:\n    type: neon:Role\n    name: example\n    properties:\n      projectId: ${example.id}\n      branchId: ${exampleBranch.id}\n      name: qux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe Neon Role can be imported to the terraform state by the identifier which is composed of the `projectID`, `branchID`\n\nand the Role `name`. For example, the identifier of the Role `myRole` from the branch `br-snowy-mountain-a5jkb18i`\n\nof the project `shiny-cell-31746257` is `shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myRole`.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_role.example\n\n  id = \"shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myRole\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/role:Role example \"shiny-cell-31746257/br-snowy-mountain-a5jkb18i/myRole\"\n```\n\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"name":{"type":"string","description":"Role name.\n"},"password":{"type":"string","description":"Database authentication password.\n","secret":true},"projectId":{"type":"string","description":"Project ID.\n"},"protected":{"type":"boolean"},"roleId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["branchId","name","password","projectId","protected","roleId"],"inputProperties":{"branchId":{"type":"string","description":"Branch ID.\n"},"name":{"type":"string","description":"Role name.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"roleId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["branchId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Role resources.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"name":{"type":"string","description":"Role name.\n"},"password":{"type":"string","description":"Database authentication password.\n","secret":true},"projectId":{"type":"string","description":"Project ID.\n"},"protected":{"type":"boolean"},"roleId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}},"neon:index/vpcEndpointAssignment:VpcEndpointAssignment":{"description":"Assigns, or updates existing assignment of a VPC endpoint to a Neon organization.\nSee details: https://neon.tech/docs/guides/neon-private-networking#enable-private-dns\n\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.VpcEndpointAssignment(\"example\", {\n    orgId: \"org-foo-bar-01234567\",\n    regionId: \"aws-us-east-1\",\n    vpcEndpointId: \"vpce-1234567890abcdef0\",\n    label: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.VpcEndpointAssignment(\"example\",\n    org_id=\"org-foo-bar-01234567\",\n    region_id=\"aws-us-east-1\",\n    vpc_endpoint_id=\"vpce-1234567890abcdef0\",\n    label=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.VpcEndpointAssignment(\"example\", new()\n    {\n        OrgId = \"org-foo-bar-01234567\",\n        RegionId = \"aws-us-east-1\",\n        VpcEndpointId = \"vpce-1234567890abcdef0\",\n        Label = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := neon.NewVpcEndpointAssignment(ctx, \"example\", \u0026neon.VpcEndpointAssignmentArgs{\n\t\t\tOrgId:         pulumi.String(\"org-foo-bar-01234567\"),\n\t\t\tRegionId:      pulumi.String(\"aws-us-east-1\"),\n\t\t\tVpcEndpointId: pulumi.String(\"vpce-1234567890abcdef0\"),\n\t\t\tLabel:         pulumi.String(\"example\"),\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.neon.VpcEndpointAssignment;\nimport com.pulumi.neon.VpcEndpointAssignmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new VpcEndpointAssignment(\"example\", VpcEndpointAssignmentArgs.builder()\n            .orgId(\"org-foo-bar-01234567\")\n            .regionId(\"aws-us-east-1\")\n            .vpcEndpointId(\"vpce-1234567890abcdef0\")\n            .label(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:VpcEndpointAssignment\n    properties:\n      orgId: org-foo-bar-01234567\n      regionId: aws-us-east-1\n      vpcEndpointId: vpce-1234567890abcdef0\n      label: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe VPC endpoint assignment to organization can be imported to the terraform state by its identifier\n\nwhich is composed of the organization ID, Neon region ID and the VPC endpoint ID.\n\nFor example, the identifier of the VPC endpoint assignment to the organization `org-foo-bar-01234567`\n\nfor the VPC endpoint `vpce-1234567890abcdef0` in the Neon region `aws-us-east-1` is\n\n`org-foo-bar-01234567/aws-us-east-1/vpce-1234567890abcdef0`.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_vpc_endpoint_assignment.example\n\n  id = \"org-foo-bar-01234567/aws-us-east-1/vpce-1234567890abcdef0\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/vpcEndpointAssignment:VpcEndpointAssignment example \"org-foo-bar-01234567/aws-us-east-1/vpce-1234567890abcdef0\"\n```\n\n","properties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"orgId":{"type":"string","description":"The Neon organization ID.\n"},"regionId":{"type":"string","description":"The Neon region ID.\n"},"vpcEndpointAssignmentId":{"type":"string","description":"The ID of this resource.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"}},"type":"object","required":["label","orgId","regionId","vpcEndpointAssignmentId","vpcEndpointId"],"inputProperties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"orgId":{"type":"string","description":"The Neon organization ID.\n"},"regionId":{"type":"string","description":"The Neon region ID.\n"},"vpcEndpointAssignmentId":{"type":"string","description":"The ID of this resource.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"}},"requiredInputs":["label","orgId","regionId","vpcEndpointId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcEndpointAssignment resources.\n","properties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"orgId":{"type":"string","description":"The Neon organization ID.\n"},"regionId":{"type":"string","description":"The Neon region ID.\n"},"vpcEndpointAssignmentId":{"type":"string","description":"The ID of this resource.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"}},"type":"object"}},"neon:index/vpcEndpointRestriction:VpcEndpointRestriction":{"description":"Sets or updates a VPC endpoint restriction for a Neon project.\nWhen a VPC endpoint restriction is set, the project only accepts connections\nfrom the specified VPC.\nA VPC endpoint can be set as a restriction only after it is assigned to the\nparent organization of the Neon project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as neon from \"@pulumi/neon\";\n\nconst example = new neon.VpcEndpointAssignment(\"example\", {\n    orgId: \"org-foo-bar-01234567\",\n    regionId: \"aws-us-east-1\",\n    vpcEndpointId: \"vpce-1234567890abcdef0\",\n    label: \"example\",\n});\nconst exampleVpcEndpointRestriction = new neon.VpcEndpointRestriction(\"example\", {\n    projectId: \"cold-bread-99644485\",\n    vpcEndpointId: example.vpcEndpointId,\n    label: \"example\",\n});\n```\n```python\nimport pulumi\nimport pulumi_neon as neon\n\nexample = neon.VpcEndpointAssignment(\"example\",\n    org_id=\"org-foo-bar-01234567\",\n    region_id=\"aws-us-east-1\",\n    vpc_endpoint_id=\"vpce-1234567890abcdef0\",\n    label=\"example\")\nexample_vpc_endpoint_restriction = neon.VpcEndpointRestriction(\"example\",\n    project_id=\"cold-bread-99644485\",\n    vpc_endpoint_id=example.vpc_endpoint_id,\n    label=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Neon = Pulumi.Neon;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Neon.VpcEndpointAssignment(\"example\", new()\n    {\n        OrgId = \"org-foo-bar-01234567\",\n        RegionId = \"aws-us-east-1\",\n        VpcEndpointId = \"vpce-1234567890abcdef0\",\n        Label = \"example\",\n    });\n\n    var exampleVpcEndpointRestriction = new Neon.VpcEndpointRestriction(\"example\", new()\n    {\n        ProjectId = \"cold-bread-99644485\",\n        VpcEndpointId = example.VpcEndpointId,\n        Label = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/neon/neon\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := neon.NewVpcEndpointAssignment(ctx, \"example\", \u0026neon.VpcEndpointAssignmentArgs{\n\t\t\tOrgId:         pulumi.String(\"org-foo-bar-01234567\"),\n\t\t\tRegionId:      pulumi.String(\"aws-us-east-1\"),\n\t\t\tVpcEndpointId: pulumi.String(\"vpce-1234567890abcdef0\"),\n\t\t\tLabel:         pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = neon.NewVpcEndpointRestriction(ctx, \"example\", \u0026neon.VpcEndpointRestrictionArgs{\n\t\t\tProjectId:     pulumi.String(\"cold-bread-99644485\"),\n\t\t\tVpcEndpointId: example.VpcEndpointId,\n\t\t\tLabel:         pulumi.String(\"example\"),\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.neon.VpcEndpointAssignment;\nimport com.pulumi.neon.VpcEndpointAssignmentArgs;\nimport com.pulumi.neon.VpcEndpointRestriction;\nimport com.pulumi.neon.VpcEndpointRestrictionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new VpcEndpointAssignment(\"example\", VpcEndpointAssignmentArgs.builder()\n            .orgId(\"org-foo-bar-01234567\")\n            .regionId(\"aws-us-east-1\")\n            .vpcEndpointId(\"vpce-1234567890abcdef0\")\n            .label(\"example\")\n            .build());\n\n        var exampleVpcEndpointRestriction = new VpcEndpointRestriction(\"exampleVpcEndpointRestriction\", VpcEndpointRestrictionArgs.builder()\n            .projectId(\"cold-bread-99644485\")\n            .vpcEndpointId(example.vpcEndpointId())\n            .label(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: neon:VpcEndpointAssignment\n    properties:\n      orgId: org-foo-bar-01234567\n      regionId: aws-us-east-1\n      vpcEndpointId: vpce-1234567890abcdef0\n      label: example\n  exampleVpcEndpointRestriction:\n    type: neon:VpcEndpointRestriction\n    name: example\n    properties:\n      projectId: cold-bread-99644485\n      vpcEndpointId: ${example.vpcEndpointId}\n      label: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe VPC endpoint restriction can be imported to the terraform state by its identifier.\n\nImport using the import block:\n\nFor example:\n\nhcl\n\nimport {\n\n  to = neon_vpc_endpoint_restriction.example\n\n  id = \"vpce-1234567890abcdef0/cold-bread-99644485\"\n\n}\n\nImport using the command `pulumi import`:\n\ncommandline\n\n```sh\n$ pulumi import neon:index/vpcEndpointRestriction:VpcEndpointRestriction example \"vpce-1234567890abcdef0/cold-bread-99644485\"\n```\n\n**Note** that the resource ID is the concatenation of the VPC ID and the project ID separated by the slash sign.\n\n","properties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"projectId":{"type":"string","description":"The Neon project ID.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"},"vpcEndpointRestrictionId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object","required":["label","projectId","vpcEndpointId","vpcEndpointRestrictionId"],"inputProperties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"projectId":{"type":"string","description":"The Neon project ID.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"},"vpcEndpointRestrictionId":{"type":"string","description":"The ID of this resource.\n"}},"requiredInputs":["label","projectId","vpcEndpointId"],"stateInputs":{"description":"Input properties used for looking up and filtering VpcEndpointRestriction resources.\n","properties":{"label":{"type":"string","description":"A descriptive label for the VPC endpoint.\n"},"projectId":{"type":"string","description":"The Neon project ID.\n"},"vpcEndpointId":{"type":"string","description":"The VPC endpoint ID.\n"},"vpcEndpointRestrictionId":{"type":"string","description":"The ID of this resource.\n"}},"type":"object"}}},"functions":{"neon:index/getBranchEndpoints:getBranchEndpoints":{"description":"Fetch Branch Endpoints\n","inputs":{"description":"A collection of arguments for invoking getBranchEndpoints.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"endpoints":{"type":"array","items":{"$ref":"#/types/neon:index%2FgetBranchEndpointsEndpoint:getBranchEndpointsEndpoint"}},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object","required":["branchId","projectId"]},"outputs":{"description":"A collection of values returned by getBranchEndpoints.\n","properties":{"branchId":{"description":"Branch ID.\n","type":"string"},"endpoints":{"items":{"$ref":"#/types/neon:index%2FgetBranchEndpointsEndpoint:getBranchEndpointsEndpoint"},"type":"array"},"id":{"description":"The ID of this resource.\n","type":"string"},"projectId":{"description":"Project ID.\n","type":"string"}},"required":["branchId","id","projectId"],"type":"object"}},"neon:index/getBranchRolePassword:getBranchRolePassword":{"description":"Fetch Role Password.\n","inputs":{"description":"A collection of arguments for invoking getBranchRolePassword.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"roleName":{"type":"string","description":"Role name.\n"}},"type":"object","required":["branchId","projectId","roleName"]},"outputs":{"description":"A collection of values returned by getBranchRolePassword.\n","properties":{"branchId":{"description":"Branch ID.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"password":{"description":"Password.\n","secret":true,"type":"string"},"projectId":{"description":"Project ID.\n","type":"string"},"roleName":{"description":"Role name.\n","type":"string"}},"required":["branchId","id","password","projectId","roleName"],"type":"object"}},"neon:index/getBranchRoles:getBranchRoles":{"description":"Fetch Branch Roles.\n","inputs":{"description":"A collection of arguments for invoking getBranchRoles.\n","properties":{"branchId":{"type":"string","description":"Branch ID.\n"},"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"string","description":"Project ID.\n"},"roles":{"type":"array","items":{"$ref":"#/types/neon:index%2FgetBranchRolesRole:getBranchRolesRole"}}},"type":"object","required":["branchId","projectId"]},"outputs":{"description":"A collection of values returned by getBranchRoles.\n","properties":{"branchId":{"description":"Branch ID.\n","type":"string"},"id":{"description":"The ID of this resource.\n","type":"string"},"projectId":{"description":"Project ID.\n","type":"string"},"roles":{"items":{"$ref":"#/types/neon:index%2FgetBranchRolesRole:getBranchRolesRole"},"type":"array"}},"required":["branchId","id","projectId"],"type":"object"}},"neon:index/getBranches:getBranches":{"description":"Fetch Project Branches.\n","inputs":{"description":"A collection of arguments for invoking getBranches.\n","properties":{"id":{"type":"string","description":"The ID of this resource.\n"},"projectId":{"type":"string","description":"Project ID.\n"}},"type":"object","required":["projectId"]},"outputs":{"description":"A collection of values returned by getBranches.\n","properties":{"branches":{"items":{"$ref":"#/types/neon:index%2FgetBranchesBranch:getBranchesBranch"},"type":"array"},"id":{"description":"The ID of this resource.\n","type":"string"},"projectId":{"description":"Project ID.\n","type":"string"}},"required":["branches","id","projectId"],"type":"object"}},"neon:index/getProject:getProject":{"description":"Fetch Project.\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"id":{"type":"string","description":"Project ID.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"connectionUri":{"description":"Default connection uri. **Note** that it contains access credentials.\n","secret":true,"type":"string"},"connectionUriPooler":{"description":"Default connection uri with the traffic via pooler. **Note** that it contains access credentials.\n","secret":true,"type":"string"},"databaseHost":{"description":"Default database host.\n","type":"string"},"databaseHostPooler":{"description":"Default endpoint host via pooler.\n","type":"string"},"databaseName":{"description":"Default database name.\n","type":"string"},"databasePassword":{"description":"Default database access password.\n","secret":true,"type":"string"},"databaseUser":{"description":"Default database role.\n","type":"string"},"defaultBranchId":{"description":"Default branch ID.\n","type":"string"},"id":{"description":"Project ID.\n","type":"string"},"name":{"description":"Project Name.\n","type":"string"}},"required":["connectionUri","connectionUriPooler","databaseHost","databaseHostPooler","databaseName","databasePassword","databaseUser","defaultBranchId","id","name"],"type":"object"}},"pulumi:providers:neon/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"$ref":"#/resources/pulumi:providers:neon"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2tpc2xlcmRtL25lb24iLCJ2ZXJzaW9uIjoiMC4xMy4wIn19"}}