{"attribution":"This Pulumi package is based on the [`aptible` Terraform Provider](https://github.com/aptible/terraform-provider-aptible).","config":{},"description":"A Pulumi provider dynamically bridged from aptible.","functions":{"aptible:index/getBackupRetentionPolicy:getBackupRetentionPolicy":{"description":"## # Backup Retention Policy Data Source\n\nAn Environment's\n[Backup Retention Policy](https://www.aptible.com/docs/core-concepts/managed-databases/managing-databases/database-backups#managing-backup-retention-policy)\ncontrols how automated backups are retained and destroyed.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst example = aptible.getEnvironment({\n    handle: \"example-env\",\n});\nconst exampleGetBackupRetentionPolicy = example.then(example => aptible.getBackupRetentionPolicy({\n    envId: example.envId,\n}));\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nexample = aptible.get_environment(handle=\"example-env\")\nexample_get_backup_retention_policy = aptible.get_backup_retention_policy(env_id=example.env_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = Aptible.GetEnvironment.Invoke(new()\n    {\n        Handle = \"example-env\",\n    });\n\n    var exampleGetBackupRetentionPolicy = Aptible.GetBackupRetentionPolicy.Invoke(new()\n    {\n        EnvId = example.Apply(getEnvironmentResult => getEnvironmentResult.EnvId),\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.LookupEnvironment(ctx, &aptible.LookupEnvironmentArgs{\n\t\t\tHandle: \"example-env\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aptible.GetBackupRetentionPolicy(ctx, &aptible.GetBackupRetentionPolicyArgs{\n\t\t\tEnvId: example.EnvId,\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.aptible.AptibleFunctions;\nimport com.pulumi.aptible.inputs.GetEnvironmentArgs;\nimport com.pulumi.aptible.inputs.GetBackupRetentionPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = AptibleFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .handle(\"example-env\")\n            .build());\n\n        final var exampleGetBackupRetentionPolicy = AptibleFunctions.getBackupRetentionPolicy(GetBackupRetentionPolicyArgs.builder()\n            .envId(example.envId())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: aptible:getEnvironment\n      arguments:\n        handle: example-env\n  exampleGetBackupRetentionPolicy:\n    fn::invoke:\n      function: aptible:getBackupRetentionPolicy\n      arguments:\n        envId: ${example.envId}\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getBackupRetentionPolicy.\n","properties":{"envId":{"description":"The ID of the environment to retrieve the backup\nretention policy for.\n","type":"number"},"id":{"type":"string"}},"required":["envId"],"type":"object"},"outputs":{"description":"A collection of values returned by getBackupRetentionPolicy.\n","properties":{"daily":{"description":"The number of daily backups to retain per database.\n","type":"number"},"envId":{"type":"number"},"id":{"type":"string"},"keepFinal":{"description":"Whether the final backup of databases should be retained when\nthey're deleted.\n","type":"boolean"},"makeCopy":{"description":"Whether backups should be copied to another region.\n","type":"boolean"},"monthly":{"description":"The number of monthly backups to retain per database.\n","type":"number"},"policyId":{"type":"number"},"yearly":{"description":"The number of yearly backups to retain per database.\n","type":"number"}},"required":["daily","envId","id","keepFinal","makeCopy","monthly","policyId","yearly"],"type":"object"}},"aptible:index/getEnvironment:getEnvironment":{"description":"## Example Usage\n\n### Determining the Environment ID\n\nIf you have an Environment with the handle \"techco-test-environment\" you can\ncreate the data source:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst techco_test_environment = aptible.getEnvironment({\n    handle: \"techco-test-environment\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ntechco_test_environment = aptible.get_environment(handle=\"techco-test-environment\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var techco_test_environment = Aptible.GetEnvironment.Invoke(new()\n    {\n        Handle = \"techco-test-environment\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.LookupEnvironment(ctx, &aptible.LookupEnvironmentArgs{\n\t\t\tHandle: \"techco-test-environment\",\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.aptible.AptibleFunctions;\nimport com.pulumi.aptible.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var techco-test-environment = AptibleFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .handle(\"techco-test-environment\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  techco-test-environment:\n    fn::invoke:\n      function: aptible:getEnvironment\n      arguments:\n        handle: techco-test-environment\n```\n<!--End PulumiCodeChooser -->\n\nOnce defined, you can use this data source in your resource definitions.\nFor example, when defining an App:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst techco_app = new aptible.App(\"techco-app\", {\n    envId: techco_test_environment.envId,\n    handle: \"techco-app\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ntechco_app = aptible.App(\"techco-app\",\n    env_id=techco_test_environment[\"envId\"],\n    handle=\"techco-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var techco_app = new Aptible.App(\"techco-app\", new()\n    {\n        EnvId = techco_test_environment.EnvId,\n        Handle = \"techco-app\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewApp(ctx, \"techco-app\", &aptible.AppArgs{\n\t\t\tEnvId:  pulumi.Any(techco_test_environment.EnvId),\n\t\t\tHandle: pulumi.String(\"techco-app\"),\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.aptible.App;\nimport com.pulumi.aptible.AppArgs;\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 techco_app = new App(\"techco-app\", AppArgs.builder()\n            .envId(techco_test_environment.envId())\n            .handle(\"techco-app\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  techco-app:\n    type: aptible:App\n    properties:\n      envId: ${[\"techco-test-environment\"].envId}\n      handle: techco-app\n```\n<!--End PulumiCodeChooser -->\n","inputs":{"description":"A collection of arguments for invoking getEnvironment.\n","properties":{"handle":{"description":"The handle for the Environment. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"id":{"type":"string"}},"required":["handle"],"type":"object"},"outputs":{"description":"A collection of values returned by getEnvironment.\n","properties":{"envId":{"description":"The unique ID for an Environment suitable for use in <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>\nattributes\n","type":"number"},"handle":{"type":"string"},"id":{"type":"string"}},"required":["envId","handle","id"],"type":"object"}},"aptible:index/getStack:getStack":{"description":"## # Stack Data Source\n\n[Stacks](https://www.aptible.com/docs/core-concepts/architecture/stacks)\nare the underlying virtualized infrastructure (EC2 instances, private network,\netc.) your resources are deployed on.\n\n## Example Usage\n\n### Determining the Stack ID\n\nIf you have an Stack with the name \"test-stack\" you can\ncreate the data source:\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst test_stack = aptible.getStack({\n    name: \"test-stack\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ntest_stack = aptible.get_stack(name=\"test-stack\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test_stack = Aptible.GetStack.Invoke(new()\n    {\n        Name = \"test-stack\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.GetStack(ctx, &aptible.GetStackArgs{\n\t\t\tName: \"test-stack\",\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.aptible.AptibleFunctions;\nimport com.pulumi.aptible.inputs.GetStackArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test-stack = AptibleFunctions.getStack(GetStackArgs.builder()\n            .name(\"test-stack\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test-stack:\n    fn::invoke:\n      function: aptible:getStack\n      arguments:\n        name: test-stack\n```\n<!--End PulumiCodeChooser -->\n\nOnce defined, you can use this data source in your resource definitions.\nFor example, when defining an environment:\n\n<!--Start PulumiCodeChooser -->\n```yaml\nresources:\n  test-env:\n    type: aptible:Environment\n    properties:\n      stackId: ${[\"test-stack\"].stackId}\n      orgId: ${[\"test-stack\"].orgId}\n      name: test-env\n```\n<!--End PulumiCodeChooser -->\n\n__Note__ - If your environment is meant to be created on a dedicated stack you can omit the <span pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\">`org_id`</span>\nfield in the example above.\n","inputs":{"description":"A collection of arguments for invoking getStack.\n","properties":{"id":{"type":"string"},"name":{"description":"The name of the Stack\n","type":"string"}},"required":["name"],"type":"object"},"outputs":{"description":"A collection of values returned by getStack.\n","properties":{"id":{"type":"string"},"name":{"type":"string"},"orgId":{"description":"If the stack is a [dedicated stack](https://www.aptible.com/docs/core-concepts/architecture/stacks#dedicated-stacks-isolated),\nyou will also receive an id that corresponds to that organization. If it is a shared stack, this value will be empty.\n","type":"string"},"stackId":{"description":"The unique ID for an Stack suitable for use in <span pulumi-lang-nodejs=\"`stackId`\" pulumi-lang-dotnet=\"`StackId`\" pulumi-lang-go=\"`stackId`\" pulumi-lang-python=\"`stack_id`\" pulumi-lang-yaml=\"`stackId`\" pulumi-lang-java=\"`stackId`\">`stack_id`</span> attributes\n","type":"number"}},"required":["id","name","orgId","stackId"],"type":"object"}},"pulumi:providers:aptible/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:aptible"}},"required":["__self__"],"type":"object"},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"language":{"csharp":{"compatibility":"tfbridge20","liftSingleValueMethodReturns":true,"respectSchemaVersion":true},"go":{"generateExtraInputTypes":true,"importBasePath":"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible","liftSingleValueMethodReturns":true,"respectSchemaVersion":true,"rootPackageName":"aptible"},"java":{"basePackage":"","buildFiles":"","gradleNexusPublishPluginVersion":"","gradleTest":""},"nodejs":{"compatibility":"tfbridge20","disableUnionOutputTypes":true,"liftSingleValueMethodReturns":true,"packageDescription":"A Pulumi provider dynamically bridged from aptible.","readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/aptible/terraform-provider-aptible)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-aptible` repo](https://github.com/aptible/terraform-provider-aptible/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"> This provider is a derived work of the [Terraform Provider](https://github.com/aptible/terraform-provider-aptible)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-aptible` repo](https://github.com/aptible/terraform-provider-aptible/issues).","respectSchemaVersion":true}},"meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"name":"aptible","parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2FwdGlibGUvYXB0aWJsZSIsInZlcnNpb24iOiIwLjEwLjAifX0="},"provider":{"description":"The provider type for the aptible 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","methods":{"terraformConfig":"pulumi:providers:aptible/terraformConfig"},"type":"object"},"publisher":"aptible","repository":"https://github.com/aptible/terraform-provider-aptible","resources":{"aptible:index/app:App":{"description":"\n\n## Import\n\nExisting Apps can be imported using the App ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/app:App example-app <ID>\n```\n\n","inputProperties":{"aptibleAppId":{"type":"string"},"config":{"additionalProperties":{"type":"string"},"description":"A map of environment variables for the App. Values are\navailable to your running containers.\n","type":"object"},"dockerImage":{"description":"The Docker image to deploy (e.g. `quay.io/aptible/deploy-demo-app`).\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nApp in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"privateRegistryPassword":{"description":"Password for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryUsername`\" pulumi-lang-dotnet=\"`PrivateRegistryUsername`\" pulumi-lang-go=\"`privateRegistryUsername`\" pulumi-lang-python=\"`private_registry_username`\" pulumi-lang-yaml=\"`privateRegistryUsername`\" pulumi-lang-java=\"`privateRegistryUsername`\">`private_registry_username`</span>.\n","secret":true,"type":"string"},"privateRegistryUsername":{"description":"Username for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryPassword`\" pulumi-lang-dotnet=\"`PrivateRegistryPassword`\" pulumi-lang-go=\"`privateRegistryPassword`\" pulumi-lang-python=\"`private_registry_password`\" pulumi-lang-yaml=\"`privateRegistryPassword`\" pulumi-lang-java=\"`privateRegistryPassword`\">`private_registry_password`</span>.\n","secret":true,"type":"string"},"services":{"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"type":"array"}},"properties":{"appId":{"description":"The unique ID of the application.\n","type":"number"},"aptibleAppId":{"type":"string"},"config":{"additionalProperties":{"type":"string"},"description":"A map of environment variables for the App. Values are\navailable to your running containers.\n","type":"object"},"dockerImage":{"description":"The Docker image to deploy (e.g. `quay.io/aptible/deploy-demo-app`).\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nApp in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"gitRepo":{"description":"The git remote associated with the application.\n","type":"string"},"handle":{"description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"privateRegistryPassword":{"description":"Password for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryUsername`\" pulumi-lang-dotnet=\"`PrivateRegistryUsername`\" pulumi-lang-go=\"`privateRegistryUsername`\" pulumi-lang-python=\"`private_registry_username`\" pulumi-lang-yaml=\"`privateRegistryUsername`\" pulumi-lang-java=\"`privateRegistryUsername`\">`private_registry_username`</span>.\n","secret":true,"type":"string"},"privateRegistryUsername":{"description":"Username for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryPassword`\" pulumi-lang-dotnet=\"`PrivateRegistryPassword`\" pulumi-lang-go=\"`privateRegistryPassword`\" pulumi-lang-python=\"`private_registry_password`\" pulumi-lang-yaml=\"`privateRegistryPassword`\" pulumi-lang-java=\"`privateRegistryPassword`\">`private_registry_password`</span>.\n","secret":true,"type":"string"},"services":{"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"type":"array"}},"required":["appId","aptibleAppId","envId","gitRepo","handle"],"requiredInputs":["envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering App resources.\n","properties":{"appId":{"description":"The unique ID of the application.\n","type":"number"},"aptibleAppId":{"type":"string"},"config":{"additionalProperties":{"type":"string"},"description":"A map of environment variables for the App. Values are\navailable to your running containers.\n","type":"object"},"dockerImage":{"description":"The Docker image to deploy (e.g. `quay.io/aptible/deploy-demo-app`).\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nApp in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"gitRepo":{"description":"The git remote associated with the application.\n","type":"string"},"handle":{"description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"privateRegistryPassword":{"description":"Password for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryUsername`\" pulumi-lang-dotnet=\"`PrivateRegistryUsername`\" pulumi-lang-go=\"`privateRegistryUsername`\" pulumi-lang-python=\"`private_registry_username`\" pulumi-lang-yaml=\"`privateRegistryUsername`\" pulumi-lang-java=\"`privateRegistryUsername`\">`private_registry_username`</span>.\n","secret":true,"type":"string"},"privateRegistryUsername":{"description":"Username for authenticating with a private\nDocker registry. Requires <span pulumi-lang-nodejs=\"`dockerImage`\" pulumi-lang-dotnet=\"`DockerImage`\" pulumi-lang-go=\"`dockerImage`\" pulumi-lang-python=\"`docker_image`\" pulumi-lang-yaml=\"`dockerImage`\" pulumi-lang-java=\"`dockerImage`\">`docker_image`</span> and <span pulumi-lang-nodejs=\"`privateRegistryPassword`\" pulumi-lang-dotnet=\"`PrivateRegistryPassword`\" pulumi-lang-go=\"`privateRegistryPassword`\" pulumi-lang-python=\"`private_registry_password`\" pulumi-lang-yaml=\"`privateRegistryPassword`\" pulumi-lang-java=\"`privateRegistryPassword`\">`private_registry_password`</span>.\n","secret":true,"type":"string"},"services":{"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"type":"array"}},"type":"object"},"type":"object"},"aptible:index/database:Database":{"description":"## # Aptible Database Resource\n\nThis resource is used to create and manage\n[Databases](https://www.aptible.com/docs/core-concepts/managed-databases)\nrunning on Aptible Deploy.\n\n!> Changing the handle of a database will destroy the existing database and\ncreate a new one, resulting in a database without data. The old database can\nstill be recovered by [restoring a\nbackup](https://www.aptible.com/docs/core-concepts/managed-databases/managing-databases/database-backups#restoring-from-a-backup)\nas long as your retention policy supports final backups.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst exampleDatabase = new aptible.Database(\"example_database\", {\n    envId: 123,\n    handle: \"example_database\",\n    databaseType: \"redis\",\n    version: \"\",\n    containerSize: 512,\n    diskSize: 10,\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nexample_database = aptible.Database(\"example_database\",\n    env_id=123,\n    handle=\"example_database\",\n    database_type=\"redis\",\n    version=\"\",\n    container_size=512,\n    disk_size=10)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleDatabase = new Aptible.Database(\"example_database\", new()\n    {\n        EnvId = 123,\n        Handle = \"example_database\",\n        DatabaseType = \"redis\",\n        Version = \"\",\n        ContainerSize = 512,\n        DiskSize = 10,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewDatabase(ctx, \"example_database\", &aptible.DatabaseArgs{\n\t\t\tEnvId:         pulumi.Float64(123),\n\t\t\tHandle:        pulumi.String(\"example_database\"),\n\t\t\tDatabaseType:  pulumi.String(\"redis\"),\n\t\t\tVersion:       pulumi.String(\"\"),\n\t\t\tContainerSize: pulumi.Float64(512),\n\t\t\tDiskSize:      pulumi.Float64(10),\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.aptible.Database;\nimport com.pulumi.aptible.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 exampleDatabase = new Database(\"exampleDatabase\", DatabaseArgs.builder()\n            .envId(123.0)\n            .handle(\"example_database\")\n            .databaseType(\"redis\")\n            .version(\"\")\n            .containerSize(512.0)\n            .diskSize(10.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDatabase:\n    type: aptible:Database\n    name: example_database\n    properties:\n      envId: 123\n      handle: example_database\n      databaseType: redis\n      version: \"\"\n      containerSize: 512\n      diskSize: 10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting Databases can be imported using the Database ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/database:Database example-database <ID>\n```\n\n","inputProperties":{"aptibleDatabaseId":{"type":"string"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"databaseType":{"description":"The type of Database.\n","type":"string"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"version":{"description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n","type":"string"}},"properties":{"aptibleDatabaseId":{"type":"string"},"connectionUrls":{"description":"A list of all available database credentials in connection\nURL format\n","items":{"type":"string"},"secret":true,"type":"array"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"databaseId":{"description":"The unique ID for the database\n","type":"number"},"databaseImageId":{"description":"The image used for running the database. Normally only\nused for support or debugging purposes\n","type":"number"},"databaseType":{"description":"The type of Database.\n","type":"string"},"defaultConnectionUrl":{"description":"The default\n[database credentials](https://www.aptible.com/docs/core-concepts/managed-databases/connecting-databases/database-credentials)\nin connection URL format\n","secret":true,"type":"string"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"version":{"description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n","type":"string"}},"required":["aptibleDatabaseId","connectionUrls","databaseId","databaseImageId","defaultConnectionUrl","envId","handle"],"requiredInputs":["envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"aptibleDatabaseId":{"type":"string"},"connectionUrls":{"description":"A list of all available database credentials in connection\nURL format\n","items":{"type":"string"},"secret":true,"type":"array"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"databaseId":{"description":"The unique ID for the database\n","type":"number"},"databaseImageId":{"description":"The image used for running the database. Normally only\nused for support or debugging purposes\n","type":"number"},"databaseType":{"description":"The type of Database.\n","type":"string"},"defaultConnectionUrl":{"description":"The default\n[database credentials](https://www.aptible.com/docs/core-concepts/managed-databases/connecting-databases/database-credentials)\nin connection URL format\n","secret":true,"type":"string"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"version":{"description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n","type":"string"}},"type":"object"},"type":"object"},"aptible:index/endpoint:Endpoint":{"description":"## # Aptible Endpoint Resource\n\nThis resource is used to create and manage Endpoints for\n[Apps](https://www.aptible.com/docs/core-concepts/apps) and\n[Databases](https://www.aptible.com/docs/core-concepts/managed-databases)\nrunning on Aptible.\n\n## Example Usage\n\n### Simple Default Domain Endpoint\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst example = new aptible.Endpoint(\"example\", {\n    envId: exampleAptibleEnvironment.envId,\n    resourceId: exampleAptibleApp.appId,\n    containerPort: 3000,\n    resourceType: \"app\",\n    processType: \"cmd\",\n    defaultDomain: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nexample = aptible.Endpoint(\"example\",\n    env_id=example_aptible_environment[\"envId\"],\n    resource_id=example_aptible_app[\"appId\"],\n    container_port=3000,\n    resource_type=\"app\",\n    process_type=\"cmd\",\n    default_domain=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Aptible.Endpoint(\"example\", new()\n    {\n        EnvId = exampleAptibleEnvironment.EnvId,\n        ResourceId = exampleAptibleApp.AppId,\n        ContainerPort = 3000,\n        ResourceType = \"app\",\n        ProcessType = \"cmd\",\n        DefaultDomain = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewEndpoint(ctx, \"example\", &aptible.EndpointArgs{\n\t\t\tEnvId:         pulumi.Any(exampleAptibleEnvironment.EnvId),\n\t\t\tResourceId:    pulumi.Any(exampleAptibleApp.AppId),\n\t\t\tContainerPort: pulumi.Float64(3000),\n\t\t\tResourceType:  pulumi.String(\"app\"),\n\t\t\tProcessType:   pulumi.String(\"cmd\"),\n\t\t\tDefaultDomain: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aptible.Endpoint;\nimport com.pulumi.aptible.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 Endpoint(\"example\", EndpointArgs.builder()\n            .envId(exampleAptibleEnvironment.envId())\n            .resourceId(exampleAptibleApp.appId())\n            .containerPort(3000.0)\n            .resourceType(\"app\")\n            .processType(\"cmd\")\n            .defaultDomain(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aptible:Endpoint\n    properties:\n      envId: ${exampleAptibleEnvironment.envId}\n      resourceId: ${exampleAptibleApp.appId}\n      containerPort: 3000\n      resourceType: app\n      processType: cmd\n      defaultDomain: true\n```\n<!--End PulumiCodeChooser -->\n\n## Endpoint Settings Example\n\nUse the individual settings attributes to configure endpoint-level options for\nan Application Endpoint. Supported settings vary by platform and endpoint type;\nrefer to the [Endpoint Documentation](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview)\nfor the type of Endpoint you are managing.\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst exampleSettings = new aptible.Endpoint(\"example_settings\", {\n    envId: example.envId,\n    resourceId: exampleAptibleApp.appId,\n    resourceType: \"app\",\n    processType: \"cmd\",\n    endpointType: \"https\",\n    defaultDomain: true,\n    platform: \"alb\",\n    idleTimeout: 120,\n    forceSsl: true,\n    maintenancePageUrl: \"https://example.com/maintenance\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nexample_settings = aptible.Endpoint(\"example_settings\",\n    env_id=example[\"envId\"],\n    resource_id=example_aptible_app[\"appId\"],\n    resource_type=\"app\",\n    process_type=\"cmd\",\n    endpoint_type=\"https\",\n    default_domain=True,\n    platform=\"alb\",\n    idle_timeout=120,\n    force_ssl=True,\n    maintenance_page_url=\"https://example.com/maintenance\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleSettings = new Aptible.Endpoint(\"example_settings\", new()\n    {\n        EnvId = example.EnvId,\n        ResourceId = exampleAptibleApp.AppId,\n        ResourceType = \"app\",\n        ProcessType = \"cmd\",\n        EndpointType = \"https\",\n        DefaultDomain = true,\n        Platform = \"alb\",\n        IdleTimeout = 120,\n        ForceSsl = true,\n        MaintenancePageUrl = \"https://example.com/maintenance\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewEndpoint(ctx, \"example_settings\", &aptible.EndpointArgs{\n\t\t\tEnvId:              pulumi.Any(example.EnvId),\n\t\t\tResourceId:         pulumi.Any(exampleAptibleApp.AppId),\n\t\t\tResourceType:       pulumi.String(\"app\"),\n\t\t\tProcessType:        pulumi.String(\"cmd\"),\n\t\t\tEndpointType:       pulumi.String(\"https\"),\n\t\t\tDefaultDomain:      pulumi.Bool(true),\n\t\t\tPlatform:           pulumi.String(\"alb\"),\n\t\t\tIdleTimeout:        pulumi.Float64(120),\n\t\t\tForceSsl:           pulumi.Bool(true),\n\t\t\tMaintenancePageUrl: pulumi.String(\"https://example.com/maintenance\"),\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.aptible.Endpoint;\nimport com.pulumi.aptible.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 exampleSettings = new Endpoint(\"exampleSettings\", EndpointArgs.builder()\n            .envId(example.envId())\n            .resourceId(exampleAptibleApp.appId())\n            .resourceType(\"app\")\n            .processType(\"cmd\")\n            .endpointType(\"https\")\n            .defaultDomain(true)\n            .platform(\"alb\")\n            .idleTimeout(120.0)\n            .forceSsl(true)\n            .maintenancePageUrl(\"https://example.com/maintenance\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleSettings:\n    type: aptible:Endpoint\n    name: example_settings\n    properties:\n      envId: ${example.envId}\n      resourceId: ${exampleAptibleApp.appId}\n      resourceType: app\n      processType: cmd\n      endpointType: https\n      defaultDomain: true\n      platform: alb\n      idleTimeout: 120\n      forceSsl: true\n      maintenancePageUrl: https://example.com/maintenance\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting Endpoints can be imported using the Endpoint ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/endpoint:Endpoint example-endpoint <ID>\n```\n\n","inputProperties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n<span pulumi-lang-nodejs=\"`containerPorts`\" pulumi-lang-dotnet=\"`ContainerPorts`\" pulumi-lang-go=\"`containerPorts`\" pulumi-lang-python=\"`container_ports`\" pulumi-lang-yaml=\"`containerPorts`\" pulumi-lang-java=\"`containerPorts`\">`container_ports`</span>. You should use this for <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span> endpoints.\n","type":"number"},"containerPorts":{"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom <span pulumi-lang-nodejs=\"`containerPort`\" pulumi-lang-dotnet=\"`ContainerPort`\" pulumi-lang-go=\"`containerPort`\" pulumi-lang-python=\"`container_port`\" pulumi-lang-yaml=\"`containerPort`\" pulumi-lang-java=\"`containerPort`\">`container_port`</span>.\nMultiple container ports are only allowed on a <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> or <span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span> endpoint.\n","items":{"type":"number"},"type":"array"},"defaultDomain":{"description":"If the Endpoint should use the\nApp's default `on-aptible.com` domain. Only one Endpoint per App can use the\ndefault domain. Cannot be used with <span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>.\n","type":"boolean"},"disableWeakCipherSuites":{"type":"boolean"},"domain":{"description":"Required when using Managed TLS (<span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>).\nThe managed TLS Hostname the Endpoint should use.\n","type":"string"},"endpointType":{"description":"The type of Endpoint. Valid options are <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span>,\n<span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span>, or <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span>. <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> should be used with <span pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\">`resource_type`</span> of <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nEndpoint in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"forceSsl":{"type":"boolean"},"idleTimeout":{"type":"number"},"internal":{"description":"If Endpoint should be available\n[internally or externally](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview#endpoint-placement)\n. Changing this will force the resource to be recreated.\n","type":"boolean"},"ipFilterings":{"description":"The list of IPv4 CIDRs that the Endpoint will\nallow traffic from. If not provided, the Endpoint will not filter traffic. See\nthe [IP Filtering](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/ip-filtering)\ndocumentation for more details.\n","items":{"type":"string"},"type":"array"},"loadBalancingAlgorithmType":{"description":"Determines which algorithm to use for\n[request routing](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview#traffic). Valid options are <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>, <span pulumi-lang-nodejs=\"`leastOutstandingRequests`\" pulumi-lang-dotnet=\"`LeastOutstandingRequests`\" pulumi-lang-go=\"`leastOutstandingRequests`\" pulumi-lang-python=\"`least_outstanding_requests`\" pulumi-lang-yaml=\"`leastOutstandingRequests`\" pulumi-lang-java=\"`leastOutstandingRequests`\">`least_outstanding_requests`</span>, and <span pulumi-lang-nodejs=\"`weightedRandom`\" pulumi-lang-dotnet=\"`WeightedRandom`\" pulumi-lang-go=\"`weightedRandom`\" pulumi-lang-python=\"`weighted_random`\" pulumi-lang-yaml=\"`weightedRandom`\" pulumi-lang-java=\"`weightedRandom`\">`weighted_random`</span>. The default is <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>.\n","type":"string"},"maintenancePageUrl":{"type":"string"},"managed":{"description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the <span pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\">`custom_domain`</span>. Cannot be used with\n<span pulumi-lang-nodejs=\"`defaultDomain`\" pulumi-lang-dotnet=\"`DefaultDomain`\" pulumi-lang-go=\"`defaultDomain`\" pulumi-lang-python=\"`default_domain`\" pulumi-lang-yaml=\"`defaultDomain`\" pulumi-lang-java=\"`defaultDomain`\">`default_domain`</span>.\n","type":"boolean"},"platform":{"description":"What type of\n[load balancer](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/alb-elb)\nthe Endpoint should use. Valid options for app endpoints are <span pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\">`alb`</span> or <span pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\">`elb`</span>.\n<span pulumi-lang-nodejs=\"`nlb`\" pulumi-lang-dotnet=\"`Nlb`\" pulumi-lang-go=\"`nlb`\" pulumi-lang-python=\"`nlb`\" pulumi-lang-yaml=\"`nlb`\" pulumi-lang-java=\"`nlb`\">`nlb`</span> is not supported for app endpoints in this provider release.\n- Database endpoints do not require <span pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\">`platform`</span>. Aptible manages the database\nendpoint platform, so any configured value is ignored.\n","type":"string"},"processType":{"description":"The name of the service the Endpoint\nis for. See main provider documentation for more information on how to\ndetermine the service name.\n","type":"string"},"releaseHealthcheckTimeout":{"type":"number"},"resourceId":{"description":"The ID of the resource you are adding the Endpoint\nto.\n","type":"number"},"resourceType":{"description":"The type of resource you are adding the Endpoint\nto. Valid options are <span pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\">`app`</span> or <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"shared":{"description":"If set, use shared load balancer resources\nwith other apps on the same stack. Shared endpoints can only be used if your\nclients support SNI (most modern clients do) and you either use a default\ndomain or an exact (non-wildcard) custom domain.\n","type":"boolean"},"showElbHealthchecks":{"type":"boolean"},"sslCiphersOverride":{"type":"string"},"sslProtocolsOverride":{"type":"string"},"strictHealthChecks":{"type":"boolean"}},"properties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n<span pulumi-lang-nodejs=\"`containerPorts`\" pulumi-lang-dotnet=\"`ContainerPorts`\" pulumi-lang-go=\"`containerPorts`\" pulumi-lang-python=\"`container_ports`\" pulumi-lang-yaml=\"`containerPorts`\" pulumi-lang-java=\"`containerPorts`\">`container_ports`</span>. You should use this for <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span> endpoints.\n","type":"number"},"containerPorts":{"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom <span pulumi-lang-nodejs=\"`containerPort`\" pulumi-lang-dotnet=\"`ContainerPort`\" pulumi-lang-go=\"`containerPort`\" pulumi-lang-python=\"`container_port`\" pulumi-lang-yaml=\"`containerPort`\" pulumi-lang-java=\"`containerPort`\">`container_port`</span>.\nMultiple container ports are only allowed on a <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> or <span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span> endpoint.\n","items":{"type":"number"},"type":"array"},"defaultDomain":{"description":"If the Endpoint should use the\nApp's default `on-aptible.com` domain. Only one Endpoint per App can use the\ndefault domain. Cannot be used with <span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>.\n","type":"boolean"},"disableWeakCipherSuites":{"type":"boolean"},"dnsValidationRecord":{"description":"The CNAME record that needs to be created for\nManaged HTTPS to use\n[dns-01](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls#dns-01)\nto verify ownership of the domain.\n","type":"string"},"dnsValidationValue":{"description":"The domain name to which the CNAME record should\npoint for Managed HTTPS to use\n[dns-01](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls#dns-01)\nto verify ownership of the domain.\n","type":"string"},"domain":{"description":"Required when using Managed TLS (<span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>).\nThe managed TLS Hostname the Endpoint should use.\n","type":"string"},"endpointId":{"description":"The unique identifier for this Endpoint.\n","type":"number"},"endpointType":{"description":"The type of Endpoint. Valid options are <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span>,\n<span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span>, or <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span>. <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> should be used with <span pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\">`resource_type`</span> of <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nEndpoint in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"externalHostname":{"description":"The public hostname of the load balancer serving this\nEndpoint.\n","type":"string"},"forceSsl":{"type":"boolean"},"idleTimeout":{"type":"number"},"internal":{"description":"If Endpoint should be available\n[internally or externally](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview#endpoint-placement)\n. Changing this will force the resource to be recreated.\n","type":"boolean"},"ipFilterings":{"description":"The list of IPv4 CIDRs that the Endpoint will\nallow traffic from. If not provided, the Endpoint will not filter traffic. See\nthe [IP Filtering](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/ip-filtering)\ndocumentation for more details.\n","items":{"type":"string"},"type":"array"},"loadBalancingAlgorithmType":{"description":"Determines which algorithm to use for\n[request routing](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview#traffic). Valid options are <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>, <span pulumi-lang-nodejs=\"`leastOutstandingRequests`\" pulumi-lang-dotnet=\"`LeastOutstandingRequests`\" pulumi-lang-go=\"`leastOutstandingRequests`\" pulumi-lang-python=\"`least_outstanding_requests`\" pulumi-lang-yaml=\"`leastOutstandingRequests`\" pulumi-lang-java=\"`leastOutstandingRequests`\">`least_outstanding_requests`</span>, and <span pulumi-lang-nodejs=\"`weightedRandom`\" pulumi-lang-dotnet=\"`WeightedRandom`\" pulumi-lang-go=\"`weightedRandom`\" pulumi-lang-python=\"`weighted_random`\" pulumi-lang-yaml=\"`weightedRandom`\" pulumi-lang-java=\"`weightedRandom`\">`weighted_random`</span>. The default is <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>.\n","type":"string"},"maintenancePageUrl":{"type":"string"},"managed":{"description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the <span pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\">`custom_domain`</span>. Cannot be used with\n<span pulumi-lang-nodejs=\"`defaultDomain`\" pulumi-lang-dotnet=\"`DefaultDomain`\" pulumi-lang-go=\"`defaultDomain`\" pulumi-lang-python=\"`default_domain`\" pulumi-lang-yaml=\"`defaultDomain`\" pulumi-lang-java=\"`defaultDomain`\">`default_domain`</span>.\n","type":"boolean"},"platform":{"description":"What type of\n[load balancer](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/alb-elb)\nthe Endpoint should use. Valid options for app endpoints are <span pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\">`alb`</span> or <span pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\">`elb`</span>.\n<span pulumi-lang-nodejs=\"`nlb`\" pulumi-lang-dotnet=\"`Nlb`\" pulumi-lang-go=\"`nlb`\" pulumi-lang-python=\"`nlb`\" pulumi-lang-yaml=\"`nlb`\" pulumi-lang-java=\"`nlb`\">`nlb`</span> is not supported for app endpoints in this provider release.\n- Database endpoints do not require <span pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\">`platform`</span>. Aptible manages the database\nendpoint platform, so any configured value is ignored.\n","type":"string"},"processType":{"description":"The name of the service the Endpoint\nis for. See main provider documentation for more information on how to\ndetermine the service name.\n","type":"string"},"releaseHealthcheckTimeout":{"type":"number"},"resourceId":{"description":"The ID of the resource you are adding the Endpoint\nto.\n","type":"number"},"resourceType":{"description":"The type of resource you are adding the Endpoint\nto. Valid options are <span pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\">`app`</span> or <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"shared":{"description":"If set, use shared load balancer resources\nwith other apps on the same stack. Shared endpoints can only be used if your\nclients support SNI (most modern clients do) and you either use a default\ndomain or an exact (non-wildcard) custom domain.\n","type":"boolean"},"showElbHealthchecks":{"type":"boolean"},"sslCiphersOverride":{"type":"string"},"sslProtocolsOverride":{"type":"string"},"strictHealthChecks":{"type":"boolean"},"virtualDomain":{"description":"The public domain name that would correspond to the\ncertificate served by this domain, if any.\n","type":"string"}},"required":["aptibleEndpointId","dnsValidationRecord","dnsValidationValue","endpointId","envId","externalHostname","resourceId","resourceType","virtualDomain"],"requiredInputs":["envId","resourceId","resourceType"],"stateInputs":{"description":"Input properties used for looking up and filtering Endpoint resources.\n","properties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n<span pulumi-lang-nodejs=\"`containerPorts`\" pulumi-lang-dotnet=\"`ContainerPorts`\" pulumi-lang-go=\"`containerPorts`\" pulumi-lang-python=\"`container_ports`\" pulumi-lang-yaml=\"`containerPorts`\" pulumi-lang-java=\"`containerPorts`\">`container_ports`</span>. You should use this for <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span> endpoints.\n","type":"number"},"containerPorts":{"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom <span pulumi-lang-nodejs=\"`containerPort`\" pulumi-lang-dotnet=\"`ContainerPort`\" pulumi-lang-go=\"`containerPort`\" pulumi-lang-python=\"`container_port`\" pulumi-lang-yaml=\"`containerPort`\" pulumi-lang-java=\"`containerPort`\">`container_port`</span>.\nMultiple container ports are only allowed on a <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> or <span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span> endpoint.\n","items":{"type":"number"},"type":"array"},"defaultDomain":{"description":"If the Endpoint should use the\nApp's default `on-aptible.com` domain. Only one Endpoint per App can use the\ndefault domain. Cannot be used with <span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>.\n","type":"boolean"},"disableWeakCipherSuites":{"type":"boolean"},"dnsValidationRecord":{"description":"The CNAME record that needs to be created for\nManaged HTTPS to use\n[dns-01](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls#dns-01)\nto verify ownership of the domain.\n","type":"string"},"dnsValidationValue":{"description":"The domain name to which the CNAME record should\npoint for Managed HTTPS to use\n[dns-01](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/managed-tls#dns-01)\nto verify ownership of the domain.\n","type":"string"},"domain":{"description":"Required when using Managed TLS (<span pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\">`managed`</span>).\nThe managed TLS Hostname the Endpoint should use.\n","type":"string"},"endpointId":{"description":"The unique identifier for this Endpoint.\n","type":"number"},"endpointType":{"description":"The type of Endpoint. Valid options are <span pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\">`https`</span>,\n<span pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\">`tls`</span>, or <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span>. <span pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\">`tcp`</span> should be used with <span pulumi-lang-nodejs=\"`resourceType`\" pulumi-lang-dotnet=\"`ResourceType`\" pulumi-lang-go=\"`resourceType`\" pulumi-lang-python=\"`resource_type`\" pulumi-lang-yaml=\"`resourceType`\" pulumi-lang-java=\"`resourceType`\">`resource_type`</span> of <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"envId":{"description":"The ID of the environment you would like to deploy your\nEndpoint in. See main provider documentation for more on how to determine what\nyou should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"externalHostname":{"description":"The public hostname of the load balancer serving this\nEndpoint.\n","type":"string"},"forceSsl":{"type":"boolean"},"idleTimeout":{"type":"number"},"internal":{"description":"If Endpoint should be available\n[internally or externally](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/overview#endpoint-placement)\n. Changing this will force the resource to be recreated.\n","type":"boolean"},"ipFilterings":{"description":"The list of IPv4 CIDRs that the Endpoint will\nallow traffic from. If not provided, the Endpoint will not filter traffic. See\nthe [IP Filtering](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/ip-filtering)\ndocumentation for more details.\n","items":{"type":"string"},"type":"array"},"loadBalancingAlgorithmType":{"description":"Determines which algorithm to use for\n[request routing](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/overview#traffic). Valid options are <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>, <span pulumi-lang-nodejs=\"`leastOutstandingRequests`\" pulumi-lang-dotnet=\"`LeastOutstandingRequests`\" pulumi-lang-go=\"`leastOutstandingRequests`\" pulumi-lang-python=\"`least_outstanding_requests`\" pulumi-lang-yaml=\"`leastOutstandingRequests`\" pulumi-lang-java=\"`leastOutstandingRequests`\">`least_outstanding_requests`</span>, and <span pulumi-lang-nodejs=\"`weightedRandom`\" pulumi-lang-dotnet=\"`WeightedRandom`\" pulumi-lang-go=\"`weightedRandom`\" pulumi-lang-python=\"`weighted_random`\" pulumi-lang-yaml=\"`weightedRandom`\" pulumi-lang-java=\"`weightedRandom`\">`weighted_random`</span>. The default is <span pulumi-lang-nodejs=\"`roundRobin`\" pulumi-lang-dotnet=\"`RoundRobin`\" pulumi-lang-go=\"`roundRobin`\" pulumi-lang-python=\"`round_robin`\" pulumi-lang-yaml=\"`roundRobin`\" pulumi-lang-java=\"`roundRobin`\">`round_robin`</span>.\n","type":"string"},"maintenancePageUrl":{"type":"string"},"managed":{"description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the <span pulumi-lang-nodejs=\"`customDomain`\" pulumi-lang-dotnet=\"`CustomDomain`\" pulumi-lang-go=\"`customDomain`\" pulumi-lang-python=\"`custom_domain`\" pulumi-lang-yaml=\"`customDomain`\" pulumi-lang-java=\"`customDomain`\">`custom_domain`</span>. Cannot be used with\n<span pulumi-lang-nodejs=\"`defaultDomain`\" pulumi-lang-dotnet=\"`DefaultDomain`\" pulumi-lang-go=\"`defaultDomain`\" pulumi-lang-python=\"`default_domain`\" pulumi-lang-yaml=\"`defaultDomain`\" pulumi-lang-java=\"`defaultDomain`\">`default_domain`</span>.\n","type":"boolean"},"platform":{"description":"What type of\n[load balancer](https://www.aptible.com/docs/core-concepts/apps/connecting-to-apps/app-endpoints/https-endpoints/alb-elb)\nthe Endpoint should use. Valid options for app endpoints are <span pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\">`alb`</span> or <span pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\">`elb`</span>.\n<span pulumi-lang-nodejs=\"`nlb`\" pulumi-lang-dotnet=\"`Nlb`\" pulumi-lang-go=\"`nlb`\" pulumi-lang-python=\"`nlb`\" pulumi-lang-yaml=\"`nlb`\" pulumi-lang-java=\"`nlb`\">`nlb`</span> is not supported for app endpoints in this provider release.\n- Database endpoints do not require <span pulumi-lang-nodejs=\"`platform`\" pulumi-lang-dotnet=\"`Platform`\" pulumi-lang-go=\"`platform`\" pulumi-lang-python=\"`platform`\" pulumi-lang-yaml=\"`platform`\" pulumi-lang-java=\"`platform`\">`platform`</span>. Aptible manages the database\nendpoint platform, so any configured value is ignored.\n","type":"string"},"processType":{"description":"The name of the service the Endpoint\nis for. See main provider documentation for more information on how to\ndetermine the service name.\n","type":"string"},"releaseHealthcheckTimeout":{"type":"number"},"resourceId":{"description":"The ID of the resource you are adding the Endpoint\nto.\n","type":"number"},"resourceType":{"description":"The type of resource you are adding the Endpoint\nto. Valid options are <span pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\">`app`</span> or <span pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\">`database`</span>.\n","type":"string"},"shared":{"description":"If set, use shared load balancer resources\nwith other apps on the same stack. Shared endpoints can only be used if your\nclients support SNI (most modern clients do) and you either use a default\ndomain or an exact (non-wildcard) custom domain.\n","type":"boolean"},"showElbHealthchecks":{"type":"boolean"},"sslCiphersOverride":{"type":"string"},"sslProtocolsOverride":{"type":"string"},"strictHealthChecks":{"type":"boolean"},"virtualDomain":{"description":"The public domain name that would correspond to the\ncertificate served by this domain, if any.\n","type":"string"}},"type":"object"},"type":"object"},"aptible:index/environment:Environment":{"description":"\n\n## Import\n\nExisting Environments can be imported using the Environment ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/environment:Environment example <ID>\n```\n\n","inputProperties":{"backupRetentionPolicies":{"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"type":"array"},"environmentId":{"type":"string"},"handle":{"description":"The handle for the environment.\n","type":"string"},"orgId":{"description":"The id of the [organization](https://www.aptible.com/docs/core-concepts/security-compliance/access-permissions#organization) you would like the environment to be provisioned on. If the <span pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\">`org_id`</span> is not provided, the provider will attempt to determine it for you. If you are only a member of a single Aptible organization or the environment is on a dedicated stack, it will certainly be able to.\n","type":"string"},"stackId":{"description":"The id of the [stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) you would like the environment to be provisioned on.\n","type":"number"}},"properties":{"backupRetentionPolicies":{"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"type":"array"},"envId":{"description":"The unique ID for the environment\n","type":"number"},"environmentId":{"type":"string"},"handle":{"description":"The handle for the environment.\n","type":"string"},"orgId":{"description":"The id of the [organization](https://www.aptible.com/docs/core-concepts/security-compliance/access-permissions#organization) you would like the environment to be provisioned on. If the <span pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\">`org_id`</span> is not provided, the provider will attempt to determine it for you. If you are only a member of a single Aptible organization or the environment is on a dedicated stack, it will certainly be able to.\n","type":"string"},"stackId":{"description":"The id of the [stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) you would like the environment to be provisioned on.\n","type":"number"}},"required":["envId","environmentId","handle","orgId","stackId"],"requiredInputs":["handle","stackId"],"stateInputs":{"description":"Input properties used for looking up and filtering Environment resources.\n","properties":{"backupRetentionPolicies":{"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"type":"array"},"envId":{"description":"The unique ID for the environment\n","type":"number"},"environmentId":{"type":"string"},"handle":{"description":"The handle for the environment.\n","type":"string"},"orgId":{"description":"The id of the [organization](https://www.aptible.com/docs/core-concepts/security-compliance/access-permissions#organization) you would like the environment to be provisioned on. If the <span pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\">`org_id`</span> is not provided, the provider will attempt to determine it for you. If you are only a member of a single Aptible organization or the environment is on a dedicated stack, it will certainly be able to.\n","type":"string"},"stackId":{"description":"The id of the [stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) you would like the environment to be provisioned on.\n","type":"number"}},"type":"object"},"type":"object"},"aptible:index/logDrain:LogDrain":{"description":"## # Aptible Log Drain Resource\n\nThis resource is used to create and manage\n[Log Drains](https://www.aptible.com/docs/core-concepts/observability/logs/log-drains/overview)\nrunning on Aptible Deploy.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst syslogLogDrain = new aptible.LogDrain(\"syslog_log_drain\", {\n    envId: 123,\n    handle: \"syslog_log_drain\",\n    drainType: \"syslog_tls_tcp\",\n    drainHost: \"syslog.aptible.com\",\n    drainPort: 1234,\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nsyslog_log_drain = aptible.LogDrain(\"syslog_log_drain\",\n    env_id=123,\n    handle=\"syslog_log_drain\",\n    drain_type=\"syslog_tls_tcp\",\n    drain_host=\"syslog.aptible.com\",\n    drain_port=1234)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var syslogLogDrain = new Aptible.LogDrain(\"syslog_log_drain\", new()\n    {\n        EnvId = 123,\n        Handle = \"syslog_log_drain\",\n        DrainType = \"syslog_tls_tcp\",\n        DrainHost = \"syslog.aptible.com\",\n        DrainPort = 1234,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewLogDrain(ctx, \"syslog_log_drain\", &aptible.LogDrainArgs{\n\t\t\tEnvId:     pulumi.Float64(123),\n\t\t\tHandle:    pulumi.String(\"syslog_log_drain\"),\n\t\t\tDrainType: pulumi.String(\"syslog_tls_tcp\"),\n\t\t\tDrainHost: pulumi.String(\"syslog.aptible.com\"),\n\t\t\tDrainPort: pulumi.Float64(1234),\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.aptible.LogDrain;\nimport com.pulumi.aptible.LogDrainArgs;\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 syslogLogDrain = new LogDrain(\"syslogLogDrain\", LogDrainArgs.builder()\n            .envId(123.0)\n            .handle(\"syslog_log_drain\")\n            .drainType(\"syslog_tls_tcp\")\n            .drainHost(\"syslog.aptible.com\")\n            .drainPort(1234.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  syslogLogDrain:\n    type: aptible:LogDrain\n    name: syslog_log_drain\n    properties:\n      envId: 123\n      handle: syslog_log_drain\n      drainType: syslog_tls_tcp\n      drainHost: syslog.aptible.com\n      drainPort: '1234'\n```\n<!--End PulumiCodeChooser -->\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst httpLogDrain = new aptible.LogDrain(\"http_log_drain\", {\n    envId: 123,\n    handle: \"http_log_drain\",\n    drainType: \"https_post\",\n    url: \"https://test.aptible.com\",\n    drainApps: false,\n    drainProxies: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nhttp_log_drain = aptible.LogDrain(\"http_log_drain\",\n    env_id=123,\n    handle=\"http_log_drain\",\n    drain_type=\"https_post\",\n    url=\"https://test.aptible.com\",\n    drain_apps=False,\n    drain_proxies=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var httpLogDrain = new Aptible.LogDrain(\"http_log_drain\", new()\n    {\n        EnvId = 123,\n        Handle = \"http_log_drain\",\n        DrainType = \"https_post\",\n        Url = \"https://test.aptible.com\",\n        DrainApps = false,\n        DrainProxies = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewLogDrain(ctx, \"http_log_drain\", &aptible.LogDrainArgs{\n\t\t\tEnvId:        pulumi.Float64(123),\n\t\t\tHandle:       pulumi.String(\"http_log_drain\"),\n\t\t\tDrainType:    pulumi.String(\"https_post\"),\n\t\t\tUrl:          pulumi.String(\"https://test.aptible.com\"),\n\t\t\tDrainApps:    pulumi.Bool(false),\n\t\t\tDrainProxies: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aptible.LogDrain;\nimport com.pulumi.aptible.LogDrainArgs;\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 httpLogDrain = new LogDrain(\"httpLogDrain\", LogDrainArgs.builder()\n            .envId(123.0)\n            .handle(\"http_log_drain\")\n            .drainType(\"https_post\")\n            .url(\"https://test.aptible.com\")\n            .drainApps(false)\n            .drainProxies(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  httpLogDrain:\n    type: aptible:LogDrain\n    name: http_log_drain\n    properties:\n      envId: 123\n      handle: http_log_drain\n      drainType: https_post\n      url: https://test.aptible.com\n      drainApps: false\n      drainProxies: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting log drains can be imported using the log drain ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/logDrain:LogDrain example-log-drain <ID>\n```\n\n","inputProperties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"description":"The ID of the elasticsearch database that\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains should send logs to.\n","type":"number"},"drainApps":{"description":"If the drain should collect logs\nfrom apps.\n","type":"boolean"},"drainDatabases":{"description":"If the drain should collect\nlogs from databases.\n","type":"boolean"},"drainEphemeralSessions":{"description":"If the drain should\ncollect logs from SSH sessions.\n","type":"boolean"},"drainHost":{"description":"The host name of the destination to send logs to.\n","type":"string"},"drainPassword":{"secret":true,"type":"string"},"drainPort":{"description":"The port for the destination where logs drains will be sent.\n","type":"number"},"drainProxies":{"description":"If the drain should collect logs\nfrom Endpoints.\n","type":"boolean"},"drainType":{"description":"The type of log drain: <span pulumi-lang-nodejs=\"`syslogTlsTcp`\" pulumi-lang-dotnet=\"`SyslogTlsTcp`\" pulumi-lang-go=\"`syslogTlsTcp`\" pulumi-lang-python=\"`syslog_tls_tcp`\" pulumi-lang-yaml=\"`syslogTlsTcp`\" pulumi-lang-java=\"`syslogTlsTcp`\">`syslog_tls_tcp`</span>,\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span>, <span pulumi-lang-nodejs=\"`httpsPost`\" pulumi-lang-dotnet=\"`HttpsPost`\" pulumi-lang-go=\"`httpsPost`\" pulumi-lang-python=\"`https_post`\" pulumi-lang-yaml=\"`httpsPost`\" pulumi-lang-java=\"`httpsPost`\">`https_post`</span>, <span pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\">`sumologic`</span>, <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>,\n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span>.\n","type":"string"},"drainUsername":{"type":"string"},"envId":{"description":"The ID of the environment you would like to create your\nLog Drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"loggingToken":{"description":"The logging token prepended to logs by <span pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\">`syslog`</span>, \n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, and <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span> drains.\n","secret":true,"type":"string"},"pipeline":{"description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with <span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains.\n","type":"string"},"tags":{"description":"A comma-separated list of additional tags to apply logs collected by\n<span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","type":"string"},"token":{"description":"The API token used by <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","secret":true,"type":"string"},"url":{"description":"The destination url where the logs will be sent.\n","type":"string"}},"properties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"description":"The ID of the elasticsearch database that\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains should send logs to.\n","type":"number"},"drainApps":{"description":"If the drain should collect logs\nfrom apps.\n","type":"boolean"},"drainDatabases":{"description":"If the drain should collect\nlogs from databases.\n","type":"boolean"},"drainEphemeralSessions":{"description":"If the drain should\ncollect logs from SSH sessions.\n","type":"boolean"},"drainHost":{"description":"The host name of the destination to send logs to.\n","type":"string"},"drainPassword":{"secret":true,"type":"string"},"drainPort":{"description":"The port for the destination where logs drains will be sent.\n","type":"number"},"drainProxies":{"description":"If the drain should collect logs\nfrom Endpoints.\n","type":"boolean"},"drainType":{"description":"The type of log drain: <span pulumi-lang-nodejs=\"`syslogTlsTcp`\" pulumi-lang-dotnet=\"`SyslogTlsTcp`\" pulumi-lang-go=\"`syslogTlsTcp`\" pulumi-lang-python=\"`syslog_tls_tcp`\" pulumi-lang-yaml=\"`syslogTlsTcp`\" pulumi-lang-java=\"`syslogTlsTcp`\">`syslog_tls_tcp`</span>,\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span>, <span pulumi-lang-nodejs=\"`httpsPost`\" pulumi-lang-dotnet=\"`HttpsPost`\" pulumi-lang-go=\"`httpsPost`\" pulumi-lang-python=\"`https_post`\" pulumi-lang-yaml=\"`httpsPost`\" pulumi-lang-java=\"`httpsPost`\">`https_post`</span>, <span pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\">`sumologic`</span>, <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>,\n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span>.\n","type":"string"},"drainUsername":{"type":"string"},"envId":{"description":"The ID of the environment you would like to create your\nLog Drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"logDrainId":{"description":"The unique ID for the log drain.\n","type":"number"},"loggingToken":{"description":"The logging token prepended to logs by <span pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\">`syslog`</span>, \n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, and <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span> drains.\n","secret":true,"type":"string"},"pipeline":{"description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with <span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains.\n","type":"string"},"tags":{"description":"A comma-separated list of additional tags to apply logs collected by\n<span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","type":"string"},"token":{"description":"The API token used by <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","secret":true,"type":"string"},"url":{"description":"The destination url where the logs will be sent.\n","type":"string"}},"required":["aptibleLogDrainId","drainPassword","drainType","drainUsername","envId","handle","logDrainId","loggingToken"],"requiredInputs":["drainType","envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering LogDrain resources.\n","properties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"description":"The ID of the elasticsearch database that\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains should send logs to.\n","type":"number"},"drainApps":{"description":"If the drain should collect logs\nfrom apps.\n","type":"boolean"},"drainDatabases":{"description":"If the drain should collect\nlogs from databases.\n","type":"boolean"},"drainEphemeralSessions":{"description":"If the drain should\ncollect logs from SSH sessions.\n","type":"boolean"},"drainHost":{"description":"The host name of the destination to send logs to.\n","type":"string"},"drainPassword":{"secret":true,"type":"string"},"drainPort":{"description":"The port for the destination where logs drains will be sent.\n","type":"number"},"drainProxies":{"description":"If the drain should collect logs\nfrom Endpoints.\n","type":"boolean"},"drainType":{"description":"The type of log drain: <span pulumi-lang-nodejs=\"`syslogTlsTcp`\" pulumi-lang-dotnet=\"`SyslogTlsTcp`\" pulumi-lang-go=\"`syslogTlsTcp`\" pulumi-lang-python=\"`syslog_tls_tcp`\" pulumi-lang-yaml=\"`syslogTlsTcp`\" pulumi-lang-java=\"`syslogTlsTcp`\">`syslog_tls_tcp`</span>,\n<span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span>, <span pulumi-lang-nodejs=\"`httpsPost`\" pulumi-lang-dotnet=\"`HttpsPost`\" pulumi-lang-go=\"`httpsPost`\" pulumi-lang-python=\"`https_post`\" pulumi-lang-yaml=\"`httpsPost`\" pulumi-lang-java=\"`httpsPost`\">`https_post`</span>, <span pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\">`sumologic`</span>, <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>,\n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span>.\n","type":"string"},"drainUsername":{"type":"string"},"envId":{"description":"The ID of the environment you would like to create your\nLog Drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"logDrainId":{"description":"The unique ID for the log drain.\n","type":"number"},"loggingToken":{"description":"The logging token prepended to logs by <span pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\">`syslog`</span>, \n<span pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\">`papertrail`</span>, and <span pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\">`solarwinds`</span> drains.\n","secret":true,"type":"string"},"pipeline":{"description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with <span pulumi-lang-nodejs=\"`elasticsearchDatabase`\" pulumi-lang-dotnet=\"`ElasticsearchDatabase`\" pulumi-lang-go=\"`elasticsearchDatabase`\" pulumi-lang-python=\"`elasticsearch_database`\" pulumi-lang-yaml=\"`elasticsearchDatabase`\" pulumi-lang-java=\"`elasticsearchDatabase`\">`elasticsearch_database`</span> drains.\n","type":"string"},"tags":{"description":"A comma-separated list of additional tags to apply logs collected by\n<span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","type":"string"},"token":{"description":"The API token used by <span pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\">`logdna`</span> and <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains.\n","secret":true,"type":"string"},"url":{"description":"The destination url where the logs will be sent.\n","type":"string"}},"type":"object"},"type":"object"},"aptible:index/metricDrain:MetricDrain":{"description":"## # Aptible Metric Drain Resource\n\nThis resource is used to create and manage\n[Metric Drains](https://www.aptible.com/docs/core-concepts/observability/metrics/metrics-drains/overview)\nrunning on Aptible Deploy.\n\n## Example Usage\n\n### Aptible InfluxDB Database\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst influxdbDatabaseDrain = new aptible.MetricDrain(\"influxdb_database_drain\", {\n    envId: exampleAptibleEnvironment.envId,\n    databaseId: example.databaseId,\n    drainType: \"influxdb_database\",\n    handle: \"aptible-hosted-metric-drain\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ninfluxdb_database_drain = aptible.MetricDrain(\"influxdb_database_drain\",\n    env_id=example_aptible_environment[\"envId\"],\n    database_id=example[\"databaseId\"],\n    drain_type=\"influxdb_database\",\n    handle=\"aptible-hosted-metric-drain\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var influxdbDatabaseDrain = new Aptible.MetricDrain(\"influxdb_database_drain\", new()\n    {\n        EnvId = exampleAptibleEnvironment.EnvId,\n        DatabaseId = example.DatabaseId,\n        DrainType = \"influxdb_database\",\n        Handle = \"aptible-hosted-metric-drain\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewMetricDrain(ctx, \"influxdb_database_drain\", &aptible.MetricDrainArgs{\n\t\t\tEnvId:      pulumi.Any(exampleAptibleEnvironment.EnvId),\n\t\t\tDatabaseId: pulumi.Any(example.DatabaseId),\n\t\t\tDrainType:  pulumi.String(\"influxdb_database\"),\n\t\t\tHandle:     pulumi.String(\"aptible-hosted-metric-drain\"),\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.aptible.MetricDrain;\nimport com.pulumi.aptible.MetricDrainArgs;\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 influxdbDatabaseDrain = new MetricDrain(\"influxdbDatabaseDrain\", MetricDrainArgs.builder()\n            .envId(exampleAptibleEnvironment.envId())\n            .databaseId(example.databaseId())\n            .drainType(\"influxdb_database\")\n            .handle(\"aptible-hosted-metric-drain\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  influxdbDatabaseDrain:\n    type: aptible:MetricDrain\n    name: influxdb_database_drain\n    properties:\n      envId: ${exampleAptibleEnvironment.envId}\n      databaseId: ${example.databaseId}\n      drainType: influxdb_database\n      handle: aptible-hosted-metric-drain\n```\n<!--End PulumiCodeChooser -->\n\n### InfluxDB (v1)\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst influxdbDrain = new aptible.MetricDrain(\"influxdb_drain\", {\n    envId: example.envId,\n    drainType: \"influxdb\",\n    handle: \"influxdb-metric-drain\",\n    url: \"https://influx.example.com:443\",\n    username: \"example_user\",\n    password: \"example_password\",\n    database: \"metrics\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ninfluxdb_drain = aptible.MetricDrain(\"influxdb_drain\",\n    env_id=example[\"envId\"],\n    drain_type=\"influxdb\",\n    handle=\"influxdb-metric-drain\",\n    url=\"https://influx.example.com:443\",\n    username=\"example_user\",\n    password=\"example_password\",\n    database=\"metrics\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var influxdbDrain = new Aptible.MetricDrain(\"influxdb_drain\", new()\n    {\n        EnvId = example.EnvId,\n        DrainType = \"influxdb\",\n        Handle = \"influxdb-metric-drain\",\n        Url = \"https://influx.example.com:443\",\n        Username = \"example_user\",\n        Password = \"example_password\",\n        Database = \"metrics\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewMetricDrain(ctx, \"influxdb_drain\", &aptible.MetricDrainArgs{\n\t\t\tEnvId:     pulumi.Any(example.EnvId),\n\t\t\tDrainType: pulumi.String(\"influxdb\"),\n\t\t\tHandle:    pulumi.String(\"influxdb-metric-drain\"),\n\t\t\tUrl:       pulumi.String(\"https://influx.example.com:443\"),\n\t\t\tUsername:  pulumi.String(\"example_user\"),\n\t\t\tPassword:  pulumi.String(\"example_password\"),\n\t\t\tDatabase:  pulumi.String(\"metrics\"),\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.aptible.MetricDrain;\nimport com.pulumi.aptible.MetricDrainArgs;\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 influxdbDrain = new MetricDrain(\"influxdbDrain\", MetricDrainArgs.builder()\n            .envId(example.envId())\n            .drainType(\"influxdb\")\n            .handle(\"influxdb-metric-drain\")\n            .url(\"https://influx.example.com:443\")\n            .username(\"example_user\")\n            .password(\"example_password\")\n            .database(\"metrics\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  influxdbDrain:\n    type: aptible:MetricDrain\n    name: influxdb_drain\n    properties:\n      envId: ${example.envId}\n      drainType: influxdb\n      handle: influxdb-metric-drain\n      url: https://influx.example.com:443\n      username: example_user\n      password: example_password\n      database: metrics\n```\n<!--End PulumiCodeChooser -->\n\n### InfluxDB (v2)\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst influxdbDrain = new aptible.MetricDrain(\"influxdb_drain\", {\n    envId: example.envId,\n    drainType: \"influxdb2\",\n    handle: \"influxdb-metric-drain\",\n    url: \"https://influx.example.com:443\",\n    apiKey: \"xxxxx-xxxxx-xxxxx\",\n    bucket: \"yourBucket\",\n    organization: \"myOrg\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ninfluxdb_drain = aptible.MetricDrain(\"influxdb_drain\",\n    env_id=example[\"envId\"],\n    drain_type=\"influxdb2\",\n    handle=\"influxdb-metric-drain\",\n    url=\"https://influx.example.com:443\",\n    api_key=\"xxxxx-xxxxx-xxxxx\",\n    bucket=\"yourBucket\",\n    organization=\"myOrg\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var influxdbDrain = new Aptible.MetricDrain(\"influxdb_drain\", new()\n    {\n        EnvId = example.EnvId,\n        DrainType = \"influxdb2\",\n        Handle = \"influxdb-metric-drain\",\n        Url = \"https://influx.example.com:443\",\n        ApiKey = \"xxxxx-xxxxx-xxxxx\",\n        Bucket = \"yourBucket\",\n        Organization = \"myOrg\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewMetricDrain(ctx, \"influxdb_drain\", &aptible.MetricDrainArgs{\n\t\t\tEnvId:        pulumi.Any(example.EnvId),\n\t\t\tDrainType:    pulumi.String(\"influxdb2\"),\n\t\t\tHandle:       pulumi.String(\"influxdb-metric-drain\"),\n\t\t\tUrl:          pulumi.String(\"https://influx.example.com:443\"),\n\t\t\tApiKey:       pulumi.String(\"xxxxx-xxxxx-xxxxx\"),\n\t\t\tBucket:       pulumi.String(\"yourBucket\"),\n\t\t\tOrganization: pulumi.String(\"myOrg\"),\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.aptible.MetricDrain;\nimport com.pulumi.aptible.MetricDrainArgs;\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 influxdbDrain = new MetricDrain(\"influxdbDrain\", MetricDrainArgs.builder()\n            .envId(example.envId())\n            .drainType(\"influxdb2\")\n            .handle(\"influxdb-metric-drain\")\n            .url(\"https://influx.example.com:443\")\n            .apiKey(\"xxxxx-xxxxx-xxxxx\")\n            .bucket(\"yourBucket\")\n            .organization(\"myOrg\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  influxdbDrain:\n    type: aptible:MetricDrain\n    name: influxdb_drain\n    properties:\n      envId: ${example.envId}\n      drainType: influxdb2\n      handle: influxdb-metric-drain\n      url: https://influx.example.com:443\n      apiKey: xxxxx-xxxxx-xxxxx\n      bucket: yourBucket\n      organization: myOrg\n```\n<!--End PulumiCodeChooser -->\n\n### Datadog\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst datadogDrain = new aptible.MetricDrain(\"datadog_drain\", {\n    envId: example.envId,\n    drainType: \"datadog\",\n    apiKey: \"xxxxx-xxxxx-xxxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\ndatadog_drain = aptible.MetricDrain(\"datadog_drain\",\n    env_id=example[\"envId\"],\n    drain_type=\"datadog\",\n    api_key=\"xxxxx-xxxxx-xxxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var datadogDrain = new Aptible.MetricDrain(\"datadog_drain\", new()\n    {\n        EnvId = example.EnvId,\n        DrainType = \"datadog\",\n        ApiKey = \"xxxxx-xxxxx-xxxxx\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewMetricDrain(ctx, \"datadog_drain\", &aptible.MetricDrainArgs{\n\t\t\tEnvId:     pulumi.Any(example.EnvId),\n\t\t\tDrainType: pulumi.String(\"datadog\"),\n\t\t\tApiKey:    pulumi.String(\"xxxxx-xxxxx-xxxxx\"),\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.aptible.MetricDrain;\nimport com.pulumi.aptible.MetricDrainArgs;\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 datadogDrain = new MetricDrain(\"datadogDrain\", MetricDrainArgs.builder()\n            .envId(example.envId())\n            .drainType(\"datadog\")\n            .apiKey(\"xxxxx-xxxxx-xxxxx\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  datadogDrain:\n    type: aptible:MetricDrain\n    name: datadog_drain\n    properties:\n      envId: ${example.envId}\n      drainType: datadog\n      apiKey: xxxxx-xxxxx-xxxxx\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting metric drains can be imported using the metric drain ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/metricDrain:MetricDrain example <ID>\n```\n\n","inputProperties":{"apiKey":{"description":"The API key for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> or `influxdb v2` drains to use for authentication.\n","secret":true,"type":"string"},"aptibleMetricDrainId":{"type":"string"},"bucket":{"description":"The bucket for `influxdb v2` drains to use.\n","type":"string"},"database":{"description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send the metrics to.\n","type":"string"},"databaseId":{"description":"The ID of the Aptible InfluxDB database for\n<span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span> drains to send metrics to.\n","type":"number"},"drainType":{"description":"The type of metric drain: <span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span>,\n<span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>\n","type":"string"},"envId":{"description":"The ID of the environment you would like to create the\nmetric drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"organization":{"description":"The InfluxDB organization for `influxdb v2` drains to use.\n","type":"string"},"password":{"description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true,"type":"string"},"seriesUrl":{"description":"The series API URL for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains to send\nmetrics to. Examples: `https://app.datadoghq.com/api/v1/series`,\n`https://us3.datadoghq.com/api/v1/series`,\n`https://app.datadoghq.eu/api/v1/series`,\n`https://app.ddog-gov.com/api/v1/series`\n","type":"string"},"url":{"description":"The URL (scheme, host, and port) for <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send metrics\nto.\n","type":"string"},"username":{"description":"The user for `influxdb v1` drains to use for authentication.\n","type":"string"}},"properties":{"apiKey":{"description":"The API key for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> or `influxdb v2` drains to use for authentication.\n","secret":true,"type":"string"},"aptibleMetricDrainId":{"type":"string"},"bucket":{"description":"The bucket for `influxdb v2` drains to use.\n","type":"string"},"database":{"description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send the metrics to.\n","type":"string"},"databaseId":{"description":"The ID of the Aptible InfluxDB database for\n<span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span> drains to send metrics to.\n","type":"number"},"drainType":{"description":"The type of metric drain: <span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span>,\n<span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>\n","type":"string"},"envId":{"description":"The ID of the environment you would like to create the\nmetric drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"metricDrainId":{"description":"The unique ID for the metric drain.\n","type":"number"},"organization":{"description":"The InfluxDB organization for `influxdb v2` drains to use.\n","type":"string"},"password":{"description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true,"type":"string"},"seriesUrl":{"description":"The series API URL for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains to send\nmetrics to. Examples: `https://app.datadoghq.com/api/v1/series`,\n`https://us3.datadoghq.com/api/v1/series`,\n`https://app.datadoghq.eu/api/v1/series`,\n`https://app.ddog-gov.com/api/v1/series`\n","type":"string"},"url":{"description":"The URL (scheme, host, and port) for <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send metrics\nto.\n","type":"string"},"username":{"description":"The user for `influxdb v1` drains to use for authentication.\n","type":"string"}},"required":["aptibleMetricDrainId","drainType","envId","handle","metricDrainId"],"requiredInputs":["drainType","envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering MetricDrain resources.\n","properties":{"apiKey":{"description":"The API key for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> or `influxdb v2` drains to use for authentication.\n","secret":true,"type":"string"},"aptibleMetricDrainId":{"type":"string"},"bucket":{"description":"The bucket for `influxdb v2` drains to use.\n","type":"string"},"database":{"description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send the metrics to.\n","type":"string"},"databaseId":{"description":"The ID of the Aptible InfluxDB database for\n<span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span> drains to send metrics to.\n","type":"number"},"drainType":{"description":"The type of metric drain: <span pulumi-lang-nodejs=\"`influxdbDatabase`\" pulumi-lang-dotnet=\"`InfluxdbDatabase`\" pulumi-lang-go=\"`influxdbDatabase`\" pulumi-lang-python=\"`influxdb_database`\" pulumi-lang-yaml=\"`influxdbDatabase`\" pulumi-lang-java=\"`influxdbDatabase`\">`influxdb_database`</span>,\n<span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span>, <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span>\n","type":"string"},"envId":{"description":"The ID of the environment you would like to create the\nmetric drain in. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n","type":"string"},"metricDrainId":{"description":"The unique ID for the metric drain.\n","type":"number"},"organization":{"description":"The InfluxDB organization for `influxdb v2` drains to use.\n","type":"string"},"password":{"description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true,"type":"string"},"seriesUrl":{"description":"The series API URL for <span pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\">`datadog`</span> drains to send\nmetrics to. Examples: `https://app.datadoghq.com/api/v1/series`,\n`https://us3.datadoghq.com/api/v1/series`,\n`https://app.datadoghq.eu/api/v1/series`,\n`https://app.ddog-gov.com/api/v1/series`\n","type":"string"},"url":{"description":"The URL (scheme, host, and port) for <span pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\">`influxdb`</span> drains to send metrics\nto.\n","type":"string"},"username":{"description":"The user for `influxdb v1` drains to use for authentication.\n","type":"string"}},"type":"object"},"type":"object"},"aptible:index/replica:Replica":{"description":"## # Aptible Database Replica Resource\n\nThis resource is used to create and manage Database [Replicas and\nClusters](https://www.aptible.com/docs/core-concepts/managed-databases/managing-databases/replication-clustering)\nrunning on Aptible Deploy.\n\n!> Changing the handle of a replica will destroy the existing replica and\ncreate a new one. It would then have to repopulate its contents from the\nprimary database\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aptible from \"@pulumi/aptible\";\n\nconst exampleDatabaseReplica = new aptible.Replica(\"example_database_replica\", {\n    envId: 123,\n    primaryDatabaseId: exampleDatabase.databaseId,\n    handle: \"example_database_replica\",\n    diskSize: 30,\n});\n```\n```python\nimport pulumi\nimport pulumi_aptible as aptible\n\nexample_database_replica = aptible.Replica(\"example_database_replica\",\n    env_id=123,\n    primary_database_id=example_database[\"databaseId\"],\n    handle=\"example_database_replica\",\n    disk_size=30)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aptible = Pulumi.Aptible;\n\nreturn await Deployment.RunAsync(() => \n{\n    var exampleDatabaseReplica = new Aptible.Replica(\"example_database_replica\", new()\n    {\n        EnvId = 123,\n        PrimaryDatabaseId = exampleDatabase.DatabaseId,\n        Handle = \"example_database_replica\",\n        DiskSize = 30,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/aptible/aptible\"\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 := aptible.NewReplica(ctx, \"example_database_replica\", &aptible.ReplicaArgs{\n\t\t\tEnvId:             pulumi.Float64(123),\n\t\t\tPrimaryDatabaseId: pulumi.Any(exampleDatabase.DatabaseId),\n\t\t\tHandle:            pulumi.String(\"example_database_replica\"),\n\t\t\tDiskSize:          pulumi.Float64(30),\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.aptible.Replica;\nimport com.pulumi.aptible.ReplicaArgs;\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 exampleDatabaseReplica = new Replica(\"exampleDatabaseReplica\", ReplicaArgs.builder()\n            .envId(123.0)\n            .primaryDatabaseId(exampleDatabase.databaseId())\n            .handle(\"example_database_replica\")\n            .diskSize(30.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDatabaseReplica:\n    type: aptible:Replica\n    name: example_database_replica\n    properties:\n      envId: 123\n      primaryDatabaseId: ${exampleDatabase.databaseId}\n      handle: example_database_replica\n      diskSize: 30\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nExisting Replica can be imported using the Replica ID. For example:\n\nbash\n\n```sh\n$ pulumi import aptible:index/replica:Replica example-replica <ID>\n```\n\n","inputProperties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. The Environment does not have to be the same as the primary\ndatabase, but the Environment does have to be in the same\n[Stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) as the\nprimary Database. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"primaryDatabaseId":{"description":"The ID of the Database the replica is being\ncreated from.\n","type":"number"}},"properties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"defaultConnectionUrl":{"description":"The default\n[database credentials](https://www.aptible.com/docs/core-concepts/managed-databases/connecting-databases/database-credentials)\nin connection URL format\n","secret":true,"type":"string"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. The Environment does not have to be the same as the primary\ndatabase, but the Environment does have to be in the same\n[Stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) as the\nprimary Database. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"primaryDatabaseId":{"description":"The ID of the Database the replica is being\ncreated from.\n","type":"number"},"replicaId":{"description":"The unique ID for the replica\n","type":"number"}},"required":["aptibleReplicaId","defaultConnectionUrl","envId","handle","primaryDatabaseId","replicaId"],"requiredInputs":["envId","handle","primaryDatabaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering Replica resources.\n","properties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nDatabase container.\n","type":"string"},"containerSize":{"description":"The size of container used for the\nDatabase, in MB of RAM.\n","type":"number"},"defaultConnectionUrl":{"description":"The default\n[database credentials](https://www.aptible.com/docs/core-concepts/managed-databases/connecting-databases/database-credentials)\nin connection URL format\n","secret":true,"type":"string"},"diskSize":{"description":"The disk size of the Database, in GB.\n","type":"number"},"enableBackups":{"description":"Whether to automatically backup the database according to the retention policy.\n","type":"boolean"},"envId":{"description":"The ID of the environment you would like to deploy your\nDatabase in. The Environment does not have to be the same as the primary\ndatabase, but the Environment does have to be in the same\n[Stack](https://www.aptible.com/docs/core-concepts/architecture/stacks) as the\nprimary Database. See main provider documentation for more on how to determine\nwhat you should use for <span pulumi-lang-nodejs=\"`envId`\" pulumi-lang-dotnet=\"`EnvId`\" pulumi-lang-go=\"`envId`\" pulumi-lang-python=\"`env_id`\" pulumi-lang-yaml=\"`envId`\" pulumi-lang-java=\"`envId`\">`env_id`</span>.\n","type":"number"},"handle":{"description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n","type":"string"},"iops":{"description":"The disk Input/Output Operations Per Second\n","type":"number"},"primaryDatabaseId":{"description":"The ID of the Database the replica is being\ncreated from.\n","type":"number"},"replicaId":{"description":"The unique ID for the replica\n","type":"number"}},"type":"object"},"type":"object"}},"types":{"aptible:index/AppService:AppService":{"properties":{"autoscalingPolicies":{"description":"A block to manage autoscaling for services. See\nthe main provider docs for additional details.\n","items":{"$ref":"#/types/aptible:index%2FAppServiceAutoscalingPolicy:AppServiceAutoscalingPolicy"},"type":"array"},"containerCount":{"description":"The number of unique containers running the\nservice.\n","type":"number"},"containerMemoryLimit":{"description":"The memory limit (in MB) of the\nservice's containers.\n","type":"number"},"containerProfile":{"description":"Changes the CPU:RAM ratio of the\nservice's containers.\n","type":"string"},"forceZeroDowntime":{"description":"For services without endpoints, force\na zero-downtime release and leverage docker healthchecks for the containers. Please\nnote that docker healthchecks are required unless <span pulumi-lang-nodejs=\"`simpleHealthCheck`\" pulumi-lang-dotnet=\"`SimpleHealthCheck`\" pulumi-lang-go=\"`simpleHealthCheck`\" pulumi-lang-python=\"`simple_health_check`\" pulumi-lang-yaml=\"`simpleHealthCheck`\" pulumi-lang-java=\"`simpleHealthCheck`\">`simple_health_check`</span> is enabled.\n[For more information please see the docs](https://www.aptible.com/docs/core-concepts/apps/deploying-apps/releases/overview).\n","type":"boolean"},"processType":{"description":"The <span pulumi-lang-nodejs=\"`processType`\" pulumi-lang-dotnet=\"`ProcessType`\" pulumi-lang-go=\"`processType`\" pulumi-lang-python=\"`process_type`\" pulumi-lang-yaml=\"`processType`\" pulumi-lang-java=\"`processType`\">`process_type`</span> maps directly to the\nService name used in the Procfile. If you are not using a Procfile, you will\nhave a single Service with the <span pulumi-lang-nodejs=\"`processType`\" pulumi-lang-dotnet=\"`ProcessType`\" pulumi-lang-go=\"`processType`\" pulumi-lang-python=\"`process_type`\" pulumi-lang-yaml=\"`processType`\" pulumi-lang-java=\"`processType`\">`process_type`</span> of <span pulumi-lang-nodejs=\"`cmd`\" pulumi-lang-dotnet=\"`Cmd`\" pulumi-lang-go=\"`cmd`\" pulumi-lang-python=\"`cmd`\" pulumi-lang-yaml=\"`cmd`\" pulumi-lang-java=\"`cmd`\">`cmd`</span>.\n","type":"string"},"restartFreeScaling":{"description":"Enable restart-free scaling for the service,\nallowing containers to be added or removed without restarting existing containers.\n","type":"boolean"},"serviceSizingPolicies":{"deprecationMessage":"Deprecated","description":"**Deprecated** (Optional) A block to manage autoscaling for services. See\nthe main provider docs for additional details.\n","items":{"$ref":"#/types/aptible:index%2FAppServiceServiceSizingPolicy:AppServiceServiceSizingPolicy"},"type":"array"},"simpleHealthCheck":{"description":"For services without endpoints, if<span pulumi-lang-nodejs=\"\nforceZeroDowntime \" pulumi-lang-dotnet=\"\nForceZeroDowntime \" pulumi-lang-go=\"\nforceZeroDowntime \" pulumi-lang-python=\"\nforce_zero_downtime \" pulumi-lang-yaml=\"\nforceZeroDowntime \" pulumi-lang-java=\"\nforceZeroDowntime \">\nforce_zero_downtime </span>is enabled, do a simple uptime check instead of using docker healthchecks.\n","type":"boolean"},"stopTimeout":{"description":"The number of seconds to wait for the service containers to stop gracefully on release before killing it.\n","type":"number"}},"type":"object"},"aptible:index/AppServiceAutoscalingPolicy:AppServiceAutoscalingPolicy":{"language":{"nodejs":{"requiredOutputs":["autoscalingType","scalingEnabled"]}},"properties":{"autoscalingType":{"description":"The type of autoscaling. Must be either <span pulumi-lang-nodejs=\"`horizontal`\" pulumi-lang-dotnet=\"`Horizontal`\" pulumi-lang-go=\"`horizontal`\" pulumi-lang-python=\"`horizontal`\" pulumi-lang-yaml=\"`horizontal`\" pulumi-lang-java=\"`horizontal`\">`horizontal`</span> or <span pulumi-lang-nodejs=\"`vertical`\" pulumi-lang-dotnet=\"`Vertical`\" pulumi-lang-go=\"`vertical`\" pulumi-lang-python=\"`vertical`\" pulumi-lang-yaml=\"`vertical`\" pulumi-lang-java=\"`vertical`\">`vertical`</span>.\n","type":"string"},"maxContainers":{"description":"Horizontal autoscaling only - Sets the highest container count to which\nthe service can be scaled up to by Autoscaler.\n","type":"number"},"maxCpuThreshold":{"description":"Horizontal autoscaling only - Specifies the percentage of the current CPU usage at which\nan up-scaling action is triggered.\n","type":"number"},"maximumMemory":{"description":"Vertical autoscaling only - Defines the upper memory threshold,\ncapping the maximum memory allocation possible through Autoscaler. If blank,\nthe container can scale to the largest size available.\n","type":"number"},"memCpuRatioCThreshold":{"description":"Sets the Memory-to-CPU ratio threshold,\nbelow which the service is transitioned to a C (Compute Optimized) profile.\n","type":"number"},"memCpuRatioRThreshold":{"description":"Establishes the ratio of Memory (in GB) to CPU (in CPUs)\nat which values exceeding the threshold prompt a shift to an R (Memory Optimized) profile.\n","type":"number"},"memScaleDownThreshold":{"description":"Vertical autoscaling only - Specifies the percentage\nof the current memory limit at which the service’s memory usage triggers a down-scaling action.\n","type":"number"},"memScaleUpThreshold":{"description":"Vertical autoscaling only - Specifies the percentage\nof the current memory limit at which the service’s memory usage triggers an up-scaling action.\n","type":"number"},"metricLookbackSeconds":{"description":"The duration in seconds for \nretrieving past performance metrics.\n","type":"number"},"minContainers":{"description":"Horizontal autoscaling only - Sets the lowest container count to which\nthe service can be scaled down by Autoscaler.\n","type":"number"},"minCpuThreshold":{"description":"Horizontal autoscaling only - Specifies the percentage of the current CPU usage at which\na down-scaling action is triggered.\n","type":"number"},"minimumMemory":{"description":"Vertical autoscaling only - Sets the lowest memory\nlimit to which the service can be scaled down by Autoscaler.\n","type":"number"},"percentile":{"description":"The percentile for evaluating metrics.\n","type":"number"},"postReleaseCooldownSeconds":{"description":"The time in seconds to ignore in metrics following a deploy to allow for service stabilization.\n","type":"number"},"postScaleDownCooldownSeconds":{"description":"The waiting period in seconds after an automated\nscale-down before another scaling action can be considered.\n","type":"number"},"postScaleUpCooldownSeconds":{"description":"The waiting period in seconds after an automated\nscale-up before another scaling action can be considered.\n","type":"number"},"scaleDownStep":{"description":"Horizontal autoscaling only - Sets the amount of containers to remove when\nautoscaling (ex: a value of 2 will go from 4->2->1). Container count will never exceed the configured minimum.\n","type":"number"},"scaleUpStep":{"description":"Horizontal autoscaling only - Sets the amount of containers to add\nwhen autoscaling (ex: a value of 2 will go from 1->3->5). Container count will never exceed the configured maximum.\n","type":"number"},"scalingEnabled":{"type":"boolean"},"useHorizontalScale":{"description":"Horizontal autoscaling only. Sets the autoscaling to use a restart-free scale type so containers are only added and removed without restarting all currently running containers.\n","type":"boolean"}},"required":["autoscalingType"],"type":"object"},"aptible:index/AppServiceServiceSizingPolicy:AppServiceServiceSizingPolicy":{"language":{"nodejs":{"requiredOutputs":["autoscalingType","scalingEnabled"]}},"properties":{"autoscalingType":{"description":"The type of autoscaling, must be either 'vertical' or 'horizontal'.\n","type":"string"},"maxContainers":{"description":"The maximum number of containers for scaling.\n","type":"number"},"maxCpuThreshold":{"description":"The maximum CPU utilization threshold for scaling.\n","type":"number"},"maximumMemory":{"description":"The maximum memory allocation in MB.\n","type":"number"},"memCpuRatioCThreshold":{"description":"Sets the Memory-to-CPU ratio threshold,\nbelow which the service is transitioned to a C (Compute Optimized) profile.\n","type":"number"},"memCpuRatioRThreshold":{"description":"Establishes the ratio of Memory (in GB) to CPU (in CPUs)\nat which values exceeding the threshold prompt a shift to an R (Memory Optimized) profile.\n","type":"number"},"memScaleDownThreshold":{"description":"The memory usage threshold for scaling down.\n","type":"number"},"memScaleUpThreshold":{"description":"The memory usage threshold for scaling up.\n","type":"number"},"metricLookbackSeconds":{"description":"The lookback period for metrics in seconds.\n","type":"number"},"minContainers":{"description":"The minimum number of containers for scaling.\n","type":"number"},"minCpuThreshold":{"description":"The minimum CPU utilization threshold for scaling.\n","type":"number"},"minimumMemory":{"description":"The minimum memory allocation in MB.\n","type":"number"},"percentile":{"description":"The percentile threshold used for scaling.\n","type":"number"},"postReleaseCooldownSeconds":{"description":"Seconds to ignore in metrics after a release event.\n","type":"number"},"postScaleDownCooldownSeconds":{"description":"Cooldown period in seconds after a scale-down event.\n","type":"number"},"postScaleUpCooldownSeconds":{"description":"Cooldown period in seconds after a scale-up event.\n","type":"number"},"scaleDownStep":{"description":"The number of containers to remove in each scale-down event.\n","type":"number"},"scaleUpStep":{"description":"The number of containers to add in each scale-up event.\n","type":"number"},"scalingEnabled":{"type":"boolean"},"useHorizontalScale":{"description":"Whether to use restart-free scaling for this service.\n","type":"boolean"}},"required":["autoscalingType"],"type":"object"},"aptible:index/EnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy":{"properties":{"daily":{"description":"The number of daily backups to retain per database. Minimum of 1.\n","type":"number"},"keepFinal":{"description":"Whether the final backup of databases should be retained when they're deleted.\n","type":"boolean"},"makeCopy":{"description":"Whether backups should be copied to another region.\n","type":"boolean"},"monthly":{"description":"The number of monthly backups to retain per database.\n","type":"number"},"yearly":{"description":"The number of yearly backups to retain per database.\n","type":"number"}},"required":["daily","keepFinal","makeCopy","monthly","yearly"],"type":"object"}},"version":"0.10.0"}
