{
  "name": "clickhouse",
  "displayName": "Clickhouse",
  "version": "1.0.1",
  "description": "A Pulumi package for creating and managing Clickhouse Cloud resources",
  "keywords": [
    "pulumi",
    "clickhouse",
    "category/cloud"
  ],
  "homepage": "https://github.com/pulumiverse/pulumi-clickhouse",
  "license": "Apache-2.0",
  "attribution": "This Pulumi package is based on the [`clickhouse` Terraform Provider](https://github.com/ClickHouse/terraform-provider-clickhouse).",
  "repository": "https://github.com/pulumiverse/pulumi-clickhouse",
  "logoUrl": "https://avatars3.githubusercontent.com/ClickHouse",
  "pluginDownloadURL": "github://api.github.com/pulumiverse/pulumi-clickhouse",
  "publisher": "pulumiverse",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "packageReferences": {
        "Pulumi": "3.*"
      },
      "compatibility": "tfbridge20",
      "rootNamespace": "Pulumiverse"
    },
    "go": {
      "importBasePath": "github.com/pulumiverse/pulumi-clickhouse/sdk/go/clickhouse",
      "generateResourceContainerTypes": true,
      "generateExtraInputTypes": true
    },
    "java": {
      "basePackage": "com.pulumiverse",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "packageName": "@pulumiverse/clickhouse",
      "packageDescription": "A Pulumi package for creating and managing Clickhouse Cloud resources. Based on terraform-provider-clickhouse: version v1.0.0",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/ClickHouse/terraform-provider-clickhouse)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-clickhouse` repo](https://github.com/pulumiverse/pulumi-clickhouse/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-clickhouse` repo](https://github.com/ClickHouse/terraform-provider-clickhouse/issues).",
      "dependencies": {
        "@pulumi/pulumi": "^3.0.0"
      },
      "devDependencies": {
        "@types/mime": "^2.0.0",
        "@types/node": "^10.0.0"
      },
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true
    },
    "python": {
      "packageName": "pulumiverse_clickhouse",
      "requires": {
        "pulumi": ">=3.0.0,<4.0.0"
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/ClickHouse/terraform-provider-clickhouse)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> first check the [`pulumi-clickhouse` repo](https://github.com/pulumiverse/pulumi-clickhouse/issues); however, if that doesn't turn up anything,\n> please consult the source [`terraform-provider-clickhouse` repo](https://github.com/ClickHouse/terraform-provider-clickhouse/issues).",
      "compatibility": "tfbridge20",
      "pyproject": {}
    }
  },
  "config": {
    "variables": {
      "apiUrl": {
        "type": "string",
        "description": "API URL of the ClickHouse OpenAPI the provider will interact with. Alternatively, can be configured using the\n`CLICKHOUSE_API_URL` environment variable. Only specify if you have a specific deployment of the ClickHouse OpenAPI you\nwant to run against.\n"
      },
      "organizationId": {
        "type": "string",
        "description": "ID of the organization the provider will create services under. Alternatively, can be configured using the\n`CLICKHOUSE_ORG_ID` environment variable.\n"
      },
      "tokenKey": {
        "type": "string",
        "description": "Token key of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_KEY` environment variable.\n"
      },
      "tokenSecret": {
        "type": "string",
        "description": "Token secret of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_SECRET` environment variable.\n",
        "secret": true
      }
    }
  },
  "types": {
    "clickhouse:index/ServiceEndpoint:ServiceEndpoint": {
      "properties": {
        "host": {
          "type": "string",
          "description": "Endpoint host.\n"
        },
        "port": {
          "type": "integer",
          "description": "Endpoint port.\n"
        },
        "protocol": {
          "type": "string",
          "description": "Endpoint protocol: https or nativesecure\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "host",
            "port",
            "protocol"
          ]
        }
      }
    },
    "clickhouse:index/ServiceIpAccess:ServiceIpAccess": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of the IP address.\n"
        },
        "source": {
          "type": "string",
          "description": "IP address allowed to access the service. In case you want to set the ip_access to anywhere you should set source to 0.0.0.0/0\n"
        }
      },
      "type": "object",
      "required": [
        "source"
      ]
    },
    "clickhouse:index/ServicePrivateEndpointConfig:ServicePrivateEndpointConfig": {
      "properties": {
        "endpointServiceId": {
          "type": "string",
          "description": "Unique identifier of the interface endpoint you created in your VPC with the AWS(Service Name) or GCP(Target Service) resource\n"
        },
        "privateDnsHostname": {
          "type": "string",
          "description": "Private DNS Hostname of the VPC you created\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "endpointServiceId",
            "privateDnsHostname"
          ]
        }
      }
    }
  },
  "provider": {
    "description": "The provider type for the clickhouse package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "apiUrl": {
        "type": "string",
        "description": "API URL of the ClickHouse OpenAPI the provider will interact with. Alternatively, can be configured using the\n`CLICKHOUSE_API_URL` environment variable. Only specify if you have a specific deployment of the ClickHouse OpenAPI you\nwant to run against.\n"
      },
      "organizationId": {
        "type": "string",
        "description": "ID of the organization the provider will create services under. Alternatively, can be configured using the\n`CLICKHOUSE_ORG_ID` environment variable.\n"
      },
      "tokenKey": {
        "type": "string",
        "description": "Token key of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_KEY` environment variable.\n"
      },
      "tokenSecret": {
        "type": "string",
        "description": "Token secret of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_SECRET` environment variable.\n",
        "secret": true
      }
    },
    "type": "object",
    "inputProperties": {
      "apiUrl": {
        "type": "string",
        "description": "API URL of the ClickHouse OpenAPI the provider will interact with. Alternatively, can be configured using the\n`CLICKHOUSE_API_URL` environment variable. Only specify if you have a specific deployment of the ClickHouse OpenAPI you\nwant to run against.\n"
      },
      "organizationId": {
        "type": "string",
        "description": "ID of the organization the provider will create services under. Alternatively, can be configured using the\n`CLICKHOUSE_ORG_ID` environment variable.\n"
      },
      "tokenKey": {
        "type": "string",
        "description": "Token key of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_KEY` environment variable.\n"
      },
      "tokenSecret": {
        "type": "string",
        "description": "Token secret of the key/secret pair. Used to authenticate with OpenAPI. Alternatively, can be configured using the\n`CLICKHOUSE_TOKEN_SECRET` environment variable.\n",
        "secret": true
      }
    }
  },
  "resources": {
    "clickhouse:PrivateEndpoint/registration:Registration": {
      "description": "ClickHouse Cloud provides the ability to connect your services to your cloud virtual network through a feature named *Private Link*.\n\nYou can use the *private_endpoint_registration* resource to set up the private link feature.\n\nCheck the [docs](https://clickhouse.com/docs/en/cloud/security/private-link-overview) for more details on *private link*.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as clickhouse from \"@pulumiverse/clickhouse\";\n\nconst endpoint = new clickhouse.privateendpoint.Registration(\"endpoint\", {\n    cloudProvider: \"aws\",\n    description: \"Private Link from VPC foo\",\n    privateEndpointId: \"vpce-...\",\n    region: \"us-west-2\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_clickhouse as clickhouse\n\nendpoint = clickhouse.private_endpoint.Registration(\"endpoint\",\n    cloud_provider=\"aws\",\n    description=\"Private Link from VPC foo\",\n    private_endpoint_id=\"vpce-...\",\n    region=\"us-west-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Clickhouse = Pulumiverse.Clickhouse;\n\nreturn await Deployment.RunAsync(() => \n{\n    var endpoint = new Clickhouse.PrivateEndpoint.Registration(\"endpoint\", new()\n    {\n        CloudProvider = \"aws\",\n        Description = \"Private Link from VPC foo\",\n        PrivateEndpointId = \"vpce-...\",\n        Region = \"us-west-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-clickhouse/sdk/go/clickhouse/PrivateEndpoint\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := PrivateEndpoint.NewRegistration(ctx, \"endpoint\", &PrivateEndpoint.RegistrationArgs{\n\t\t\tCloudProvider:     pulumi.String(\"aws\"),\n\t\t\tDescription:       pulumi.String(\"Private Link from VPC foo\"),\n\t\t\tPrivateEndpointId: pulumi.String(\"vpce-...\"),\n\t\t\tRegion:            pulumi.String(\"us-west-2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.clickhouse.PrivateEndpoint.Registration;\nimport com.pulumi.clickhouse.PrivateEndpoint.RegistrationArgs;\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 endpoint = new Registration(\"endpoint\", RegistrationArgs.builder()\n            .cloudProvider(\"aws\")\n            .description(\"Private Link from VPC foo\")\n            .privateEndpointId(\"vpce-...\")\n            .region(\"us-west-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  endpoint:\n    type: clickhouse:PrivateEndpoint:Registration\n    properties:\n      cloudProvider: aws\n      description: Private Link from VPC foo\n      privateEndpointId: vpce-...\n      region: us-west-2\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nEndpoint Attachments can be imported by specifying the Cloud provider private endpoint ID\n\nFor example for AWS you could run:\n\n```sh\n$ pulumi import clickhouse:PrivateEndpoint/registration:Registration example vpce-xxxxxx\n```\n\n",
      "properties": {
        "cloudProvider": {
          "type": "string",
          "description": "Cloud provider of the private endpoint ID\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the private endpoint\n"
        },
        "privateEndpointId": {
          "type": "string",
          "description": "ID of the private endpoint (replaces deprecated attribute `id`)\n"
        },
        "region": {
          "type": "string",
          "description": "Region of the private endpoint\n"
        }
      },
      "type": "object",
      "required": [
        "cloudProvider",
        "privateEndpointId",
        "region"
      ],
      "inputProperties": {
        "cloudProvider": {
          "type": "string",
          "description": "Cloud provider of the private endpoint ID\n"
        },
        "description": {
          "type": "string",
          "description": "Description of the private endpoint\n"
        },
        "privateEndpointId": {
          "type": "string",
          "description": "ID of the private endpoint (replaces deprecated attribute `id`)\n"
        },
        "region": {
          "type": "string",
          "description": "Region of the private endpoint\n"
        }
      },
      "requiredInputs": [
        "cloudProvider",
        "privateEndpointId",
        "region"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Registration resources.\n",
        "properties": {
          "cloudProvider": {
            "type": "string",
            "description": "Cloud provider of the private endpoint ID\n"
          },
          "description": {
            "type": "string",
            "description": "Description of the private endpoint\n"
          },
          "privateEndpointId": {
            "type": "string",
            "description": "ID of the private endpoint (replaces deprecated attribute `id`)\n"
          },
          "region": {
            "type": "string",
            "description": "Region of the private endpoint\n"
          }
        },
        "type": "object"
      }
    },
    "clickhouse:ServicePrivateEndpoints/attachment:Attachment": {
      "description": "Use the *clickhouse_service_private_endpoints_attachment* resource to attach a ClickHouse *service* to a *Private Endpoint*.\n\nSee private_endpoint_registration for how to create a *private endpoint*.\n\nSee full example on GitHub.\n\n## Import\n\nEndpoint Attachments can be imported by specifying the clickhouse service UUID\n\n```sh\n$ pulumi import clickhouse:ServicePrivateEndpoints/attachment:Attachment example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\n",
      "properties": {
        "privateEndpointIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of private endpoint IDs\n"
        },
        "serviceId": {
          "type": "string",
          "description": "ClickHouse Servie ID\n"
        }
      },
      "type": "object",
      "required": [
        "privateEndpointIds"
      ],
      "inputProperties": {
        "privateEndpointIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of private endpoint IDs\n"
        },
        "serviceId": {
          "type": "string",
          "description": "ClickHouse Servie ID\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Attachment resources.\n",
        "properties": {
          "privateEndpointIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of private endpoint IDs\n"
          },
          "serviceId": {
            "type": "string",
            "description": "ClickHouse Servie ID\n"
          }
        },
        "type": "object"
      }
    },
    "clickhouse:index/service:Service": {
      "description": "You can use the *clickhouse_service* resource to deploy ClickHouse cloud instances on supported cloud providers.\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as clickhouse from \"@pulumiverse/clickhouse\";\n\nconst service = new clickhouse.Service(\"service\", {\n    cloudProvider: \"aws\",\n    idleScaling: true,\n    idleTimeoutMinutes: 5,\n    ipAccesses: [{\n        description: \"Test IP\",\n        source: \"192.168.2.63\",\n    }],\n    maxTotalMemoryGb: 360,\n    minTotalMemoryGb: 24,\n    passwordHash: \"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\",\n    region: \"us-east-1\",\n    tier: \"production\",\n});\n```\n```python\nimport pulumi\nimport pulumiverse_clickhouse as clickhouse\n\nservice = clickhouse.Service(\"service\",\n    cloud_provider=\"aws\",\n    idle_scaling=True,\n    idle_timeout_minutes=5,\n    ip_accesses=[{\n        \"description\": \"Test IP\",\n        \"source\": \"192.168.2.63\",\n    }],\n    max_total_memory_gb=360,\n    min_total_memory_gb=24,\n    password_hash=\"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\",\n    region=\"us-east-1\",\n    tier=\"production\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Clickhouse = Pulumiverse.Clickhouse;\n\nreturn await Deployment.RunAsync(() => \n{\n    var service = new Clickhouse.Service(\"service\", new()\n    {\n        CloudProvider = \"aws\",\n        IdleScaling = true,\n        IdleTimeoutMinutes = 5,\n        IpAccesses = new[]\n        {\n            new Clickhouse.Inputs.ServiceIpAccessArgs\n            {\n                Description = \"Test IP\",\n                Source = \"192.168.2.63\",\n            },\n        },\n        MaxTotalMemoryGb = 360,\n        MinTotalMemoryGb = 24,\n        PasswordHash = \"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\",\n        Region = \"us-east-1\",\n        Tier = \"production\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n\t\"github.com/pulumiverse/pulumi-clickhouse/sdk/go/clickhouse\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := clickhouse.NewService(ctx, \"service\", &clickhouse.ServiceArgs{\n\t\t\tCloudProvider:      pulumi.String(\"aws\"),\n\t\t\tIdleScaling:        pulumi.Bool(true),\n\t\t\tIdleTimeoutMinutes: pulumi.Int(5),\n\t\t\tIpAccesses: clickhouse.ServiceIpAccessArray{\n\t\t\t\t&clickhouse.ServiceIpAccessArgs{\n\t\t\t\t\tDescription: pulumi.String(\"Test IP\"),\n\t\t\t\t\tSource:      pulumi.String(\"192.168.2.63\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tMaxTotalMemoryGb: pulumi.Int(360),\n\t\t\tMinTotalMemoryGb: pulumi.Int(24),\n\t\t\tPasswordHash:     pulumi.String(\"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\"),\n\t\t\tRegion:           pulumi.String(\"us-east-1\"),\n\t\t\tTier:             pulumi.String(\"production\"),\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.clickhouse.Service;\nimport com.pulumi.clickhouse.ServiceArgs;\nimport com.pulumi.clickhouse.inputs.ServiceIpAccessArgs;\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 service = new Service(\"service\", ServiceArgs.builder()\n            .cloudProvider(\"aws\")\n            .idleScaling(true)\n            .idleTimeoutMinutes(5)\n            .ipAccesses(ServiceIpAccessArgs.builder()\n                .description(\"Test IP\")\n                .source(\"192.168.2.63\")\n                .build())\n            .maxTotalMemoryGb(360)\n            .minTotalMemoryGb(24)\n            .passwordHash(\"n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\")\n            .region(\"us-east-1\")\n            .tier(\"production\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  service:\n    type: clickhouse:Service\n    properties:\n      cloudProvider: aws\n      idleScaling: true\n      idleTimeoutMinutes: 5\n      ipAccesses:\n        - description: Test IP\n          source: 192.168.2.63\n      maxTotalMemoryGb: 360\n      minTotalMemoryGb: 24\n      passwordHash: n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=\n      # base64 encoded sha256 hash of \"test\"\n      region: us-east-1\n      tier: production\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nServices can be imported by specifying the UUID.\n\n```sh\n$ pulumi import clickhouse:index/service:Service example xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\n```\n\n",
      "properties": {
        "cloudProvider": {
          "type": "string",
          "description": "Cloud provider ('aws', 'gcp', or 'azure') in which the service is deployed in.\n"
        },
        "doubleSha1PasswordHash": {
          "type": "string",
          "description": "Double SHA1 hash of password for connecting with the MySQL protocol. Cannot be specified if `password` is specified.\n",
          "secret": true
        },
        "encryptionAssumedRoleIdentifier": {
          "type": "string",
          "description": "Custom role identifier arn\n"
        },
        "encryptionKey": {
          "type": "string",
          "description": "Custom encryption key arn\n"
        },
        "endpoints": {
          "type": "array",
          "items": {
            "$ref": "#/types/clickhouse:index%2FServiceEndpoint:ServiceEndpoint"
          },
          "description": "List of public endpoints.\n"
        },
        "iamRole": {
          "type": "string",
          "description": "IAM role used for accessing objects in s3.\n"
        },
        "idleScaling": {
          "type": "boolean",
          "description": "When set to true the service is allowed to scale down to zero when idle.\n"
        },
        "idleTimeoutMinutes": {
          "type": "integer",
          "description": "Set minimum idling timeout (in minutes). Must be greater than or equal to 5 minutes. Must be set if idle_scaling is enabled\n"
        },
        "ipAccesses": {
          "type": "array",
          "items": {
            "$ref": "#/types/clickhouse:index%2FServiceIpAccess:ServiceIpAccess"
          },
          "description": "List of IP addresses allowed to access the service.\n"
        },
        "maxTotalMemoryGb": {
          "type": "integer",
          "description": "Maximum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and lower than 360 for non paid services or 720 for paid services.\n"
        },
        "minTotalMemoryGb": {
          "type": "integer",
          "description": "Minimum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and greater than 24.\n"
        },
        "name": {
          "type": "string",
          "description": "User defined identifier for the service.\n"
        },
        "numReplicas": {
          "type": "integer",
          "description": "Number of replicas for the service. Available only for 'production' services. Must be between 3 and 20. Contact support to enable this feature.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for the default user. One of either `password` or `password_hash` must be specified.\n",
          "secret": true
        },
        "passwordHash": {
          "type": "string",
          "description": "SHA256 hash of password for the default user. One of either `password` or `password_hash` must be specified.\n",
          "secret": true
        },
        "privateEndpointConfig": {
          "$ref": "#/types/clickhouse:index%2FServicePrivateEndpointConfig:ServicePrivateEndpointConfig",
          "description": "Service config for private endpoints\n",
          "deprecationMessage": "Please use the `clickhouse.PrivateEndpoint.getConfig` data source instead."
        },
        "region": {
          "type": "string",
          "description": "Region within the cloud provider in which the service is deployed in.\n"
        },
        "tier": {
          "type": "string",
          "description": "Tier of the service: 'development', 'production'. Production services scale, Development are fixed size.\n"
        }
      },
      "type": "object",
      "required": [
        "cloudProvider",
        "endpoints",
        "iamRole",
        "ipAccesses",
        "name",
        "privateEndpointConfig",
        "region",
        "tier"
      ],
      "inputProperties": {
        "cloudProvider": {
          "type": "string",
          "description": "Cloud provider ('aws', 'gcp', or 'azure') in which the service is deployed in.\n"
        },
        "doubleSha1PasswordHash": {
          "type": "string",
          "description": "Double SHA1 hash of password for connecting with the MySQL protocol. Cannot be specified if `password` is specified.\n",
          "secret": true
        },
        "encryptionAssumedRoleIdentifier": {
          "type": "string",
          "description": "Custom role identifier arn\n"
        },
        "encryptionKey": {
          "type": "string",
          "description": "Custom encryption key arn\n"
        },
        "idleScaling": {
          "type": "boolean",
          "description": "When set to true the service is allowed to scale down to zero when idle.\n"
        },
        "idleTimeoutMinutes": {
          "type": "integer",
          "description": "Set minimum idling timeout (in minutes). Must be greater than or equal to 5 minutes. Must be set if idle_scaling is enabled\n"
        },
        "ipAccesses": {
          "type": "array",
          "items": {
            "$ref": "#/types/clickhouse:index%2FServiceIpAccess:ServiceIpAccess"
          },
          "description": "List of IP addresses allowed to access the service.\n"
        },
        "maxTotalMemoryGb": {
          "type": "integer",
          "description": "Maximum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and lower than 360 for non paid services or 720 for paid services.\n"
        },
        "minTotalMemoryGb": {
          "type": "integer",
          "description": "Minimum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and greater than 24.\n"
        },
        "name": {
          "type": "string",
          "description": "User defined identifier for the service.\n"
        },
        "numReplicas": {
          "type": "integer",
          "description": "Number of replicas for the service. Available only for 'production' services. Must be between 3 and 20. Contact support to enable this feature.\n"
        },
        "password": {
          "type": "string",
          "description": "Password for the default user. One of either `password` or `password_hash` must be specified.\n",
          "secret": true
        },
        "passwordHash": {
          "type": "string",
          "description": "SHA256 hash of password for the default user. One of either `password` or `password_hash` must be specified.\n",
          "secret": true
        },
        "region": {
          "type": "string",
          "description": "Region within the cloud provider in which the service is deployed in.\n"
        },
        "tier": {
          "type": "string",
          "description": "Tier of the service: 'development', 'production'. Production services scale, Development are fixed size.\n"
        }
      },
      "requiredInputs": [
        "cloudProvider",
        "ipAccesses",
        "region",
        "tier"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Service resources.\n",
        "properties": {
          "cloudProvider": {
            "type": "string",
            "description": "Cloud provider ('aws', 'gcp', or 'azure') in which the service is deployed in.\n"
          },
          "doubleSha1PasswordHash": {
            "type": "string",
            "description": "Double SHA1 hash of password for connecting with the MySQL protocol. Cannot be specified if `password` is specified.\n",
            "secret": true
          },
          "encryptionAssumedRoleIdentifier": {
            "type": "string",
            "description": "Custom role identifier arn\n"
          },
          "encryptionKey": {
            "type": "string",
            "description": "Custom encryption key arn\n"
          },
          "endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/types/clickhouse:index%2FServiceEndpoint:ServiceEndpoint"
            },
            "description": "List of public endpoints.\n"
          },
          "iamRole": {
            "type": "string",
            "description": "IAM role used for accessing objects in s3.\n"
          },
          "idleScaling": {
            "type": "boolean",
            "description": "When set to true the service is allowed to scale down to zero when idle.\n"
          },
          "idleTimeoutMinutes": {
            "type": "integer",
            "description": "Set minimum idling timeout (in minutes). Must be greater than or equal to 5 minutes. Must be set if idle_scaling is enabled\n"
          },
          "ipAccesses": {
            "type": "array",
            "items": {
              "$ref": "#/types/clickhouse:index%2FServiceIpAccess:ServiceIpAccess"
            },
            "description": "List of IP addresses allowed to access the service.\n"
          },
          "maxTotalMemoryGb": {
            "type": "integer",
            "description": "Maximum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and lower than 360 for non paid services or 720 for paid services.\n"
          },
          "minTotalMemoryGb": {
            "type": "integer",
            "description": "Minimum total memory of all workers during auto-scaling in Gb. Available only for 'production' services. Must be a multiple of 12 and greater than 24.\n"
          },
          "name": {
            "type": "string",
            "description": "User defined identifier for the service.\n"
          },
          "numReplicas": {
            "type": "integer",
            "description": "Number of replicas for the service. Available only for 'production' services. Must be between 3 and 20. Contact support to enable this feature.\n"
          },
          "password": {
            "type": "string",
            "description": "Password for the default user. One of either `password` or `password_hash` must be specified.\n",
            "secret": true
          },
          "passwordHash": {
            "type": "string",
            "description": "SHA256 hash of password for the default user. One of either `password` or `password_hash` must be specified.\n",
            "secret": true
          },
          "privateEndpointConfig": {
            "$ref": "#/types/clickhouse:index%2FServicePrivateEndpointConfig:ServicePrivateEndpointConfig",
            "description": "Service config for private endpoints\n",
            "deprecationMessage": "Please use the `clickhouse.PrivateEndpoint.getConfig` data source instead."
          },
          "region": {
            "type": "string",
            "description": "Region within the cloud provider in which the service is deployed in.\n"
          },
          "tier": {
            "type": "string",
            "description": "Tier of the service: 'development', 'production'. Production services scale, Development are fixed size.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "clickhouse:PrivateEndpoint/getConfig:getConfig": {
      "inputs": {
        "description": "A collection of arguments for invoking getConfig.\n",
        "properties": {
          "cloudProvider": {
            "type": "string",
            "description": "The cloud provider for the private endpoint. Valid values are 'aws', 'gcp', or 'azure'.\n"
          },
          "region": {
            "type": "string",
            "description": "The region for the private endpoint. Valid values are specific to the cloud provider i.e. us-east-2\n"
          }
        },
        "type": "object",
        "required": [
          "cloudProvider",
          "region"
        ]
      },
      "outputs": {
        "description": "A collection of values returned by getConfig.\n",
        "properties": {
          "cloudProvider": {
            "description": "The cloud provider for the private endpoint. Valid values are 'aws', 'gcp', or 'azure'.\n",
            "type": "string"
          },
          "endpointServiceId": {
            "description": "The ID of the private endpoint that is used to securely connect to ClickHouse. This is a read-only attribute.\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "region": {
            "description": "The region for the private endpoint. Valid values are specific to the cloud provider i.e. us-east-2\n",
            "type": "string"
          }
        },
        "required": [
          "cloudProvider",
          "endpointServiceId",
          "id",
          "region"
        ],
        "type": "object"
      }
    }
  }
}
