{"name":"aptible","version":"0.9.22","description":"A Pulumi provider dynamically bridged from aptible.","attribution":"This Pulumi package is based on the [`aptible` Terraform Provider](https://github.com/aptible/terraform-provider-aptible).","repository":"https://github.com/aptible/terraform-provider-aptible","publisher":"aptible","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"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":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/aptible/terraform-provider-aptible)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-aptible` repo](https://github.com/aptible/terraform-provider-aptible/issues).","respectSchemaVersion":true},"python":{"compatibility":"tfbridge20","pyproject":{"enabled":true},"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/aptible/terraform-provider-aptible)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e please consult the source [`terraform-provider-aptible` repo](https://github.com/aptible/terraform-provider-aptible/issues).","respectSchemaVersion":true}},"config":{},"types":{"aptible:index/AppService:AppService":{"properties":{"autoscalingPolicies":{"type":"array","items":{"$ref":"#/types/aptible:index%2FAppServiceAutoscalingPolicy:AppServiceAutoscalingPolicy"},"description":"A block to manage autoscaling for services. See\nthe main provider docs for additional details.\n"},"containerCount":{"type":"number","description":"The number of unique containers running the\nservice.\n"},"containerMemoryLimit":{"type":"number","description":"The memory limit (in MB) of the\nservice's containers.\n"},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nservice's containers.\n"},"forceZeroDowntime":{"type":"boolean","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 \u003cspan 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`\"\u003e`simple_health_check`\u003c/span\u003e is enabled.\n[For more information please see the docs](https://www.aptible.com/docs/core-concepts/apps/deploying-apps/releases/overview).\n"},"processType":{"type":"string","description":"The \u003cspan 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`\"\u003e`process_type`\u003c/span\u003e 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 \u003cspan 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`\"\u003e`process_type`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`cmd`\" pulumi-lang-dotnet=\"`Cmd`\" pulumi-lang-go=\"`cmd`\" pulumi-lang-python=\"`cmd`\" pulumi-lang-yaml=\"`cmd`\" pulumi-lang-java=\"`cmd`\"\u003e`cmd`\u003c/span\u003e.\n"},"restartFreeScaling":{"type":"boolean","description":"Enable restart-free scaling for the service,\nallowing containers to be added or removed without restarting existing containers.\n"},"serviceSizingPolicies":{"type":"array","items":{"$ref":"#/types/aptible:index%2FAppServiceServiceSizingPolicy:AppServiceServiceSizingPolicy"},"description":"**Deprecated** (Optional) A block to manage autoscaling for services. See\nthe main provider docs for additional details.\n","deprecationMessage":"Deprecated"},"simpleHealthCheck":{"type":"boolean","description":"For services without endpoints, if\u003cspan 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 \"\u003e\nforce_zero_downtime \u003c/span\u003eis enabled, do a simple uptime check instead of using docker healthchecks.\n"},"stopTimeout":{"type":"number","description":"The number of seconds to wait for the service containers to stop gracefully on release before killing it.\n"}},"type":"object"},"aptible:index/AppServiceAutoscalingPolicy:AppServiceAutoscalingPolicy":{"properties":{"autoscalingType":{"type":"string","description":"The type of autoscaling. Must be either \u003cspan pulumi-lang-nodejs=\"`horizontal`\" pulumi-lang-dotnet=\"`Horizontal`\" pulumi-lang-go=\"`horizontal`\" pulumi-lang-python=\"`horizontal`\" pulumi-lang-yaml=\"`horizontal`\" pulumi-lang-java=\"`horizontal`\"\u003e`horizontal`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`vertical`\" pulumi-lang-dotnet=\"`Vertical`\" pulumi-lang-go=\"`vertical`\" pulumi-lang-python=\"`vertical`\" pulumi-lang-yaml=\"`vertical`\" pulumi-lang-java=\"`vertical`\"\u003e`vertical`\u003c/span\u003e.\n"},"maxContainers":{"type":"number","description":"Horizontal autoscaling only - Sets the highest container count to which\nthe service can be scaled up to by Autoscaler.\n"},"maxCpuThreshold":{"type":"number","description":"Horizontal autoscaling only - Specifies the percentage of the current CPU usage at which\nan up-scaling action is triggered.\n"},"maximumMemory":{"type":"number","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"},"memCpuRatioCThreshold":{"type":"number","description":"Sets the Memory-to-CPU ratio threshold,\nbelow which the service is transitioned to a C (Compute Optimized) profile.\n"},"memCpuRatioRThreshold":{"type":"number","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"},"memScaleDownThreshold":{"type":"number","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"},"memScaleUpThreshold":{"type":"number","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"},"metricLookbackSeconds":{"type":"number","description":"The duration in seconds for \nretrieving past performance metrics.\n"},"minContainers":{"type":"number","description":"Horizontal autoscaling only - Sets the lowest container count to which\nthe service can be scaled down by Autoscaler.\n"},"minCpuThreshold":{"type":"number","description":"Horizontal autoscaling only - Specifies the percentage of the current CPU usage at which\na down-scaling action is triggered.\n"},"minimumMemory":{"type":"number","description":"Vertical autoscaling only - Sets the lowest memory\nlimit to which the service can be scaled down by Autoscaler.\n"},"percentile":{"type":"number","description":"The percentile for evaluating metrics.\n"},"postReleaseCooldownSeconds":{"type":"number","description":"The time in seconds to ignore in metrics following a deploy to allow for service stabilization.\n"},"postScaleDownCooldownSeconds":{"type":"number","description":"The waiting period in seconds after an automated\nscale-down before another scaling action can be considered.\n"},"postScaleUpCooldownSeconds":{"type":"number","description":"The waiting period in seconds after an automated\nscale-up before another scaling action can be considered.\n"},"scaleDownStep":{"type":"number","description":"Horizontal autoscaling only - Sets the amount of containers to remove when\nautoscaling (ex: a value of 2 will go from 4-\u003e2-\u003e1). Container count will never exceed the configured minimum.\n"},"scaleUpStep":{"type":"number","description":"Horizontal autoscaling only - Sets the amount of containers to add\nwhen autoscaling (ex: a value of 2 will go from 1-\u003e3-\u003e5). Container count will never exceed the configured maximum.\n"},"scalingEnabled":{"type":"boolean"},"useHorizontalScale":{"type":"boolean","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":"object","required":["autoscalingType"],"language":{"nodejs":{"requiredOutputs":["autoscalingType","scalingEnabled"]}}},"aptible:index/AppServiceServiceSizingPolicy:AppServiceServiceSizingPolicy":{"properties":{"autoscalingType":{"type":"string","description":"The type of autoscaling, must be either 'vertical' or 'horizontal'.\n"},"maxContainers":{"type":"number","description":"The maximum number of containers for scaling.\n"},"maxCpuThreshold":{"type":"number","description":"The maximum CPU utilization threshold for scaling.\n"},"maximumMemory":{"type":"number","description":"The maximum memory allocation in MB.\n"},"memCpuRatioCThreshold":{"type":"number","description":"Sets the Memory-to-CPU ratio threshold,\nbelow which the service is transitioned to a C (Compute Optimized) profile.\n"},"memCpuRatioRThreshold":{"type":"number","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"},"memScaleDownThreshold":{"type":"number","description":"The memory usage threshold for scaling down.\n"},"memScaleUpThreshold":{"type":"number","description":"The memory usage threshold for scaling up.\n"},"metricLookbackSeconds":{"type":"number","description":"The lookback period for metrics in seconds.\n"},"minContainers":{"type":"number","description":"The minimum number of containers for scaling.\n"},"minCpuThreshold":{"type":"number","description":"The minimum CPU utilization threshold for scaling.\n"},"minimumMemory":{"type":"number","description":"The minimum memory allocation in MB.\n"},"percentile":{"type":"number","description":"The percentile threshold used for scaling.\n"},"postReleaseCooldownSeconds":{"type":"number","description":"Seconds to ignore in metrics after a release event.\n"},"postScaleDownCooldownSeconds":{"type":"number","description":"Cooldown period in seconds after a scale-down event.\n"},"postScaleUpCooldownSeconds":{"type":"number","description":"Cooldown period in seconds after a scale-up event.\n"},"scaleDownStep":{"type":"number","description":"The number of containers to remove in each scale-down event.\n"},"scaleUpStep":{"type":"number","description":"The number of containers to add in each scale-up event.\n"},"scalingEnabled":{"type":"boolean"},"useHorizontalScale":{"type":"boolean","description":"Whether to use restart-free scaling for this service.\n"}},"type":"object","required":["autoscalingType"],"language":{"nodejs":{"requiredOutputs":["autoscalingType","scalingEnabled"]}}},"aptible:index/EnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy":{"properties":{"daily":{"type":"number","description":"The number of daily backups to retain per database. Minimum of 1.\n"},"keepFinal":{"type":"boolean","description":"Whether the final backup of databases should be retained when they're deleted.\n"},"makeCopy":{"type":"boolean","description":"Whether backups should be copied to another region.\n"},"monthly":{"type":"number","description":"The number of monthly backups to retain per database.\n"},"yearly":{"type":"number","description":"The number of yearly backups to retain per database.\n"}},"type":"object","required":["daily","keepFinal","makeCopy","monthly","yearly"]}},"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","type":"object","methods":{"terraformConfig":"pulumi:providers:aptible/terraformConfig"}},"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 \u003cID\u003e\n```\n\n","properties":{"appId":{"type":"number","description":"The unique ID of the application.\n"},"aptibleAppId":{"type":"string"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The configuration for the App. This should be a\nmap of `KEY = VALUE`.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"gitRepo":{"type":"string","description":"The git remote associated with the application.\n"},"handle":{"type":"string","description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"services":{"type":"array","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n"}},"type":"object","required":["appId","aptibleAppId","envId","gitRepo","handle"],"inputProperties":{"aptibleAppId":{"type":"string"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The configuration for the App. This should be a\nmap of `KEY = VALUE`.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"services":{"type":"array","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n"}},"requiredInputs":["envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering App resources.\n","properties":{"appId":{"type":"number","description":"The unique ID of the application.\n"},"aptibleAppId":{"type":"string"},"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The configuration for the App. This should be a\nmap of `KEY = VALUE`.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"gitRepo":{"type":"string","description":"The git remote associated with the application.\n"},"handle":{"type":"string","description":"The handle for the App. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"services":{"type":"array","items":{"$ref":"#/types/aptible:index%2FAppService:AppService"},"description":"A block to manage scaling for services. See the main\nprovider docs for additional details.\n"}},"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!\u003e 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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\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 \u003cID\u003e\n```\n\n","properties":{"aptibleDatabaseId":{"type":"string"},"connectionUrls":{"type":"array","items":{"type":"string"},"description":"A list of all available database credentials in connection\nURL format\n","secret":true},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"databaseId":{"type":"number","description":"The unique ID for the database\n"},"databaseImageId":{"type":"number","description":"The image used for running the database. Normally only\nused for support or debugging purposes\n"},"databaseType":{"type":"string","description":"The type of Database.\n"},"defaultConnectionUrl":{"type":"string","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},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"version":{"type":"string","description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n"}},"type":"object","required":["aptibleDatabaseId","connectionUrls","databaseId","databaseImageId","defaultConnectionUrl","envId","handle"],"inputProperties":{"aptibleDatabaseId":{"type":"string"},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"databaseType":{"type":"string","description":"The type of Database.\n"},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"version":{"type":"string","description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n"}},"requiredInputs":["envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering Database resources.\n","properties":{"aptibleDatabaseId":{"type":"string"},"connectionUrls":{"type":"array","items":{"type":"string"},"description":"A list of all available database credentials in connection\nURL format\n","secret":true},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"databaseId":{"type":"number","description":"The unique ID for the database\n"},"databaseImageId":{"type":"number","description":"The image used for running the database. Normally only\nused for support or debugging purposes\n"},"databaseType":{"type":"string","description":"The type of Database.\n"},"defaultConnectionUrl":{"type":"string","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},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"version":{"type":"string","description":"The version of the Database. If none is specified,\nthis defaults to the latest recommended version.\n"}},"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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\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 \u003cID\u003e\n```\n\n","properties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"type":"number","description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n\u003cspan 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`\"\u003e`container_ports`\u003c/span\u003e. You should use this for \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e endpoints.\n"},"containerPorts":{"type":"array","items":{"type":"number"},"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom \u003cspan 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`\"\u003e`container_port`\u003c/span\u003e.\nMultiple container ports are only allowed on a \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e endpoint.\n"},"defaultDomain":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e.\n"},"dnsValidationRecord":{"type":"string","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"},"dnsValidationValue":{"type":"string","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"},"domain":{"type":"string","description":"Required when using Managed TLS (\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e).\nThe managed TLS Hostname the Endpoint should use.\n"},"endpointId":{"type":"number","description":"The unique identifier for this Endpoint.\n"},"endpointType":{"type":"string","description":"The type of Endpoint. Valid options are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e should be used with \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"externalHostname":{"type":"string","description":"The public hostname of the load balancer serving this\nEndpoint.\n"},"internal":{"type":"boolean","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"},"ipFilterings":{"type":"array","items":{"type":"string"},"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"},"loadBalancingAlgorithmType":{"type":"string","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 \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e, \u003cspan 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`\"\u003e`least_outstanding_requests`\u003c/span\u003e, and \u003cspan 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`\"\u003e`weighted_random`\u003c/span\u003e. The default is \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e.\n"},"managed":{"type":"boolean","description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the \u003cspan 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`\"\u003e`custom_domain`\u003c/span\u003e. Cannot be used with\n\u003cspan 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`\"\u003e`default_domain`\u003c/span\u003e.\n"},"platform":{"type":"string","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 are \u003cspan pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\"\u003e`alb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e. \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of\n\u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e should use \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e.\n"},"processType":{"type":"string","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"},"resourceId":{"type":"number","description":"The ID of the resource you are adding the Endpoint\nto.\n"},"resourceType":{"type":"string","description":"The type of resource you are adding the Endpoint\nto. Valid options are \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"shared":{"type":"boolean","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"},"virtualDomain":{"type":"string","description":"The public domain name that would correspond to the\ncertificate served by this domain, if any.\n"}},"type":"object","required":["aptibleEndpointId","dnsValidationRecord","dnsValidationValue","endpointId","envId","externalHostname","resourceId","resourceType","virtualDomain"],"inputProperties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"type":"number","description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n\u003cspan 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`\"\u003e`container_ports`\u003c/span\u003e. You should use this for \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e endpoints.\n"},"containerPorts":{"type":"array","items":{"type":"number"},"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom \u003cspan 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`\"\u003e`container_port`\u003c/span\u003e.\nMultiple container ports are only allowed on a \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e endpoint.\n"},"defaultDomain":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e.\n"},"domain":{"type":"string","description":"Required when using Managed TLS (\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e).\nThe managed TLS Hostname the Endpoint should use.\n"},"endpointType":{"type":"string","description":"The type of Endpoint. Valid options are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e should be used with \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"internal":{"type":"boolean","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"},"ipFilterings":{"type":"array","items":{"type":"string"},"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"},"loadBalancingAlgorithmType":{"type":"string","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 \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e, \u003cspan 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`\"\u003e`least_outstanding_requests`\u003c/span\u003e, and \u003cspan 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`\"\u003e`weighted_random`\u003c/span\u003e. The default is \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e.\n"},"managed":{"type":"boolean","description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the \u003cspan 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`\"\u003e`custom_domain`\u003c/span\u003e. Cannot be used with\n\u003cspan 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`\"\u003e`default_domain`\u003c/span\u003e.\n"},"platform":{"type":"string","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 are \u003cspan pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\"\u003e`alb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e. \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of\n\u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e should use \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e.\n"},"processType":{"type":"string","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"},"resourceId":{"type":"number","description":"The ID of the resource you are adding the Endpoint\nto.\n"},"resourceType":{"type":"string","description":"The type of resource you are adding the Endpoint\nto. Valid options are \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"shared":{"type":"boolean","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"}},"requiredInputs":["envId","resourceId","resourceType"],"stateInputs":{"description":"Input properties used for looking up and filtering Endpoint resources.\n","properties":{"aptibleEndpointId":{"type":"string"},"containerPort":{"type":"number","description":"The port on the container which\nthe Endpoint should forward traffic to. Mutually exclusive from\n\u003cspan 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`\"\u003e`container_ports`\u003c/span\u003e. You should use this for \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e endpoints.\n"},"containerPorts":{"type":"array","items":{"type":"number"},"description":"The ports in array form on the\ncontainer which the Endpoint should forward traffic to. Mutually exclusive\nfrom \u003cspan 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`\"\u003e`container_port`\u003c/span\u003e.\nMultiple container ports are only allowed on a \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e endpoint.\n"},"defaultDomain":{"type":"boolean","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 \u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e.\n"},"dnsValidationRecord":{"type":"string","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"},"dnsValidationValue":{"type":"string","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"},"domain":{"type":"string","description":"Required when using Managed TLS (\u003cspan pulumi-lang-nodejs=\"`managed`\" pulumi-lang-dotnet=\"`Managed`\" pulumi-lang-go=\"`managed`\" pulumi-lang-python=\"`managed`\" pulumi-lang-yaml=\"`managed`\" pulumi-lang-java=\"`managed`\"\u003e`managed`\u003c/span\u003e).\nThe managed TLS Hostname the Endpoint should use.\n"},"endpointId":{"type":"number","description":"The unique identifier for this Endpoint.\n"},"endpointType":{"type":"string","description":"The type of Endpoint. Valid options are \u003cspan pulumi-lang-nodejs=\"`https`\" pulumi-lang-dotnet=\"`Https`\" pulumi-lang-go=\"`https`\" pulumi-lang-python=\"`https`\" pulumi-lang-yaml=\"`https`\" pulumi-lang-java=\"`https`\"\u003e`https`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\"\u003e`tls`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e. \u003cspan pulumi-lang-nodejs=\"`tcp`\" pulumi-lang-dotnet=\"`Tcp`\" pulumi-lang-go=\"`tcp`\" pulumi-lang-python=\"`tcp`\" pulumi-lang-yaml=\"`tcp`\" pulumi-lang-java=\"`tcp`\"\u003e`tcp`\u003c/span\u003e should be used with \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"externalHostname":{"type":"string","description":"The public hostname of the load balancer serving this\nEndpoint.\n"},"internal":{"type":"boolean","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"},"ipFilterings":{"type":"array","items":{"type":"string"},"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"},"loadBalancingAlgorithmType":{"type":"string","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 \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e, \u003cspan 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`\"\u003e`least_outstanding_requests`\u003c/span\u003e, and \u003cspan 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`\"\u003e`weighted_random`\u003c/span\u003e. The default is \u003cspan 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`\"\u003e`round_robin`\u003c/span\u003e.\n"},"managed":{"type":"boolean","description":"If Aptible should manage the HTTPS\ncertificate for the Endpoint using the \u003cspan 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`\"\u003e`custom_domain`\u003c/span\u003e. Cannot be used with\n\u003cspan 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`\"\u003e`default_domain`\u003c/span\u003e.\n"},"platform":{"type":"string","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 are \u003cspan pulumi-lang-nodejs=\"`alb`\" pulumi-lang-dotnet=\"`Alb`\" pulumi-lang-go=\"`alb`\" pulumi-lang-python=\"`alb`\" pulumi-lang-yaml=\"`alb`\" pulumi-lang-java=\"`alb`\"\u003e`alb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e. \u003cspan 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`\"\u003e`resource_type`\u003c/span\u003e of\n\u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e should use \u003cspan pulumi-lang-nodejs=\"`elb`\" pulumi-lang-dotnet=\"`Elb`\" pulumi-lang-go=\"`elb`\" pulumi-lang-python=\"`elb`\" pulumi-lang-yaml=\"`elb`\" pulumi-lang-java=\"`elb`\"\u003e`elb`\u003c/span\u003e.\n"},"processType":{"type":"string","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"},"resourceId":{"type":"number","description":"The ID of the resource you are adding the Endpoint\nto.\n"},"resourceType":{"type":"string","description":"The type of resource you are adding the Endpoint\nto. Valid options are \u003cspan pulumi-lang-nodejs=\"`app`\" pulumi-lang-dotnet=\"`App`\" pulumi-lang-go=\"`app`\" pulumi-lang-python=\"`app`\" pulumi-lang-yaml=\"`app`\" pulumi-lang-java=\"`app`\"\u003e`app`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`database`\" pulumi-lang-dotnet=\"`Database`\" pulumi-lang-go=\"`database`\" pulumi-lang-python=\"`database`\" pulumi-lang-yaml=\"`database`\" pulumi-lang-java=\"`database`\"\u003e`database`\u003c/span\u003e.\n"},"shared":{"type":"boolean","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"},"virtualDomain":{"type":"string","description":"The public domain name that would correspond to the\ncertificate served by this domain, if any.\n"}},"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 \u003cID\u003e\n```\n\n","properties":{"backupRetentionPolicies":{"type":"array","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n"},"envId":{"type":"number","description":"The unique ID for the environment\n"},"environmentId":{"type":"string"},"handle":{"type":"string","description":"The handle for the environment.\n"},"orgId":{"type":"string","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 \u003cspan 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`\"\u003e`org_id`\u003c/span\u003e 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"},"stackId":{"type":"number","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":"object","required":["envId","environmentId","handle","orgId","stackId"],"inputProperties":{"backupRetentionPolicies":{"type":"array","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n"},"environmentId":{"type":"string"},"handle":{"type":"string","description":"The handle for the environment.\n"},"orgId":{"type":"string","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 \u003cspan 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`\"\u003e`org_id`\u003c/span\u003e 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"},"stackId":{"type":"number","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"}},"requiredInputs":["handle","stackId"],"stateInputs":{"description":"Input properties used for looking up and filtering Environment resources.\n","properties":{"backupRetentionPolicies":{"type":"array","items":{"$ref":"#/types/aptible:index%2FEnvironmentBackupRetentionPolicy:EnvironmentBackupRetentionPolicy"},"description":"A block defining the environment's backup retention policy. An environment may only have one policy block.\n"},"envId":{"type":"number","description":"The unique ID for the environment\n"},"environmentId":{"type":"string"},"handle":{"type":"string","description":"The handle for the environment.\n"},"orgId":{"type":"string","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 \u003cspan 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`\"\u003e`org_id`\u003c/span\u003e 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"},"stackId":{"type":"number","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":"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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\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 \u003cID\u003e\n```\n\n","properties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"type":"number","description":"The ID of the elasticsearch database that\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains should send logs to.\n"},"drainApps":{"type":"boolean","description":"If the drain should collect logs\nfrom apps.\n"},"drainDatabases":{"type":"boolean","description":"If the drain should collect\nlogs from databases.\n"},"drainEphemeralSessions":{"type":"boolean","description":"If the drain should\ncollect logs from SSH sessions.\n"},"drainHost":{"type":"string","description":"The host name of the destination to send logs to.\n"},"drainPassword":{"type":"string","secret":true},"drainPort":{"type":"number","description":"The port for the destination where logs drains will be sent.\n"},"drainProxies":{"type":"boolean","description":"If the drain should collect logs\nfrom Endpoints.\n"},"drainType":{"type":"string","description":"The type of log drain: \u003cspan 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`\"\u003e`syslog_tls_tcp`\u003c/span\u003e,\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e, \u003cspan 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`\"\u003e`https_post`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\"\u003e`sumologic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e.\n"},"drainUsername":{"type":"string"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"logDrainId":{"type":"number","description":"The unique ID for the log drain.\n"},"loggingToken":{"type":"string","description":"The logging token prepended to logs by \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e, \n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e drains.\n","secret":true},"pipeline":{"type":"string","description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with \u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains.\n"},"tags":{"type":"string","description":"A comma-separated list of additional tags to apply logs collected by\n\u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n"},"token":{"type":"string","description":"The API token used by \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n","secret":true},"url":{"type":"string","description":"The destination url where the logs will be sent.\n"}},"type":"object","required":["aptibleLogDrainId","drainPassword","drainType","drainUsername","envId","handle","logDrainId","loggingToken"],"inputProperties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"type":"number","description":"The ID of the elasticsearch database that\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains should send logs to.\n"},"drainApps":{"type":"boolean","description":"If the drain should collect logs\nfrom apps.\n"},"drainDatabases":{"type":"boolean","description":"If the drain should collect\nlogs from databases.\n"},"drainEphemeralSessions":{"type":"boolean","description":"If the drain should\ncollect logs from SSH sessions.\n"},"drainHost":{"type":"string","description":"The host name of the destination to send logs to.\n"},"drainPassword":{"type":"string","secret":true},"drainPort":{"type":"number","description":"The port for the destination where logs drains will be sent.\n"},"drainProxies":{"type":"boolean","description":"If the drain should collect logs\nfrom Endpoints.\n"},"drainType":{"type":"string","description":"The type of log drain: \u003cspan 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`\"\u003e`syslog_tls_tcp`\u003c/span\u003e,\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e, \u003cspan 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`\"\u003e`https_post`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\"\u003e`sumologic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e.\n"},"drainUsername":{"type":"string"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"loggingToken":{"type":"string","description":"The logging token prepended to logs by \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e, \n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e drains.\n","secret":true},"pipeline":{"type":"string","description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with \u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains.\n"},"tags":{"type":"string","description":"A comma-separated list of additional tags to apply logs collected by\n\u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n"},"token":{"type":"string","description":"The API token used by \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n","secret":true},"url":{"type":"string","description":"The destination url where the logs will be sent.\n"}},"requiredInputs":["drainType","envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering LogDrain resources.\n","properties":{"aptibleLogDrainId":{"type":"string"},"databaseId":{"type":"number","description":"The ID of the elasticsearch database that\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains should send logs to.\n"},"drainApps":{"type":"boolean","description":"If the drain should collect logs\nfrom apps.\n"},"drainDatabases":{"type":"boolean","description":"If the drain should collect\nlogs from databases.\n"},"drainEphemeralSessions":{"type":"boolean","description":"If the drain should\ncollect logs from SSH sessions.\n"},"drainHost":{"type":"string","description":"The host name of the destination to send logs to.\n"},"drainPassword":{"type":"string","secret":true},"drainPort":{"type":"number","description":"The port for the destination where logs drains will be sent.\n"},"drainProxies":{"type":"boolean","description":"If the drain should collect logs\nfrom Endpoints.\n"},"drainType":{"type":"string","description":"The type of log drain: \u003cspan 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`\"\u003e`syslog_tls_tcp`\u003c/span\u003e,\n\u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e, \u003cspan 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`\"\u003e`https_post`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sumologic`\" pulumi-lang-dotnet=\"`Sumologic`\" pulumi-lang-go=\"`sumologic`\" pulumi-lang-python=\"`sumologic`\" pulumi-lang-yaml=\"`sumologic`\" pulumi-lang-java=\"`sumologic`\"\u003e`sumologic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e.\n"},"drainUsername":{"type":"string"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the log drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"logDrainId":{"type":"number","description":"The unique ID for the log drain.\n"},"loggingToken":{"type":"string","description":"The logging token prepended to logs by \u003cspan pulumi-lang-nodejs=\"`syslog`\" pulumi-lang-dotnet=\"`Syslog`\" pulumi-lang-go=\"`syslog`\" pulumi-lang-python=\"`syslog`\" pulumi-lang-yaml=\"`syslog`\" pulumi-lang-java=\"`syslog`\"\u003e`syslog`\u003c/span\u003e, \n\u003cspan pulumi-lang-nodejs=\"`papertrail`\" pulumi-lang-dotnet=\"`Papertrail`\" pulumi-lang-go=\"`papertrail`\" pulumi-lang-python=\"`papertrail`\" pulumi-lang-yaml=\"`papertrail`\" pulumi-lang-java=\"`papertrail`\"\u003e`papertrail`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`solarwinds`\" pulumi-lang-dotnet=\"`Solarwinds`\" pulumi-lang-go=\"`solarwinds`\" pulumi-lang-python=\"`solarwinds`\" pulumi-lang-yaml=\"`solarwinds`\" pulumi-lang-java=\"`solarwinds`\"\u003e`solarwinds`\u003c/span\u003e drains.\n","secret":true},"pipeline":{"type":"string","description":"The ID of the elasticsearch\n[ingest pipeline](https://www.elastic.co/guide/en/elasticsearch/reference/7.10/ingest.html)\nto use with \u003cspan 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`\"\u003e`elasticsearch_database`\u003c/span\u003e drains.\n"},"tags":{"type":"string","description":"A comma-separated list of additional tags to apply logs collected by\n\u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n"},"token":{"type":"string","description":"The API token used by \u003cspan pulumi-lang-nodejs=\"`logdna`\" pulumi-lang-dotnet=\"`Logdna`\" pulumi-lang-go=\"`logdna`\" pulumi-lang-python=\"`logdna`\" pulumi-lang-yaml=\"`logdna`\" pulumi-lang-java=\"`logdna`\"\u003e`logdna`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e drains.\n","secret":true},"url":{"type":"string","description":"The destination url where the logs will be sent.\n"}},"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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\n### InfluxDB (v1)\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\n### InfluxDB (v2)\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\n### Datadog\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\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 \u003cID\u003e\n```\n\n","properties":{"apiKey":{"type":"string","description":"The API key for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e or `influxdb v2` drains to use for authentication.\n","secret":true},"aptibleMetricDrainId":{"type":"string"},"bucket":{"type":"string","description":"The bucket for `influxdb v2` drains to use.\n"},"database":{"type":"string","description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send the metrics to.\n"},"databaseId":{"type":"number","description":"The ID of the Aptible InfluxDB database for\n\u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e drains to send metrics to.\n"},"drainType":{"type":"string","description":"The type of metric drain: \u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"metricDrainId":{"type":"number","description":"The unique ID for the metric drain.\n"},"organization":{"type":"string","description":"The InfluxDB organization for `influxdb v2` drains to use.\n"},"password":{"type":"string","description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true},"seriesUrl":{"type":"string","description":"The series API URL for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e 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"},"url":{"type":"string","description":"The URL (scheme, host, and port) for \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send metrics\nto.\n"},"username":{"type":"string","description":"The user for `influxdb v1` drains to use for authentication.\n"}},"type":"object","required":["aptibleMetricDrainId","drainType","envId","handle","metricDrainId"],"inputProperties":{"apiKey":{"type":"string","description":"The API key for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e or `influxdb v2` drains to use for authentication.\n","secret":true},"aptibleMetricDrainId":{"type":"string"},"bucket":{"type":"string","description":"The bucket for `influxdb v2` drains to use.\n"},"database":{"type":"string","description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send the metrics to.\n"},"databaseId":{"type":"number","description":"The ID of the Aptible InfluxDB database for\n\u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e drains to send metrics to.\n"},"drainType":{"type":"string","description":"The type of metric drain: \u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"organization":{"type":"string","description":"The InfluxDB organization for `influxdb v2` drains to use.\n"},"password":{"type":"string","description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true},"seriesUrl":{"type":"string","description":"The series API URL for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e 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"},"url":{"type":"string","description":"The URL (scheme, host, and port) for \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send metrics\nto.\n"},"username":{"type":"string","description":"The user for `influxdb v1` drains to use for authentication.\n"}},"requiredInputs":["drainType","envId","handle"],"stateInputs":{"description":"Input properties used for looking up and filtering MetricDrain resources.\n","properties":{"apiKey":{"type":"string","description":"The API key for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e or `influxdb v2` drains to use for authentication.\n","secret":true},"aptibleMetricDrainId":{"type":"string"},"bucket":{"type":"string","description":"The bucket for `influxdb v2` drains to use.\n"},"database":{"type":"string","description":"The\n[InfluxDB v1 database](https://docs.influxdata.com/influxdb/v1.8/concepts/glossary/#database)\nfor \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send the metrics to.\n"},"databaseId":{"type":"number","description":"The ID of the Aptible InfluxDB database for\n\u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e drains to send metrics to.\n"},"drainType":{"type":"string","description":"The type of metric drain: \u003cspan 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`\"\u003e`influxdb_database`\u003c/span\u003e,\n\u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the metric drain. This must be all lower\ncase, and only contain letters, numbers, `-`, `_`, or `.`.\n"},"metricDrainId":{"type":"number","description":"The unique ID for the metric drain.\n"},"organization":{"type":"string","description":"The InfluxDB organization for `influxdb v2` drains to use.\n"},"password":{"type":"string","description":"The password for `influxdb v1` drains to use for authentication.\n","secret":true},"seriesUrl":{"type":"string","description":"The series API URL for \u003cspan pulumi-lang-nodejs=\"`datadog`\" pulumi-lang-dotnet=\"`Datadog`\" pulumi-lang-go=\"`datadog`\" pulumi-lang-python=\"`datadog`\" pulumi-lang-yaml=\"`datadog`\" pulumi-lang-java=\"`datadog`\"\u003e`datadog`\u003c/span\u003e 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"},"url":{"type":"string","description":"The URL (scheme, host, and port) for \u003cspan pulumi-lang-nodejs=\"`influxdb`\" pulumi-lang-dotnet=\"`Influxdb`\" pulumi-lang-go=\"`influxdb`\" pulumi-lang-python=\"`influxdb`\" pulumi-lang-yaml=\"`influxdb`\" pulumi-lang-java=\"`influxdb`\"\u003e`influxdb`\u003c/span\u003e drains to send metrics\nto.\n"},"username":{"type":"string","description":"The user for `influxdb v1` drains to use for authentication.\n"}},"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!\u003e 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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\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 \u003cID\u003e\n```\n\n","properties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"defaultConnectionUrl":{"type":"string","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},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"primaryDatabaseId":{"type":"number","description":"The ID of the Database the replica is being\ncreated from.\n"},"replicaId":{"type":"number","description":"The unique ID for the replica\n"}},"type":"object","required":["aptibleReplicaId","defaultConnectionUrl","envId","handle","primaryDatabaseId","replicaId"],"inputProperties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"primaryDatabaseId":{"type":"number","description":"The ID of the Database the replica is being\ncreated from.\n"}},"requiredInputs":["envId","handle","primaryDatabaseId"],"stateInputs":{"description":"Input properties used for looking up and filtering Replica resources.\n","properties":{"aptibleReplicaId":{"type":"string"},"containerProfile":{"type":"string","description":"Changes the CPU:RAM ratio of the\nDatabase container.\n"},"containerSize":{"type":"number","description":"The size of container used for the\nDatabase, in MB of RAM.\n"},"defaultConnectionUrl":{"type":"string","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},"diskSize":{"type":"number","description":"The disk size of the Database, in GB.\n"},"enableBackups":{"type":"boolean","description":"Whether to automatically backup the database according to the retention policy.\n"},"envId":{"type":"number","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 \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e.\n"},"handle":{"type":"string","description":"The handle for the Database. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"iops":{"type":"number","description":"The disk Input/Output Operations Per Second\n"},"primaryDatabaseId":{"type":"number","description":"The ID of the Database the replica is being\ncreated from.\n"},"replicaId":{"type":"number","description":"The unique ID for the replica\n"}},"type":"object"}}},"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\u003c!--Start PulumiCodeChooser --\u003e\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 =\u003e 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(() =\u003e \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 =\u003e 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, \u0026aptible.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, \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBackupRetentionPolicy.\n","properties":{"envId":{"type":"number","description":"The ID of the environment to retrieve the backup\nretention policy for.\n"},"id":{"type":"string"}},"type":"object","required":["envId"]},"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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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, \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\nOnce defined, you can use this data source in your resource definitions.\nFor example, when defining an App:\n\n\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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\", \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnvironment.\n","properties":{"handle":{"type":"string","description":"The handle for the Environment. This must be all lower case, and\nonly contain letters, numbers, `-`, `_`, or `.`\n"},"id":{"type":"string"}},"type":"object","required":["handle"]},"outputs":{"description":"A collection of values returned by getEnvironment.\n","properties":{"envId":{"description":"The unique ID for an Environment suitable for use in \u003cspan 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`\"\u003e`env_id`\u003c/span\u003e\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\u003c!--Start PulumiCodeChooser --\u003e\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(() =\u003e \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, \u0026aptible.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\u003c!--End PulumiCodeChooser --\u003e\n\nOnce defined, you can use this data source in your resource definitions.\nFor example, when defining an environment:\n\n\u003c!--Start PulumiCodeChooser --\u003e\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\u003c!--End PulumiCodeChooser --\u003e\n\n__Note__ - If your environment is meant to be created on a dedicated stack you can omit the \u003cspan 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`\"\u003e`org_id`\u003c/span\u003e\nfield in the example above.\n","inputs":{"description":"A collection of arguments for invoking getStack.\n","properties":{"id":{"type":"string"},"name":{"type":"string","description":"The name of the Stack\n"}},"type":"object","required":["name"]},"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 \u003cspan 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`\"\u003e`stack_id`\u003c/span\u003e 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"}},"type":"object","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}},"parameterization":{"baseProvider":{"name":"terraform-provider","version":"1.0.1"},"parameter":"eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2FwdGlibGUvYXB0aWJsZSIsInZlcnNpb24iOiIwLjkuMjIifX0="}}