{"name":"aiven","displayName":"Aiven","version":"6.51.0","description":"A Pulumi package for creating and managing Aiven cloud resources.","keywords":["pulumi","aiven"],"homepage":"https://pulumi.io","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`aiven` Terraform Provider](https://github.com/aiven/terraform-provider-aiven).","repository":"https://github.com/pulumi/pulumi-aiven","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"namespaces":{"aiven":"Aiven"},"compatibility":"tfbridge20","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageDescription":"A Pulumi package for creating and managing Aiven cloud resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/aiven/terraform-provider-aiven)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-aiven` repo](https://github.com/pulumi/pulumi-aiven/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-aiven` repo](https://github.com/aiven/terraform-provider-aiven/issues).","devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/aiven/terraform-provider-aiven)\n\u003e distributed under [MIT](https://mit-license.org/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-aiven` repo](https://github.com/pulumi/pulumi-aiven/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-aiven` repo](https://github.com/aiven/terraform-provider-aiven/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"apiToken":{"type":"string","description":"Aiven authentication token. Can also be set with the AIVEN_TOKEN environment variable.","secret":true}}},"types":{"aiven:index/AccountAuthenticationSamlFieldMapping:AccountAuthenticationSamlFieldMapping":{"properties":{"email":{"type":"string","description":"Field name for user email\n"},"firstName":{"type":"string","description":"Field name for user's first name\n"},"identity":{"type":"string","description":"Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user id) is highly recommended, as email address may change, requiring relinking user to Aiven user.\n"},"lastName":{"type":"string","description":"Field name for user's last name\n"},"realName":{"type":"string","description":"Field name for user's full name. If specified, first*name and last*name mappings are ignored\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomni:AlloydbomniAlloydbomni":{"properties":{"bouncer":{"type":"string","description":"PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"dbname":{"type":"string","description":"Primary AlloyDB Omni database name.\n","secret":true},"host":{"type":"string","description":"AlloyDB Omni primary node host IP or name.\n","secret":true},"maxConnections":{"type":"integer","description":"The [number of allowed connections](https://aiven.io/docs/products/postgresql/reference/pg-connection-limits). Varies based on the service plan.\n","secret":true},"params":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniParam:AlloydbomniAlloydbomniParam"},"description":"AlloyDB Omni connection parameters.\n","secret":true},"password":{"type":"string","description":"AlloyDB Omni admin user password.\n","secret":true},"port":{"type":"integer","description":"AlloyDB Omni port.\n","secret":true},"replicaUri":{"type":"string","description":"AlloyDB Omni replica URI for services with a replica.\n","secret":true},"sslmode":{"type":"string","description":"AlloyDB Omni SSL mode setting.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni syncing connection URIs.\n","secret":true},"uri":{"type":"string","description":"AlloyDB Omni primary connection URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni primary connection URIs.\n","secret":true},"user":{"type":"string","description":"AlloyDB Omni admin user name.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["bouncer","dbname","host","maxConnections","params","password","port","replicaUri","sslmode","standbyUris","syncingUris","uri","uris","user"]}}},"aiven:index/AlloydbomniAlloydbomniParam:AlloydbomniAlloydbomniParam":{"properties":{"databaseName":{"type":"string","description":"Primary AlloyDB Omni database name.\n","secret":true},"host":{"type":"string","description":"AlloyDB Omni host IP or name.\n","secret":true},"password":{"type":"string","description":"AlloyDB Omni admin user password.\n","secret":true},"port":{"type":"integer","description":"AlloyDB Omni port.\n","secret":true},"sslmode":{"type":"string","description":"AlloyDB Omni SSL mode setting.\n","secret":true},"user":{"type":"string","description":"AlloyDB Omni admin user name.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["databaseName","host","password","port","sslmode","user"]}}},"aiven:index/AlloydbomniAlloydbomniUserConfig:AlloydbomniAlloydbomniUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n","willReplaceOnChanges":true},"alloydbomniVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"googleColumnarEngineEnabled":{"type":"boolean","description":"Enables or disables the columnar engine. When enabled, it accelerates SQL query processing. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"googleColumnarEngineMemorySizePercentage":{"type":"integer","description":"Allocate the amount of RAM to store columnar data. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigIpFilterObject:AlloydbomniAlloydbomniUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"nodeCount":{"type":"integer","description":"Number of nodes for the service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pg":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPg:AlloydbomniAlloydbomniUserConfigPg","description":"postgresql.conf configuration values\n"},"pgReadReplica":{"type":"boolean","description":"Should the service which is being forked be a read replica (deprecated, use\u003cspan pulumi-lang-nodejs=\" readReplica \" pulumi-lang-dotnet=\" ReadReplica \" pulumi-lang-go=\" readReplica \" pulumi-lang-python=\" read_replica \" pulumi-lang-yaml=\" readReplica \" pulumi-lang-java=\" readReplica \"\u003e read_replica \u003c/span\u003eservice integration instead).\n"},"pgServiceToForkFrom":{"type":"string","description":"Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"pgVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"pgaudit":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPgaudit:AlloydbomniAlloydbomniUserConfigPgaudit","description":"System-wide settings for the pgaudit extension\n"},"pgbouncer":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPgbouncer:AlloydbomniAlloydbomniUserConfigPgbouncer","description":"PGBouncer connection pooling settings\n"},"pglookout":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPglookout:AlloydbomniAlloydbomniUserConfigPglookout","description":"System-wide settings for pglookout\n"},"privateAccess":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPrivateAccess:AlloydbomniAlloydbomniUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPrivatelinkAccess:AlloydbomniAlloydbomniUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfigPublicAccess:AlloydbomniAlloydbomniUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n","willReplaceOnChanges":true},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"sharedBuffersPercentage":{"type":"number","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the\u003cspan pulumi-lang-nodejs=\" sharedBuffers \" pulumi-lang-dotnet=\" SharedBuffers \" pulumi-lang-go=\" sharedBuffers \" pulumi-lang-python=\" shared_buffers \" pulumi-lang-yaml=\" sharedBuffers \" pulumi-lang-java=\" sharedBuffers \"\u003e shared_buffers \u003c/span\u003econfiguration value. Changing this parameter causes a service restart. Example: `41.5`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"synchronousReplication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quorum`\" pulumi-lang-dotnet=\"`Quorum`\" pulumi-lang-go=\"`quorum`\" pulumi-lang-python=\"`quorum`\" pulumi-lang-yaml=\"`quorum`\" pulumi-lang-java=\"`quorum`\"\u003e`quorum`\u003c/span\u003e. Synchronous replication type. Note that the service plan also needs to support synchronous replication.\n"},"variant":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aiven`\" pulumi-lang-dotnet=\"`Aiven`\" pulumi-lang-go=\"`aiven`\" pulumi-lang-python=\"`aiven`\" pulumi-lang-yaml=\"`aiven`\" pulumi-lang-java=\"`aiven`\"\u003e`aiven`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timescale`\" pulumi-lang-dotnet=\"`Timescale`\" pulumi-lang-go=\"`timescale`\" pulumi-lang-python=\"`timescale`\" pulumi-lang-yaml=\"`timescale`\" pulumi-lang-java=\"`timescale`\"\u003e`timescale`\u003c/span\u003e. Variant of the PostgreSQL service, may affect the features that are exposed by default.\n"},"workMem":{"type":"integer","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. The default is 1MB + 0.075% of total RAM (up to 32MB). Example: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigIpFilterObject:AlloydbomniAlloydbomniUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/AlloydbomniAlloydbomniUserConfigPg:AlloydbomniAlloydbomniUserConfigPg":{"properties":{"autovacuumAnalyzeScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumAnalyzeThreshold \" pulumi-lang-dotnet=\" AutovacuumAnalyzeThreshold \" pulumi-lang-go=\" autovacuumAnalyzeThreshold \" pulumi-lang-python=\" autovacuum_analyze_threshold \" pulumi-lang-yaml=\" autovacuumAnalyzeThreshold \" pulumi-lang-java=\" autovacuumAnalyzeThreshold \"\u003e autovacuum_analyze_threshold \u003c/span\u003ewhen deciding whether to trigger an ANALYZE (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumAnalyzeThreshold":{"type":"integer","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"autovacuumFreezeMaxAge":{"type":"integer","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.\n"},"autovacuumMaxWorkers":{"type":"integer","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"autovacuumNaptime":{"type":"integer","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"autovacuumVacuumCostDelay":{"type":"integer","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostDelay \" pulumi-lang-dotnet=\" VacuumCostDelay \" pulumi-lang-go=\" vacuumCostDelay \" pulumi-lang-python=\" vacuum_cost_delay \" pulumi-lang-yaml=\" vacuumCostDelay \" pulumi-lang-java=\" vacuumCostDelay \"\u003e vacuum_cost_delay \u003c/span\u003evalue will be used. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"autovacuumVacuumCostLimit":{"type":"integer","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostLimit \" pulumi-lang-dotnet=\" VacuumCostLimit \" pulumi-lang-go=\" vacuumCostLimit \" pulumi-lang-python=\" vacuum_cost_limit \" pulumi-lang-yaml=\" vacuumCostLimit \" pulumi-lang-java=\" vacuumCostLimit \"\u003e vacuum_cost_limit \u003c/span\u003evalue will be used. The default is `-1` (upstream default).\n"},"autovacuumVacuumScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumVacuumThreshold \" pulumi-lang-dotnet=\" AutovacuumVacuumThreshold \" pulumi-lang-go=\" autovacuumVacuumThreshold \" pulumi-lang-python=\" autovacuum_vacuum_threshold \" pulumi-lang-yaml=\" autovacuumVacuumThreshold \" pulumi-lang-java=\" autovacuumVacuumThreshold \"\u003e autovacuum_vacuum_threshold \u003c/span\u003ewhen deciding whether to trigger a VACUUM (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumVacuumThreshold":{"type":"integer","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"bgwriterDelay":{"type":"integer","description":"Specifies the delay between activity rounds for the background writer in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"},"bgwriterFlushAfter":{"type":"integer","description":"Whenever more than\u003cspan pulumi-lang-nodejs=\" bgwriterFlushAfter \" pulumi-lang-dotnet=\" BgwriterFlushAfter \" pulumi-lang-go=\" bgwriterFlushAfter \" pulumi-lang-python=\" bgwriter_flush_after \" pulumi-lang-yaml=\" bgwriterFlushAfter \" pulumi-lang-java=\" bgwriterFlushAfter \"\u003e bgwriter_flush_after \u003c/span\u003ebytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes. Setting of 0 disables forced writeback. The default is \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"bgwriterLruMaxpages":{"type":"integer","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"bgwriterLruMultiplier":{"type":"number","description":"The average recent need for new buffers is multiplied by\u003cspan pulumi-lang-nodejs=\" bgwriterLruMultiplier \" pulumi-lang-dotnet=\" BgwriterLruMultiplier \" pulumi-lang-go=\" bgwriterLruMultiplier \" pulumi-lang-python=\" bgwriter_lru_multiplier \" pulumi-lang-yaml=\" bgwriterLruMultiplier \" pulumi-lang-java=\" bgwriterLruMultiplier \"\u003e bgwriter_lru_multiplier \u003c/span\u003eto arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is `2.0`. Example: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"deadlockTimeout":{"type":"integer","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"defaultToastCompression":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pglz`\" pulumi-lang-dotnet=\"`Pglz`\" pulumi-lang-go=\"`pglz`\" pulumi-lang-python=\"`pglz`\" pulumi-lang-yaml=\"`pglz`\" pulumi-lang-java=\"`pglz`\"\u003e`pglz`\u003c/span\u003e. Specifies the default TOAST compression method for values of compressible columns. The default is \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e.\n"},"idleInTransactionSessionTimeout":{"type":"integer","description":"Time out sessions with open transactions after this number of milliseconds.\n"},"jit":{"type":"boolean","description":"Controls system-wide use of Just-in-Time Compilation (JIT).\n"},"logAutovacuumMinDuration":{"type":"integer","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one disables logging autovacuum actions. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"logErrorVerbosity":{"type":"string","description":"Enum: `DEFAULT`, `TERSE`, `VERBOSE`. Controls the amount of detail written in the server log for each message that is logged.\n"},"logLinePrefix":{"type":"string","description":"Enum: `'%m [%p] %q[user=%u,db=%d,app=%a] '`, `'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '`. Choose from one of the available log formats.\n"},"logMinDurationStatement":{"type":"integer","description":"Log statements that take more than this number of milliseconds to run, -1 disables.\n"},"logTempFiles":{"type":"integer","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables.\n"},"maxFilesPerProcess":{"type":"integer","description":"PostgreSQL maximum number of files that can be open per process. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum locks per transaction. Changing this parameter causes a service restart.\n"},"maxLogicalReplicationWorkers":{"type":"integer","description":"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). The default is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxParallelWorkers":{"type":"integer","description":"Sets the maximum number of workers that the system can support for parallel queries. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (upstream default).\n"},"maxParallelWorkersPerGather":{"type":"integer","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"maxPredLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum predicate locks per transaction. The default is \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxPreparedTransactions":{"type":"integer","description":"PostgreSQL maximum prepared transactions. The default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxReplicationSlots":{"type":"integer","description":"PostgreSQL maximum replication slots. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxSlotWalKeepSize":{"type":"integer","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. If `-1` is specified, replication slots may retain an unlimited amount of WAL files. The default is `-1` (upstream default).\u003cspan pulumi-lang-nodejs=\" walKeepSize \" pulumi-lang-dotnet=\" WalKeepSize \" pulumi-lang-go=\" walKeepSize \" pulumi-lang-python=\" wal_keep_size \" pulumi-lang-yaml=\" walKeepSize \" pulumi-lang-java=\" walKeepSize \"\u003e wal_keep_size \u003c/span\u003eminimum WAL size setting takes precedence over this.\n"},"maxStackDepth":{"type":"integer","description":"Maximum depth of the stack in bytes. The default is \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e (upstream default).\n"},"maxStandbyArchiveDelay":{"type":"integer","description":"Max standby archive delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxStandbyStreamingDelay":{"type":"integer","description":"Max standby streaming delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxSyncWorkersPerSubscription":{"type":"integer","description":"Maximum number of synchronization workers per subscription. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"maxWalSenders":{"type":"integer","description":"PostgreSQL maximum WAL senders. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxWorkerProcesses":{"type":"integer","description":"Sets the maximum number of background processes that the system can support. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"passwordEncryption":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, `scram-sha-256`. Chooses the algorithm for encrypting passwords.\n"},"pgPartmanBgwDotInterval":{"type":"integer","description":"Sets the time interval in seconds to run pg_partman's scheduled tasks. The default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"pgPartmanBgwDotRole":{"type":"string","description":"Controls which role to use for pg_partman's scheduled background tasks. Example: \u003cspan pulumi-lang-nodejs=\"`myrolename`\" pulumi-lang-dotnet=\"`Myrolename`\" pulumi-lang-go=\"`myrolename`\" pulumi-lang-python=\"`myrolename`\" pulumi-lang-yaml=\"`myrolename`\" pulumi-lang-java=\"`myrolename`\"\u003e`myrolename`\u003c/span\u003e.\n"},"pgStatStatementsDotTrack":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e. Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default is \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e.\n"},"tempFileLimit":{"type":"integer","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited.\n"},"timezone":{"type":"string","description":"PostgreSQL service timezone. Example: `Europe/Helsinki`.\n"},"trackActivityQuerySize":{"type":"integer","description":"Specifies the number of bytes reserved to track the currently executing command for each active session. Changing this parameter causes a service restart. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"trackCommitTimestamp":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Record commit time of transactions. Changing this parameter causes a service restart.\n"},"trackFunctions":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pl`\" pulumi-lang-dotnet=\"`Pl`\" pulumi-lang-go=\"`pl`\" pulumi-lang-python=\"`pl`\" pulumi-lang-yaml=\"`pl`\" pulumi-lang-java=\"`pl`\"\u003e`pl`\u003c/span\u003e. Enables tracking of function call counts and time used.\n"},"trackIoTiming":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Enables timing of database I/O calls. The default is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. When on, it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\n"},"walSenderTimeout":{"type":"integer","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"walWriterDelay":{"type":"integer","description":"WAL flush interval in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Setting this parameter to a lower value may negatively impact performance. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPgaudit:AlloydbomniAlloydbomniUserConfigPgaudit":{"properties":{"featureEnabled":{"type":"boolean","description":"Enable pgaudit extension. When enabled, pgaudit extension will be automatically installed.Otherwise, extension will be uninstalled but auditing configurations will be preserved. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logCatalog":{"type":"boolean","description":"Specifies that session logging should be enabled in the case where all relations in a statement are in pg_catalog. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logClient":{"type":"boolean","description":"Specifies whether log messages will be visible to a client process such as psql. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug1`\" pulumi-lang-dotnet=\"`Debug1`\" pulumi-lang-go=\"`debug1`\" pulumi-lang-python=\"`debug1`\" pulumi-lang-yaml=\"`debug1`\" pulumi-lang-java=\"`debug1`\"\u003e`debug1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug2`\" pulumi-lang-dotnet=\"`Debug2`\" pulumi-lang-go=\"`debug2`\" pulumi-lang-python=\"`debug2`\" pulumi-lang-yaml=\"`debug2`\" pulumi-lang-java=\"`debug2`\"\u003e`debug2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug3`\" pulumi-lang-dotnet=\"`Debug3`\" pulumi-lang-go=\"`debug3`\" pulumi-lang-python=\"`debug3`\" pulumi-lang-yaml=\"`debug3`\" pulumi-lang-java=\"`debug3`\"\u003e`debug3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug4`\" pulumi-lang-dotnet=\"`Debug4`\" pulumi-lang-go=\"`debug4`\" pulumi-lang-python=\"`debug4`\" pulumi-lang-yaml=\"`debug4`\" pulumi-lang-java=\"`debug4`\"\u003e`debug4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug5`\" pulumi-lang-dotnet=\"`Debug5`\" pulumi-lang-go=\"`debug5`\" pulumi-lang-python=\"`debug5`\" pulumi-lang-yaml=\"`debug5`\" pulumi-lang-java=\"`debug5`\"\u003e`debug5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e. Specifies the log level that will be used for log entries. Default: \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e.\n"},"logMaxStringLength":{"type":"integer","description":"Crop parameters representation and whole statements if they exceed this threshold. A (default) value of -1 disable the truncation. Default: `-1`.\n"},"logNestedStatements":{"type":"boolean","description":"This GUC allows to turn off logging nested statements, that is, statements that are executed as part of another ExecutorRun. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logParameter":{"type":"boolean","description":"Specifies that audit logging should include the parameters that were passed with the statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logParameterMaxSize":{"type":"integer","description":"Specifies that parameter values longer than this setting (in bytes) should not be logged, but replaced with \u003clong param suppressed\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"logRelation":{"type":"boolean","description":"Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logRows":{"type":"boolean","description":"Log Rows. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logStatement":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters (if enabled). Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logStatementOnce":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logs":{"type":"array","items":{"type":"string"},"description":"Specifies which classes of statements will be logged by session audit logging.\n"},"role":{"type":"string","description":"Specifies the master role to use for object audit logging.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPgbouncer:AlloydbomniAlloydbomniUserConfigPgbouncer":{"properties":{"autodbIdleTimeout":{"type":"integer","description":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"autodbMaxDbConnections":{"type":"integer","description":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"autodbPoolMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. PGBouncer pool mode. Default: \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"autodbPoolSize":{"type":"integer","description":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ignoreStartupParameters":{"type":"array","items":{"type":"string"},"description":"List of parameters to ignore when given in startup packet.\n"},"maxPreparedStatements":{"type":"integer","description":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003eis set to a non-zero value. Setting it to 0 disables prepared statements.\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003edefaults to 100, and its maximum is 3000. Default: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"minPoolSize":{"type":"integer","description":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverIdleTimeout":{"type":"integer","description":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"serverLifetime":{"type":"integer","description":"The pooler will close an unused server connection that has been connected longer than this. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"serverResetQueryAlways":{"type":"boolean","description":"Run\u003cspan pulumi-lang-nodejs=\" serverResetQuery \" pulumi-lang-dotnet=\" ServerResetQuery \" pulumi-lang-go=\" serverResetQuery \" pulumi-lang-python=\" server_reset_query \" pulumi-lang-yaml=\" serverResetQuery \" pulumi-lang-java=\" serverResetQuery \"\u003e server_reset_query \u003c/span\u003e(DISCARD ALL) in all pooling modes. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPglookout:AlloydbomniAlloydbomniUserConfigPglookout":{"properties":{"maxFailoverReplicationTimeLag":{"type":"integer","description":"Number of seconds of master unavailability before triggering database failover to standby. Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPrivateAccess:AlloydbomniAlloydbomniUserConfigPrivateAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPrivatelinkAccess:AlloydbomniAlloydbomniUserConfigPrivatelinkAccess":{"properties":{"pg":{"type":"boolean","description":"Enable pg.\n"},"pgbouncer":{"type":"boolean","description":"Enable pgbouncer.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/AlloydbomniAlloydbomniUserConfigPublicAccess:AlloydbomniAlloydbomniUserConfigPublicAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/AlloydbomniComponent:AlloydbomniComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/AlloydbomniServiceIntegration:AlloydbomniServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/AlloydbomniTag:AlloydbomniTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/AlloydbomniTechEmail:AlloydbomniTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/BillingGroupTimeouts:BillingGroupTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/ByocAwsEntityContactEmail:ByocAwsEntityContactEmail":{"properties":{"email":{"type":"string","description":"User email address. Maximum length: \u003cspan pulumi-lang-nodejs=\"`254`\" pulumi-lang-dotnet=\"`254`\" pulumi-lang-go=\"`254`\" pulumi-lang-python=\"`254`\" pulumi-lang-yaml=\"`254`\" pulumi-lang-java=\"`254`\"\u003e`254`\u003c/span\u003e.\n"},"realName":{"type":"string","description":"User real name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"role":{"type":"string","description":"Role of this user. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"}},"type":"object","required":["email"]},"aiven:index/ByocAwsEntityError:ByocAwsEntityError":{"properties":{"category":{"type":"string","description":"Category of this error. The possible value is \u003cspan pulumi-lang-nodejs=\"`generalError`\" pulumi-lang-dotnet=\"`GeneralError`\" pulumi-lang-go=\"`generalError`\" pulumi-lang-python=\"`general_error`\" pulumi-lang-yaml=\"`generalError`\" pulumi-lang-java=\"`generalError`\"\u003e`general_error`\u003c/span\u003e.\n"},"message":{"type":"string","description":"Description of this error.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["category","message"]}}},"aiven:index/ByocAwsEntityTimeouts:ByocAwsEntityTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/CassandraCassandra:CassandraCassandra":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"Cassandra server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["uris"]}}},"aiven:index/CassandraCassandraUserConfig:CassandraCassandraUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"cassandra":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfigCassandra:CassandraCassandraUserConfigCassandra","description":"Cassandra configuration values\n"},"cassandraVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, `4.1`, and newer. Cassandra version.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfigIpFilterObject:CassandraCassandraUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migrateSstableloader":{"type":"boolean","description":"Sets the service into migration mode enabling the sstableloader utility to be used to upload Cassandra data files. Available only on service create.\n"},"privateAccess":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfigPrivateAccess:CassandraCassandraUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfigPublicAccess:CassandraCassandraUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"serviceToJoinWith":{"type":"string","description":"When bootstrapping, instead of creating a new Cassandra cluster try to join an existing one from another service. Can only be set on service creation. Example: `my-test-cassandra`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/CassandraCassandraUserConfigCassandra:CassandraCassandraUserConfigCassandra":{"properties":{"batchSizeFailThresholdInKb":{"type":"integer","description":"Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"batchSizeWarnThresholdInKb":{"type":"integer","description":"Log a warning message on any multiple-partition batch size exceeding this value.5kb per batch by default.Caution should be taken on increasing the size of this thresholdas it can lead to node instability. Example: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"datacenter":{"type":"string","description":"Name of the datacenter to which nodes of this service belong. Can be set only when creating the service. Example: `my-service-google-west1`.\n"},"readRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for read operations to complete before timing it out. 5 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n"},"writeRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for write requests to complete with at least one node in the local datacenter. 2 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/CassandraCassandraUserConfigIpFilterObject:CassandraCassandraUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/CassandraCassandraUserConfigPrivateAccess:CassandraCassandraUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/CassandraCassandraUserConfigPublicAccess:CassandraCassandraUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/CassandraComponent:CassandraComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/CassandraServiceIntegration:CassandraServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/CassandraTag:CassandraTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/CassandraTechEmail:CassandraTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/ClickhouseClickhouse:ClickhouseClickhouse":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"ClickHouse server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["uris"]}}},"aiven:index/ClickhouseClickhouseUserConfig:ClickhouseClickhouseUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"clickhouseVersion":{"type":"string","description":"Enum: `25.3`, and newer. ClickHouse major version.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfigIpFilterObject:ClickhouseClickhouseUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"privateAccess":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfigPrivateAccess:ClickhouseClickhouseUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfigPrivatelinkAccess:ClickhouseClickhouseUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfigPublicAccess:ClickhouseClickhouseUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"tieredStorageMoveFactor":{"type":"number","description":"The percentage of free disk space required on local storage before data is moved to object storage. A value of 0.2 means data is moved when local storage has less than 20% free space. Default: `0.2`.\n"}},"type":"object"},"aiven:index/ClickhouseClickhouseUserConfigIpFilterObject:ClickhouseClickhouseUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/ClickhouseClickhouseUserConfigPrivateAccess:ClickhouseClickhouseUserConfigPrivateAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"clickhouseHttps":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseHttps \" pulumi-lang-dotnet=\" ClickhouseHttps \" pulumi-lang-go=\" clickhouseHttps \" pulumi-lang-python=\" clickhouse_https \" pulumi-lang-yaml=\" clickhouseHttps \" pulumi-lang-java=\" clickhouseHttps \"\u003e clickhouse_https \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"clickhouseMysql":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseMysql \" pulumi-lang-dotnet=\" ClickhouseMysql \" pulumi-lang-go=\" clickhouseMysql \" pulumi-lang-python=\" clickhouse_mysql \" pulumi-lang-yaml=\" clickhouseMysql \" pulumi-lang-java=\" clickhouseMysql \"\u003e clickhouse_mysql \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/ClickhouseClickhouseUserConfigPrivatelinkAccess:ClickhouseClickhouseUserConfigPrivatelinkAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Enable clickhouse.\n"},"clickhouseHttps":{"type":"boolean","description":"Enable clickhouse_https.\n"},"clickhouseMysql":{"type":"boolean","description":"Enable clickhouse_mysql.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/ClickhouseClickhouseUserConfigPublicAccess:ClickhouseClickhouseUserConfigPublicAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Allow clients to connect to clickhouse from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"clickhouseHttps":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseHttps \" pulumi-lang-dotnet=\" ClickhouseHttps \" pulumi-lang-go=\" clickhouseHttps \" pulumi-lang-python=\" clickhouse_https \" pulumi-lang-yaml=\" clickhouseHttps \" pulumi-lang-java=\" clickhouseHttps \"\u003e clickhouse_https \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"clickhouseMysql":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseMysql \" pulumi-lang-dotnet=\" ClickhouseMysql \" pulumi-lang-go=\" clickhouseMysql \" pulumi-lang-python=\" clickhouse_mysql \" pulumi-lang-yaml=\" clickhouseMysql \" pulumi-lang-java=\" clickhouseMysql \"\u003e clickhouse_mysql \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/ClickhouseComponent:ClickhouseComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/ClickhouseDatabaseTimeouts:ClickhouseDatabaseTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/ClickhouseGrantPrivilegeGrant:ClickhouseGrantPrivilegeGrant":{"properties":{"column":{"type":"string","description":"The column to grant access to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"database":{"type":"string","description":"The database to grant access to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"privilege":{"type":"string","description":"The privileges to grant. For example: `INSERT`, `SELECT`, `CREATE TABLE`. A complete list is available in the [ClickHouse documentation](https://clickhouse.com/docs/en/sql-reference/statements/grant). Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"table":{"type":"string","description":"The table to grant access to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"withGrant":{"type":"boolean","description":"Allow grantees to grant their privileges to other grantees. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object","required":["database"]},"aiven:index/ClickhouseGrantRoleGrant:ClickhouseGrantRoleGrant":{"properties":{"role":{"type":"string","description":"The roles to grant. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"},"aiven:index/ClickhouseServiceIntegration:ClickhouseServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/ClickhouseTag:ClickhouseTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/ClickhouseTechEmail:ClickhouseTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/CmkTimeouts:CmkTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/DragonflyComponent:DragonflyComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/DragonflyDragonfly:DragonflyDragonfly":{"properties":{"password":{"type":"string","description":"Dragonfly password.\n","secret":true},"replicaUri":{"type":"string","description":"Dragonfly replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Dragonfly slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Dragonfly server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","replicaUri","slaveUris","uris"]}}},"aiven:index/DragonflyDragonflyUserConfig:DragonflyDragonflyUserConfig":{"properties":{"cacheMode":{"type":"boolean","description":"Evict entries when getting close to maxmemory limit. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dragonflyPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, Dragonfly does RDB or DFS dumps every 10 minutes. Dumps are done according to the backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB/DFS dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.\n"},"dragonflySsl":{"type":"boolean","description":"Require SSL to access Dragonfly. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfigIpFilterObject:DragonflyDragonflyUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfigMigration:DragonflyDragonflyUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfigPrivateAccess:DragonflyDragonflyUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfigPrivatelinkAccess:DragonflyDragonflyUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfigPublicAccess:DragonflyDragonflyUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/DragonflyDragonflyUserConfigIpFilterObject:DragonflyDragonflyUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/DragonflyDragonflyUserConfigMigration:DragonflyDragonflyUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"]},"aiven:index/DragonflyDragonflyUserConfigPrivateAccess:DragonflyDragonflyUserConfigPrivateAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Allow clients to connect to dragonfly with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/DragonflyDragonflyUserConfigPrivatelinkAccess:DragonflyDragonflyUserConfigPrivatelinkAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Enable dragonfly.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/DragonflyDragonflyUserConfigPublicAccess:DragonflyDragonflyUserConfigPublicAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Allow clients to connect to dragonfly from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/DragonflyServiceIntegration:DragonflyServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/DragonflyTag:DragonflyTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/DragonflyTechEmail:DragonflyTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/FlinkApplicationDeploymentTimeouts:FlinkApplicationDeploymentTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/FlinkApplicationTimeouts:FlinkApplicationTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink":{"properties":{"createTable":{"type":"string","description":"The CREATE TABLE statement\n","willReplaceOnChanges":true},"integrationId":{"type":"string","description":"The integration ID\n","willReplaceOnChanges":true}},"type":"object","required":["createTable"]},"aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource":{"properties":{"createTable":{"type":"string","description":"The CREATE TABLE statement\n","willReplaceOnChanges":true},"integrationId":{"type":"string","description":"The integration ID\n","willReplaceOnChanges":true}},"type":"object","required":["createTable"]},"aiven:index/FlinkComponent:FlinkComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/FlinkFlink:FlinkFlink":{"properties":{"hostPorts":{"type":"array","items":{"type":"string"},"description":"The host and port of a Flink server.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["hostPorts"]}}},"aiven:index/FlinkFlinkUserConfig:FlinkFlinkUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"customCode":{"type":"boolean","description":"Enable to upload Custom JARs for Flink applications.\n","willReplaceOnChanges":true},"flinkVersion":{"type":"string","description":"Enum: `1.16`, `1.19`, `1.20`, and newer. Flink major version.\n","willReplaceOnChanges":true},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfigIpFilterObject:FlinkFlinkUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"numberOfTaskSlots":{"type":"integer","description":"Task slots per node. For a 3 node plan, total number of task slots is 3x this value. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"pekkoAskTimeoutS":{"type":"integer","description":"Timeout in seconds used for all futures and blocking Pekko requests. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"pekkoFramesizeB":{"type":"integer","description":"Maximum size in bytes for messages exchanged between the JobManager and the TaskManagers.\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfigPrivatelinkAccess:FlinkFlinkUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfigPublicAccess:FlinkFlinkUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/FlinkFlinkUserConfigIpFilterObject:FlinkFlinkUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/FlinkFlinkUserConfigPrivatelinkAccess:FlinkFlinkUserConfigPrivatelinkAccess":{"properties":{"flink":{"type":"boolean","description":"Enable flink.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/FlinkFlinkUserConfigPublicAccess:FlinkFlinkUserConfigPublicAccess":{"properties":{"flink":{"type":"boolean","description":"Allow clients to connect to flink from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/FlinkJarApplicationApplicationVersion:FlinkJarApplicationApplicationVersion":{"properties":{"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"fileInfos":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationApplicationVersionFileInfo:FlinkJarApplicationApplicationVersionFileInfo"},"description":"Flink JarApplicationVersion FileInfo.\n"},"id":{"type":"string","description":"ApplicationVersion ID.\n"},"version":{"type":"integer","description":"Version number.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","createdBy","fileInfos","id","version"]}}},"aiven:index/FlinkJarApplicationApplicationVersionFileInfo:FlinkJarApplicationApplicationVersionFileInfo":{"properties":{"fileSha256":{"type":"string","description":"sha256 of the file if known.\n"},"fileSize":{"type":"integer","description":"The size of the file in bytes.\n"},"fileStatus":{"type":"string","description":"Indicates whether the uploaded .jar file has been verified by the system and deployment ready. The possible values are `INITIAL`, `READY` and `FAILED`.\n"},"url":{"type":"string","description":"The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.\n"},"verifyErrorCode":{"type":"integer","description":"In the case\u003cspan pulumi-lang-nodejs=\" fileStatus \" pulumi-lang-dotnet=\" FileStatus \" pulumi-lang-go=\" fileStatus \" pulumi-lang-python=\" file_status \" pulumi-lang-yaml=\" fileStatus \" pulumi-lang-java=\" fileStatus \"\u003e file_status \u003c/span\u003eis FAILED, the error code of the failure. The possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"verifyErrorMessage":{"type":"string","description":"In the case\u003cspan pulumi-lang-nodejs=\" fileStatus \" pulumi-lang-dotnet=\" FileStatus \" pulumi-lang-go=\" fileStatus \" pulumi-lang-python=\" file_status \" pulumi-lang-yaml=\" fileStatus \" pulumi-lang-java=\" fileStatus \"\u003e file_status \u003c/span\u003eis FAILED, may contain details about the failure.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fileSha256","fileSize","fileStatus","url","verifyErrorCode","verifyErrorMessage"]}}},"aiven:index/FlinkJarApplicationCurrentDeployment:FlinkJarApplicationCurrentDeployment":{"properties":{"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"entryClass":{"type":"string","description":"The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter.\n"},"errorMsg":{"type":"string","description":"Error message describing what caused deployment to fail.\n"},"id":{"type":"string","description":"Deployment ID.\n"},"jobId":{"type":"string","description":"Job ID.\n"},"lastSavepoint":{"type":"string","description":"Job savepoint.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number_of_task_slots), or every new job created will fail.\n"},"programArgs":{"type":"array","items":{"type":"string"},"description":"Arguments to pass during Flink job submission through the programArgsList parameter.\n"},"startingSavepoint":{"type":"string","description":"Job savepoint.\n"},"status":{"type":"string","description":"Deployment status. The possible values are `CANCELED`, `CANCELLING`, `CANCELLING_REQUESTED`, `CREATED`, `DELETE_REQUESTED`, `DELETING`, `FAILED`, `FAILING`, `FINISHED`, `INITIALIZING`, `RECONCILING`, `RESTARTING`, `RUNNING`, `SAVING`, `SAVING_AND_STOP`, `SAVING_AND_STOP_REQUESTED` and `SUSPENDED`.\n"},"versionId":{"type":"string","description":"ApplicationVersion ID.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","createdBy","entryClass","errorMsg","id","jobId","lastSavepoint","parallelism","programArgs","startingSavepoint","status","versionId"]}}},"aiven:index/FlinkJarApplicationVersionFileInfo:FlinkJarApplicationVersionFileInfo":{"properties":{"fileSha256":{"type":"string","description":"sha256 of the file if known.\n"},"fileSize":{"type":"integer","description":"The size of the file in bytes.\n"},"fileStatus":{"type":"string","description":"Indicates whether the uploaded .jar file has been verified by the system and deployment ready. The possible values are `FAILED`, `INITIAL` and `READY`.\n"},"url":{"type":"string","description":"The pre-signed url of the bucket where the .jar file is uploaded. Becomes null when the JarApplicationVersion is ready or failed.\n"},"verifyErrorCode":{"type":"integer","description":"In the case\u003cspan pulumi-lang-nodejs=\" fileStatus \" pulumi-lang-dotnet=\" FileStatus \" pulumi-lang-go=\" fileStatus \" pulumi-lang-python=\" file_status \" pulumi-lang-yaml=\" fileStatus \" pulumi-lang-java=\" fileStatus \"\u003e file_status \u003c/span\u003eis FAILED, the error code of the failure. The possible values are \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"verifyErrorMessage":{"type":"string","description":"In the case\u003cspan pulumi-lang-nodejs=\" fileStatus \" pulumi-lang-dotnet=\" FileStatus \" pulumi-lang-go=\" fileStatus \" pulumi-lang-python=\" file_status \" pulumi-lang-yaml=\" fileStatus \" pulumi-lang-java=\" fileStatus \"\u003e file_status \u003c/span\u003eis FAILED, may contain details about the failure.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["fileSha256","fileSize","fileStatus","url","verifyErrorCode","verifyErrorMessage"]}}},"aiven:index/FlinkServiceIntegration:FlinkServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/FlinkTag:FlinkTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/FlinkTechEmail:FlinkTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/GovernanceAccessAccessData:GovernanceAccessAccessData":{"properties":{"acls":{"type":"array","items":{"$ref":"#/types/aiven:index/GovernanceAccessAccessDataAcl:GovernanceAccessAccessDataAcl"},"description":"Required property. Acls. Changing this property forces recreation of the resource.\n"},"projectName":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The service username assigned to the access. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["acls","projectName","serviceName"],"language":{"nodejs":{"requiredOutputs":["acls","projectName","serviceName","username"]}}},"aiven:index/GovernanceAccessAccessDataAcl:GovernanceAccessAccessDataAcl":{"properties":{"host":{"type":"string","description":"The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"id":{"type":"string","description":"Acl ID.\n"},"operation":{"type":"string","description":"An enumeration. The possible values are `Read` and `Write`. Changing this property forces recreation of the resource.\n"},"patternType":{"type":"string","description":"An enumeration. The possible value is `LITERAL`.\n"},"permissionType":{"type":"string","description":"An enumeration. The possible value is `ALLOW`. Changing this property forces recreation of the resource.\n"},"principal":{"type":"string","description":"Acl principal.\n"},"resourceName":{"type":"string","description":"Acl resource name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"resourceType":{"type":"string","description":"An enumeration. The possible value is `Topic`. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["operation","permissionType","resourceName","resourceType"],"language":{"nodejs":{"requiredOutputs":["host","id","operation","patternType","permissionType","principal","resourceName","resourceType"]}}},"aiven:index/GovernanceAccessTimeouts:GovernanceAccessTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/GrafanaComponent:GrafanaComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/GrafanaGrafana:GrafanaGrafana":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"Grafana server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["uris"]}}},"aiven:index/GrafanaGrafanaUserConfig:GrafanaGrafanaUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"alertingEnabled":{"type":"boolean","description":"Setting has no effect with Grafana 11 and onward. Enable or disable Grafana legacy alerting functionality. This should not be enabled with unified*alerting*enabled.\n"},"alertingErrorOrTimeout":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alerting`\" pulumi-lang-dotnet=\"`Alerting`\" pulumi-lang-go=\"`alerting`\" pulumi-lang-python=\"`alerting`\" pulumi-lang-yaml=\"`alerting`\" pulumi-lang-java=\"`alerting`\"\u003e`alerting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepState`\" pulumi-lang-dotnet=\"`KeepState`\" pulumi-lang-go=\"`keepState`\" pulumi-lang-python=\"`keep_state`\" pulumi-lang-yaml=\"`keepState`\" pulumi-lang-java=\"`keepState`\"\u003e`keep_state`\u003c/span\u003e. Default error or timeout setting for new alerting rules.\n"},"alertingMaxAnnotationsToKeep":{"type":"integer","description":"Max number of alert annotations that Grafana stores. 0 (default) keeps all alert annotations. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"alertingNodataOrNullvalues":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alerting`\" pulumi-lang-dotnet=\"`Alerting`\" pulumi-lang-go=\"`alerting`\" pulumi-lang-python=\"`alerting`\" pulumi-lang-yaml=\"`alerting`\" pulumi-lang-java=\"`alerting`\"\u003e`alerting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepState`\" pulumi-lang-dotnet=\"`KeepState`\" pulumi-lang-go=\"`keepState`\" pulumi-lang-python=\"`keep_state`\" pulumi-lang-yaml=\"`keepState`\" pulumi-lang-java=\"`keepState`\"\u003e`keep_state`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noData`\" pulumi-lang-dotnet=\"`NoData`\" pulumi-lang-go=\"`noData`\" pulumi-lang-python=\"`no_data`\" pulumi-lang-yaml=\"`noData`\" pulumi-lang-java=\"`noData`\"\u003e`no_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ok`\" pulumi-lang-dotnet=\"`Ok`\" pulumi-lang-go=\"`ok`\" pulumi-lang-python=\"`ok`\" pulumi-lang-yaml=\"`ok`\" pulumi-lang-java=\"`ok`\"\u003e`ok`\u003c/span\u003e. Default value for 'no data or null values' for new alerting rules.\n"},"allowEmbedding":{"type":"boolean","description":"Allow embedding Grafana dashboards with iframe/frame/object/embed tags. Disabled by default to limit impact of clickjacking.\n"},"authAzuread":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigAuthAzuread:GrafanaGrafanaUserConfigAuthAzuread","description":"Azure AD OAuth integration\n"},"authBasicEnabled":{"type":"boolean","description":"Enable or disable basic authentication form, used by Grafana built-in login.\n"},"authGenericOauth":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigAuthGenericOauth:GrafanaGrafanaUserConfigAuthGenericOauth","description":"Generic OAuth integration\n"},"authGithub":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigAuthGithub:GrafanaGrafanaUserConfigAuthGithub","description":"Github Auth integration\n"},"authGitlab":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigAuthGitlab:GrafanaGrafanaUserConfigAuthGitlab","description":"GitLab Auth integration\n"},"authGoogle":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigAuthGoogle:GrafanaGrafanaUserConfigAuthGoogle","description":"Google Auth integration\n"},"cookieSamesite":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lax`\" pulumi-lang-dotnet=\"`Lax`\" pulumi-lang-go=\"`lax`\" pulumi-lang-python=\"`lax`\" pulumi-lang-yaml=\"`lax`\" pulumi-lang-java=\"`lax`\"\u003e`lax`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e. Cookie SameSite attribute: \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e prevents sending cookie for cross-site requests, effectively disabling direct linking from other sites to Grafana. \u003cspan pulumi-lang-nodejs=\"`lax`\" pulumi-lang-dotnet=\"`Lax`\" pulumi-lang-go=\"`lax`\" pulumi-lang-python=\"`lax`\" pulumi-lang-yaml=\"`lax`\" pulumi-lang-java=\"`lax`\"\u003e`lax`\u003c/span\u003e is the default value.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"dashboardPreviewsEnabled":{"type":"boolean","description":"Enable browsing of dashboards in grid (pictures) mode. This feature is new in Grafana 9 and is quite resource intensive. It may cause low-end plans to work more slowly while the dashboard previews are rendering.\n"},"dashboardScenesEnabled":{"type":"boolean","description":"Enable use of the Grafana Scenes Library as the dashboard engine. i.e. the `dashboardScene` feature flag. Upstream blog post at https://grafana.com/blog/2024/10/31/grafana-dashboards-are-now-powered-by-scenes-big-changes-same-ui/.\n"},"dashboardsMinRefreshInterval":{"type":"string","description":"Signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s, 1h. Example: \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"dashboardsVersionsToKeep":{"type":"integer","description":"Dashboard versions to keep per dashboard. Example: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"dataproxySendUserHeader":{"type":"boolean","description":"Send `X-Grafana-User` header to data source.\n"},"dataproxyTimeout":{"type":"integer","description":"Timeout for data proxy requests in seconds. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"dateFormats":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigDateFormats:GrafanaGrafanaUserConfigDateFormats","description":"Grafana date format specifications\n"},"disableGravatar":{"type":"boolean","description":"Set to true to disable gravatar. Defaults to false (gravatar is enabled).\n"},"editorsCanAdmin":{"type":"boolean","description":"Editors can manage folders, teams and dashboards created by them.\n"},"externalImageStorage":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigExternalImageStorage:GrafanaGrafanaUserConfigExternalImageStorage","description":"External image store settings\n"},"googleAnalyticsUaId":{"type":"string","description":"Google Analytics ID. Example: `UA-123456-4`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigIpFilterObject:GrafanaGrafanaUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"metricsEnabled":{"type":"boolean","description":"Enable Grafana's /metrics endpoint.\n"},"oauthAllowInsecureEmailLookup":{"type":"boolean","description":"Enforce user lookup based on email instead of the unique ID provided by the IdP. This setup introduces significant security risks, such as potential phishing, spoofing, and other data breaches.\n"},"privateAccess":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigPrivateAccess:GrafanaGrafanaUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigPrivatelinkAccess:GrafanaGrafanaUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigPublicAccess:GrafanaGrafanaUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"smtpServer":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfigSmtpServer:GrafanaGrafanaUserConfigSmtpServer","description":"SMTP server settings\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"unifiedAlertingEnabled":{"type":"boolean","description":"Enable or disable Grafana unified alerting functionality. By default this is enabled and any legacy alerts will be migrated on upgrade to Grafana 9+. To stay on legacy alerting, set unified*alerting*enabled to false and\u003cspan pulumi-lang-nodejs=\" alertingEnabled \" pulumi-lang-dotnet=\" AlertingEnabled \" pulumi-lang-go=\" alertingEnabled \" pulumi-lang-python=\" alerting_enabled \" pulumi-lang-yaml=\" alertingEnabled \" pulumi-lang-java=\" alertingEnabled \"\u003e alerting_enabled \u003c/span\u003eto true. See https://grafana.com/docs/grafana/latest/alerting/ for more details.\n"},"userAutoAssignOrg":{"type":"boolean","description":"Auto-assign new users on signup to main organization. Defaults to false.\n"},"userAutoAssignOrgRole":{"type":"string","description":"Enum: `Admin`, `Editor`, `Viewer`. Set role for new signups. Defaults to Viewer.\n"},"viewersCanEdit":{"type":"boolean","description":"Users with view-only permission can edit but not save dashboards.\n"},"wal":{"type":"boolean","description":"Setting to enable/disable Write-Ahead Logging. The default value is false (disabled).\n"}},"type":"object"},"aiven:index/GrafanaGrafanaUserConfigAuthAzuread:GrafanaGrafanaUserConfigAuthAzuread":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Allowed domains.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given groups.\n"},"authUrl":{"type":"string","description":"Authorization URL. Example: `https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/authorize`.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"tokenUrl":{"type":"string","description":"Token URL. Example: `https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/token`.\n"}},"type":"object","required":["authUrl","clientId","clientSecret","tokenUrl"]},"aiven:index/GrafanaGrafanaUserConfigAuthGenericOauth:GrafanaGrafanaUserConfigAuthGenericOauth":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Allowed domains.\n"},"allowedOrganizations":{"type":"array","items":{"type":"string"},"description":"Require user to be member of one of the listed organizations.\n"},"apiUrl":{"type":"string","description":"API URL. Example: `https://yourprovider.com/api`.\n"},"authUrl":{"type":"string","description":"Authorization URL. Example: `https://yourprovider.com/oauth/authorize`.\n"},"autoLogin":{"type":"boolean","description":"Allow users to bypass the login screen and automatically log in.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"name":{"type":"string","description":"Name of the OAuth integration. Example: `My authentication`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"OAuth scopes.\n"},"tokenUrl":{"type":"string","description":"Token URL. Example: `https://yourprovider.com/oauth/token`.\n"},"useRefreshToken":{"type":"boolean","description":"Set to true to use refresh token and check access token expiration.\n"}},"type":"object","required":["apiUrl","authUrl","clientId","clientSecret","tokenUrl"]},"aiven:index/GrafanaGrafanaUserConfigAuthGithub:GrafanaGrafanaUserConfigAuthGithub":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedOrganizations":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given organizations.\n"},"autoLogin":{"type":"boolean","description":"Allow users to bypass the login screen and automatically log in.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"skipOrgRoleSync":{"type":"boolean","description":"Stop automatically syncing user roles.\n"},"teamIds":{"type":"array","items":{"type":"integer"},"description":"Require users to belong to one of given team IDs.\n"}},"type":"object","required":["clientId","clientSecret"]},"aiven:index/GrafanaGrafanaUserConfigAuthGitlab:GrafanaGrafanaUserConfigAuthGitlab":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given groups.\n"},"apiUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/api/v4`.\n"},"authUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/oauth/authorize`.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"tokenUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/oauth/token`.\n"}},"type":"object","required":["allowedGroups","clientId","clientSecret"]},"aiven:index/GrafanaGrafanaUserConfigAuthGoogle:GrafanaGrafanaUserConfigAuthGoogle":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Domains allowed to sign-in to this Grafana.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["allowedDomains","clientId","clientSecret"]},"aiven:index/GrafanaGrafanaUserConfigDateFormats:GrafanaGrafanaUserConfigDateFormats":{"properties":{"defaultTimezone":{"type":"string","description":"Default time zone for user preferences. Value \u003cspan pulumi-lang-nodejs=\"`browser`\" pulumi-lang-dotnet=\"`Browser`\" pulumi-lang-go=\"`browser`\" pulumi-lang-python=\"`browser`\" pulumi-lang-yaml=\"`browser`\" pulumi-lang-java=\"`browser`\"\u003e`browser`\u003c/span\u003e uses browser local time zone. Example: `Europe/Helsinki`.\n"},"fullDate":{"type":"string","description":"Moment.js style format string for cases where full date is shown. Example: `YYYY MM DD`.\n"},"intervalDay":{"type":"string","description":"Moment.js style format string used when a time requiring day accuracy is shown. Example: `MM/DD`.\n"},"intervalHour":{"type":"string","description":"Moment.js style format string used when a time requiring hour accuracy is shown. Example: `MM/DD HH:mm`.\n"},"intervalMinute":{"type":"string","description":"Moment.js style format string used when a time requiring minute accuracy is shown. Example: `HH:mm`.\n"},"intervalMonth":{"type":"string","description":"Moment.js style format string used when a time requiring month accuracy is shown. Example: `YYYY-MM`.\n"},"intervalSecond":{"type":"string","description":"Moment.js style format string used when a time requiring second accuracy is shown. Example: `HH:mm:ss`.\n"},"intervalYear":{"type":"string","description":"Moment.js style format string used when a time requiring year accuracy is shown. Example: `YYYY`.\n"}},"type":"object"},"aiven:index/GrafanaGrafanaUserConfigExternalImageStorage:GrafanaGrafanaUserConfigExternalImageStorage":{"properties":{"accessKey":{"type":"string","description":"S3 access key. Requires permissions to the S3 bucket for the s3:PutObject and s3:PutObjectAcl actions. Example: `AAAAAAAAAAAAAAAAAAA`.\n"},"bucketUrl":{"type":"string","description":"Bucket URL for S3. Example: `https://grafana.s3-ap-southeast-2.amazonaws.com/`.\n"},"provider":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e. External image store provider.\n"},"secretKey":{"type":"string","description":"S3 secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","bucketUrl","provider","secretKey"]},"aiven:index/GrafanaGrafanaUserConfigIpFilterObject:GrafanaGrafanaUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/GrafanaGrafanaUserConfigPrivateAccess:GrafanaGrafanaUserConfigPrivateAccess":{"properties":{"grafana":{"type":"boolean","description":"Allow clients to connect to grafana with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/GrafanaGrafanaUserConfigPrivatelinkAccess:GrafanaGrafanaUserConfigPrivatelinkAccess":{"properties":{"grafana":{"type":"boolean","description":"Enable grafana.\n"}},"type":"object"},"aiven:index/GrafanaGrafanaUserConfigPublicAccess:GrafanaGrafanaUserConfigPublicAccess":{"properties":{"grafana":{"type":"boolean","description":"Allow clients to connect to grafana from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/GrafanaGrafanaUserConfigSmtpServer:GrafanaGrafanaUserConfigSmtpServer":{"properties":{"fromAddress":{"type":"string","description":"Address used for sending emails. Example: `yourgrafanauser@yourdomain.example.com`.\n"},"fromName":{"type":"string","description":"Name used in outgoing emails, defaults to Grafana.\n"},"host":{"type":"string","description":"Server hostname or IP. Example: `smtp.example.com`.\n"},"password":{"type":"string","description":"Password for SMTP authentication. Example: `ein0eemeev5eeth3Ahfu`.\n","secret":true},"port":{"type":"integer","description":"SMTP server port. Example: \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e.\n"},"skipVerify":{"type":"boolean","description":"Skip verifying server certificate. Defaults to false.\n"},"starttlsPolicy":{"type":"string","description":"Enum: `MandatoryStartTLS`, `NoStartTLS`, `OpportunisticStartTLS`. Either OpportunisticStartTLS, MandatoryStartTLS or NoStartTLS. Default is OpportunisticStartTLS.\n"},"username":{"type":"string","description":"Username for SMTP authentication. Example: \u003cspan pulumi-lang-nodejs=\"`smtpuser`\" pulumi-lang-dotnet=\"`Smtpuser`\" pulumi-lang-go=\"`smtpuser`\" pulumi-lang-python=\"`smtpuser`\" pulumi-lang-yaml=\"`smtpuser`\" pulumi-lang-java=\"`smtpuser`\"\u003e`smtpuser`\u003c/span\u003e.\n"}},"type":"object","required":["fromAddress","host","port"]},"aiven:index/GrafanaServiceIntegration:GrafanaServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/GrafanaTag:GrafanaTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/GrafanaTechEmail:GrafanaTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/InfluxDbComponent:InfluxDbComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/InfluxDbInfluxdb:InfluxDbInfluxdb":{"properties":{"databaseName":{"type":"string","description":"Name of the default InfluxDB database\n","secret":true},"password":{"type":"string","description":"InfluxDB password\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"InfluxDB server URIs.\n","secret":true},"username":{"type":"string","description":"InfluxDB username\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["databaseName","password","uris","username"]}}},"aiven:index/InfluxDbInfluxdbUserConfig:InfluxDbInfluxdbUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"influxdb":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfigInfluxdb:InfluxDbInfluxdbUserConfigInfluxdb","description":"influxdb.conf configuration values\n"},"influxdbVersion":{"type":"string","description":"Enum: `1.8`, and newer. InfluxDB major version. Default: `1.8`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfigIpFilterObject:InfluxDbInfluxdbUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"privateAccess":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfigPrivateAccess:InfluxDbInfluxdbUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfigPrivatelinkAccess:InfluxDbInfluxdbUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfigPublicAccess:InfluxDbInfluxdbUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/InfluxDbInfluxdbUserConfigInfluxdb:InfluxDbInfluxdbUserConfigInfluxdb":{"properties":{"logQueriesAfter":{"type":"integer","description":"The maximum duration in seconds before a query is logged as a slow query. Setting this to 0 (the default) will never log slow queries.\n"},"maxConnectionLimit":{"type":"integer","description":"Maximum number of connections to InfluxDB. Setting this to 0 (default) means no limit. If using max_connection_limit, it is recommended to set the value to be large enough in order to not block clients unnecessarily.\n"},"maxRowLimit":{"type":"integer","description":"The maximum number of rows returned in a non-chunked query. Setting this to 0 (the default) allows an unlimited number to be returned.\n"},"maxSelectBuckets":{"type":"integer","description":"The maximum number of `GROUP BY time()` buckets that can be processed in a query. Setting this to 0 (the default) allows an unlimited number to be processed.\n"},"maxSelectPoint":{"type":"integer","description":"The maximum number of points that can be processed in a SELECT statement. Setting this to 0 (the default) allows an unlimited number to be processed.\n"},"queryLogEnabled":{"type":"boolean","description":"Whether queries should be logged before execution. May log sensitive data contained within a query.\n"},"queryTimeout":{"type":"integer","description":"The maximum duration in seconds before a query is killed. Setting this to 0 (the default) will never kill slow queries.\n"}},"type":"object"},"aiven:index/InfluxDbInfluxdbUserConfigIpFilterObject:InfluxDbInfluxdbUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/InfluxDbInfluxdbUserConfigPrivateAccess:InfluxDbInfluxdbUserConfigPrivateAccess":{"properties":{"influxdb":{"type":"boolean","description":"Allow clients to connect to influxdb with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"userBackup":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" userBackup \" pulumi-lang-dotnet=\" UserBackup \" pulumi-lang-go=\" userBackup \" pulumi-lang-python=\" user_backup \" pulumi-lang-yaml=\" userBackup \" pulumi-lang-java=\" userBackup \"\u003e user_backup \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/InfluxDbInfluxdbUserConfigPrivatelinkAccess:InfluxDbInfluxdbUserConfigPrivatelinkAccess":{"properties":{"influxdb":{"type":"boolean","description":"Enable influxdb.\n"},"userBackup":{"type":"boolean","description":"Enable user_backup.\n"}},"type":"object"},"aiven:index/InfluxDbInfluxdbUserConfigPublicAccess:InfluxDbInfluxdbUserConfigPublicAccess":{"properties":{"influxdb":{"type":"boolean","description":"Allow clients to connect to influxdb from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"userBackup":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" userBackup \" pulumi-lang-dotnet=\" UserBackup \" pulumi-lang-go=\" userBackup \" pulumi-lang-python=\" user_backup \" pulumi-lang-yaml=\" userBackup \" pulumi-lang-java=\" userBackup \"\u003e user_backup \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/InfluxDbServiceIntegration:InfluxDbServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/InfluxDbTag:InfluxDbTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/InfluxDbTechEmail:InfluxDbTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/KafkaComponent:KafkaComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/KafkaConnectComponent:KafkaConnectComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/KafkaConnectKafkaConnectUserConfig:KafkaConnectKafkaConnectUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"gcpAuthAllowedUrls":{"type":"array","items":{"type":"string"},"description":"Allow-list of HTTPS URLs used to validate GCP\u003cspan pulumi-lang-nodejs=\" credentialSource \" pulumi-lang-dotnet=\" CredentialSource \" pulumi-lang-go=\" credentialSource \" pulumi-lang-python=\" credential_source \" pulumi-lang-yaml=\" credentialSource \" pulumi-lang-java=\" credentialSource \"\u003e credential_source \u003c/span\u003erequests for Kafka Connect.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigIpFilterObject:KafkaConnectKafkaConnectUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafkaConnect":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigKafkaConnect:KafkaConnectKafkaConnectUserConfigKafkaConnect","description":"Kafka Connect configuration values\n"},"pluginVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigPluginVersion:KafkaConnectKafkaConnectUserConfigPluginVersion"},"description":"The plugin selected by the user\n"},"privateAccess":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigPrivateAccess:KafkaConnectKafkaConnectUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigPrivatelinkAccess:KafkaConnectKafkaConnectUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigPublicAccess:KafkaConnectKafkaConnectUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"secretProviders":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigSecretProvider:KafkaConnectKafkaConnectUserConfigSecretProvider"},"description":"Configure external secret providers in order to reference external secrets in connector configuration. Currently Hashicorp Vault (provider: vault, auth*method: token) and AWS Secrets Manager (provider: aws, auth*method: credentials) are supported. Secrets can be referenced in connector config with ${\\n\\n:\\n\\n:\\n\\n}\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/KafkaConnectKafkaConnectUserConfigIpFilterObject:KafkaConnectKafkaConnectUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/KafkaConnectKafkaConnectUserConfigKafkaConnect:KafkaConnectKafkaConnectUserConfigKafkaConnect":{"properties":{"connectorClientConfigOverridePolicy":{"type":"string","description":"Enum: `All`, `None`. Defines what client configurations can be overridden by the connector. Default is None.\n"},"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest.\n"},"consumerFetchMaxBytes":{"type":"integer","description":"Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.\n"},"consumerIsolationLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`readCommitted`\" pulumi-lang-dotnet=\"`ReadCommitted`\" pulumi-lang-go=\"`readCommitted`\" pulumi-lang-python=\"`read_committed`\" pulumi-lang-yaml=\"`readCommitted`\" pulumi-lang-java=\"`readCommitted`\"\u003e`read_committed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readUncommitted`\" pulumi-lang-dotnet=\"`ReadUncommitted`\" pulumi-lang-go=\"`readUncommitted`\" pulumi-lang-python=\"`read_uncommitted`\" pulumi-lang-yaml=\"`readUncommitted`\" pulumi-lang-java=\"`readUncommitted`\"\u003e`read_uncommitted`\u003c/span\u003e. Transaction read isolation level. read*uncommitted is the default, but read*committed can be used if consume-exactly-once behavior is desired.\n"},"consumerMaxPartitionFetchBytes":{"type":"integer","description":"Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.\n"},"consumerMaxPollIntervalMs":{"type":"integer","description":"The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).\n"},"consumerMaxPollRecords":{"type":"integer","description":"The maximum number of records returned in a single call to poll() (defaults to 500).\n"},"offsetFlushIntervalMs":{"type":"integer","description":"The interval at which to try committing offsets for tasks (defaults to 60000).\n"},"offsetFlushTimeoutMs":{"type":"integer","description":"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).\n"},"producerBatchSize":{"type":"integer","description":"This setting gives the upper bound of the batch size to be sent. If there are fewer than this many bytes accumulated for this partition, the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the linger.ms time waiting for more records to show up. A batch size of zero will disable batching entirely (defaults to 16384).\n"},"producerBufferMemory":{"type":"integer","description":"The total bytes of memory the producer can use to buffer records waiting to be sent to the broker (defaults to 33554432).\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"This setting gives the upper bound on the delay for batching: once there is batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if there are fewer than this many bytes accumulated for this partition the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the specified time waiting for more records to show up. Defaults to 0.\n"},"producerMaxRequestSize":{"type":"integer","description":"This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.\n"},"scheduledRebalanceMaxDelayMs":{"type":"integer","description":"The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned. Defaults to 5 minutes.\n"},"sessionTimeoutMs":{"type":"integer","description":"The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).\n"}},"type":"object"},"aiven:index/KafkaConnectKafkaConnectUserConfigPluginVersion:KafkaConnectKafkaConnectUserConfigPluginVersion":{"properties":{"pluginName":{"type":"string","description":"The name of the plugin. Example: `debezium-connector`.\n"},"version":{"type":"string","description":"The version of the plugin. Example: `2.5.0`.\n"}},"type":"object","required":["pluginName","version"]},"aiven:index/KafkaConnectKafkaConnectUserConfigPrivateAccess:KafkaConnectKafkaConnectUserConfigPrivateAccess":{"properties":{"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/KafkaConnectKafkaConnectUserConfigPrivatelinkAccess:KafkaConnectKafkaConnectUserConfigPrivatelinkAccess":{"properties":{"jolokia":{"type":"boolean","description":"Enable jolokia.\n"},"kafkaConnect":{"type":"boolean","description":"Enable kafka_connect.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/KafkaConnectKafkaConnectUserConfigPublicAccess:KafkaConnectKafkaConnectUserConfigPublicAccess":{"properties":{"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/KafkaConnectKafkaConnectUserConfigSecretProvider:KafkaConnectKafkaConnectUserConfigSecretProvider":{"properties":{"aws":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderAws:KafkaConnectKafkaConnectUserConfigSecretProviderAws","description":"AWS secret provider configuration\n"},"env":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderEnv:KafkaConnectKafkaConnectUserConfigSecretProviderEnv","description":"ENV secret provider configuration\n"},"name":{"type":"string","description":"Name of the secret provider. Used to reference secrets in connector config.\n"},"vault":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderVault:KafkaConnectKafkaConnectUserConfigSecretProviderVault","description":"Vault secret provider configuration\n"}},"type":"object","required":["name"]},"aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderAws:KafkaConnectKafkaConnectUserConfigSecretProviderAws":{"properties":{"accessKey":{"type":"string","description":"Access key used to authenticate with aws.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"region":{"type":"string","description":"Region used to lookup secrets with AWS SecretManager.\n"},"secretKey":{"type":"string","description":"Secret key used to authenticate with aws.\n","secret":true}},"type":"object","required":["authMethod","region"]},"aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderEnv:KafkaConnectKafkaConnectUserConfigSecretProviderEnv":{"properties":{"secrets":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value map of secrets for ENV secret provider.\n"}},"type":"object","required":["secrets"]},"aiven:index/KafkaConnectKafkaConnectUserConfigSecretProviderVault:KafkaConnectKafkaConnectUserConfigSecretProviderVault":{"properties":{"address":{"type":"string","description":"Address of the Vault server.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"engineVersion":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and newer. KV Secrets Engine version of the Vault server instance.\n"},"prefixPathDepth":{"type":"integer","description":"Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.\n"},"token":{"type":"string","description":"Token used to authenticate with vault and auth method \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["address","authMethod"]},"aiven:index/KafkaConnectServiceIntegration:KafkaConnectServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/KafkaConnectTag:KafkaConnectTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/KafkaConnectTechEmail:KafkaConnectTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/KafkaConnectorTask:KafkaConnectorTask":{"properties":{"connector":{"type":"string","description":"The name of the related connector.\n"},"task":{"type":"integer","description":"The task ID of the task.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["connector","task"]}}},"aiven:index/KafkaKafka:KafkaKafka":{"properties":{"accessCert":{"type":"string","description":"The Kafka client certificate.\n","secret":true},"accessKey":{"type":"string","description":"The Kafka client certificate key.\n","secret":true},"connectUri":{"type":"string","description":"The Kafka Connect URI.\n","secret":true},"restUri":{"type":"string","description":"The Kafka REST URI.\n","secret":true},"schemaRegistryUri":{"type":"string","description":"The Schema Registry URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Kafka server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["accessCert","accessKey","connectUri","restUri","schemaRegistryUri","uris"]}}},"aiven:index/KafkaKafkaUserConfig:KafkaKafkaUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"aivenKafkaTopicMessages":{"type":"boolean","description":"Allow access to read Kafka topic messages in the Aiven Console and REST API.\n"},"backupIntervalHours":{"type":"integer","description":"Interval in hours between automatic backups. Minimum value is 3 hours. Must be a divisor of 24 (3, 4, 6, 8, 12, 24). (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Number of days to retain automatic backups. Backups older than this value will be automatically deleted. (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"followerFetching":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigFollowerFetching:KafkaKafkaUserConfigFollowerFetching","description":"Enable follower fetching\n"},"gcpAuthAllowedUrls":{"type":"array","items":{"type":"string"},"description":"Allow-list of HTTPS URLs used to validate GCP\u003cspan pulumi-lang-nodejs=\" credentialSource \" pulumi-lang-dotnet=\" CredentialSource \" pulumi-lang-go=\" credentialSource \" pulumi-lang-python=\" credential_source \" pulumi-lang-yaml=\" credentialSource \" pulumi-lang-java=\" credentialSource \"\u003e credential_source \u003c/span\u003erequests for Kafka Connect.\n"},"inkless":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigInkless:KafkaKafkaUserConfigInkless","description":"Inkless configuration values\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigIpFilterObject:KafkaKafkaUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafka":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafka:KafkaKafkaUserConfigKafka","description":"Kafka broker configuration values\n"},"kafkaAuthenticationMethods":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaAuthenticationMethods:KafkaKafkaUserConfigKafkaAuthenticationMethods","description":"Kafka authentication methods\n"},"kafkaConnect":{"type":"boolean","description":"Enable Kafka Connect service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"kafkaConnectConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectConfig:KafkaKafkaUserConfigKafkaConnectConfig","description":"Kafka Connect configuration values\n"},"kafkaConnectPluginVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectPluginVersion:KafkaKafkaUserConfigKafkaConnectPluginVersion"},"description":"The plugin selected by the user\n"},"kafkaConnectSecretProviders":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProvider:KafkaKafkaUserConfigKafkaConnectSecretProvider"},"description":"Configure external secret providers in order to reference external secrets in connector configuration. Currently Hashicorp Vault (provider: vault, auth*method: token) and AWS Secrets Manager (provider: aws, auth*method: credentials) are supported. Secrets can be referenced in connector config with ${\\n\\n:\\n\\n:\\n\\n}\n"},"kafkaDiskless":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaDiskless:KafkaKafkaUserConfigKafkaDiskless","description":"Kafka Diskless configuration values\n"},"kafkaRest":{"type":"boolean","description":"Enable Kafka-REST service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"kafkaRestAuthorization":{"type":"boolean","description":"Enable authorization in Kafka-REST service.\n"},"kafkaRestConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaRestConfig:KafkaKafkaUserConfigKafkaRestConfig","description":"Kafka REST configuration\n"},"kafkaSaslMechanisms":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaSaslMechanisms:KafkaKafkaUserConfigKafkaSaslMechanisms","description":"Kafka SASL mechanisms\n"},"kafkaVersion":{"type":"string","description":"Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, `3.9`, `4.0`, `4.1`, and newer. Kafka major version.\n"},"letsencryptSasl":{"type":"boolean","description":"Use a Let's Encrypt certificate authority (CA) for Kafka SASL authentication. (Default: False).\n"},"letsencryptSaslPrivatelink":{"type":"boolean","description":"Use a Let's Encrypt certificate authority (CA) for Kafka SASL authentication via Privatelink. (Default: False).\n"},"privateAccess":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigPrivateAccess:KafkaKafkaUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigPrivatelinkAccess:KafkaKafkaUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigPublicAccess:KafkaKafkaUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"schemaRegistry":{"type":"boolean","description":"Enable Schema-Registry service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"schemaRegistryConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigSchemaRegistryConfig:KafkaKafkaUserConfigSchemaRegistryConfig","description":"Schema Registry configuration\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"singleZone":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigSingleZone:KafkaKafkaUserConfigSingleZone","description":"Single-zone configuration\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"tieredStorage":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigTieredStorage:KafkaKafkaUserConfigTieredStorage","description":"Tiered storage configuration\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigFollowerFetching:KafkaKafkaUserConfigFollowerFetching":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the follower fetching functionality.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigInkless:KafkaKafkaUserConfigInkless":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the Inkless functionality.\n","willReplaceOnChanges":true}},"type":"object","required":["enabled"]},"aiven:index/KafkaKafkaUserConfigIpFilterObject:KafkaKafkaUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/KafkaKafkaUserConfigKafka:KafkaKafkaUserConfigKafka":{"properties":{"autoCreateTopicsEnable":{"type":"boolean","description":"Enable auto-creation of topics. (Default: false).\n"},"compressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the final compression type for a given topic. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e which is equivalent to no compression; and \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e which means retain the original compression codec set by the producer.(Default: producer).\n"},"connectionsMaxIdleMs":{"type":"integer","description":"Idle connections timeout: the server socket processor threads close the connections that idle for longer than this. (Default: 600000 ms (10 minutes)). Example: \u003cspan pulumi-lang-nodejs=\"`540000`\" pulumi-lang-dotnet=\"`540000`\" pulumi-lang-go=\"`540000`\" pulumi-lang-python=\"`540000`\" pulumi-lang-yaml=\"`540000`\" pulumi-lang-java=\"`540000`\"\u003e`540000`\u003c/span\u003e.\n"},"defaultReplicationFactor":{"type":"integer","description":"Replication factor for auto-created topics (Default: 3).\n"},"groupInitialRebalanceDelayMs":{"type":"integer","description":"The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. (Default: 3000 ms (3 seconds)). Example: \u003cspan pulumi-lang-nodejs=\"`3000`\" pulumi-lang-dotnet=\"`3000`\" pulumi-lang-go=\"`3000`\" pulumi-lang-python=\"`3000`\" pulumi-lang-yaml=\"`3000`\" pulumi-lang-java=\"`3000`\"\u003e`3000`\u003c/span\u003e.\n"},"groupMaxSessionTimeoutMs":{"type":"integer","description":"The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. Default: 1800000 ms (30 minutes).\n"},"groupMinSessionTimeoutMs":{"type":"integer","description":"The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. (Default: 6000 ms (6 seconds)). Example: \u003cspan pulumi-lang-nodejs=\"`6000`\" pulumi-lang-dotnet=\"`6000`\" pulumi-lang-go=\"`6000`\" pulumi-lang-python=\"`6000`\" pulumi-lang-yaml=\"`6000`\" pulumi-lang-java=\"`6000`\"\u003e`6000`\u003c/span\u003e.\n"},"logCleanerDeleteRetentionMs":{"type":"integer","description":"How long are delete records retained? (Default: 86400000 (1 day)).\n"},"logCleanerMaxCompactionLagMs":{"type":"integer","description":"The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted. (Default: 9223372036854775807 ms (Long.MAX_VALUE)).\n"},"logCleanerMinCleanableRatio":{"type":"number","description":"Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log.cleaner.max.compaction.lag.ms to enforce compactions sooner, instead of setting a very high value for this option. (Default: 0.5). Example: `0.5`.\n"},"logCleanerMinCompactionLagMs":{"type":"integer","description":"The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. (Default: 0 ms).\n"},"logCleanupPolicy":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`compact`\" pulumi-lang-dotnet=\"`Compact`\" pulumi-lang-go=\"`compact`\" pulumi-lang-python=\"`compact`\" pulumi-lang-yaml=\"`compact`\" pulumi-lang-java=\"`compact`\"\u003e`compact`\u003c/span\u003e, `compact,delete`, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e. The default cleanup policy for segments beyond the retention window (Default: delete).\n"},"logFlushIntervalMessages":{"type":"integer","description":"The number of messages accumulated on a log partition before messages are flushed to disk (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logFlushIntervalMs":{"type":"integer","description":"The maximum time in ms that a message in any topic is kept in memory (page-cache) before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used (Default: null).\n"},"logIndexIntervalBytes":{"type":"integer","description":"The interval with which Kafka adds an entry to the offset index (Default: 4096 bytes (4 kibibytes)). Example: \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e.\n"},"logIndexSizeMaxBytes":{"type":"integer","description":"The maximum size in bytes of the offset index (Default: 10485760 (10 mebibytes)).\n"},"logLocalRetentionBytes":{"type":"integer","description":"The maximum size of local log segments that can grow for a partition before it gets eligible for deletion. If set to -2, the value of log.retention.bytes is used. The effective value should always be less than or equal to log.retention.bytes value. (Default: -2).\n"},"logLocalRetentionMs":{"type":"integer","description":"The number of milliseconds to keep the local log segments before it gets eligible for deletion. If set to -2, the value of log.retention.ms is used. The effective value should always be less than or equal to log.retention.ms value. (Default: -2).\n"},"logMessageDownconversionEnable":{"type":"boolean","description":"This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. (Default: true).\n"},"logMessageTimestampAfterMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps later than the broker's timestamp. (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampBeforeMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps earlier than the broker's timestamp. (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampDifferenceMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampType":{"type":"string","description":"Enum: `CreateTime`, `LogAppendTime`. Define whether the timestamp in the message is message create time or log append time. (Default: CreateTime).\n"},"logPreallocate":{"type":"boolean","description":"Should pre allocate file when create new segment? (Default: false).\n"},"logRetentionBytes":{"type":"integer","description":"The maximum size of the log before deleting messages (Default: -1).\n"},"logRetentionHours":{"type":"integer","description":"The number of hours to keep a log file before deleting it. Use -1 for unlimited retention or 1 or higher. Setting 0 is invalid and prevents Kafka from starting. (Default: 168 hours, or 1 week).\n"},"logRetentionMs":{"type":"integer","description":"The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. (Default: null, log.retention.hours applies).\n"},"logRollJitterMs":{"type":"integer","description":"The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used (Default: null).\n"},"logRollMs":{"type":"integer","description":"The maximum time before a new log segment is rolled out (in milliseconds). (Default: null, log.roll.hours applies (Default: 168, 7 days)).\n"},"logSegmentBytes":{"type":"integer","description":"The maximum size of a single log file (Default: 1073741824 bytes (1 gibibyte)).\n"},"logSegmentDeleteDelayMs":{"type":"integer","description":"The amount of time to wait before deleting a file from the filesystem (Default: 60000 ms (1 minute)). Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"maxConnectionsPerIp":{"type":"integer","description":"The maximum number of connections allowed from each ip address (Default: 2147483647).\n"},"maxIncrementalFetchSessionCacheSlots":{"type":"integer","description":"The maximum number of incremental fetch sessions that the broker will maintain. (Default: 1000). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"messageMaxBytes":{"type":"integer","description":"The maximum size of message that the server can receive. (Default: 1048588 bytes (1 mebibyte + 12 bytes)).\n"},"minInsyncReplicas":{"type":"integer","description":"When a producer sets acks to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e (or `-1`), min.insync.replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. (Default: 1). Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"numPartitions":{"type":"integer","description":"Number of partitions for auto-created topics (Default: 1).\n"},"offsetsRetentionMinutes":{"type":"integer","description":"Log retention window in minutes for offsets topic (Default: 10080 minutes (7 days)). Example: \u003cspan pulumi-lang-nodejs=\"`10080`\" pulumi-lang-dotnet=\"`10080`\" pulumi-lang-go=\"`10080`\" pulumi-lang-python=\"`10080`\" pulumi-lang-yaml=\"`10080`\" pulumi-lang-java=\"`10080`\"\u003e`10080`\u003c/span\u003e.\n"},"producerPurgatoryPurgeIntervalRequests":{"type":"integer","description":"The purge interval (in number of requests) of the producer request purgatory (Default: 1000).\n"},"replicaFetchMaxBytes":{"type":"integer","description":"The number of bytes of messages to attempt to fetch for each partition . This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. (Default: 1048576 bytes (1 mebibytes)).\n"},"replicaFetchResponseMaxBytes":{"type":"integer","description":"Maximum bytes expected for the entire fetch response. Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. (Default: 10485760 bytes (10 mebibytes)).\n"},"saslOauthbearerExpectedAudience":{"type":"string","description":"The (optional) comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences. (Default: null).\n"},"saslOauthbearerExpectedIssuer":{"type":"string","description":"Optional setting for the broker to use to verify that the JWT was created by the expected issuer.(Default: null).\n"},"saslOauthbearerJwksEndpointUrl":{"type":"string","description":"OIDC JWKS endpoint URL. By setting this the SASL SSL OAuth2/OIDC authentication is enabled. See also other options for SASL OAuth2/OIDC. (Default: null).\n"},"saslOauthbearerSubClaimName":{"type":"string","description":"Name of the scope from which to extract the subject claim from the JWT.(Default: sub).\n"},"socketRequestMaxBytes":{"type":"integer","description":"The maximum number of bytes in a socket request (Default: 104857600 bytes).\n"},"transactionPartitionVerificationEnable":{"type":"boolean","description":"Enable verification that checks that the partition has been added to the transaction before writing transactional records to the partition. (Default: true).\n"},"transactionRemoveExpiredTransactionCleanupIntervalMs":{"type":"integer","description":"The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (Default: 3600000 ms (1 hour)).\n"},"transactionStateLogSegmentBytes":{"type":"integer","description":"The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (Default: 104857600 bytes (100 mebibytes)).\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigKafkaAuthenticationMethods:KafkaKafkaUserConfigKafkaAuthenticationMethods":{"properties":{"certificate":{"type":"boolean","description":"Enable certificate/SSL authentication. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sasl":{"type":"boolean","description":"Enable SASL authentication. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigKafkaConnectConfig:KafkaKafkaUserConfigKafkaConnectConfig":{"properties":{"connectorClientConfigOverridePolicy":{"type":"string","description":"Enum: `All`, `None`. Defines what client configurations can be overridden by the connector. Default is None.\n"},"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest.\n"},"consumerFetchMaxBytes":{"type":"integer","description":"Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.\n"},"consumerIsolationLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`readCommitted`\" pulumi-lang-dotnet=\"`ReadCommitted`\" pulumi-lang-go=\"`readCommitted`\" pulumi-lang-python=\"`read_committed`\" pulumi-lang-yaml=\"`readCommitted`\" pulumi-lang-java=\"`readCommitted`\"\u003e`read_committed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readUncommitted`\" pulumi-lang-dotnet=\"`ReadUncommitted`\" pulumi-lang-go=\"`readUncommitted`\" pulumi-lang-python=\"`read_uncommitted`\" pulumi-lang-yaml=\"`readUncommitted`\" pulumi-lang-java=\"`readUncommitted`\"\u003e`read_uncommitted`\u003c/span\u003e. Transaction read isolation level. read*uncommitted is the default, but read*committed can be used if consume-exactly-once behavior is desired.\n"},"consumerMaxPartitionFetchBytes":{"type":"integer","description":"Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.\n"},"consumerMaxPollIntervalMs":{"type":"integer","description":"The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).\n"},"consumerMaxPollRecords":{"type":"integer","description":"The maximum number of records returned in a single call to poll() (defaults to 500).\n"},"offsetFlushIntervalMs":{"type":"integer","description":"The interval at which to try committing offsets for tasks (defaults to 60000).\n"},"offsetFlushTimeoutMs":{"type":"integer","description":"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).\n"},"producerBatchSize":{"type":"integer","description":"This setting gives the upper bound of the batch size to be sent. If there are fewer than this many bytes accumulated for this partition, the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the linger.ms time waiting for more records to show up. A batch size of zero will disable batching entirely (defaults to 16384).\n"},"producerBufferMemory":{"type":"integer","description":"The total bytes of memory the producer can use to buffer records waiting to be sent to the broker (defaults to 33554432).\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"This setting gives the upper bound on the delay for batching: once there is batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if there are fewer than this many bytes accumulated for this partition the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the specified time waiting for more records to show up. Defaults to 0.\n"},"producerMaxRequestSize":{"type":"integer","description":"This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.\n"},"scheduledRebalanceMaxDelayMs":{"type":"integer","description":"The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned. Defaults to 5 minutes.\n"},"sessionTimeoutMs":{"type":"integer","description":"The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigKafkaConnectPluginVersion:KafkaKafkaUserConfigKafkaConnectPluginVersion":{"properties":{"pluginName":{"type":"string","description":"The name of the plugin. Example: `debezium-connector`.\n"},"version":{"type":"string","description":"The version of the plugin. Example: `2.5.0`.\n"}},"type":"object","required":["pluginName","version"]},"aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProvider:KafkaKafkaUserConfigKafkaConnectSecretProvider":{"properties":{"aws":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderAws:KafkaKafkaUserConfigKafkaConnectSecretProviderAws","description":"AWS secret provider configuration\n"},"env":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderEnv:KafkaKafkaUserConfigKafkaConnectSecretProviderEnv","description":"ENV secret provider configuration\n"},"name":{"type":"string","description":"Name of the secret provider. Used to reference secrets in connector config.\n"},"vault":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderVault:KafkaKafkaUserConfigKafkaConnectSecretProviderVault","description":"Vault secret provider configuration\n"}},"type":"object","required":["name"]},"aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderAws:KafkaKafkaUserConfigKafkaConnectSecretProviderAws":{"properties":{"accessKey":{"type":"string","description":"Access key used to authenticate with aws.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"region":{"type":"string","description":"Region used to lookup secrets with AWS SecretManager.\n"},"secretKey":{"type":"string","description":"Secret key used to authenticate with aws.\n","secret":true}},"type":"object","required":["authMethod","region"]},"aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderEnv:KafkaKafkaUserConfigKafkaConnectSecretProviderEnv":{"properties":{"secrets":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value map of secrets for ENV secret provider.\n"}},"type":"object","required":["secrets"]},"aiven:index/KafkaKafkaUserConfigKafkaConnectSecretProviderVault:KafkaKafkaUserConfigKafkaConnectSecretProviderVault":{"properties":{"address":{"type":"string","description":"Address of the Vault server.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"engineVersion":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and newer. KV Secrets Engine version of the Vault server instance.\n"},"prefixPathDepth":{"type":"integer","description":"Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.\n"},"token":{"type":"string","description":"Token used to authenticate with vault and auth method \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["address","authMethod"]},"aiven:index/KafkaKafkaUserConfigKafkaDiskless:KafkaKafkaUserConfigKafkaDiskless":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the Diskless functionality.\n"}},"type":"object","required":["enabled"]},"aiven:index/KafkaKafkaUserConfigKafkaRestConfig:KafkaKafkaUserConfigKafkaRestConfig":{"properties":{"consumerEnableAutoCommit":{"type":"boolean","description":"If true the consumer's offset will be periodically committed to Kafka in the background. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"consumerIdleDisconnectTimeout":{"type":"integer","description":"Specifies the maximum duration (in seconds) a client can remain idle before it is deleted. If a consumer is inactive, it will exit the consumer group, and its state will be discarded. A value of 0 (default) indicates that the consumer will not be disconnected automatically due to inactivity. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"consumerRequestMaxBytes":{"type":"integer","description":"Maximum number of bytes in unencoded message keys and values by a single request.\n"},"consumerRequestTimeoutMs":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\"\u003e`15000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e. The maximum total time to wait for messages for a request if the maximum number of messages has not yet been reached. Default: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"nameStrategy":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`recordName`\" pulumi-lang-dotnet=\"`RecordName`\" pulumi-lang-go=\"`recordName`\" pulumi-lang-python=\"`record_name`\" pulumi-lang-yaml=\"`recordName`\" pulumi-lang-java=\"`recordName`\"\u003e`record_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicRecordName`\" pulumi-lang-dotnet=\"`TopicRecordName`\" pulumi-lang-go=\"`topicRecordName`\" pulumi-lang-python=\"`topic_record_name`\" pulumi-lang-yaml=\"`topicRecordName`\" pulumi-lang-java=\"`topicRecordName`\"\u003e`topic_record_name`\u003c/span\u003e. Name strategy to use when selecting subject for storing schemas. Default: \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e.\n"},"nameStrategyValidation":{"type":"boolean","description":"If true, validate that given schema is registered under expected subject name by the used name strategy when producing messages. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"producerAcks":{"type":"string","description":"Enum: `-1`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. The number of acknowledgments the producer requires the leader to have received before considering a request complete. If set to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e or `-1`, the leader will wait for the full set of in-sync replicas to acknowledge the record. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"Wait for up to the given delay to allow batching records together. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"producerMaxRequestSize":{"type":"integer","description":"The maximum size of a request in bytes. Note that Kafka broker can also cap the record batch size.\n"},"simpleconsumerPoolSizeMax":{"type":"integer","description":"Maximum number of SimpleConsumers that can be instantiated per broker. Default: \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigKafkaSaslMechanisms:KafkaKafkaUserConfigKafkaSaslMechanisms":{"properties":{"plain":{"type":"boolean","description":"Enable PLAIN mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scramSha256":{"type":"boolean","description":"Enable SCRAM-SHA-256 mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scramSha512":{"type":"boolean","description":"Enable SCRAM-SHA-512 mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigPrivateAccess:KafkaKafkaUserConfigPrivateAccess":{"properties":{"kafka":{"type":"boolean","description":"Allow clients to connect to kafka with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"kafkaRest":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaRest \" pulumi-lang-dotnet=\" KafkaRest \" pulumi-lang-go=\" kafkaRest \" pulumi-lang-python=\" kafka_rest \" pulumi-lang-yaml=\" kafkaRest \" pulumi-lang-java=\" kafkaRest \"\u003e kafka_rest \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"schemaRegistry":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" schemaRegistry \" pulumi-lang-dotnet=\" SchemaRegistry \" pulumi-lang-go=\" schemaRegistry \" pulumi-lang-python=\" schema_registry \" pulumi-lang-yaml=\" schemaRegistry \" pulumi-lang-java=\" schemaRegistry \"\u003e schema_registry \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigPrivatelinkAccess:KafkaKafkaUserConfigPrivatelinkAccess":{"properties":{"jolokia":{"type":"boolean","description":"Enable jolokia.\n"},"kafka":{"type":"boolean","description":"Enable kafka.\n"},"kafkaConnect":{"type":"boolean","description":"Enable kafka_connect.\n"},"kafkaRest":{"type":"boolean","description":"Enable kafka_rest.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"schemaRegistry":{"type":"boolean","description":"Enable schema_registry.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigPublicAccess:KafkaKafkaUserConfigPublicAccess":{"properties":{"kafka":{"type":"boolean","description":"Allow clients to connect to kafka from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"kafkaRest":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaRest \" pulumi-lang-dotnet=\" KafkaRest \" pulumi-lang-go=\" kafkaRest \" pulumi-lang-python=\" kafka_rest \" pulumi-lang-yaml=\" kafkaRest \" pulumi-lang-java=\" kafkaRest \"\u003e kafka_rest \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"schemaRegistry":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" schemaRegistry \" pulumi-lang-dotnet=\" SchemaRegistry \" pulumi-lang-go=\" schemaRegistry \" pulumi-lang-python=\" schema_registry \" pulumi-lang-yaml=\" schemaRegistry \" pulumi-lang-java=\" schemaRegistry \"\u003e schema_registry \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigSchemaRegistryConfig:KafkaKafkaUserConfigSchemaRegistryConfig":{"properties":{"leaderEligibility":{"type":"boolean","description":"If true, Karapace / Schema Registry on the service nodes can participate in leader election. It might be needed to disable this when the schemas topic is replicated to a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retriableErrorsSilenced":{"type":"boolean","description":"If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"schemaReaderStrictMode":{"type":"boolean","description":"If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicName":{"type":"string","description":"The durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy. Please note that changing this configuration in an existing Schema Registry / Karapace setup leads to previous schemas being inaccessible, data encoded with them potentially unreadable and schema ID sequence put out of order. It's only possible to do the switch while Schema Registry / Karapace is disabled. Defaults to `_schemas`.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigSingleZone:KafkaKafkaUserConfigSingleZone":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone to use for the service. This is only used when enabled is set to true. If not set the service will be allocated in random AZ.The AZ is not guaranteed, and the service may be allocated in a different AZ if the selected AZ is not available. Zones will not be validated and invalid zones will be ignored, falling back to random AZ selection. Common availability zones include: AWS (euc1-az1, euc1-az2, euc1-az3), GCP (europe-west1-a, europe-west1-b, europe-west1-c), Azure (germanywestcentral/1, germanywestcentral/2, germanywestcentral/3). Example: `euc1-az1`.\n"},"enabled":{"type":"boolean","description":"Whether to allocate nodes on the same Availability Zone or spread across zones available. By default service nodes are spread across different AZs. The single AZ support is best-effort and may temporarily allocate nodes in different AZs e.g. in case of capacity limitations in one AZ.\n"}},"type":"object"},"aiven:index/KafkaKafkaUserConfigTieredStorage:KafkaKafkaUserConfigTieredStorage":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the tiered storage functionality.\n"},"localCache":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfigTieredStorageLocalCache:KafkaKafkaUserConfigTieredStorageLocalCache","description":"Local cache configuration\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/KafkaKafkaUserConfigTieredStorageLocalCache:KafkaKafkaUserConfigTieredStorageLocalCache":{"properties":{"size":{"type":"integer","description":"Local cache size in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/KafkaMirrorMakerComponent:KafkaMirrorMakerComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfig:KafkaMirrorMakerKafkaMirrormakerUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject:KafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafkaMirrormaker":{"$ref":"#/types/aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker:KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker","description":"Kafka MirrorMaker configuration values\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject:KafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker:KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker":{"properties":{"adminTimeoutMs":{"type":"integer","description":"Timeout for administrative tasks, e.g. detecting new topics, loading of consumer group and offsets. Defaults to 60000 milliseconds (1 minute).\n"},"emitCheckpointsEnabled":{"type":"boolean","description":"Whether to emit consumer group offset checkpoints to target cluster periodically (default: true).\n"},"emitCheckpointsIntervalSeconds":{"type":"integer","description":"Frequency at which consumer group offset checkpoints are emitted (default: 60, every minute). Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"groups":{"type":"string","description":"Consumer groups to replicate. Supports comma-separated group IDs and regexes. Example: `.*`.\n"},"groupsExclude":{"type":"string","description":"Exclude groups. Supports comma-separated group IDs and regexes. Excludes take precedence over includes. Example: `console-consumer-.*,connect-.*,__.*`.\n"},"offsetLagMax":{"type":"integer","description":"How out-of-sync a remote partition can be before it is resynced. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"refreshGroupsEnabled":{"type":"boolean","description":"Whether to periodically check for new consumer groups. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"refreshGroupsIntervalSeconds":{"type":"integer","description":"Frequency of consumer group refresh in seconds. Defaults to 600 seconds (10 minutes).\n"},"refreshTopicsEnabled":{"type":"boolean","description":"Whether to periodically check for new topics and partitions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"refreshTopicsIntervalSeconds":{"type":"integer","description":"Frequency of topic and partitions refresh in seconds. Defaults to 600 seconds (10 minutes).\n"},"syncGroupOffsetsEnabled":{"type":"boolean","description":"Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to _*consumer*offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster.\n"},"syncGroupOffsetsIntervalSeconds":{"type":"integer","description":"Frequency at which consumer group offsets are synced (default: 60, every minute). Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"syncTopicConfigsEnabled":{"type":"boolean","description":"Whether to periodically configure remote topics to match their corresponding upstream topics.\n"},"tasksMaxPerCpu":{"type":"integer","description":"`tasks.max` is set to this multiplied by the number of CPUs in the service. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/KafkaMirrorMakerServiceIntegration:KafkaMirrorMakerServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/KafkaMirrorMakerTag:KafkaMirrorMakerTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/KafkaMirrorMakerTechEmail:KafkaMirrorMakerTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/KafkaServiceIntegration:KafkaServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/KafkaTag:KafkaTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/KafkaTechEmail:KafkaTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/KafkaTopicConfig:KafkaTopicConfig":{"properties":{"cleanupPolicy":{"type":"string","description":"The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic. The possible values are \u003cspan pulumi-lang-nodejs=\"`compact`\" pulumi-lang-dotnet=\"`Compact`\" pulumi-lang-go=\"`compact`\" pulumi-lang-python=\"`compact`\" pulumi-lang-yaml=\"`compact`\" pulumi-lang-java=\"`compact`\"\u003e`compact`\u003c/span\u003e, `compact,delete` and \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e.\n"},"compressionType":{"type":"string","description":"Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. The possible values are \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e.\n"},"deleteRetentionMs":{"type":"string","description":"The amount of time to retain delete tombstone markers for log compacted topics. This setting also gives a bound on the time in which a consumer must complete a read if they begin from offset 0 to ensure that they get a valid snapshot of the final stage (otherwise delete tombstones may be collected before they complete their scan).\n"},"disklessEnable":{"type":"boolean","description":"Creates a [diskless topic](https://aiven.io/docs/products/diskless). You can only do this when you create the topic and you cannot change it later. Diskless topics are only available for bring your own cloud (BYOC) services that have the feature enabled.\n"},"fileDeleteDelayMs":{"type":"string","description":"The time to wait before deleting a file from the filesystem.\n"},"flushMessages":{"type":"string","description":"This setting allows specifying an interval at which we will force an fsync of data written to the log. For example if this was set to 1 we would fsync after every message; if it were 5 we would fsync after every five messages. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.\n"},"flushMs":{"type":"string","description":"This setting allows specifying a time interval at which we will force an fsync of data written to the log. For example if this was set to 1000 we would fsync after 1000 ms had passed. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.\n"},"indexIntervalBytes":{"type":"string","description":"This setting controls how frequently Kafka adds an index entry to its offset index. The default setting ensures that we index a message roughly every 4096 bytes. More indexing allows reads to jump closer to the exact position in the log but makes the index larger. You probably don't need to change this.\n"},"localRetentionBytes":{"type":"string","description":"This configuration controls the maximum bytes tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the limit is equal to overall retention time. If set to -1, no limit is applied but it's possible only if overall retention is also -1.\n"},"localRetentionMs":{"type":"string","description":"This configuration controls the maximum time tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the time limit is equal to overall retention time. If set to -1, no time limit is applied but it's possible only if overall retention is also -1.\n"},"maxCompactionLagMs":{"type":"string","description":"The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.\n"},"maxMessageBytes":{"type":"string","description":"The largest record batch size allowed by Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that the they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.\n"},"messageDownconversionEnable":{"type":"boolean","description":"This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. When set to false, broker will not perform down-conversion for consumers expecting an older message format. The broker responds with UNSUPPORTED_VERSION error for consume requests from such older clients. This configuration does not apply to any message format conversion that might be required for replication to followers.\n"},"messageFormatVersion":{"type":"string","description":"Specify the message format version the broker will use to append messages to the logs. The value should be a valid ApiVersion. Some examples are: 0.8.2, 0.9.0.0, 0.10.0, check ApiVersion for more details. By setting a particular message format version, the user is certifying that all the existing messages on disk are smaller or equal than the specified version. Setting this value incorrectly will cause consumers with older versions to break as they will receive messages with a format that they don't understand. Deprecated in Kafka 4.0+: this configuration is removed and any supplied value will be ignored; for services upgraded to 4.0+, the returned value may be 'None'. The possible values are `0.10.0`, `0.10.0-IV0`, `0.10.0-IV1`, `0.10.1`, `0.10.1-IV0`, `0.10.1-IV1`, `0.10.1-IV2`, `0.10.2`, `0.10.2-IV0`, `0.11.0`, `0.11.0-IV0`, `0.11.0-IV1`, `0.11.0-IV2`, `0.8.0`, `0.8.1`, `0.8.2`, `0.9.0`, `1.0`, `1.0-IV0`, `1.1`, `1.1-IV0`, `2.0`, `2.0-IV0`, `2.0-IV1`, `2.1`, `2.1-IV0`, `2.1-IV1`, `2.1-IV2`, `2.2`, `2.2-IV0`, `2.2-IV1`, `2.3`, `2.3-IV0`, `2.3-IV1`, `2.4`, `2.4-IV0`, `2.4-IV1`, `2.5`, `2.5-IV0`, `2.6`, `2.6-IV0`, `2.7`, `2.7-IV0`, `2.7-IV1`, `2.7-IV2`, `2.8`, `2.8-IV0`, `2.8-IV1`, `3.0`, `3.0-IV0`, `3.0-IV1`, `3.1`, `3.1-IV0`, `3.2`, `3.2-IV0`, `3.3`, `3.3-IV0`, `3.3-IV1`, `3.3-IV2`, `3.3-IV3`, `3.4`, `3.4-IV0`, `3.5`, `3.5-IV0`, `3.5-IV1`, `3.5-IV2`, `3.6`, `3.6-IV0`, `3.6-IV1`, `3.6-IV2`, `3.7`, `3.7-IV0`, `3.7-IV1`, `3.7-IV2`, `3.7-IV3`, `3.7-IV4`, `3.8`, `3.8-IV0`, `3.9`, `3.9-IV0`, `3.9-IV1`, `4.0`, `4.0-IV0`, `4.1` and `4.1-IV0`.\n"},"messageTimestampDifferenceMaxMs":{"type":"string","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. This configuration is ignored if message.timestamp.type=LogAppendTime.\n"},"messageTimestampType":{"type":"string","description":"Define whether the timestamp in the message is message create time or log append time. The possible values are `CreateTime` and `LogAppendTime`.\n"},"minCleanableDirtyRatio":{"type":"number","description":"This configuration controls how frequently the log compactor will attempt to clean the log (assuming log compaction is enabled). By default we will avoid cleaning a log where more than 50% of the log has been compacted. This ratio bounds the maximum space wasted in the log by duplicates (at 50% at most 50% of the log could be duplicates). A higher ratio will mean fewer, more efficient cleanings but will mean more wasted space in the log. If the max.compaction.lag.ms or the min.compaction.lag.ms configurations are also specified, then the log compactor considers the log to be eligible for compaction as soon as either: (i) the dirty ratio threshold has been met and the log has had dirty (uncompacted) records for at least the min.compaction.lag.ms duration, or (ii) if the log has had dirty (uncompacted) records for at most the max.compaction.lag.ms period.\n"},"minCompactionLagMs":{"type":"string","description":"The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.\n"},"minInsyncReplicas":{"type":"string","description":"When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.\n"},"preallocate":{"type":"boolean","description":"True if we should preallocate the file on disk when creating a new log segment.\n"},"remoteStorageEnable":{"type":"boolean","description":"Indicates whether tiered storage should be enabled.\n"},"retentionBytes":{"type":"string","description":"This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.\n"},"retentionMs":{"type":"string","description":"This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the 'delete' retention policy. This represents an SLA on how soon consumers must read their data. If set to -1, no time limit is applied.\n"},"segmentBytes":{"type":"string","description":"This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.\n"},"segmentIndexBytes":{"type":"string","description":"This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.\n"},"segmentJitterMs":{"type":"string","description":"The maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling\n"},"segmentMs":{"type":"string","description":"This configuration controls the period of time after which Kafka will force the log to roll even if the segment file isn't full to ensure that retention can delete or compact old data. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 seconds.\n"},"uncleanLeaderElectionEnable":{"type":"boolean","description":"Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.\n"}},"type":"object"},"aiven:index/KafkaTopicTag:KafkaTopicTag":{"properties":{"key":{"type":"string","description":"Tag key. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"value":{"type":"string","description":"Tag value. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"}},"type":"object","required":["key"]},"aiven:index/M3AggregatorComponent:M3AggregatorComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/M3AggregatorM3aggregator:M3AggregatorM3aggregator":{"properties":{"aggregatorHttpUri":{"type":"string","description":"M3 Aggregator HTTP URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"M3 Aggregator server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["aggregatorHttpUri","uris"]}}},"aiven:index/M3AggregatorM3aggregatorUserConfig:M3AggregatorM3aggregatorUserConfig":{"properties":{"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. Example: `grafana.example.org`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregatorUserConfigIpFilterObject:M3AggregatorM3aggregatorUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"m3Version":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (deprecated, use m3aggregator_version).\n"},"m3aggregatorVersion":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (the minimum compatible version).\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/M3AggregatorM3aggregatorUserConfigIpFilterObject:M3AggregatorM3aggregatorUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/M3AggregatorServiceIntegration:M3AggregatorServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/M3AggregatorTag:M3AggregatorTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/M3AggregatorTechEmail:M3AggregatorTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/M3DbComponent:M3DbComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/M3DbM3db:M3DbM3db":{"properties":{"httpClusterUri":{"type":"string","description":"M3DB cluster URI.\n","secret":true},"httpNodeUri":{"type":"string","description":"M3DB node URI.\n","secret":true},"influxdbUri":{"type":"string","description":"InfluxDB URI.\n","secret":true},"prometheusRemoteReadUri":{"type":"string","description":"Prometheus remote read URI.\n","secret":true},"prometheusRemoteWriteUri":{"type":"string","description":"Prometheus remote write URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"M3DB server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["httpClusterUri","httpNodeUri","influxdbUri","prometheusRemoteReadUri","prometheusRemoteWriteUri","uris"]}}},"aiven:index/M3DbM3dbUserConfig:M3DbM3dbUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. Example: `grafana.example.org`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigIpFilterObject:M3DbM3dbUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"limits":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigLimits:M3DbM3dbUserConfigLimits","description":"M3 limits\n"},"m3":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigM3:M3DbM3dbUserConfigM3","description":"M3 specific configuration options\n"},"m3Version":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (deprecated, use m3db_version).\n"},"m3coordinatorEnableGraphiteCarbonIngest":{"type":"boolean","description":"Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.\n"},"m3dbVersion":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (the minimum compatible version).\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigNamespace:M3DbM3dbUserConfigNamespace"},"description":"List of M3 namespaces\n"},"privateAccess":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigPrivateAccess:M3DbM3dbUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigPublicAccess:M3DbM3dbUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"rules":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigRules:M3DbM3dbUserConfigRules","description":"M3 rules\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigIpFilterObject:M3DbM3dbUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/M3DbM3dbUserConfigLimits:M3DbM3dbUserConfigLimits":{"properties":{"maxRecentlyQueriedSeriesBlocks":{"type":"integer","description":"The maximum number of blocks that can be read in a given lookback period. Example: \u003cspan pulumi-lang-nodejs=\"`20000`\" pulumi-lang-dotnet=\"`20000`\" pulumi-lang-go=\"`20000`\" pulumi-lang-python=\"`20000`\" pulumi-lang-yaml=\"`20000`\" pulumi-lang-java=\"`20000`\"\u003e`20000`\u003c/span\u003e.\n"},"maxRecentlyQueriedSeriesDiskBytesRead":{"type":"integer","description":"The maximum number of disk bytes that can be read in a given lookback period. Example: \u003cspan pulumi-lang-nodejs=\"`104857600`\" pulumi-lang-dotnet=\"`104857600`\" pulumi-lang-go=\"`104857600`\" pulumi-lang-python=\"`104857600`\" pulumi-lang-yaml=\"`104857600`\" pulumi-lang-java=\"`104857600`\"\u003e`104857600`\u003c/span\u003e.\n"},"maxRecentlyQueriedSeriesLookback":{"type":"string","description":"The lookback period for \u003cspan pulumi-lang-nodejs=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-dotnet=\"`MaxRecentlyQueriedSeriesBlocks`\" pulumi-lang-go=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-python=\"`max_recently_queried_series_blocks`\" pulumi-lang-yaml=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-java=\"`maxRecentlyQueriedSeriesBlocks`\"\u003e`max_recently_queried_series_blocks`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-dotnet=\"`MaxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-go=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-python=\"`max_recently_queried_series_disk_bytes_read`\" pulumi-lang-yaml=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-java=\"`maxRecentlyQueriedSeriesDiskBytesRead`\"\u003e`max_recently_queried_series_disk_bytes_read`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`15s`\" pulumi-lang-dotnet=\"`15s`\" pulumi-lang-go=\"`15s`\" pulumi-lang-python=\"`15s`\" pulumi-lang-yaml=\"`15s`\" pulumi-lang-java=\"`15s`\"\u003e`15s`\u003c/span\u003e.\n"},"queryDocs":{"type":"integer","description":"The maximum number of docs fetched in single query. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"queryRequireExhaustive":{"type":"boolean","description":"When query limits are exceeded, whether to return error or return partial results.\n"},"querySeries":{"type":"integer","description":"The maximum number of series fetched in single query. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigM3:M3DbM3dbUserConfigM3":{"properties":{"tagOptions":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigM3TagOptions:M3DbM3dbUserConfigM3TagOptions","description":"M3 Tag Options\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigM3TagOptions:M3DbM3dbUserConfigM3TagOptions":{"properties":{"allowTagNameDuplicates":{"type":"boolean","description":"Allows for duplicate tags to appear on series (not allowed by default).\n"},"allowTagValueEmpty":{"type":"boolean","description":"Allows for empty tags to appear on series (not allowed by default).\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigNamespace:M3DbM3dbUserConfigNamespace":{"properties":{"name":{"type":"string","description":"The name of the namespace. Example: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"options":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigNamespaceOptions:M3DbM3dbUserConfigNamespaceOptions","description":"Namespace options\n"},"resolution":{"type":"string","description":"The resolution for an aggregated namespace. Example: \u003cspan pulumi-lang-nodejs=\"`30s`\" pulumi-lang-dotnet=\"`30s`\" pulumi-lang-go=\"`30s`\" pulumi-lang-python=\"`30s`\" pulumi-lang-yaml=\"`30s`\" pulumi-lang-java=\"`30s`\"\u003e`30s`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unaggregated`\" pulumi-lang-dotnet=\"`Unaggregated`\" pulumi-lang-go=\"`unaggregated`\" pulumi-lang-python=\"`unaggregated`\" pulumi-lang-yaml=\"`unaggregated`\" pulumi-lang-java=\"`unaggregated`\"\u003e`unaggregated`\u003c/span\u003e. The type of aggregation (aggregated/unaggregated).\n"}},"type":"object","required":["name","type"]},"aiven:index/M3DbM3dbUserConfigNamespaceOptions:M3DbM3dbUserConfigNamespaceOptions":{"properties":{"retentionOptions":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigNamespaceOptionsRetentionOptions:M3DbM3dbUserConfigNamespaceOptionsRetentionOptions","description":"Retention options\n"},"snapshotEnabled":{"type":"boolean","description":"Controls whether M3DB will create snapshot files for this namespace.\n"},"writesToCommitlog":{"type":"boolean","description":"Controls whether M3DB will include writes to this namespace in the commitlog.\n"}},"type":"object","required":["retentionOptions"]},"aiven:index/M3DbM3dbUserConfigNamespaceOptionsRetentionOptions:M3DbM3dbUserConfigNamespaceOptionsRetentionOptions":{"properties":{"blockDataExpiryDuration":{"type":"string","description":"Controls how long we wait before expiring stale data. Example: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"},"blocksizeDuration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk. Example: \u003cspan pulumi-lang-nodejs=\"`2h`\" pulumi-lang-dotnet=\"`2h`\" pulumi-lang-go=\"`2h`\" pulumi-lang-python=\"`2h`\" pulumi-lang-yaml=\"`2h`\" pulumi-lang-java=\"`2h`\"\u003e`2h`\u003c/span\u003e.\n"},"bufferFutureDuration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted. Example: \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"bufferPastDuration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted. Example: \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"retentionPeriodDuration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace. Example: \u003cspan pulumi-lang-nodejs=\"`48h`\" pulumi-lang-dotnet=\"`48h`\" pulumi-lang-go=\"`48h`\" pulumi-lang-python=\"`48h`\" pulumi-lang-yaml=\"`48h`\" pulumi-lang-java=\"`48h`\"\u003e`48h`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigPrivateAccess:M3DbM3dbUserConfigPrivateAccess":{"properties":{"m3coordinator":{"type":"boolean","description":"Allow clients to connect to m3coordinator with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigPublicAccess:M3DbM3dbUserConfigPublicAccess":{"properties":{"m3coordinator":{"type":"boolean","description":"Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigRules:M3DbM3dbUserConfigRules":{"properties":{"mappings":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigRulesMapping:M3DbM3dbUserConfigRulesMapping"},"description":"List of M3 mapping rules\n"}},"type":"object"},"aiven:index/M3DbM3dbUserConfigRulesMapping:M3DbM3dbUserConfigRulesMapping":{"properties":{"aggregations":{"type":"array","items":{"type":"string"},"description":"List of aggregations to be applied.\n"},"drop":{"type":"boolean","description":"Only store the derived metric (as specified in the roll-up rules), if any.\n"},"filter":{"type":"string","description":"Matching metric names with wildcards (using __name__:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator. Example: `__name__:disk_* host:important-42 mount:!*/sda`.\n"},"name":{"type":"string","description":"The (optional) name of the rule. Example: `important disk metrics`.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by glob (=wildcards).\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`namespacesString`\" pulumi-lang-dotnet=\"`NamespacesString`\" pulumi-lang-go=\"`namespacesString`\" pulumi-lang-python=\"`namespaces_string`\" pulumi-lang-yaml=\"`namespacesString`\" pulumi-lang-java=\"`namespacesString`\"\u003e`namespaces_string`\u003c/span\u003e instead."},"namespacesObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigRulesMappingNamespacesObject:M3DbM3dbUserConfigRulesMappingNamespacesObject"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by exact match of retention period and resolution\n"},"namespacesStrings":{"type":"array","items":{"type":"string"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by glob (=wildcards).\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfigRulesMappingTag:M3DbM3dbUserConfigRulesMappingTag"},"description":"List of tags to be appended to matching metrics\n"}},"type":"object","required":["filter"]},"aiven:index/M3DbM3dbUserConfigRulesMappingNamespacesObject:M3DbM3dbUserConfigRulesMappingNamespacesObject":{"properties":{"resolution":{"type":"string","description":"The resolution for the matching namespace. Example: \u003cspan pulumi-lang-nodejs=\"`30s`\" pulumi-lang-dotnet=\"`30s`\" pulumi-lang-go=\"`30s`\" pulumi-lang-python=\"`30s`\" pulumi-lang-yaml=\"`30s`\" pulumi-lang-java=\"`30s`\"\u003e`30s`\u003c/span\u003e.\n"},"retention":{"type":"string","description":"The retention period of the matching namespace. Example: \u003cspan pulumi-lang-nodejs=\"`48h`\" pulumi-lang-dotnet=\"`48h`\" pulumi-lang-go=\"`48h`\" pulumi-lang-python=\"`48h`\" pulumi-lang-yaml=\"`48h`\" pulumi-lang-java=\"`48h`\"\u003e`48h`\u003c/span\u003e.\n"}},"type":"object","required":["resolution"]},"aiven:index/M3DbM3dbUserConfigRulesMappingTag:M3DbM3dbUserConfigRulesMappingTag":{"properties":{"name":{"type":"string","description":"Name of the tag. Example: \u003cspan pulumi-lang-nodejs=\"`myTag`\" pulumi-lang-dotnet=\"`MyTag`\" pulumi-lang-go=\"`myTag`\" pulumi-lang-python=\"`my_tag`\" pulumi-lang-yaml=\"`myTag`\" pulumi-lang-java=\"`myTag`\"\u003e`my_tag`\u003c/span\u003e.\n"},"value":{"type":"string","description":"Value of the tag. Example: \u003cspan pulumi-lang-nodejs=\"`myValue`\" pulumi-lang-dotnet=\"`MyValue`\" pulumi-lang-go=\"`myValue`\" pulumi-lang-python=\"`my_value`\" pulumi-lang-yaml=\"`myValue`\" pulumi-lang-java=\"`myValue`\"\u003e`my_value`\u003c/span\u003e.\n"}},"type":"object","required":["name","value"]},"aiven:index/M3DbServiceIntegration:M3DbServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/M3DbTag:M3DbTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/M3DbTechEmail:M3DbTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/MySqlComponent:MySqlComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/MySqlMysql:MySqlMysql":{"properties":{"params":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlMysqlParam:MySqlMysqlParam"},"description":"MySQL connection parameters.\n","secret":true},"replicaUri":{"type":"string","description":"MySQL replica URI for services with a replica.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"MySQL standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"MySQL syncing connection URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"MySQL connection URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["params","replicaUri","standbyUris","syncingUris","uris"]}}},"aiven:index/MySqlMysqlParam:MySqlMysqlParam":{"properties":{"databaseName":{"type":"string","description":"Thr name of the primary MySQL database.\n","secret":true},"host":{"type":"string","description":"MySQL host IP or name.\n","secret":true},"password":{"type":"string","description":"The password for the admin service user.\n","secret":true},"port":{"type":"integer","description":"MySQL port.\n","secret":true},"sslmode":{"type":"string","description":"MySQL SSL mode setting. Always set to \"require\".\n","secret":true},"user":{"type":"string","description":"The username for the admin service user.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["databaseName","host","password","port","sslmode","user"]}}},"aiven:index/MySqlMysqlUserConfig:MySqlMysqlUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n","willReplaceOnChanges":true},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"binlogRetentionPeriod":{"type":"integer","description":"The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigIpFilterObject:MySqlMysqlUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigMigration:MySqlMysqlUserConfigMigration","description":"Migrate data from existing server\n"},"mysql":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigMysql:MySqlMysqlUserConfigMysql","description":"mysql.conf configuration values\n"},"mysqlIncrementalBackup":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigMysqlIncrementalBackup:MySqlMysqlUserConfigMysqlIncrementalBackup","description":"MySQL incremental backup configuration\n"},"mysqlVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, and newer. MySQL major version.\n"},"privateAccess":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigPrivateAccess:MySqlMysqlUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigPrivatelinkAccess:MySqlMysqlUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfigPublicAccess:MySqlMysqlUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n","willReplaceOnChanges":true},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/MySqlMysqlUserConfigIpFilterObject:MySqlMysqlUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/MySqlMysqlUserConfigMigration:MySqlMysqlUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"dumpTool":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`mydumper`\" pulumi-lang-dotnet=\"`Mydumper`\" pulumi-lang-go=\"`mydumper`\" pulumi-lang-python=\"`mydumper`\" pulumi-lang-yaml=\"`mydumper`\" pulumi-lang-java=\"`mydumper`\"\u003e`mydumper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mysqldump`\" pulumi-lang-dotnet=\"`Mysqldump`\" pulumi-lang-go=\"`mysqldump`\" pulumi-lang-python=\"`mysqldump`\" pulumi-lang-yaml=\"`mysqldump`\" pulumi-lang-java=\"`mysqldump`\"\u003e`mysqldump`\u003c/span\u003e. Experimental! Tool to use for database dump and restore during migration. Default: mysqldump.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"reestablishReplication":{"type":"boolean","description":"Skip dump-restore part and start replication. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"]},"aiven:index/MySqlMysqlUserConfigMysql:MySqlMysqlUserConfigMysql":{"properties":{"connectTimeout":{"type":"integer","description":"The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"defaultTimeZone":{"type":"string","description":"Default server time zone as an offset from UTC (from -12:00 to +12:00), a time zone name, or `SYSTEM` to use the MySQL server default. Example: `+03:00`.\n"},"groupConcatMaxLen":{"type":"integer","description":"The maximum permitted result length in bytes for the GROUP_CONCAT() function. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"informationSchemaStatsExpiry":{"type":"integer","description":"The time, in seconds, before cached statistics expire. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"},"innodbChangeBufferMaxSize":{"type":"integer","description":"Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool. Default is 25. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"innodbFlushNeighbors":{"type":"integer","description":"Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent (default is 1): 0 - dirty pages in the same extent are not flushed, 1 - flush contiguous dirty pages in the same extent, 2 - flush dirty pages in the same extent. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"innodbFtMinTokenSize":{"type":"integer","description":"Minimum length of words that are stored in an InnoDB FULLTEXT index. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"innodbFtServerStopwordTable":{"type":"string","description":"This option is used to specify your own InnoDB FULLTEXT index stopword list for all InnoDB tables. Example: `db_name/table_name`.\n"},"innodbLockWaitTimeout":{"type":"integer","description":"The length of time in seconds an InnoDB transaction waits for a row lock before giving up. Default is 120. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"innodbLogBufferSize":{"type":"integer","description":"The size in bytes of the buffer that InnoDB uses to write to the log files on disk.\n"},"innodbOnlineAlterLogMaxSize":{"type":"integer","description":"The upper limit in bytes on the size of the temporary log files used during online DDL operations for InnoDB tables.\n"},"innodbPrintAllDeadlocks":{"type":"boolean","description":"When enabled, information about all deadlocks in InnoDB user transactions is recorded in the error log. Disabled by default.\n"},"innodbReadIoThreads":{"type":"integer","description":"The number of I/O threads for read operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"innodbRollbackOnTimeout":{"type":"boolean","description":"When enabled a transaction timeout causes InnoDB to abort and roll back the entire transaction. Changing this parameter will lead to a restart of the MySQL service.\n"},"innodbThreadConcurrency":{"type":"integer","description":"Defines the maximum number of threads permitted inside of InnoDB. Default is 0 (infinite concurrency - no limit). Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"innodbWriteIoThreads":{"type":"integer","description":"The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"interactiveTimeout":{"type":"integer","description":"The number of seconds the server waits for activity on an interactive connection before closing it. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"internalTmpMemStorageEngine":{"type":"string","description":"Enum: `MEMORY`, `TempTable`. The storage engine for in-memory internal temporary tables.\n"},"logOutput":{"type":"string","description":"Enum: `INSIGHTS`, `INSIGHTS,TABLE`, `NONE`, `TABLE`. The slow log output destination when slow*query*log is ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow*log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow*log table, choose TABLE. To silence slow logs, choose NONE.\n"},"longQueryTime":{"type":"number","description":"The slow*query*logs work as SQL statements that take more than long*query*time seconds to execute. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"lowerCaseTableNames":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Sets how table and database names are stored and compared. 0 = case-sensitive (default), 1 = names stored lowercase, comparisons are case-insensitive. This option can only be set when creating the service and cannot be changed later. See https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html for details.\n","willReplaceOnChanges":true},"maxAllowedPacket":{"type":"integer","description":"Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M).\n"},"maxHeapTableSize":{"type":"integer","description":"Limits the size of internal in-memory tables. Also set tmp*table*size. Default is 16777216 (16M).\n"},"netBufferLength":{"type":"integer","description":"Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`16384`\" pulumi-lang-dotnet=\"`16384`\" pulumi-lang-go=\"`16384`\" pulumi-lang-python=\"`16384`\" pulumi-lang-yaml=\"`16384`\" pulumi-lang-java=\"`16384`\"\u003e`16384`\u003c/span\u003e.\n"},"netReadTimeout":{"type":"integer","description":"The number of seconds to wait for more data from a connection before aborting the read. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"netWriteTimeout":{"type":"integer","description":"The number of seconds to wait for a block to be written to a connection before aborting the write. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"slowQueryLog":{"type":"boolean","description":"Slow query log enables capturing of slow queries. Setting slow*query*log to false also truncates the mysql.slow_log table.\n"},"sortBufferSize":{"type":"integer","description":"Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K). Example: \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e.\n"},"sqlMode":{"type":"string","description":"Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned. Example: `ANSI,TRADITIONAL`.\n"},"sqlRequirePrimaryKey":{"type":"boolean","description":"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.\n"},"tmpTableSize":{"type":"integer","description":"Limits the size of internal in-memory tables. Also set max*heap*table_size. Default is 16777216 (16M).\n"},"waitTimeout":{"type":"integer","description":"The number of seconds the server waits for activity on a noninteractive connection before closing it. Example: \u003cspan pulumi-lang-nodejs=\"`28800`\" pulumi-lang-dotnet=\"`28800`\" pulumi-lang-go=\"`28800`\" pulumi-lang-python=\"`28800`\" pulumi-lang-yaml=\"`28800`\" pulumi-lang-java=\"`28800`\"\u003e`28800`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/MySqlMysqlUserConfigMysqlIncrementalBackup:MySqlMysqlUserConfigMysqlIncrementalBackup":{"properties":{"enabled":{"type":"boolean","description":"Enable periodic incremental backups. When enabled, full*backup*week_schedule must be set. Incremental backups only store changes since the last backup, making them faster and more storage-efficient than full backups. This is particularly useful for large databases where daily full backups would be too time-consuming or expensive.\n"},"fullBackupWeekSchedule":{"type":"string","description":"Comma-separated list of days of the week when full backups should be created. Valid values: mon, tue, wed, thu, fri, sat, sun. Example: `sun,wed`.\n"}},"type":"object","required":["enabled"]},"aiven:index/MySqlMysqlUserConfigPrivateAccess:MySqlMysqlUserConfigPrivateAccess":{"properties":{"mysql":{"type":"boolean","description":"Allow clients to connect to mysql with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"mysqlx":{"type":"boolean","description":"Allow clients to connect to mysqlx with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/MySqlMysqlUserConfigPrivatelinkAccess:MySqlMysqlUserConfigPrivatelinkAccess":{"properties":{"mysql":{"type":"boolean","description":"Enable mysql.\n"},"mysqlx":{"type":"boolean","description":"Enable mysqlx.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/MySqlMysqlUserConfigPublicAccess:MySqlMysqlUserConfigPublicAccess":{"properties":{"mysql":{"type":"boolean","description":"Allow clients to connect to mysql from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"mysqlx":{"type":"boolean","description":"Allow clients to connect to mysqlx from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/MySqlServiceIntegration:MySqlServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/MySqlTag:MySqlTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/MySqlTechEmail:MySqlTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/MysqlDatabaseTimeouts:MysqlDatabaseTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/MysqlUserTimeouts:MysqlUserTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OpenSearchComponent:OpenSearchComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/OpenSearchOpensearch:OpenSearchOpensearch":{"properties":{"kibanaUri":{"type":"string","description":"URI for Kibana dashboard frontend.\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"opensearchDashboardsUri":{"type":"string","description":"URI for OpenSearch dashboard frontend.\n","secret":true},"password":{"type":"string","description":"OpenSearch password.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"OpenSearch server URIs.\n","secret":true},"username":{"type":"string","description":"OpenSearch username.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["kibanaUri","opensearchDashboardsUri","password","uris","username"]}}},"aiven:index/OpenSearchOpensearchUserConfig:OpenSearchOpensearchUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"azureMigration":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigAzureMigration:OpenSearchOpensearchUserConfigAzureMigration","description":"Azure migration settings\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"disableReplicationFactorAdjustment":{"type":"boolean","description":"Disable automatic replication factor adjustment for multi-node services. By default, Aiven ensures all indexes are replicated at least to two nodes. Note: Due to potential data loss in case of losing a service node, this setting can not be activated unless specifically allowed for the project.\n"},"gcsMigration":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigGcsMigration:OpenSearchOpensearchUserConfigGcsMigration","description":"Google Cloud Storage migration settings\n"},"indexPatterns":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigIndexPattern:OpenSearchOpensearchUserConfigIndexPattern"},"description":"Index patterns\n"},"indexRollup":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigIndexRollup:OpenSearchOpensearchUserConfigIndexRollup","description":"Index rollup settings\n"},"indexTemplate":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigIndexTemplate:OpenSearchOpensearchUserConfigIndexTemplate","description":"Template settings for all new indexes\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigIpFilterObject:OpenSearchOpensearchUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"jwt":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigJwt:OpenSearchOpensearchUserConfigJwt","description":"OpenSearch JWT Configuration\n"},"keepIndexRefreshInterval":{"type":"boolean","description":"Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.\n"},"maxIndexCount":{"type":"integer","description":"Use\u003cspan pulumi-lang-nodejs=\" indexPatterns \" pulumi-lang-dotnet=\" IndexPatterns \" pulumi-lang-go=\" indexPatterns \" pulumi-lang-python=\" index_patterns \" pulumi-lang-yaml=\" indexPatterns \" pulumi-lang-java=\" indexPatterns \"\u003e index_patterns \u003c/span\u003einstead. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"openid":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpenid:OpenSearchOpensearchUserConfigOpenid","description":"OpenSearch OpenID Connect Configuration\n"},"opensearch":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearch:OpenSearchOpensearchUserConfigOpensearch","description":"OpenSearch settings\n"},"opensearchDashboards":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchDashboards:OpenSearchOpensearchUserConfigOpensearchDashboards","description":"OpenSearch Dashboards settings\n"},"opensearchVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, `2.19`, `3.3`, and newer. OpenSearch version.\n"},"privateAccess":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigPrivateAccess:OpenSearchOpensearchUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigPrivatelinkAccess:OpenSearchOpensearchUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigPublicAccess:OpenSearchOpensearchUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"s3Migration":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigS3Migration:OpenSearchOpensearchUserConfigS3Migration","description":"AWS S3 / AWS S3 compatible migration settings\n"},"saml":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigSaml:OpenSearchOpensearchUserConfigSaml","description":"OpenSearch SAML configuration\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigAzureMigration:OpenSearchOpensearchUserConfigAzureMigration":{"properties":{"account":{"type":"string","description":"Account name.\n"},"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"container":{"type":"string","description":"Azure container name.\n"},"endpointSuffix":{"type":"string","description":"Defines the DNS suffix for Azure Storage endpoints.\n"},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"key":{"type":"string","description":"Azure account secret key. One of key or\u003cspan pulumi-lang-nodejs=\" sasToken \" pulumi-lang-dotnet=\" SasToken \" pulumi-lang-go=\" sasToken \" pulumi-lang-python=\" sas_token \" pulumi-lang-yaml=\" sasToken \" pulumi-lang-java=\" sasToken \"\u003e sas_token \u003c/span\u003eshould be specified.\n","secret":true},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"sasToken":{"type":"string","description":"A shared access signatures (SAS) token. One of key or\u003cspan pulumi-lang-nodejs=\" sasToken \" pulumi-lang-dotnet=\" SasToken \" pulumi-lang-go=\" sasToken \" pulumi-lang-python=\" sas_token \" pulumi-lang-yaml=\" sasToken \" pulumi-lang-java=\" sasToken \"\u003e sas_token \u003c/span\u003eshould be specified.\n","secret":true},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["account","basePath","container","indices","snapshotName"]},"aiven:index/OpenSearchOpensearchUserConfigGcsMigration:OpenSearchOpensearchUserConfigGcsMigration":{"properties":{"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"bucket":{"type":"string","description":"The path to the repository data within its container.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"credentials":{"type":"string","description":"Google Cloud Storage credentials file content.\n","secret":true},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["basePath","bucket","credentials","indices","snapshotName"]},"aiven:index/OpenSearchOpensearchUserConfigIndexPattern:OpenSearchOpensearchUserConfigIndexPattern":{"properties":{"maxIndexCount":{"type":"integer","description":"Maximum number of indexes to keep. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pattern":{"type":"string","description":"fnmatch pattern. Example: `logs_*_foo_*`.\n"},"sortingAlgorithm":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alphabetical`\" pulumi-lang-dotnet=\"`Alphabetical`\" pulumi-lang-go=\"`alphabetical`\" pulumi-lang-python=\"`alphabetical`\" pulumi-lang-yaml=\"`alphabetical`\" pulumi-lang-java=\"`alphabetical`\"\u003e`alphabetical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creationDate`\" pulumi-lang-dotnet=\"`CreationDate`\" pulumi-lang-go=\"`creationDate`\" pulumi-lang-python=\"`creation_date`\" pulumi-lang-yaml=\"`creationDate`\" pulumi-lang-java=\"`creationDate`\"\u003e`creation_date`\u003c/span\u003e. Deletion sorting algorithm. Default: \u003cspan pulumi-lang-nodejs=\"`creationDate`\" pulumi-lang-dotnet=\"`CreationDate`\" pulumi-lang-go=\"`creationDate`\" pulumi-lang-python=\"`creation_date`\" pulumi-lang-yaml=\"`creationDate`\" pulumi-lang-java=\"`creationDate`\"\u003e`creation_date`\u003c/span\u003e.\n"}},"type":"object","required":["maxIndexCount","pattern"]},"aiven:index/OpenSearchOpensearchUserConfigIndexRollup:OpenSearchOpensearchUserConfigIndexRollup":{"properties":{"rollupDashboardsEnabled":{"type":"boolean","description":"Whether rollups are enabled in OpenSearch Dashboards. Defaults to true.\n"},"rollupEnabled":{"type":"boolean","description":"Whether the rollup plugin is enabled. Defaults to true.\n"},"rollupSearchBackoffCount":{"type":"integer","description":"How many retries the plugin should attempt for failed rollup jobs. Defaults to 5.\n"},"rollupSearchBackoffMillis":{"type":"integer","description":"The backoff time between retries for failed rollup jobs. Defaults to 1000ms.\n"},"rollupSearchSearchAllJobs":{"type":"boolean","description":"Whether OpenSearch should return all jobs that match all specified search terms. If disabled, OpenSearch returns just one, as opposed to all, of the jobs that matches the search terms. Defaults to false.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigIndexTemplate:OpenSearchOpensearchUserConfigIndexTemplate":{"properties":{"mappingNestedObjectsLimit":{"type":"integer","description":"The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"numberOfReplicas":{"type":"integer","description":"The number of replicas each primary shard has. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"numberOfShards":{"type":"integer","description":"The number of primary shards that an index should have. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigIpFilterObject:OpenSearchOpensearchUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/OpenSearchOpensearchUserConfigJwt:OpenSearchOpensearchUserConfigJwt":{"properties":{"enabled":{"type":"boolean","description":"Enables or disables JWT-based authentication for OpenSearch. When enabled, users can authenticate using JWT tokens. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"jwtClockSkewToleranceSeconds":{"type":"integer","description":"The maximum allowed time difference in seconds between the JWT issuer's clock and the OpenSearch server's clock. This helps prevent token validation failures due to minor time synchronization issues. Default: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"jwtHeader":{"type":"string","description":"The HTTP header name where the JWT token is transmitted. Typically `Authorization` for Bearer tokens. Default: `Authorization`.\n"},"jwtUrlParameter":{"type":"string","description":"If the JWT token is transmitted as a URL parameter instead of an HTTP header, specify the parameter name here. Example: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n"},"requiredAudience":{"type":"string","description":"If specified, the JWT must contain an \u003cspan pulumi-lang-nodejs=\"`aud`\" pulumi-lang-dotnet=\"`Aud`\" pulumi-lang-go=\"`aud`\" pulumi-lang-python=\"`aud`\" pulumi-lang-yaml=\"`aud`\" pulumi-lang-java=\"`aud`\"\u003e`aud`\u003c/span\u003e claim that matches this value. This provides additional security by ensuring the JWT was issued for the expected audience. Example: `https://myapp.example.com`.\n"},"requiredIssuer":{"type":"string","description":"If specified, the JWT must contain an \u003cspan pulumi-lang-nodejs=\"`iss`\" pulumi-lang-dotnet=\"`Iss`\" pulumi-lang-go=\"`iss`\" pulumi-lang-python=\"`iss`\" pulumi-lang-yaml=\"`iss`\" pulumi-lang-java=\"`iss`\"\u003e`iss`\u003c/span\u003e claim that matches this value. This provides additional security by ensuring the JWT was issued by the expected issuer. Example: `https://auth.example.com`.\n"},"rolesKey":{"type":"string","description":"The key in the JWT payload that contains the user's roles. If specified, roles will be extracted from the JWT for authorization. Example: \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e.\n"},"signingKey":{"type":"string","description":"The secret key used to sign and verify JWT tokens. This should be a secure, randomly generated key HMAC key or public RSA/ECDSA key. Example: `MrJiimVjKgjRKCSk0s6rcEuCz17v5ZyFRqKARfZbuZE= (HMAC) or -----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\n-----END PUBLIC KEY----- (PEM)`.\n","secret":true},"subjectKey":{"type":"string","description":"The key in the JWT payload that contains the user's subject identifier. If not specified, the \u003cspan pulumi-lang-nodejs=\"`sub`\" pulumi-lang-dotnet=\"`Sub`\" pulumi-lang-go=\"`sub`\" pulumi-lang-python=\"`sub`\" pulumi-lang-yaml=\"`sub`\" pulumi-lang-java=\"`sub`\"\u003e`sub`\u003c/span\u003e claim is used by default. Example: \u003cspan pulumi-lang-nodejs=\"`sub`\" pulumi-lang-dotnet=\"`Sub`\" pulumi-lang-go=\"`sub`\" pulumi-lang-python=\"`sub`\" pulumi-lang-yaml=\"`sub`\" pulumi-lang-java=\"`sub`\"\u003e`sub`\u003c/span\u003e.\n"}},"type":"object","required":["enabled","signingKey"]},"aiven:index/OpenSearchOpensearchUserConfigOpenid:OpenSearchOpensearchUserConfigOpenid":{"properties":{"clientId":{"type":"string","description":"The ID of the OpenID Connect client configured in your IdP. Required.\n"},"clientSecret":{"type":"string","description":"The client secret of the OpenID Connect client configured in your IdP. Required.\n","secret":true},"connectUrl":{"type":"string","description":"The URL of your IdP where the Security plugin can find the OpenID Connect metadata/configuration settings. Example: `https://test-account.okta.com/app/exk491jujcVc83LEX697/sso/saml/metadata`.\n"},"enabled":{"type":"boolean","description":"Enables or disables OpenID Connect authentication for OpenSearch. When enabled, users can authenticate using OpenID Connect with an Identity Provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"header":{"type":"string","description":"HTTP header name of the JWT token. Optional. Default is Authorization. Default: `Authorization`.\n"},"jwtHeader":{"type":"string","description":"The HTTP header that stores the token. Typically the Authorization header with the Bearer schema: Authorization: Bearer \\n\\n. Optional. Default is Authorization. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"},"jwtUrlParameter":{"type":"string","description":"If the token is not transmitted in the HTTP header, but as an URL parameter, define the name of the parameter here. Optional. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"},"refreshRateLimitCount":{"type":"integer","description":"The maximum number of unknown key IDs in the time frame. Default is 10. Optional. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"refreshRateLimitTimeWindowMs":{"type":"integer","description":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. Optional.Default is 10000 (10 seconds). Default: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"rolesKey":{"type":"string","description":"The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated list of roles. Required only if you want to use roles in the JWT. Example: \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e.\n"},"scope":{"type":"string","description":"The scope of the identity token issued by the IdP. Optional. Default is openid profile email address phone.\n"},"subjectKey":{"type":"string","description":"The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is used. Most IdP providers use the\u003cspan pulumi-lang-nodejs=\" preferredUsername \" pulumi-lang-dotnet=\" PreferredUsername \" pulumi-lang-go=\" preferredUsername \" pulumi-lang-python=\" preferred_username \" pulumi-lang-yaml=\" preferredUsername \" pulumi-lang-java=\" preferredUsername \"\u003e preferred_username \u003c/span\u003eclaim. Optional. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","clientSecret","connectUrl","enabled"]},"aiven:index/OpenSearchOpensearchUserConfigOpensearch:OpenSearchOpensearchUserConfigOpensearch":{"properties":{"actionAutoCreateIndexEnabled":{"type":"boolean","description":"Explicitly allow or block automatic creation of indices. Defaults to true.\n"},"actionDestructiveRequiresName":{"type":"boolean","description":"Require explicit index names when deleting.\n"},"authFailureListeners":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListeners:OpenSearchOpensearchUserConfigOpensearchAuthFailureListeners","description":"Opensearch Security Plugin Settings\n"},"clusterFilecacheRemoteDataRatio":{"type":"number","description":"Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 0.\n"},"clusterMaxShardsPerNode":{"type":"integer","description":"Controls the number of shards allowed in the cluster per data node. Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"clusterRemoteStore":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterRemoteStore:OpenSearchOpensearchUserConfigOpensearchClusterRemoteStore"},"clusterRoutingAllocationBalancePreferPrimary":{"type":"boolean","description":"When set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes. Enabling this setting does not always guarantee an equal number of primary shards on each node, especially in the event of a failover. Changing this setting to false after it was set to true does not invoke redistribution of primary shards. Default is false.\n"},"clusterRoutingAllocationNodeConcurrentRecoveries":{"type":"integer","description":"How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2.\n"},"clusterSearchRequestSlowlog":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog:OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog"},"diskWatermarks":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchDiskWatermarks:OpenSearchOpensearchUserConfigOpensearchDiskWatermarks","description":"Watermark settings\n"},"emailSenderName":{"type":"string","description":"Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. Example: `alert-sender`.\n"},"emailSenderPassword":{"type":"string","description":"Sender password for Opensearch alerts to authenticate with SMTP server. Example: `very-secure-mail-password`.\n","secret":true},"emailSenderUsername":{"type":"string","description":"Sender username for Opensearch alerts. Example: `jane@example.com`.\n"},"enableRemoteBackedStorage":{"type":"boolean","description":"Enable remote-backed storage.\n"},"enableSearchableSnapshots":{"type":"boolean","description":"Enable searchable snapshots.\n"},"enableSecurityAudit":{"type":"boolean","description":"Enable/Disable security audit.\n"},"enableSnapshotApi":{"type":"boolean","description":"Enable/Disable snapshot API for custom repositories, this requires security management to be enabled.\n"},"httpMaxContentLength":{"type":"integer","description":"Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes.\n"},"httpMaxHeaderSize":{"type":"integer","description":"The max size of allowed headers, in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e.\n"},"httpMaxInitialLineLength":{"type":"integer","description":"The max length of an HTTP URL, in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e.\n"},"indicesFielddataCacheSize":{"type":"integer","description":"Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations.\n"},"indicesMemoryIndexBufferSize":{"type":"integer","description":"Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance.\n"},"indicesMemoryMaxIndexBufferSize":{"type":"integer","description":"Absolute value. Default is unbound. Doesn't work without indices.memory.index*buffer*size. Maximum amount of heap used for query cache, an absolute indices.memory.index*buffer*size maximum hard limit.\n"},"indicesMemoryMinIndexBufferSize":{"type":"integer","description":"Absolute value. Default is 48mb. Doesn't work without indices.memory.index*buffer*size. Minimum amount of heap used for query cache, an absolute indices.memory.index*buffer*size minimal hard limit.\n"},"indicesQueriesCacheSize":{"type":"integer","description":"Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality.\n"},"indicesQueryBoolMaxClauseCount":{"type":"integer","description":"Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value.\n"},"indicesRecoveryMaxBytesPerSec":{"type":"integer","description":"Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb.\n"},"indicesRecoveryMaxConcurrentFileChunks":{"type":"integer","description":"Number of file chunks sent in parallel for each recovery. Defaults to 2.\n"},"ismEnabled":{"type":"boolean","description":"Specifies whether ISM is enabled or not.\n"},"ismHistoryEnabled":{"type":"boolean","description":"Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document.\n"},"ismHistoryMaxAge":{"type":"integer","description":"The maximum age before rolling over the audit history index in hours. Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"ismHistoryMaxDocs":{"type":"integer","description":"The maximum number of documents before rolling over the audit history index.\n"},"ismHistoryRolloverCheckPeriod":{"type":"integer","description":"The time between rollover checks for the audit history index in hours. Example: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"ismHistoryRolloverRetentionPeriod":{"type":"integer","description":"How long audit history indices are kept in days. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"knnMemoryCircuitBreakerEnabled":{"type":"boolean","description":"Enable or disable KNN memory circuit breaker. Defaults to true.\n"},"knnMemoryCircuitBreakerLimit":{"type":"integer","description":"Maximum amount of memory in percentage that can be used for the KNN index. Defaults to 50% of the JVM heap size. 0 is used to set it to null which can be used to invalidate caches.\n"},"mlCommonsModelAccessControlEnabled":{"type":"boolean","description":"Enable or disable model access control for ML Commons. When enabled, access to ML models is controlled by security permissions. Defaults to false.\n"},"mlCommonsNativeMemoryThreshold":{"type":"integer","description":"Native memory threshold percentage for ML Commons. Controls the maximum percentage of native memory that can be used by ML Commons operations. Defaults to 90%.\n"},"mlCommonsOnlyRunOnMlNode":{"type":"boolean","description":"Enable or disable running ML Commons tasks only on ML nodes. When enabled, ML tasks will only execute on nodes designated as ML nodes. Defaults to true.\n"},"nodeSearchCacheSize":{"type":"string","description":"Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 5gb. Requires restarting all OpenSearch nodes.\n"},"overrideMainResponseVersion":{"type":"boolean","description":"Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false. Deprecated and ignored for service version 3.3 and higher.\n"},"pluginsAlertingFilterByBackendRoles":{"type":"boolean","description":"Enable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false.\n"},"reindexRemoteWhitelists":{"type":"array","items":{"type":"string"},"description":"Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart.\n"},"remoteStore":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchRemoteStore:OpenSearchOpensearchUserConfigOpensearchRemoteStore"},"scriptMaxCompilationsRate":{"type":"string","description":"Script compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context. Example: `75/5m`.\n"},"searchBackpressure":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressure:OpenSearchOpensearchUserConfigOpensearchSearchBackpressure","description":"Search Backpressure Settings\n"},"searchInsightsTopQueries":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries"},"searchMaxBuckets":{"type":"integer","description":"Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined. Example: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"segrep":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSegrep:OpenSearchOpensearchUserConfigOpensearchSegrep","description":"Segment Replication Backpressure Settings\n"},"shardIndexingPressure":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressure:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressure","description":"Shard indexing back pressure settings\n"},"threadPoolAnalyzeQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolAnalyzeSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolForceMergeSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolGetQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolGetSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolSearchQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolSearchSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolSearchThrottledQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolSearchThrottledSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolWriteQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolWriteSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListeners:OpenSearchOpensearchUserConfigOpensearchAuthFailureListeners":{"properties":{"internalAuthenticationBackendLimiting":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting:OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting"},"ipRateLimiting":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting:OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting","description":"IP address rate limiting settings\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting:OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting":{"properties":{"allowedTries":{"type":"integer","description":"The number of login attempts allowed before login is blocked. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"authenticationBackend":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. internal*authentication*backend*limiting.authentication*backend.\n"},"blockExpirySeconds":{"type":"integer","description":"The duration of time that login remains blocked after a failed login. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"maxBlockedClients":{"type":"integer","description":"internal*authentication*backend*limiting.max*blocked_clients. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"maxTrackedClients":{"type":"integer","description":"The maximum number of tracked IP addresses that have failed login. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"timeWindowSeconds":{"type":"integer","description":"The window of time in which the value for \u003cspan pulumi-lang-nodejs=\"`allowedTries`\" pulumi-lang-dotnet=\"`AllowedTries`\" pulumi-lang-go=\"`allowedTries`\" pulumi-lang-python=\"`allowed_tries`\" pulumi-lang-yaml=\"`allowedTries`\" pulumi-lang-java=\"`allowedTries`\"\u003e`allowed_tries`\u003c/span\u003e is enforced. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e. internal*authentication*backend_limiting.type.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting:OpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting":{"properties":{"allowedTries":{"type":"integer","description":"The number of login attempts allowed before login is blocked. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"blockExpirySeconds":{"type":"integer","description":"The duration of time that login remains blocked after a failed login. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"maxBlockedClients":{"type":"integer","description":"The maximum number of blocked IP addresses. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"maxTrackedClients":{"type":"integer","description":"The maximum number of tracked IP addresses that have failed login. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"timeWindowSeconds":{"type":"integer","description":"The window of time in which the value for \u003cspan pulumi-lang-nodejs=\"`allowedTries`\" pulumi-lang-dotnet=\"`AllowedTries`\" pulumi-lang-go=\"`allowedTries`\" pulumi-lang-python=\"`allowed_tries`\" pulumi-lang-yaml=\"`allowedTries`\" pulumi-lang-java=\"`allowedTries`\"\u003e`allowed_tries`\u003c/span\u003e is enforced. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e. The type of rate limiting.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterRemoteStore:OpenSearchOpensearchUserConfigOpensearchClusterRemoteStore":{"properties":{"stateGlobalMetadataUploadTimeout":{"type":"string","description":"The amount of time to wait for the cluster state upload to complete. Defaults to 20s.\n"},"stateMetadataManifestUploadTimeout":{"type":"string","description":"The amount of time to wait for the manifest file upload to complete. The manifest file contains the details of each of the files uploaded for a single cluster state, both index metadata files and global metadata files. Defaults to 20s.\n"},"translogBufferInterval":{"type":"string","description":"The default value of the translog buffer interval used when performing periodic translog updates. This setting is only effective when the index setting `index.remote_store.translog.buffer_interval` is not present. Defaults to 650ms.\n"},"translogMaxReaders":{"type":"integer","description":"Sets the maximum number of open translog files for remote-backed indexes. This limits the total number of translog files per shard. After reaching this limit, the remote store flushes the translog files. Default is 1000. The minimum required is 100. Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog:OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog":{"properties":{"level":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug`\" pulumi-lang-dotnet=\"`Debug`\" pulumi-lang-go=\"`debug`\" pulumi-lang-python=\"`debug`\" pulumi-lang-yaml=\"`debug`\" pulumi-lang-java=\"`debug`\"\u003e`debug`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warn`\" pulumi-lang-dotnet=\"`Warn`\" pulumi-lang-go=\"`warn`\" pulumi-lang-python=\"`warn`\" pulumi-lang-yaml=\"`warn`\" pulumi-lang-java=\"`warn`\"\u003e`warn`\u003c/span\u003e. Log level. Default: \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e.\n"},"threshold":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold:OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold:OpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold":{"properties":{"debug":{"type":"string","description":"Debug threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"info":{"type":"string","description":"Info threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"trace":{"type":"string","description":"Trace threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"warn":{"type":"string","description":"Warning threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchDashboards:OpenSearchOpensearchUserConfigOpensearchDashboards":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable OpenSearch Dashboards. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"maxOldSpaceSize":{"type":"integer","description":"Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max*old*space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. Default: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"multipleDataSourceEnabled":{"type":"boolean","description":"Enable or disable multiple data sources in OpenSearch Dashboards. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"opensearchRequestTimeout":{"type":"integer","description":"Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch. Default: \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e.\n"},"sessionKeepalive":{"type":"boolean","description":"Determines whether the session TTL resets (is “kept alive”) on each user activity. Optional. Default is true. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sessionTtl":{"type":"string","description":"Defines the time-to-live (TTL) for user sessions. The value should be a time value with unit, e.g. 1m, 5s, 1h, 3d, 100ms. Default is 1 hour. Default: \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchDiskWatermarks:OpenSearchOpensearchUserConfigOpensearchDiskWatermarks":{"properties":{"floodStage":{"type":"integer","description":"The flood stage watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`95`\" pulumi-lang-dotnet=\"`95`\" pulumi-lang-go=\"`95`\" pulumi-lang-python=\"`95`\" pulumi-lang-yaml=\"`95`\" pulumi-lang-java=\"`95`\"\u003e`95`\u003c/span\u003e.\n"},"high":{"type":"integer","description":"The high watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"low":{"type":"integer","description":"The low watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`85`\" pulumi-lang-dotnet=\"`85`\" pulumi-lang-go=\"`85`\" pulumi-lang-python=\"`85`\" pulumi-lang-yaml=\"`85`\" pulumi-lang-java=\"`85`\"\u003e`85`\u003c/span\u003e.\n"}},"type":"object","required":["floodStage","high","low"]},"aiven:index/OpenSearchOpensearchUserConfigOpensearchRemoteStore:OpenSearchOpensearchUserConfigOpensearchRemoteStore":{"properties":{"segmentPressureBytesLagVarianceFactor":{"type":"number","description":"The variance factor that is used together with the moving average to calculate the dynamic bytes lag threshold for activating remote segment backpressure. Defaults to 10.\n"},"segmentPressureConsecutiveFailuresLimit":{"type":"integer","description":"The minimum consecutive failure count for activating remote segment backpressure. Defaults to 5.\n"},"segmentPressureEnabled":{"type":"boolean","description":"Enables remote segment backpressure. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"segmentPressureTimeLagVarianceFactor":{"type":"number","description":"The variance factor that is used together with the moving average to calculate the dynamic time lag threshold for activating remote segment backpressure. Defaults to 10.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressure:OpenSearchOpensearchUserConfigOpensearchSearchBackpressure":{"properties":{"mode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enforced`\" pulumi-lang-dotnet=\"`Enforced`\" pulumi-lang-go=\"`enforced`\" pulumi-lang-python=\"`enforced`\" pulumi-lang-yaml=\"`enforced`\" pulumi-lang-java=\"`enforced`\"\u003e`enforced`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitorOnly`\" pulumi-lang-dotnet=\"`MonitorOnly`\" pulumi-lang-go=\"`monitorOnly`\" pulumi-lang-python=\"`monitor_only`\" pulumi-lang-yaml=\"`monitorOnly`\" pulumi-lang-java=\"`monitorOnly`\"\u003e`monitor_only`\u003c/span\u003e. The search backpressure mode. Valid values are monitor*only, enforced, or disabled. Default is monitor*only.\n"},"nodeDuress":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress","description":"Node duress settings\n"},"searchShardTask":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask","description":"Search shard settings\n"},"searchTask":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask","description":"Search task settings\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress":{"properties":{"cpuThreshold":{"type":"number","description":"The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9.\n"},"heapThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7.\n"},"numSuccessiveBreaches":{"type":"integer","description":"The number of successive limit breaches after which the node is considered to be under duress. Default is 3.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask":{"properties":{"cancellationBurst":{"type":"number","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0.\n"},"cancellationRate":{"type":"number","description":"The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003.\n"},"cancellationRatio":{"type":"number","description":"The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1.\n"},"cpuTimeMillisThreshold":{"type":"integer","description":"The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000.\n"},"elapsedTimeMillisThreshold":{"type":"integer","description":"The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000.\n"},"heapMovingAverageWindowSize":{"type":"integer","description":"The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100.\n"},"heapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5.\n"},"heapVariance":{"type":"number","description":"The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0.\n"},"totalHeapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask:OpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask":{"properties":{"cancellationBurst":{"type":"number","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0.\n"},"cancellationRate":{"type":"number","description":"The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003.\n"},"cancellationRatio":{"type":"number","description":"The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1.\n"},"cpuTimeMillisThreshold":{"type":"integer","description":"The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000.\n"},"elapsedTimeMillisThreshold":{"type":"integer","description":"The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000.\n"},"heapMovingAverageWindowSize":{"type":"integer","description":"The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10.\n"},"heapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2.\n"},"heapVariance":{"type":"number","description":"The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0.\n"},"totalHeapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries":{"properties":{"cpu":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu","description":"Top N queries monitoring by CPU\n"},"latency":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency","description":"Top N queries monitoring by latency\n"},"memory":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory","description":"Top N queries monitoring by memory\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory:OpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchSegrep:OpenSearchOpensearchUserConfigOpensearchSegrep":{"properties":{"pressureCheckpointLimit":{"type":"integer","description":"The maximum number of indexing checkpoints that a replica shard can fall behind when copying from primary. Once `segrep.pressure.checkpoint.limit` is breached along with `segrep.pressure.time.limit`, the segment replication backpressure mechanism is initiated. Default is 4 checkpoints. Default: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"pressureEnabled":{"type":"boolean","description":"Enables the segment replication backpressure mechanism. Default is false. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pressureReplicaStaleLimit":{"type":"number","description":"The maximum number of stale replica shards that can exist in a replication group. Once `segrep.pressure.replica.stale.limit` is breached, the segment replication backpressure mechanism is initiated. Default is .5, which is 50% of a replication group. Default: `0.5`.\n"},"pressureTimeLimit":{"type":"string","description":"The maximum amount of time that a replica shard can take to copy from the primary shard. Once segrep.pressure.time.limit is breached along with segrep.pressure.checkpoint.limit, the segment replication backpressure mechanism is initiated. Default is 5 minutes. Default: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressure:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressure":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable shard indexing backpressure. Default is false.\n"},"enforced":{"type":"boolean","description":"Run shard indexing backpressure in shadow mode or enforced mode. In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics, but it doesn’t actually reject any indexing requests. In enforced mode (value set as true), shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance. Default is false.\n"},"operatingFactor":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor","description":"Operating factor\n"},"primaryParameter":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter","description":"Primary parameter\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor":{"properties":{"lower":{"type":"number","description":"Specify the lower occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is below this limit, shard indexing backpressure decreases the current allocated memory for that shard. Default is 0.75.\n"},"optimal":{"type":"number","description":"Specify the optimal occupancy of the allocated quota of memory for the shard. If the total memory usage of a shard is at this level, shard indexing backpressure doesn’t change the current allocated memory for that shard. Default is 0.85.\n"},"upper":{"type":"number","description":"Specify the upper occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is above this limit, shard indexing backpressure increases the current allocated memory for that shard. Default is 0.95.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter":{"properties":{"node":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode"},"shard":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode":{"properties":{"softLimit":{"type":"number","description":"Define the percentage of the node-level memory threshold that acts as a soft indicator for strain on a node. Default is 0.7.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard:OpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard":{"properties":{"minLimit":{"type":"number","description":"Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica). Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard. Default is 0.001.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigPrivateAccess:OpenSearchOpensearchUserConfigPrivateAccess":{"properties":{"opensearch":{"type":"boolean","description":"Allow clients to connect to opensearch with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"opensearchDashboards":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" opensearchDashboards \" pulumi-lang-dotnet=\" OpensearchDashboards \" pulumi-lang-go=\" opensearchDashboards \" pulumi-lang-python=\" opensearch_dashboards \" pulumi-lang-yaml=\" opensearchDashboards \" pulumi-lang-java=\" opensearchDashboards \"\u003e opensearch_dashboards \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigPrivatelinkAccess:OpenSearchOpensearchUserConfigPrivatelinkAccess":{"properties":{"opensearch":{"type":"boolean","description":"Enable opensearch.\n"},"opensearchDashboards":{"type":"boolean","description":"Enable opensearch_dashboards.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigPublicAccess:OpenSearchOpensearchUserConfigPublicAccess":{"properties":{"opensearch":{"type":"boolean","description":"Allow clients to connect to opensearch from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"opensearchDashboards":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" opensearchDashboards \" pulumi-lang-dotnet=\" OpensearchDashboards \" pulumi-lang-go=\" opensearchDashboards \" pulumi-lang-python=\" opensearch_dashboards \" pulumi-lang-yaml=\" opensearchDashboards \" pulumi-lang-java=\" opensearchDashboards \"\u003e opensearch_dashboards \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/OpenSearchOpensearchUserConfigS3Migration:OpenSearchOpensearchUserConfigS3Migration":{"properties":{"accessKey":{"type":"string","description":"AWS Access key.\n"},"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"bucket":{"type":"string","description":"S3 bucket name.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"endpoint":{"type":"string","description":"The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint.\n"},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"region":{"type":"string","description":"S3 region.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"secretKey":{"type":"string","description":"AWS secret key.\n","secret":true},"serverSideEncryption":{"type":"boolean","description":"When set to true files are encrypted on server side.\n"},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["accessKey","basePath","bucket","indices","region","secretKey","snapshotName"]},"aiven:index/OpenSearchOpensearchUserConfigSaml:OpenSearchOpensearchUserConfigSaml":{"properties":{"enabled":{"type":"boolean","description":"Enables or disables SAML-based authentication for OpenSearch. When enabled, users can authenticate using SAML with an Identity Provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"idpEntityId":{"type":"string","description":"The unique identifier for the Identity Provider (IdP) entity that is used for SAML authentication. This value is typically provided by the IdP. Example: `test-idp-entity-id`.\n"},"idpMetadataUrl":{"type":"string","description":"The URL of the SAML metadata for the Identity Provider (IdP). This is used to configure SAML-based authentication with the IdP. Example: `https://test-account.okta.com/app/exk491jujcVc83LEX697/sso/saml/metadata`.\n"},"idpPemtrustedcasContent":{"type":"string","description":"This parameter specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification. The root CA content is used to verify the SSL/TLS certificate presented by the server. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"rolesKey":{"type":"string","description":"Optional. Specifies the attribute in the SAML response where role information is stored, if available. Role attributes are not required for SAML authentication, but can be included in SAML assertions by most Identity Providers (IdPs) to determine user access levels or permissions. Example: `RoleName`.\n"},"spEntityId":{"type":"string","description":"The unique identifier for the Service Provider (SP) entity that is used for SAML authentication. This value is typically provided by the SP. Example: `test-sp-entity-id`.\n"},"subjectKey":{"type":"string","description":"Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default. Example: `NameID`.\n"}},"type":"object","required":["enabled","idpEntityId","idpMetadataUrl","spEntityId"]},"aiven:index/OpenSearchServiceIntegration:OpenSearchServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/OpenSearchTag:OpenSearchTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/OpenSearchTechEmail:OpenSearchTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/OrganizationAddressTimeouts:OrganizationAddressTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationApplicationUserTimeouts:OrganizationApplicationUserTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationApplicationUserTokenTimeouts:OrganizationApplicationUserTokenTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationBillingGroupBillingContactEmail:OrganizationBillingGroupBillingContactEmail":{"properties":{"email":{"type":"string","description":"Email. Maximum length: \u003cspan pulumi-lang-nodejs=\"`254`\" pulumi-lang-dotnet=\"`254`\" pulumi-lang-go=\"`254`\" pulumi-lang-python=\"`254`\" pulumi-lang-yaml=\"`254`\" pulumi-lang-java=\"`254`\"\u003e`254`\u003c/span\u003e.\n"}},"type":"object","required":["email"]},"aiven:index/OrganizationBillingGroupBillingEmail:OrganizationBillingGroupBillingEmail":{"properties":{"email":{"type":"string","description":"Email. Maximum length: \u003cspan pulumi-lang-nodejs=\"`254`\" pulumi-lang-dotnet=\"`254`\" pulumi-lang-go=\"`254`\" pulumi-lang-python=\"`254`\" pulumi-lang-yaml=\"`254`\" pulumi-lang-java=\"`254`\"\u003e`254`\u003c/span\u003e.\n"}},"type":"object","required":["email"]},"aiven:index/OrganizationBillingGroupPaymentMethod:OrganizationBillingGroupPaymentMethod":{"properties":{"paymentMethodId":{"type":"string","description":"Payment method ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"paymentMethodType":{"type":"string","description":"An enumeration. The possible values are \u003cspan pulumi-lang-nodejs=\"`awsSubscription`\" pulumi-lang-dotnet=\"`AwsSubscription`\" pulumi-lang-go=\"`awsSubscription`\" pulumi-lang-python=\"`aws_subscription`\" pulumi-lang-yaml=\"`awsSubscription`\" pulumi-lang-java=\"`awsSubscription`\"\u003e`aws_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureSubscription`\" pulumi-lang-dotnet=\"`AzureSubscription`\" pulumi-lang-go=\"`azureSubscription`\" pulumi-lang-python=\"`azure_subscription`\" pulumi-lang-yaml=\"`azureSubscription`\" pulumi-lang-java=\"`azureSubscription`\"\u003e`azure_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bankTransfer`\" pulumi-lang-dotnet=\"`BankTransfer`\" pulumi-lang-go=\"`bankTransfer`\" pulumi-lang-python=\"`bank_transfer`\" pulumi-lang-yaml=\"`bankTransfer`\" pulumi-lang-java=\"`bankTransfer`\"\u003e`bank_transfer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creditCard`\" pulumi-lang-dotnet=\"`CreditCard`\" pulumi-lang-go=\"`creditCard`\" pulumi-lang-python=\"`credit_card`\" pulumi-lang-yaml=\"`creditCard`\" pulumi-lang-java=\"`creditCard`\"\u003e`credit_card`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gcpSubscription`\" pulumi-lang-dotnet=\"`GcpSubscription`\" pulumi-lang-go=\"`gcpSubscription`\" pulumi-lang-python=\"`gcp_subscription`\" pulumi-lang-yaml=\"`gcpSubscription`\" pulumi-lang-java=\"`gcpSubscription`\"\u003e`gcp_subscription`\u003c/span\u003e.\n"}},"type":"object","required":["paymentMethodId","paymentMethodType"]},"aiven:index/OrganizationBillingGroupTimeouts:OrganizationBillingGroupTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationGroupProjectTimeouts:OrganizationGroupProjectTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationPermissionPermission:OrganizationPermissionPermission":{"properties":{"createTime":{"type":"string","description":"Create Time.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of [roles and permissions](https://aiven.io/docs/platform/concepts/permissions) to grant\". The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"principalId":{"type":"string","description":"ID of the user or group to grant permissions to. Only active users who have accepted an [invite](https://aiven.io/docs/platform/howto/manage-org-users) to join the organization can be granted permissions.\n"},"principalType":{"type":"string","description":"An enumeration. The possible values are \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\"\u003e`user`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`userGroup`\" pulumi-lang-dotnet=\"`UserGroup`\" pulumi-lang-go=\"`userGroup`\" pulumi-lang-python=\"`user_group`\" pulumi-lang-yaml=\"`userGroup`\" pulumi-lang-java=\"`userGroup`\"\u003e`user_group`\u003c/span\u003e.\n"},"updateTime":{"type":"string","description":"Update Time.\n"}},"type":"object","required":["permissions","principalId","principalType"],"language":{"nodejs":{"requiredOutputs":["createTime","permissions","principalId","principalType","updateTime"]}}},"aiven:index/OrganizationPermissionTimeouts:OrganizationPermissionTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationProjectTag:OrganizationProjectTag":{"properties":{"key":{"type":"string","description":"Project tag key.\n"},"value":{"type":"string","description":"Project tag value.\n"}},"type":"object","required":["key","value"]},"aiven:index/OrganizationProjectTimeouts:OrganizationProjectTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationTimeouts:OrganizationTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationUserGroupMemberTimeouts:OrganizationUserGroupMemberTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/OrganizationalUnitTimeouts:OrganizationalUnitTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/PgComponent:PgComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/PgDatabaseTimeouts:PgDatabaseTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/PgPg:PgPg":{"properties":{"bouncer":{"type":"string","description":"PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"dbname":{"type":"string","description":"Primary PostgreSQL database name.\n","secret":true},"host":{"type":"string","description":"PostgreSQL primary node host IP or name.\n","secret":true},"maxConnections":{"type":"integer","description":"The [number of allowed connections](https://aiven.io/docs/products/postgresql/reference/pg-connection-limits). Varies based on the service plan.\n","secret":true},"params":{"type":"array","items":{"$ref":"#/types/aiven:index/PgPgParam:PgPgParam"},"description":"PostgreSQL connection parameters.\n","secret":true},"password":{"type":"string","description":"PostgreSQL admin user password.\n","secret":true},"port":{"type":"integer","description":"PostgreSQL port.\n","secret":true},"replicaUri":{"type":"string","description":"PostgreSQL replica URI for services with a replica.\n","secret":true},"sslmode":{"type":"string","description":"PostgreSQL SSL mode setting.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL syncing connection URIs.\n","secret":true},"uri":{"type":"string","description":"PostgreSQL primary connection URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL primary connection URIs.\n","secret":true},"user":{"type":"string","description":"PostgreSQL admin user name.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["bouncer","dbname","host","maxConnections","params","password","port","replicaUri","sslmode","standbyUris","syncingUris","uri","uris","user"]}}},"aiven:index/PgPgParam:PgPgParam":{"properties":{"databaseName":{"type":"string","description":"Primary PostgreSQL database name.\n","secret":true},"host":{"type":"string","description":"PostgreSQL host IP or name.\n","secret":true},"password":{"type":"string","description":"PostgreSQL admin user password.\n","secret":true},"port":{"type":"integer","description":"PostgreSQL port.\n","secret":true},"sslmode":{"type":"string","description":"PostgreSQL SSL mode setting.\n","secret":true},"user":{"type":"string","description":"PostgreSQL admin user name.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["databaseName","host","password","port","sslmode","user"]}}},"aiven:index/PgPgUserConfig:PgPgUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true,"willReplaceOnChanges":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n","willReplaceOnChanges":true},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupIntervalHours":{"type":"integer","description":"Interval in hours between automatic backups. Minimum value is 3 hours. Must be a divisor of 24 (3, 4, 6, 8, 12, 24). (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Number of days to retain automatic backups. Backups older than this value will be automatically deleted. (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"enableHaReplicaDns":{"type":"boolean","description":"Creates a dedicated read-only DNS that automatically falls back to the primary if standby nodes are unavailable. It switches back when a standby recovers. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/PgPgUserConfigIpFilterObject:PgPgUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/PgPgUserConfigMigration:PgPgUserConfigMigration","description":"Migrate data from existing server\n"},"nodeCount":{"type":"integer","description":"Number of nodes for the service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pg":{"$ref":"#/types/aiven:index/PgPgUserConfigPg:PgPgUserConfigPg","description":"postgresql.conf configuration values\n"},"pgQualstats":{"$ref":"#/types/aiven:index/PgPgUserConfigPgQualstats:PgPgUserConfigPgQualstats","description":"System-wide settings for the pg*qualstats extension\n","deprecationMessage":"This property is deprecated."},"pgReadReplica":{"type":"boolean","description":"Should the service which is being forked be a read replica (deprecated, use\u003cspan pulumi-lang-nodejs=\" readReplica \" pulumi-lang-dotnet=\" ReadReplica \" pulumi-lang-go=\" readReplica \" pulumi-lang-python=\" read_replica \" pulumi-lang-yaml=\" readReplica \" pulumi-lang-java=\" readReplica \"\u003e read_replica \u003c/span\u003eservice integration instead).\n"},"pgServiceToForkFrom":{"type":"string","description":"Name of the PG Service from which to fork (deprecated, use service*to*fork_from). This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"pgStatMonitorEnable":{"type":"boolean","description":"Enable the pg*stat*monitor extension. Changing this parameter causes a service restart. When this extension is enabled, pg*stat*statements results for utility commands are unreliable. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pgVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"pgaudit":{"$ref":"#/types/aiven:index/PgPgUserConfigPgaudit:PgPgUserConfigPgaudit","description":"System-wide settings for the pgaudit extension\n"},"pgbouncer":{"$ref":"#/types/aiven:index/PgPgUserConfigPgbouncer:PgPgUserConfigPgbouncer","description":"PGBouncer connection pooling settings\n"},"pglookout":{"$ref":"#/types/aiven:index/PgPgUserConfigPglookout:PgPgUserConfigPglookout","description":"System-wide settings for pglookout\n"},"privateAccess":{"$ref":"#/types/aiven:index/PgPgUserConfigPrivateAccess:PgPgUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/PgPgUserConfigPrivatelinkAccess:PgPgUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/PgPgUserConfigPublicAccess:PgPgUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n","willReplaceOnChanges":true},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"sharedBuffersPercentage":{"type":"number","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the\u003cspan pulumi-lang-nodejs=\" sharedBuffers \" pulumi-lang-dotnet=\" SharedBuffers \" pulumi-lang-go=\" sharedBuffers \" pulumi-lang-python=\" shared_buffers \" pulumi-lang-yaml=\" sharedBuffers \" pulumi-lang-java=\" sharedBuffers \"\u003e shared_buffers \u003c/span\u003econfiguration value. Changing this parameter causes a service restart. Example: `41.5`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"switchoverWindows":{"type":"array","items":{"$ref":"#/types/aiven:index/PgPgUserConfigSwitchoverWindow:PgPgUserConfigSwitchoverWindow"}},"synchronousReplication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quorum`\" pulumi-lang-dotnet=\"`Quorum`\" pulumi-lang-go=\"`quorum`\" pulumi-lang-python=\"`quorum`\" pulumi-lang-yaml=\"`quorum`\" pulumi-lang-java=\"`quorum`\"\u003e`quorum`\u003c/span\u003e. Synchronous replication type. Note that the service plan also needs to support synchronous replication.\n"},"timescaledb":{"$ref":"#/types/aiven:index/PgPgUserConfigTimescaledb:PgPgUserConfigTimescaledb","description":"System-wide settings for the timescaledb extension\n"},"variant":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aiven`\" pulumi-lang-dotnet=\"`Aiven`\" pulumi-lang-go=\"`aiven`\" pulumi-lang-python=\"`aiven`\" pulumi-lang-yaml=\"`aiven`\" pulumi-lang-java=\"`aiven`\"\u003e`aiven`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timescale`\" pulumi-lang-dotnet=\"`Timescale`\" pulumi-lang-go=\"`timescale`\" pulumi-lang-python=\"`timescale`\" pulumi-lang-yaml=\"`timescale`\" pulumi-lang-java=\"`timescale`\"\u003e`timescale`\u003c/span\u003e. Variant of the PostgreSQL service, may affect the features that are exposed by default.\n"},"workMem":{"type":"integer","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. The default is 1MB + 0.075% of total RAM (up to 32MB). Example: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/PgPgUserConfigIpFilterObject:PgPgUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/PgPgUserConfigMigration:PgPgUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"]},"aiven:index/PgPgUserConfigPg:PgPgUserConfigPg":{"properties":{"autovacuumAnalyzeScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to autovacuum*analyze*threshold when deciding whether to trigger an ANALYZE (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumAnalyzeThreshold":{"type":"integer","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"autovacuumFreezeMaxAge":{"type":"integer","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.\n"},"autovacuumMaxWorkers":{"type":"integer","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"autovacuumNaptime":{"type":"integer","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"autovacuumVacuumCostDelay":{"type":"integer","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If `-1` is specified, the regular vacuum*cost*delay value will be used. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"autovacuumVacuumCostLimit":{"type":"integer","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If `-1` is specified, the regular vacuum*cost*limit value will be used. The default is `-1` (upstream default).\n"},"autovacuumVacuumScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to autovacuum*vacuum*threshold when deciding whether to trigger a VACUUM (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumVacuumThreshold":{"type":"integer","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"bgwriterDelay":{"type":"integer","description":"Specifies the delay between activity rounds for the background writer in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"},"bgwriterFlushAfter":{"type":"integer","description":"Whenever more than bgwriter*flush*after bytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes. Setting of 0 disables forced writeback. The default is \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"bgwriterLruMaxpages":{"type":"integer","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"bgwriterLruMultiplier":{"type":"number","description":"The average recent need for new buffers is multiplied by bgwriter*lru*multiplier to arrive at an estimate of the number that will be needed during the next round, (up to bgwriter*lru*maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is `2.0`. Example: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"deadlockTimeout":{"type":"integer","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"defaultToastCompression":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pglz`\" pulumi-lang-dotnet=\"`Pglz`\" pulumi-lang-go=\"`pglz`\" pulumi-lang-python=\"`pglz`\" pulumi-lang-yaml=\"`pglz`\" pulumi-lang-java=\"`pglz`\"\u003e`pglz`\u003c/span\u003e. Specifies the default TOAST compression method for values of compressible columns. The default is \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Only available for PostgreSQL 14+.\n"},"idleInTransactionSessionTimeout":{"type":"integer","description":"Time out sessions with open transactions after this number of milliseconds.\n"},"ioCombineLimit":{"type":"integer","description":"EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units. Version 17 and up only. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"ioMaxCombineLimit":{"type":"integer","description":"EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units, and silently limits the user-settable parameter io*combine*limit. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"ioMaxConcurrency":{"type":"integer","description":"EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart. Default: `-1`.\n"},"ioMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`ioUring`\" pulumi-lang-dotnet=\"`IoUring`\" pulumi-lang-go=\"`ioUring`\" pulumi-lang-python=\"`io_uring`\" pulumi-lang-yaml=\"`ioUring`\" pulumi-lang-java=\"`ioUring`\"\u003e`io_uring`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`worker`\" pulumi-lang-dotnet=\"`Worker`\" pulumi-lang-go=\"`worker`\" pulumi-lang-python=\"`worker`\" pulumi-lang-yaml=\"`worker`\" pulumi-lang-java=\"`worker`\"\u003e`worker`\u003c/span\u003e. EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`worker`\" pulumi-lang-dotnet=\"`Worker`\" pulumi-lang-go=\"`worker`\" pulumi-lang-python=\"`worker`\" pulumi-lang-yaml=\"`worker`\" pulumi-lang-java=\"`worker`\"\u003e`worker`\u003c/span\u003e.\n"},"ioWorkers":{"type":"integer","description":"EXPERIMENTAL: Number of IO worker processes, for io_method=worker. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"jit":{"type":"boolean","description":"Controls system-wide use of Just-in-Time Compilation (JIT).\n"},"logAutovacuumMinDuration":{"type":"integer","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one disables logging autovacuum actions. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"logErrorVerbosity":{"type":"string","description":"Enum: `DEFAULT`, `TERSE`, `VERBOSE`. Controls the amount of detail written in the server log for each message that is logged.\n"},"logLinePrefix":{"type":"string","description":"Enum: `'%m [%p] %q[user=%u,db=%d,app=%a] '`, `'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '`. Choose from one of the available log formats.\n"},"logMinDurationStatement":{"type":"integer","description":"Log statements that take more than this number of milliseconds to run, -1 disables.\n"},"logTempFiles":{"type":"integer","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables.\n"},"maxConnections":{"type":"integer","description":"Sets the PostgreSQL maximum number of concurrent connections to the database server. For services with a read replica, first increase the read replica's value. After the change is applied to the replica, you can increase the primary service's value. Changing this parameter causes a service restart.\n"},"maxFilesPerProcess":{"type":"integer","description":"PostgreSQL maximum number of files that can be open per process. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum locks per transaction. Changing this parameter causes a service restart.\n"},"maxLogicalReplicationWorkers":{"type":"integer","description":"PostgreSQL maximum logical replication workers (taken from the pool defined by max*worker*processes). The default is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxParallelWorkers":{"type":"integer","description":"Sets the maximum number of workers that the system can support for parallel queries. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (upstream default).\n"},"maxParallelWorkersPerGather":{"type":"integer","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"maxPredLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum predicate locks per transaction. The default is \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxPreparedTransactions":{"type":"integer","description":"PostgreSQL maximum prepared transactions. The default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxReplicationSlots":{"type":"integer","description":"PostgreSQL maximum replication slots. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxSlotWalKeepSize":{"type":"integer","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. If `-1` is specified, replication slots may retain an unlimited amount of WAL files. The default is `-1` (upstream default). wal*keep*size minimum WAL size setting takes precedence over this.\n"},"maxStackDepth":{"type":"integer","description":"Maximum depth of the stack in bytes. The default is \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e (upstream default).\n"},"maxStandbyArchiveDelay":{"type":"integer","description":"Max standby archive delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxStandbyStreamingDelay":{"type":"integer","description":"Max standby streaming delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxSyncWorkersPerSubscription":{"type":"integer","description":"Maximum number of synchronization workers per subscription. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"maxWalSenders":{"type":"integer","description":"PostgreSQL maximum WAL senders. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxWorkerProcesses":{"type":"integer","description":"Sets the maximum number of background processes that the system can support. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"passwordEncryption":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, `scram-sha-256`. Chooses the algorithm for encrypting passwords.\n"},"pgPartmanBgwDotInterval":{"type":"integer","description":"Sets the time interval in seconds to run pg_partman's scheduled tasks. The default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"pgPartmanBgwDotRole":{"type":"string","description":"Controls which role to use for pg_partman's scheduled background tasks. Example: \u003cspan pulumi-lang-nodejs=\"`myrolename`\" pulumi-lang-dotnet=\"`Myrolename`\" pulumi-lang-go=\"`myrolename`\" pulumi-lang-python=\"`myrolename`\" pulumi-lang-yaml=\"`myrolename`\" pulumi-lang-java=\"`myrolename`\"\u003e`myrolename`\u003c/span\u003e.\n"},"pgStatMonitorDotPgsmEnableQueryPlan":{"type":"boolean","description":"Enables or disables query plan monitoring. Changing this parameter causes a service restart. Only available for PostgreSQL 13+.\n"},"pgStatMonitorDotPgsmMaxBuckets":{"type":"integer","description":"Sets the maximum number of buckets. Changing this parameter causes a service restart. Only available for PostgreSQL 13+. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"pgStatStatementsDotTrack":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e. Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default is \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e.\n"},"tempFileLimit":{"type":"integer","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited.\n"},"timezone":{"type":"string","description":"PostgreSQL service timezone. Example: `Europe/Helsinki`.\n"},"trackActivityQuerySize":{"type":"integer","description":"Specifies the number of bytes reserved to track the currently executing command for each active session. Changing this parameter causes a service restart. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"trackCommitTimestamp":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Record commit time of transactions. Changing this parameter causes a service restart.\n"},"trackFunctions":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pl`\" pulumi-lang-dotnet=\"`Pl`\" pulumi-lang-go=\"`pl`\" pulumi-lang-python=\"`pl`\" pulumi-lang-yaml=\"`pl`\" pulumi-lang-java=\"`pl`\"\u003e`pl`\u003c/span\u003e. Enables tracking of function call counts and time used.\n"},"trackIoTiming":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Enables timing of database I/O calls. The default is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. When on, it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\n"},"walSenderTimeout":{"type":"integer","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"walWriterDelay":{"type":"integer","description":"WAL flush interval in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Setting this parameter to a lower value may negatively impact performance. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPgQualstats:PgPgUserConfigPgQualstats":{"properties":{"enabled":{"type":"boolean","description":"Enable / Disable pg_qualstats. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"minErrEstimateNum":{"type":"integer","description":"Error estimation num threshold to save quals. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"minErrEstimateRatio":{"type":"integer","description":"Error estimation ratio threshold to save quals. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"trackConstants":{"type":"boolean","description":"Enable / Disable\u003cspan pulumi-lang-nodejs=\" pgQualstats \" pulumi-lang-dotnet=\" PgQualstats \" pulumi-lang-go=\" pgQualstats \" pulumi-lang-python=\" pg_qualstats \" pulumi-lang-yaml=\" pgQualstats \" pulumi-lang-java=\" pgQualstats \"\u003e pg_qualstats \u003c/span\u003econstants tracking. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"trackPgCatalog":{"type":"boolean","description":"Track quals on system catalogs too. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/PgPgUserConfigPgaudit:PgPgUserConfigPgaudit":{"properties":{"featureEnabled":{"type":"boolean","description":"Enable pgaudit extension. When enabled, pgaudit extension will be automatically installed.Otherwise, extension will be uninstalled but auditing configurations will be preserved. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logCatalog":{"type":"boolean","description":"Specifies that session logging should be enabled in the case where all relations in a statement are in pg_catalog. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logClient":{"type":"boolean","description":"Specifies whether log messages will be visible to a client process such as psql. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug1`\" pulumi-lang-dotnet=\"`Debug1`\" pulumi-lang-go=\"`debug1`\" pulumi-lang-python=\"`debug1`\" pulumi-lang-yaml=\"`debug1`\" pulumi-lang-java=\"`debug1`\"\u003e`debug1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug2`\" pulumi-lang-dotnet=\"`Debug2`\" pulumi-lang-go=\"`debug2`\" pulumi-lang-python=\"`debug2`\" pulumi-lang-yaml=\"`debug2`\" pulumi-lang-java=\"`debug2`\"\u003e`debug2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug3`\" pulumi-lang-dotnet=\"`Debug3`\" pulumi-lang-go=\"`debug3`\" pulumi-lang-python=\"`debug3`\" pulumi-lang-yaml=\"`debug3`\" pulumi-lang-java=\"`debug3`\"\u003e`debug3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug4`\" pulumi-lang-dotnet=\"`Debug4`\" pulumi-lang-go=\"`debug4`\" pulumi-lang-python=\"`debug4`\" pulumi-lang-yaml=\"`debug4`\" pulumi-lang-java=\"`debug4`\"\u003e`debug4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug5`\" pulumi-lang-dotnet=\"`Debug5`\" pulumi-lang-go=\"`debug5`\" pulumi-lang-python=\"`debug5`\" pulumi-lang-yaml=\"`debug5`\" pulumi-lang-java=\"`debug5`\"\u003e`debug5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e. Specifies the log level that will be used for log entries. Default: \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e.\n"},"logMaxStringLength":{"type":"integer","description":"Crop parameters representation and whole statements if they exceed this threshold. A (default) value of -1 disable the truncation. Default: `-1`.\n"},"logNestedStatements":{"type":"boolean","description":"This GUC allows to turn off logging nested statements, that is, statements that are executed as part of another ExecutorRun. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logParameter":{"type":"boolean","description":"Specifies that audit logging should include the parameters that were passed with the statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logParameterMaxSize":{"type":"integer","description":"Specifies that parameter values longer than this setting (in bytes) should not be logged, but replaced with \\n\\n. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"logRelation":{"type":"boolean","description":"Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logRows":{"type":"boolean","description":"Log Rows. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logStatement":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters (if enabled). Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logStatementOnce":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logs":{"type":"array","items":{"type":"string"},"description":"Specifies which classes of statements will be logged by session audit logging.\n"},"role":{"type":"string","description":"Specifies the master role to use for object audit logging.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPgbouncer:PgPgUserConfigPgbouncer":{"properties":{"autodbIdleTimeout":{"type":"integer","description":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"autodbMaxDbConnections":{"type":"integer","description":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"autodbPoolMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. PGBouncer pool mode. Default: \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"autodbPoolSize":{"type":"integer","description":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ignoreStartupParameters":{"type":"array","items":{"type":"string"},"description":"List of parameters to ignore when given in startup packet.\n"},"maxPreparedStatements":{"type":"integer","description":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when max*prepared*statements is set to a non-zero value. Setting it to 0 disables prepared statements. max*prepared*statements defaults to 100, and its maximum is 3000. Default: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"minPoolSize":{"type":"integer","description":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverIdleTimeout":{"type":"integer","description":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"serverLifetime":{"type":"integer","description":"The pooler will close an unused server connection that has been connected longer than this. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"serverResetQueryAlways":{"type":"boolean","description":"Run server*reset*query (DISCARD ALL) in all pooling modes. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPglookout:PgPgUserConfigPglookout":{"properties":{"maxFailoverReplicationTimeLag":{"type":"integer","description":"Number of seconds of master unavailability before triggering database failover to standby. Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPrivateAccess:PgPgUserConfigPrivateAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPrivatelinkAccess:PgPgUserConfigPrivatelinkAccess":{"properties":{"pg":{"type":"boolean","description":"Enable pg.\n"},"pgbouncer":{"type":"boolean","description":"Enable pgbouncer.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/PgPgUserConfigPublicAccess:PgPgUserConfigPublicAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/PgPgUserConfigSwitchoverWindow:PgPgUserConfigSwitchoverWindow":{"properties":{"dow":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`friday`\" pulumi-lang-dotnet=\"`Friday`\" pulumi-lang-go=\"`friday`\" pulumi-lang-python=\"`friday`\" pulumi-lang-yaml=\"`friday`\" pulumi-lang-java=\"`friday`\"\u003e`friday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monday`\" pulumi-lang-dotnet=\"`Monday`\" pulumi-lang-go=\"`monday`\" pulumi-lang-python=\"`monday`\" pulumi-lang-yaml=\"`monday`\" pulumi-lang-java=\"`monday`\"\u003e`monday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`saturday`\" pulumi-lang-dotnet=\"`Saturday`\" pulumi-lang-go=\"`saturday`\" pulumi-lang-python=\"`saturday`\" pulumi-lang-yaml=\"`saturday`\" pulumi-lang-java=\"`saturday`\"\u003e`saturday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sunday`\" pulumi-lang-dotnet=\"`Sunday`\" pulumi-lang-go=\"`sunday`\" pulumi-lang-python=\"`sunday`\" pulumi-lang-yaml=\"`sunday`\" pulumi-lang-java=\"`sunday`\"\u003e`sunday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thursday`\" pulumi-lang-dotnet=\"`Thursday`\" pulumi-lang-go=\"`thursday`\" pulumi-lang-python=\"`thursday`\" pulumi-lang-yaml=\"`thursday`\" pulumi-lang-java=\"`thursday`\"\u003e`thursday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tuesday`\" pulumi-lang-dotnet=\"`Tuesday`\" pulumi-lang-go=\"`tuesday`\" pulumi-lang-python=\"`tuesday`\" pulumi-lang-yaml=\"`tuesday`\" pulumi-lang-java=\"`tuesday`\"\u003e`tuesday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wednesday`\" pulumi-lang-dotnet=\"`Wednesday`\" pulumi-lang-go=\"`wednesday`\" pulumi-lang-python=\"`wednesday`\" pulumi-lang-yaml=\"`wednesday`\" pulumi-lang-java=\"`wednesday`\"\u003e`wednesday`\u003c/span\u003e.\n"},"endTime":{"type":"string","description":"Example: `12:30:00`.\n"},"startTime":{"type":"string","description":"Example: `12:30:00`.\n"}},"type":"object","required":["dow","endTime","startTime"]},"aiven:index/PgPgUserConfigTimescaledb:PgPgUserConfigTimescaledb":{"properties":{"maxBackgroundWorkers":{"type":"integer","description":"The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/PgServiceIntegration:PgServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/PgTag:PgTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/PgTechEmail:PgTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/PgUserTimeouts:PgUserTimeouts":{"properties":{"create":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"},"default":{"type":"string","description":"Timeout for all operations. Deprecated, use operation-specific timeouts instead.\n","deprecationMessage":"Use operation-specific timeouts instead. This field will be removed in the next major version."},"delete":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.\n"},"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours). Read operations occur during any refresh or planning operation when refresh is enabled.\n"},"update":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/ProjectTag:ProjectTag":{"properties":{"key":{"type":"string","description":"Project tag key.\n"},"value":{"type":"string","description":"Project tag value.\n"}},"type":"object","required":["key","value"]},"aiven:index/RedisComponent:RedisComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/RedisRedis:RedisRedis":{"properties":{"password":{"type":"string","description":"Redis password.\n","secret":true},"replicaUri":{"type":"string","description":"Redis replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Redis slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Redis server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","replicaUri","slaveUris","uris"]}}},"aiven:index/RedisRedisUserConfig:RedisRedisUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisRedisUserConfigIpFilterObject:RedisRedisUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/RedisRedisUserConfigMigration:RedisRedisUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/RedisRedisUserConfigPrivateAccess:RedisRedisUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/RedisRedisUserConfigPrivatelinkAccess:RedisRedisUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/RedisRedisUserConfigPublicAccess:RedisRedisUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"redisAclChannelsDefault":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allchannels`\" pulumi-lang-dotnet=\"`Allchannels`\" pulumi-lang-go=\"`allchannels`\" pulumi-lang-python=\"`allchannels`\" pulumi-lang-yaml=\"`allchannels`\" pulumi-lang-java=\"`allchannels`\"\u003e`allchannels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resetchannels`\" pulumi-lang-dotnet=\"`Resetchannels`\" pulumi-lang-go=\"`resetchannels`\" pulumi-lang-python=\"`resetchannels`\" pulumi-lang-yaml=\"`resetchannels`\" pulumi-lang-java=\"`resetchannels`\"\u003e`resetchannels`\u003c/span\u003e. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined,\u003cspan pulumi-lang-nodejs=\" allChannels \" pulumi-lang-dotnet=\" AllChannels \" pulumi-lang-go=\" allChannels \" pulumi-lang-python=\" all_channels \" pulumi-lang-yaml=\" allChannels \" pulumi-lang-java=\" allChannels \"\u003e all_channels \u003c/span\u003eis assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.\n"},"redisIoThreads":{"type":"integer","description":"Set Redis IO thread count. Changing this will cause a restart of the Redis service. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"redisLfuDecayTime":{"type":"integer","description":"LFU maxmemory-policy counter decay time in minutes. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"redisLfuLogFactor":{"type":"integer","description":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"redisMaxmemoryPolicy":{"type":"string","description":"Enum: `allkeys-lfu`, `allkeys-lru`, `allkeys-random`, \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e, `volatile-lfu`, `volatile-lru`, `volatile-random`, `volatile-ttl`. Redis maxmemory-policy. Default: \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e.\n"},"redisNotifyKeyspaceEvents":{"type":"string","description":"Set notify-keyspace-events option.\n"},"redisNumberOfDatabases":{"type":"integer","description":"Set number of Redis databases. Changing this will cause a restart of the Redis service. Example: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"redisPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to the backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.\n"},"redisPubsubClientOutputBufferLimit":{"type":"integer","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Example: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"redisSsl":{"type":"boolean","description":"Require SSL to access Redis. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"redisTimeout":{"type":"integer","description":"Redis idle connection timeout in seconds. Default: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"redisVersion":{"type":"string","description":"Enum: `7.0`, and newer. Redis major version.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/RedisRedisUserConfigIpFilterObject:RedisRedisUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/RedisRedisUserConfigMigration:RedisRedisUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"]},"aiven:index/RedisRedisUserConfigPrivateAccess:RedisRedisUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"redis":{"type":"boolean","description":"Allow clients to connect to redis with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/RedisRedisUserConfigPrivatelinkAccess:RedisRedisUserConfigPrivatelinkAccess":{"properties":{"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"redis":{"type":"boolean","description":"Enable redis.\n"}},"type":"object"},"aiven:index/RedisRedisUserConfigPublicAccess:RedisRedisUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"redis":{"type":"boolean","description":"Allow clients to connect to redis from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/RedisServiceIntegration:RedisServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/RedisTag:RedisTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/RedisTechEmail:RedisTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/ServiceIntegrationClickhouseCredentialsUserConfig:ServiceIntegrationClickhouseCredentialsUserConfig":{"properties":{"grants":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseCredentialsUserConfigGrant:ServiceIntegrationClickhouseCredentialsUserConfigGrant"},"description":"Grants to assign\n"}},"type":"object"},"aiven:index/ServiceIntegrationClickhouseCredentialsUserConfigGrant:ServiceIntegrationClickhouseCredentialsUserConfigGrant":{"properties":{"user":{"type":"string","description":"User or role to assign the grant to. Example: \u003cspan pulumi-lang-nodejs=\"`alice`\" pulumi-lang-dotnet=\"`Alice`\" pulumi-lang-go=\"`alice`\" pulumi-lang-python=\"`alice`\" pulumi-lang-yaml=\"`alice`\" pulumi-lang-java=\"`alice`\"\u003e`alice`\u003c/span\u003e.\n"}},"type":"object","required":["user"]},"aiven:index/ServiceIntegrationClickhouseKafkaUserConfig:ServiceIntegrationClickhouseKafkaUserConfig":{"properties":{"tables":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTable:ServiceIntegrationClickhouseKafkaUserConfigTable"},"description":"Array of table configurations that define how Kafka topics are mapped to ClickHouse tables. Each table configuration specifies the table structure, associated Kafka topics, and read/write settings\n"}},"type":"object"},"aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTable:ServiceIntegrationClickhouseKafkaUserConfigTable":{"properties":{"autoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`beginning`\" pulumi-lang-dotnet=\"`Beginning`\" pulumi-lang-go=\"`beginning`\" pulumi-lang-python=\"`beginning`\" pulumi-lang-yaml=\"`beginning`\" pulumi-lang-java=\"`beginning`\"\u003e`beginning`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`end`\" pulumi-lang-dotnet=\"`End`\" pulumi-lang-go=\"`end`\" pulumi-lang-python=\"`end`\" pulumi-lang-yaml=\"`end`\" pulumi-lang-java=\"`end`\"\u003e`end`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`largest`\" pulumi-lang-dotnet=\"`Largest`\" pulumi-lang-go=\"`largest`\" pulumi-lang-python=\"`largest`\" pulumi-lang-yaml=\"`largest`\" pulumi-lang-java=\"`largest`\"\u003e`largest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`smallest`\" pulumi-lang-dotnet=\"`Smallest`\" pulumi-lang-go=\"`smallest`\" pulumi-lang-python=\"`smallest`\" pulumi-lang-yaml=\"`smallest`\" pulumi-lang-java=\"`smallest`\"\u003e`smallest`\u003c/span\u003e. Determines where to start reading from Kafka when no offset is stored or the stored offset is out of range. \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e starts from the beginning, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e starts from the end. Default: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e.\n"},"columns":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTableColumn:ServiceIntegrationClickhouseKafkaUserConfigTableColumn"},"description":"Array of column definitions that specify the structure of the ClickHouse table. Each column maps to a field in the Kafka messages\n"},"dataFormat":{"type":"string","description":"Enum: `Avro`, `AvroConfluent`, `CSV`, `JSONAsString`, `JSONCompactEachRow`, `JSONCompactStringsEachRow`, `JSONEachRow`, `JSONStringsEachRow`, `MsgPack`, `Parquet`, `RawBLOB`, `TSKV`, `TSV`, `TabSeparated`. The format of the messages in the Kafka topics. Determines how ClickHouse parses and serializes the data (e.g., JSON, CSV, Avro). Default: `JSONEachRow`.\n"},"dateTimeInputFormat":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\"\u003e`best_effort`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffortUs`\" pulumi-lang-dotnet=\"`BestEffortUs`\" pulumi-lang-go=\"`bestEffortUs`\" pulumi-lang-python=\"`best_effort_us`\" pulumi-lang-yaml=\"`bestEffortUs`\" pulumi-lang-java=\"`bestEffortUs`\"\u003e`best_effort_us`\u003c/span\u003e. Specifies how ClickHouse should parse DateTime values from text-based input formats. \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e uses simple parsing, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\"\u003e`best_effort`\u003c/span\u003e attempts more flexible parsing. Default: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e.\n"},"groupName":{"type":"string","description":"The Kafka consumer group name. Multiple consumers with the same group name will share the workload and maintain offset positions. Default: \u003cspan pulumi-lang-nodejs=\"`clickhouse`\" pulumi-lang-dotnet=\"`Clickhouse`\" pulumi-lang-go=\"`clickhouse`\" pulumi-lang-python=\"`clickhouse`\" pulumi-lang-yaml=\"`clickhouse`\" pulumi-lang-java=\"`clickhouse`\"\u003e`clickhouse`\u003c/span\u003e.\n"},"handleErrorMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stream`\" pulumi-lang-dotnet=\"`Stream`\" pulumi-lang-go=\"`stream`\" pulumi-lang-python=\"`stream`\" pulumi-lang-yaml=\"`stream`\" pulumi-lang-java=\"`stream`\"\u003e`stream`\u003c/span\u003e. Defines how ClickHouse should handle errors when processing Kafka messages. \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e stops on errors, \u003cspan pulumi-lang-nodejs=\"`stream`\" pulumi-lang-dotnet=\"`Stream`\" pulumi-lang-go=\"`stream`\" pulumi-lang-python=\"`stream`\" pulumi-lang-yaml=\"`stream`\" pulumi-lang-java=\"`stream`\"\u003e`stream`\u003c/span\u003e continues processing and logs errors. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"maxBlockSize":{"type":"integer","description":"Maximum number of rows to collect before flushing data between Kafka and ClickHouse. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxRowsPerMessage":{"type":"integer","description":"Maximum number of rows that can be processed from a single Kafka message for row-based formats. Useful for controlling memory usage. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the ClickHouse table to be created. This table can consume data from and write data to the specified Kafka topics. Example: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e.\n"},"numConsumers":{"type":"integer","description":"Number of Kafka consumers to run per table per replica. Increasing this can improve throughput but may increase resource usage. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"pollMaxBatchSize":{"type":"integer","description":"Maximum number of messages to fetch in a single Kafka poll operation for reading. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"pollMaxTimeoutMs":{"type":"integer","description":"Timeout in milliseconds for a single poll from Kafka. Takes the value of the stream*flush*interval_ms server setting by default (500ms). Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"producerBatchNumMessages":{"type":"integer","description":"The maximum number of messages in a batch sent to Kafka. If the number of messages exceeds this value, the batch is sent. Default: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"producerBatchSize":{"type":"integer","description":"The maximum size in bytes of a batch of messages sent to Kafka. If the batch size is exceeded, the batch is sent.\n"},"producerCompressionCodec":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. The compression codec to use when sending a batch of messages to Kafka. Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"producerCompressionLevel":{"type":"integer","description":"The compression level to use when sending a batch of messages to Kafka. Usable range is algorithm-dependent: [0-9] for gzip; [0-12] for lz4; only 0 for snappy; -1 = codec-dependent default compression level. Default: `-1`.\n"},"producerLingerMs":{"type":"integer","description":"The time in milliseconds to wait for additional messages before sending a batch. If the time is exceeded, the batch is sent. Default: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"producerQueueBufferingMaxKbytes":{"type":"integer","description":"The maximum size of the buffer in kilobytes before sending.\n"},"producerQueueBufferingMaxMessages":{"type":"integer","description":"The maximum number of messages to buffer before sending. Default: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"producerRequestRequiredAcks":{"type":"integer","description":"The number of acknowledgements the leader broker must receive from ISR brokers before responding to the request: 0=Broker does not send any response/ack to client, -1 will block until message is committed by all in sync replicas (ISRs). Default: `-1`.\n"},"skipBrokenMessages":{"type":"integer","description":"Number of broken messages to skip before stopping processing when reading from Kafka. Useful for handling corrupted data without failing the entire integration. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"threadPerConsumer":{"type":"boolean","description":"When enabled, each consumer runs in its own thread, providing better isolation and potentially better performance for high-throughput scenarios. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topics":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTableTopic:ServiceIntegrationClickhouseKafkaUserConfigTableTopic"},"description":"Array of Kafka topics that this table will read data from or write data to. Messages from all specified topics will be inserted into this table, and data inserted into this table will be published to the topics\n"}},"type":"object","required":["columns","dataFormat","groupName","name","topics"]},"aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTableColumn:ServiceIntegrationClickhouseKafkaUserConfigTableColumn":{"properties":{"name":{"type":"string","description":"The name of the column in the ClickHouse table. This should match the field names in your Kafka message format. Example: \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The ClickHouse data type for this column. Must be a valid ClickHouse data type that can handle the data format. Example: `UInt64`.\n"}},"type":"object","required":["name","type"]},"aiven:index/ServiceIntegrationClickhouseKafkaUserConfigTableTopic:ServiceIntegrationClickhouseKafkaUserConfigTableTopic":{"properties":{"name":{"type":"string","description":"The name of the Kafka topic to read messages from or write messages to. The topic must exist in the Kafka cluster. Example: \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e.\n"}},"type":"object","required":["name"]},"aiven:index/ServiceIntegrationClickhousePostgresqlUserConfig:ServiceIntegrationClickhousePostgresqlUserConfig":{"properties":{"databases":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhousePostgresqlUserConfigDatabase:ServiceIntegrationClickhousePostgresqlUserConfigDatabase"},"description":"Databases to expose\n"}},"type":"object"},"aiven:index/ServiceIntegrationClickhousePostgresqlUserConfigDatabase:ServiceIntegrationClickhousePostgresqlUserConfigDatabase":{"properties":{"database":{"type":"string","description":"PostgreSQL database to expose. Default: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"schema":{"type":"string","description":"PostgreSQL schema to expose. Default: \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ServiceIntegrationDatadogUserConfig:ServiceIntegrationDatadogUserConfig":{"properties":{"datadogDbmEnabled":{"type":"boolean","description":"Enable Datadog Database Monitoring.\n"},"datadogPgbouncerEnabled":{"type":"boolean","description":"Enable Datadog PgBouncer Metric Tracking.\n"},"datadogTags":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfigDatadogTag:ServiceIntegrationDatadogUserConfigDatadogTag"},"description":"Custom tags provided by user\n"},"excludeConsumerGroups":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"excludeTopics":{"type":"array","items":{"type":"string"},"description":"List of topics to exclude.\n"},"includeConsumerGroups":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"includeTopics":{"type":"array","items":{"type":"string"},"description":"List of topics to include.\n"},"kafkaCustomMetrics":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"maxJmxMetrics":{"type":"integer","description":"Maximum number of JMX metrics to send. Example: \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n"},"mirrormakerCustomMetrics":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"opensearch":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfigOpensearch:ServiceIntegrationDatadogUserConfigOpensearch","description":"Datadog Opensearch Options\n"},"redis":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfigRedis:ServiceIntegrationDatadogUserConfigRedis","description":"Datadog Redis Options\n"}},"type":"object"},"aiven:index/ServiceIntegrationDatadogUserConfigDatadogTag:ServiceIntegrationDatadogUserConfigDatadogTag":{"properties":{"comment":{"type":"string","description":"Optional tag explanation. Example: `Used to tag primary replica metrics`.\n"},"tag":{"type":"string","description":"Tag format and usage are described here: https://docs.datadoghq.com/getting_started/tagging. Tags with prefix `aiven-` are reserved for Aiven. Example: `replica:primary`.\n"}},"type":"object","required":["tag"]},"aiven:index/ServiceIntegrationDatadogUserConfigOpensearch:ServiceIntegrationDatadogUserConfigOpensearch":{"properties":{"clusterStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Cluster Monitoring.\n"},"indexStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Index Monitoring.\n"},"pendingTaskStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Pending Task Monitoring.\n"},"pshardStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Primary Shard Monitoring.\n"}},"type":"object"},"aiven:index/ServiceIntegrationDatadogUserConfigRedis:ServiceIntegrationDatadogUserConfigRedis":{"properties":{"commandStatsEnabled":{"type":"boolean","description":"Enable\u003cspan pulumi-lang-nodejs=\" commandStats \" pulumi-lang-dotnet=\" CommandStats \" pulumi-lang-go=\" commandStats \" pulumi-lang-python=\" command_stats \" pulumi-lang-yaml=\" commandStats \" pulumi-lang-java=\" commandStats \"\u003e command_stats \u003c/span\u003eoption in the agent's configuration. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ServiceIntegrationEndpointAutoscalerUserConfig:ServiceIntegrationEndpointAutoscalerUserConfig":{"properties":{"autoscalings":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointAutoscalerUserConfigAutoscaling:ServiceIntegrationEndpointAutoscalerUserConfigAutoscaling"},"description":"Configure autoscaling thresholds for a service\n"}},"type":"object","required":["autoscalings"]},"aiven:index/ServiceIntegrationEndpointAutoscalerUserConfigAutoscaling:ServiceIntegrationEndpointAutoscalerUserConfigAutoscaling":{"properties":{"capGb":{"type":"integer","description":"The maximum total disk size (in gb) to allow autoscaler to scale up to. Example: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`autoscaleDisk`\" pulumi-lang-dotnet=\"`AutoscaleDisk`\" pulumi-lang-go=\"`autoscaleDisk`\" pulumi-lang-python=\"`autoscale_disk`\" pulumi-lang-yaml=\"`autoscaleDisk`\" pulumi-lang-java=\"`autoscaleDisk`\"\u003e`autoscale_disk`\u003c/span\u003e. Type of autoscale event.\n"}},"type":"object","required":["capGb","type"]},"aiven:index/ServiceIntegrationEndpointDatadogUserConfig:ServiceIntegrationEndpointDatadogUserConfig":{"properties":{"datadogApiKey":{"type":"string","description":"Datadog API key. Example: \u003cspan pulumi-lang-nodejs=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-dotnet=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-go=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-python=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-yaml=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-java=\"`848f30907c15c55d601fe45487cce9b6`\"\u003e`848f30907c15c55d601fe45487cce9b6`\u003c/span\u003e.\n","secret":true},"datadogTags":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointDatadogUserConfigDatadogTag:ServiceIntegrationEndpointDatadogUserConfigDatadogTag"},"description":"Custom tags provided by user\n"},"disableConsumerStats":{"type":"boolean","description":"Disable consumer group metrics.\n"},"extraTagsPrefix":{"type":"string","description":"Extra tags prefix. Defaults to aiven.\n"},"kafkaConsumerCheckInstances":{"type":"integer","description":"Number of separate instances to fetch kafka consumer statistics with. Example: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"kafkaConsumerStatsTimeout":{"type":"integer","description":"Number of seconds that datadog will wait to get consumer statistics from brokers. Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"maxPartitionContexts":{"type":"integer","description":"Maximum number of partition contexts to send. Example: \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e.\n"},"site":{"type":"string","description":"Enum: `ap1.datadoghq.com`, `ap2.datadoghq.com`, `datadoghq.com`, `datadoghq.eu`, `ddog-gov.com`, `us3.datadoghq.com`, `us5.datadoghq.com`. Datadog intake site. Defaults to datadoghq.com.\n"}},"type":"object","required":["datadogApiKey"]},"aiven:index/ServiceIntegrationEndpointDatadogUserConfigDatadogTag:ServiceIntegrationEndpointDatadogUserConfigDatadogTag":{"properties":{"comment":{"type":"string","description":"Optional tag explanation. Example: `Used to tag primary replica metrics`.\n"},"tag":{"type":"string","description":"Tag format and usage are described here: https://docs.datadoghq.com/getting_started/tagging. Tags with prefix `aiven-` are reserved for Aiven. Example: `replica:primary`.\n"}},"type":"object","required":["tag"]},"aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig":{"properties":{"accessKey":{"type":"string","description":"AWS access key. Required permissions are logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents and logs:DescribeLogStreams. Example: `AAAAAAAAAAAAAAAAAAAA`.\n"},"logGroupName":{"type":"string","description":"AWS CloudWatch log group name. Example: `my-log-group`.\n"},"region":{"type":"string","description":"AWS region. Example: `us-east-1`.\n"},"secretKey":{"type":"string","description":"AWS secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","region","secretKey"]},"aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig":{"properties":{"accessKey":{"type":"string","description":"AWS access key. Required permissions are cloudwatch:PutMetricData. Example: `AAAAAAAAAAAAAAAAAAAA`.\n"},"namespace":{"type":"string","description":"AWS CloudWatch Metrics Namespace. Example: `my-metrics-namespace`.\n"},"region":{"type":"string","description":"AWS region. Example: `us-east-1`.\n"},"secretKey":{"type":"string","description":"AWS secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","namespace","region","secretKey"]},"aiven:index/ServiceIntegrationEndpointExternalAwsS3UserConfig:ServiceIntegrationEndpointExternalAwsS3UserConfig":{"properties":{"accessKeyId":{"type":"string","description":"Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.\n"},"secretAccessKey":{"type":"string","description":"Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true},"url":{"type":"string","description":"S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.\n"}},"type":"object","required":["accessKeyId","secretAccessKey","url"]},"aiven:index/ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig":{"properties":{"blobPath":{"type":"string","description":"Blob path. Example: `path/to/blob/file.csv`.\n"},"connectionString":{"type":"string","description":"Azure Blob Storage connection string. Example: `AccountName=IDENT;AccountKey=SECRET`.\n","secret":true},"container":{"type":"string","description":"Container. Example: `container-dev`.\n"}},"type":"object","required":["connectionString","container"]},"aiven:index/ServiceIntegrationEndpointExternalClickhouseUserConfig:ServiceIntegrationEndpointExternalClickhouseUserConfig":{"properties":{"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Secure TCP server port. Example: \u003cspan pulumi-lang-nodejs=\"`9440`\" pulumi-lang-dotnet=\"`9440`\" pulumi-lang-go=\"`9440`\" pulumi-lang-python=\"`9440`\" pulumi-lang-yaml=\"`9440`\" pulumi-lang-java=\"`9440`\"\u003e`9440`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"}},"type":"object","required":["host","password","port","username"]},"aiven:index/ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"indexDaysMax":{"type":"integer","description":"Maximum number of days of logs to keep. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"indexPrefix":{"type":"string","description":"Elasticsearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"Elasticsearch request timeout limit. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Elasticsearch connection URL. Example: `https://user:passwd@logs.example.com/`.\n"}},"type":"object","required":["indexPrefix","url"]},"aiven:index/ServiceIntegrationEndpointExternalGoogleCloudBigquery:ServiceIntegrationEndpointExternalGoogleCloudBigquery":{"properties":{"projectId":{"type":"string","description":"GCP project id. Example: `snappy-photon-12345`.\n"},"serviceAccountCredentials":{"type":"string","description":"This is a JSON object with the fields documented in https://cloud.google.com/iam/docs/creating-managing-service-account-keys. Example: `{\"type\": \u003cspan pulumi-lang-nodejs=\"\"serviceAccount\"\" pulumi-lang-dotnet=\"\"ServiceAccount\"\" pulumi-lang-go=\"\"serviceAccount\"\" pulumi-lang-python=\"\"service_account\"\" pulumi-lang-yaml=\"\"serviceAccount\"\" pulumi-lang-java=\"\"serviceAccount\"\"\u003e\"service_account\"\u003c/span\u003e, ...`.\n","secret":true}},"type":"object","required":["projectId","serviceAccountCredentials"]},"aiven:index/ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig":{"properties":{"logId":{"type":"string","description":"Google Cloud Logging log id. Example: \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"},"projectId":{"type":"string","description":"GCP project id. Example: `snappy-photon-12345`.\n"},"serviceAccountCredentials":{"type":"string","description":"This is a JSON object with the fields documented in https://cloud.google.com/iam/docs/creating-managing-service-account-keys. Example: `{\"type\": \u003cspan pulumi-lang-nodejs=\"\"serviceAccount\"\" pulumi-lang-dotnet=\"\"ServiceAccount\"\" pulumi-lang-go=\"\"serviceAccount\"\" pulumi-lang-python=\"\"service_account\"\" pulumi-lang-yaml=\"\"serviceAccount\"\" pulumi-lang-java=\"\"serviceAccount\"\"\u003e\"service_account\"\u003c/span\u003e, ...`.\n","secret":true}},"type":"object","required":["logId","projectId","serviceAccountCredentials"]},"aiven:index/ServiceIntegrationEndpointExternalKafkaUserConfig:ServiceIntegrationEndpointExternalKafkaUserConfig":{"properties":{"bootstrapServers":{"type":"string","description":"Bootstrap servers. Example: `10.0.0.1:9092,10.0.0.2:9092`.\n"},"saslMechanism":{"type":"string","description":"Enum: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. SASL mechanism used for connections to the Kafka server.\n"},"saslPlainPassword":{"type":"string","description":"Password for SASL PLAIN mechanism in the Kafka server. Example: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e.\n","secret":true},"saslPlainUsername":{"type":"string","description":"Username for SASL PLAIN mechanism in the Kafka server. Example: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e.\n"},"securityProtocol":{"type":"string","description":"Enum: `PLAINTEXT`, `SASL_PLAINTEXT`, `SASL_SSL`, `SSL`. Security protocol.\n"},"sslCaCert":{"type":"string","description":"PEM-encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientCert":{"type":"string","description":"PEM-encoded client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientKey":{"type":"string","description":"PEM-encoded client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n`.\n","secret":true},"sslEndpointIdentificationAlgorithm":{"type":"string","description":"Enum: \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. The endpoint identification algorithm to validate server hostname using server certificate.\n"}},"type":"object","required":["bootstrapServers","securityProtocol"]},"aiven:index/ServiceIntegrationEndpointExternalMysqlUserConfig:ServiceIntegrationEndpointExternalMysqlUserConfig":{"properties":{"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server. Example: \u003cspan pulumi-lang-nodejs=\"`5432`\" pulumi-lang-dotnet=\"`5432`\" pulumi-lang-go=\"`5432`\" pulumi-lang-python=\"`5432`\" pulumi-lang-yaml=\"`5432`\" pulumi-lang-java=\"`5432`\"\u003e`5432`\u003c/span\u003e.\n"},"sslMode":{"type":"string","description":"Enum: `verify-full`. SSL Mode. Default: `verify-full`.\n"},"sslRootCert":{"type":"string","description":"SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","password","port","username"]},"aiven:index/ServiceIntegrationEndpointExternalOpensearchLogsUserConfig:ServiceIntegrationEndpointExternalOpensearchLogsUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"indexDaysMax":{"type":"integer","description":"Maximum number of days of logs to keep. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"indexPrefix":{"type":"string","description":"OpenSearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"OpenSearch request timeout limit. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"url":{"type":"string","description":"OpenSearch connection URL. Example: `https://user:passwd@logs.example.com/`.\n"}},"type":"object","required":["indexPrefix","url"]},"aiven:index/ServiceIntegrationEndpointExternalPostgresql:ServiceIntegrationEndpointExternalPostgresql":{"properties":{"defaultDatabase":{"type":"string","description":"Default database. Example: \u003cspan pulumi-lang-nodejs=\"`testdb`\" pulumi-lang-dotnet=\"`Testdb`\" pulumi-lang-go=\"`testdb`\" pulumi-lang-python=\"`testdb`\" pulumi-lang-yaml=\"`testdb`\" pulumi-lang-java=\"`testdb`\"\u003e`testdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server. Example: \u003cspan pulumi-lang-nodejs=\"`5432`\" pulumi-lang-dotnet=\"`5432`\" pulumi-lang-go=\"`5432`\" pulumi-lang-python=\"`5432`\" pulumi-lang-yaml=\"`5432`\" pulumi-lang-java=\"`5432`\"\u003e`5432`\u003c/span\u003e.\n"},"sslClientCertificate":{"type":"string","description":"Client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientKey":{"type":"string","description":"Client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----`.\n","secret":true},"sslMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefer`\" pulumi-lang-dotnet=\"`Prefer`\" pulumi-lang-go=\"`prefer`\" pulumi-lang-python=\"`prefer`\" pulumi-lang-yaml=\"`prefer`\" pulumi-lang-java=\"`prefer`\"\u003e`prefer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e, `verify-ca`, `verify-full`. SSL mode to use for the connection. Please note that Aiven requires TLS for all connections to external PostgreSQL services. Default: `verify-full`.\n"},"sslRootCert":{"type":"string","description":"SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port","username"]},"aiven:index/ServiceIntegrationEndpointExternalPrometheusUserConfig:ServiceIntegrationEndpointExternalPrometheusUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Prometheus basic authentication password. Example: `fhyFNBjj3R`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Prometheus basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`prom4851`\" pulumi-lang-dotnet=\"`Prom4851`\" pulumi-lang-go=\"`prom4851`\" pulumi-lang-python=\"`prom4851`\" pulumi-lang-yaml=\"`prom4851`\" pulumi-lang-java=\"`prom4851`\"\u003e`prom4851`\u003c/span\u003e.\n"},"serviceUri":{"type":"string","description":"Prometheus enabled write endpoint. Example: `https://write.example.com/`.\n"}},"type":"object"},"aiven:index/ServiceIntegrationEndpointExternalSchemaRegistryUserConfig:ServiceIntegrationEndpointExternalSchemaRegistryUserConfig":{"properties":{"authentication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Authentication method.\n"},"basicAuthPassword":{"type":"string","description":"Basic authentication password. Example: `Zm9vYg==`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Basic authentication user name. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Schema Registry URL. Example: `https://schema-registry.kafka.company.com:28419`.\n"}},"type":"object","required":["authentication","url"]},"aiven:index/ServiceIntegrationEndpointJolokiaUserConfig:ServiceIntegrationEndpointJolokiaUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Jolokia basic authentication password. Example: `yhfBNFii4C`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Jolokia basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`jol48k51`\" pulumi-lang-dotnet=\"`Jol48k51`\" pulumi-lang-go=\"`jol48k51`\" pulumi-lang-python=\"`jol48k51`\" pulumi-lang-yaml=\"`jol48k51`\" pulumi-lang-java=\"`jol48k51`\"\u003e`jol48k51`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ServiceIntegrationEndpointPrometheusUserConfig:ServiceIntegrationEndpointPrometheusUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Prometheus basic authentication password. Example: `fhyFNBjj3R`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Prometheus basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`prom4851`\" pulumi-lang-dotnet=\"`Prom4851`\" pulumi-lang-go=\"`prom4851`\" pulumi-lang-python=\"`prom4851`\" pulumi-lang-yaml=\"`prom4851`\" pulumi-lang-java=\"`prom4851`\"\u003e`prom4851`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ServiceIntegrationEndpointRsyslogUserConfig:ServiceIntegrationEndpointRsyslogUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"cert":{"type":"string","description":"PEM encoded client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"format":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rfc3164`\" pulumi-lang-dotnet=\"`Rfc3164`\" pulumi-lang-go=\"`rfc3164`\" pulumi-lang-python=\"`rfc3164`\" pulumi-lang-yaml=\"`rfc3164`\" pulumi-lang-java=\"`rfc3164`\"\u003e`rfc3164`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rfc5424`\" pulumi-lang-dotnet=\"`Rfc5424`\" pulumi-lang-go=\"`rfc5424`\" pulumi-lang-python=\"`rfc5424`\" pulumi-lang-yaml=\"`rfc5424`\" pulumi-lang-java=\"`rfc5424`\"\u003e`rfc5424`\u003c/span\u003e. Message format. Default: \u003cspan pulumi-lang-nodejs=\"`rfc5424`\" pulumi-lang-dotnet=\"`Rfc5424`\" pulumi-lang-go=\"`rfc5424`\" pulumi-lang-python=\"`rfc5424`\" pulumi-lang-yaml=\"`rfc5424`\" pulumi-lang-java=\"`rfc5424`\"\u003e`rfc5424`\u003c/span\u003e.\n"},"key":{"type":"string","description":"PEM encoded client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n`.\n","secret":true},"logline":{"type":"string","description":"Custom syslog message format. Example: `\u003c%pri%\u003e%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg%`.\n"},"maxMessageSize":{"type":"integer","description":"Rsyslog max message size. Default: \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Rsyslog server port. Default: \u003cspan pulumi-lang-nodejs=\"`514`\" pulumi-lang-dotnet=\"`514`\" pulumi-lang-go=\"`514`\" pulumi-lang-python=\"`514`\" pulumi-lang-yaml=\"`514`\" pulumi-lang-java=\"`514`\"\u003e`514`\u003c/span\u003e.\n"},"sd":{"type":"string","description":"Structured data block for log message. Example: `TOKEN tag=\"LiteralValue\"`.\n"},"server":{"type":"string","description":"Rsyslog server IP address or hostname. Example: `logs.example.com`.\n"},"tls":{"type":"boolean","description":"Require TLS. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["format","port","server","tls"]},"aiven:index/ServiceIntegrationExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationExternalAwsCloudwatchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig":{"properties":{"droppedMetrics":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric"},"description":"Metrics to not send to AWS CloudWatch (takes precedence over extra*metrics)\n"},"extraMetrics":{"type":"array","items":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric"},"description":"Metrics to allow through to AWS CloudWatch (in addition to default metrics)\n"}},"type":"object"},"aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric":{"properties":{"field":{"type":"string","description":"Identifier of a value in the metric. Example: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"metric":{"type":"string","description":"Identifier of the metric. Example: `java.lang:Memory`.\n"}},"type":"object","required":["field","metric"]},"aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric":{"properties":{"field":{"type":"string","description":"Identifier of a value in the metric. Example: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"metric":{"type":"string","description":"Identifier of the metric. Example: `java.lang:Memory`.\n"}},"type":"object","required":["field","metric"]},"aiven:index/ServiceIntegrationExternalElasticsearchLogsUserConfig:ServiceIntegrationExternalElasticsearchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/ServiceIntegrationExternalOpensearchLogsUserConfig:ServiceIntegrationExternalOpensearchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/ServiceIntegrationFlinkExternalPostgresqlUserConfig:ServiceIntegrationFlinkExternalPostgresqlUserConfig":{"properties":{"stringtype":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e. If stringtype is set to unspecified, parameters will be sent to the server as untyped values.\n"}},"type":"object"},"aiven:index/ServiceIntegrationKafkaConnectUserConfig:ServiceIntegrationKafkaConnectUserConfig":{"properties":{"kafkaConnect":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaConnectUserConfigKafkaConnect:ServiceIntegrationKafkaConnectUserConfigKafkaConnect","description":"Kafka Connect service configuration values\n"}},"type":"object"},"aiven:index/ServiceIntegrationKafkaConnectUserConfigKafkaConnect:ServiceIntegrationKafkaConnectUserConfigKafkaConnect":{"properties":{"configStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration data are stored.This must be the same for all workers with the same group_id. Example: `__connect_configs`.\n"},"groupId":{"type":"string","description":"A unique string that identifies the Connect cluster group this worker belongs to. Example: \u003cspan pulumi-lang-nodejs=\"`connect`\" pulumi-lang-dotnet=\"`Connect`\" pulumi-lang-go=\"`connect`\" pulumi-lang-python=\"`connect`\" pulumi-lang-yaml=\"`connect`\" pulumi-lang-java=\"`connect`\"\u003e`connect`\u003c/span\u003e.\n"},"offsetStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration offsets are stored.This must be the same for all workers with the same group_id. Example: `__connect_offsets`.\n"},"statusStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration status updates are stored.This must be the same for all workers with the same group_id. Example: `__connect_status`.\n"}},"type":"object"},"aiven:index/ServiceIntegrationKafkaLogsUserConfig:ServiceIntegrationKafkaLogsUserConfig":{"properties":{"kafkaTopic":{"type":"string","description":"Topic name. Example: \u003cspan pulumi-lang-nodejs=\"`mytopic`\" pulumi-lang-dotnet=\"`Mytopic`\" pulumi-lang-go=\"`mytopic`\" pulumi-lang-python=\"`mytopic`\" pulumi-lang-yaml=\"`mytopic`\" pulumi-lang-java=\"`mytopic`\"\u003e`mytopic`\u003c/span\u003e.\n"},"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object","required":["kafkaTopic"]},"aiven:index/ServiceIntegrationKafkaMirrormakerUserConfig:ServiceIntegrationKafkaMirrormakerUserConfig":{"properties":{"clusterAlias":{"type":"string","description":"The alias under which the Kafka cluster is known to MirrorMaker. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. Example: `kafka-abc`.\n"},"kafkaMirrormaker":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker:ServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker","description":"Kafka MirrorMaker configuration values\n"}},"type":"object"},"aiven:index/ServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker:ServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker":{"properties":{"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. Set where consumer starts to consume data. Value \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e: Start replication from the earliest offset. Value \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e: Start replication from the latest offset. Default is \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e.\n"},"consumerFetchMinBytes":{"type":"integer","description":"The minimum amount of data the server should return for a fetch request. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"consumerMaxPollRecords":{"type":"integer","description":"Set consumer max.poll.records. The default is 500. Example: \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e.\n"},"producerBatchSize":{"type":"integer","description":"The batch size in bytes producer will attempt to collect before publishing to broker. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"producerBufferMemory":{"type":"integer","description":"The amount of bytes producer can use for buffering data before publishing to broker.\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"The linger time (ms) for waiting new data to arrive for publishing. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"producerMaxRequestSize":{"type":"integer","description":"The maximum request size in bytes.\n"}},"type":"object"},"aiven:index/ServiceIntegrationLogsUserConfig:ServiceIntegrationLogsUserConfig":{"properties":{"elasticsearchIndexDaysMax":{"type":"integer","description":"Elasticsearch index retention limit. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"elasticsearchIndexPrefix":{"type":"string","description":"Elasticsearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/ServiceIntegrationMetricsUserConfig:ServiceIntegrationMetricsUserConfig":{"properties":{"database":{"type":"string","description":"Name of the database where to store metric datapoints. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"},"retentionDays":{"type":"integer","description":"Number of days to keep old metrics. Only affects PostgreSQL destinations. Set to 0 for no automatic cleanup. Defaults to 30 days.\n"},"roUsername":{"type":"string","description":"Name of a user that can be used to read metrics. This will be used for Grafana integration (if enabled) to prevent Grafana users from making undesired changes. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metricsReader`\" pulumi-lang-dotnet=\"`MetricsReader`\" pulumi-lang-go=\"`metricsReader`\" pulumi-lang-python=\"`metrics_reader`\" pulumi-lang-yaml=\"`metricsReader`\" pulumi-lang-java=\"`metricsReader`\"\u003e`metrics_reader`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"},"sourceMysql":{"$ref":"#/types/aiven:index/ServiceIntegrationMetricsUserConfigSourceMysql:ServiceIntegrationMetricsUserConfigSourceMysql","description":"Configuration options for metrics where source service is MySQL\n"},"username":{"type":"string","description":"Name of the user used to write metrics. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metricsWriter`\" pulumi-lang-dotnet=\"`MetricsWriter`\" pulumi-lang-go=\"`metricsWriter`\" pulumi-lang-python=\"`metrics_writer`\" pulumi-lang-yaml=\"`metricsWriter`\" pulumi-lang-java=\"`metricsWriter`\"\u003e`metrics_writer`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"}},"type":"object"},"aiven:index/ServiceIntegrationMetricsUserConfigSourceMysql:ServiceIntegrationMetricsUserConfigSourceMysql":{"properties":{"telegraf":{"$ref":"#/types/aiven:index/ServiceIntegrationMetricsUserConfigSourceMysqlTelegraf:ServiceIntegrationMetricsUserConfigSourceMysqlTelegraf","description":"Configuration options for Telegraf MySQL input plugin\n"}},"type":"object"},"aiven:index/ServiceIntegrationMetricsUserConfigSourceMysqlTelegraf:ServiceIntegrationMetricsUserConfigSourceMysqlTelegraf":{"properties":{"gatherEventWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.EVENT*WAITS.\n"},"gatherFileEventsStats":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.FILE*SUMMARY*BY*EVENT_NAME.\n"},"gatherIndexIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*IO*WAITS*SUMMARY*BY*INDEX_USAGE.\n"},"gatherInfoSchemaAutoInc":{"type":"boolean","description":"Gather\u003cspan pulumi-lang-nodejs=\" autoIncrement \" pulumi-lang-dotnet=\" AutoIncrement \" pulumi-lang-go=\" autoIncrement \" pulumi-lang-python=\" auto_increment \" pulumi-lang-yaml=\" autoIncrement \" pulumi-lang-java=\" autoIncrement \"\u003e auto_increment \u003c/span\u003ecolumns and max values from information schema.\n"},"gatherInnodbMetrics":{"type":"boolean","description":"Gather metrics from INFORMATION*SCHEMA.INNODB*METRICS.\n"},"gatherPerfEventsStatements":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.EVENTS*STATEMENTS*SUMMARY*BY_DIGEST.\n"},"gatherProcessList":{"type":"boolean","description":"Gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST.\n"},"gatherReplicaStatus":{"type":"boolean","description":"Gather metrics from SHOW REPLICA STATUS command output.\n"},"gatherSlaveStatus":{"type":"boolean","description":"Gather metrics from SHOW SLAVE STATUS command output.\n"},"gatherTableIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*IO*WAITS*SUMMARY*BY*TABLE.\n"},"gatherTableLockWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*LOCK_WAITS.\n"},"gatherTableSchema":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.TABLES.\n"},"perfEventsStatementsDigestTextLimit":{"type":"integer","description":"Truncates digest text from perf*events*statements into this many characters. Example: \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"perfEventsStatementsLimit":{"type":"integer","description":"Limits metrics from perf*events*statements. Example: \u003cspan pulumi-lang-nodejs=\"`250`\" pulumi-lang-dotnet=\"`250`\" pulumi-lang-go=\"`250`\" pulumi-lang-python=\"`250`\" pulumi-lang-yaml=\"`250`\" pulumi-lang-java=\"`250`\"\u003e`250`\u003c/span\u003e.\n"},"perfEventsStatementsTimeLimit":{"type":"integer","description":"Only include perf*events*statements whose last seen is less than this many seconds. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ServiceIntegrationPrometheusUserConfig:ServiceIntegrationPrometheusUserConfig":{"properties":{"sourceMysql":{"$ref":"#/types/aiven:index/ServiceIntegrationPrometheusUserConfigSourceMysql:ServiceIntegrationPrometheusUserConfigSourceMysql","description":"Configuration options for metrics where source service is MySQL\n"}},"type":"object"},"aiven:index/ServiceIntegrationPrometheusUserConfigSourceMysql:ServiceIntegrationPrometheusUserConfigSourceMysql":{"properties":{"telegraf":{"$ref":"#/types/aiven:index/ServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf:ServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf","description":"Configuration options for Telegraf MySQL input plugin\n"}},"type":"object"},"aiven:index/ServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf:ServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf":{"properties":{"gatherEventWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.EVENT*WAITS.\n"},"gatherFileEventsStats":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.FILE*SUMMARY*BY*EVENT_NAME.\n"},"gatherIndexIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*IO*WAITS*SUMMARY*BY*INDEX_USAGE.\n"},"gatherInfoSchemaAutoInc":{"type":"boolean","description":"Gather\u003cspan pulumi-lang-nodejs=\" autoIncrement \" pulumi-lang-dotnet=\" AutoIncrement \" pulumi-lang-go=\" autoIncrement \" pulumi-lang-python=\" auto_increment \" pulumi-lang-yaml=\" autoIncrement \" pulumi-lang-java=\" autoIncrement \"\u003e auto_increment \u003c/span\u003ecolumns and max values from information schema.\n"},"gatherInnodbMetrics":{"type":"boolean","description":"Gather metrics from INFORMATION*SCHEMA.INNODB*METRICS.\n"},"gatherPerfEventsStatements":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.EVENTS*STATEMENTS*SUMMARY*BY_DIGEST.\n"},"gatherProcessList":{"type":"boolean","description":"Gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST.\n"},"gatherReplicaStatus":{"type":"boolean","description":"Gather metrics from SHOW REPLICA STATUS command output.\n"},"gatherSlaveStatus":{"type":"boolean","description":"Gather metrics from SHOW SLAVE STATUS command output.\n"},"gatherTableIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*IO*WAITS*SUMMARY*BY*TABLE.\n"},"gatherTableLockWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE*SCHEMA.TABLE*LOCK_WAITS.\n"},"gatherTableSchema":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.TABLES.\n"},"perfEventsStatementsDigestTextLimit":{"type":"integer","description":"Truncates digest text from perf*events*statements into this many characters. Example: \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"perfEventsStatementsLimit":{"type":"integer","description":"Limits metrics from perf*events*statements. Example: \u003cspan pulumi-lang-nodejs=\"`250`\" pulumi-lang-dotnet=\"`250`\" pulumi-lang-go=\"`250`\" pulumi-lang-python=\"`250`\" pulumi-lang-yaml=\"`250`\" pulumi-lang-java=\"`250`\"\u003e`250`\u003c/span\u003e.\n"},"perfEventsStatementsTimeLimit":{"type":"integer","description":"Only include perf*events*statements whose last seen is less than this many seconds. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ThanosComponent:ThanosComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/ThanosServiceIntegration:ThanosServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/ThanosTag:ThanosTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/ThanosTechEmail:ThanosTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/ThanosThanos:ThanosThanos":{"properties":{"queryFrontendUri":{"type":"string","description":"Query frontend URI.\n","secret":true},"queryUri":{"type":"string","description":"Query URI.\n","secret":true},"receiverRemoteWriteUri":{"type":"string","description":"Receiver remote write URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Thanos server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["queryFrontendUri","queryUri","receiverRemoteWriteUri","uris"]}}},"aiven:index/ThanosThanosUserConfig:ThanosThanosUserConfig":{"properties":{"compactor":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigCompactor:ThanosThanosUserConfigCompactor","description":"Configuration options for Thanos Compactor\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"Environmental variables.\n","deprecationMessage":"This property is deprecated."},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigIpFilterObject:ThanosThanosUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"objectStorageUsageAlertThresholdGb":{"type":"integer","description":"After exceeding the limit a service alert is going to be raised (0 means not set).\n"},"privateAccess":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigPrivateAccess:ThanosThanosUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigPrivatelinkAccess:ThanosThanosUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigPublicAccess:ThanosThanosUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"query":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigQuery:ThanosThanosUserConfigQuery","description":"Configuration options for Thanos Query\n"},"queryFrontend":{"$ref":"#/types/aiven:index/ThanosThanosUserConfigQueryFrontend:ThanosThanosUserConfigQueryFrontend","description":"Configuration options for Thanos Query Frontend\n"},"receiverIngesting":{"type":"object","additionalProperties":{"type":"string"},"description":"Common configuration options for Thanos Receive.\n"},"receiverRouting":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Receive Routing.\n"},"ruler":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Ruler.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"store":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Store.\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigCompactor:ThanosThanosUserConfigCompactor":{"properties":{"retentionDays":{"type":"integer","description":"Retention time for data in days for each resolution (5m, 1h, raw).\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigIpFilterObject:ThanosThanosUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/ThanosThanosUserConfigPrivateAccess:ThanosThanosUserConfigPrivateAccess":{"properties":{"queryFrontend":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" queryFrontend \" pulumi-lang-dotnet=\" QueryFrontend \" pulumi-lang-go=\" queryFrontend \" pulumi-lang-python=\" query_frontend \" pulumi-lang-yaml=\" queryFrontend \" pulumi-lang-java=\" queryFrontend \"\u003e query_frontend \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"receiverRouting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverRouting \" pulumi-lang-dotnet=\" ReceiverRouting \" pulumi-lang-go=\" receiverRouting \" pulumi-lang-python=\" receiver_routing \" pulumi-lang-yaml=\" receiverRouting \" pulumi-lang-java=\" receiverRouting \"\u003e receiver_routing \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigPrivatelinkAccess:ThanosThanosUserConfigPrivatelinkAccess":{"properties":{"queryFrontend":{"type":"boolean","description":"Enable query_frontend.\n"},"receiverRouting":{"type":"boolean","description":"Enable receiver_routing.\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigPublicAccess:ThanosThanosUserConfigPublicAccess":{"properties":{"compactor":{"type":"boolean","description":"Allow clients to connect to compactor from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"query":{"type":"boolean","description":"Allow clients to connect to query from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"queryFrontend":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" queryFrontend \" pulumi-lang-dotnet=\" QueryFrontend \" pulumi-lang-go=\" queryFrontend \" pulumi-lang-python=\" query_frontend \" pulumi-lang-yaml=\" queryFrontend \" pulumi-lang-java=\" queryFrontend \"\u003e query_frontend \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"receiverIngesting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverIngesting \" pulumi-lang-dotnet=\" ReceiverIngesting \" pulumi-lang-go=\" receiverIngesting \" pulumi-lang-python=\" receiver_ingesting \" pulumi-lang-yaml=\" receiverIngesting \" pulumi-lang-java=\" receiverIngesting \"\u003e receiver_ingesting \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"receiverRouting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverRouting \" pulumi-lang-dotnet=\" ReceiverRouting \" pulumi-lang-go=\" receiverRouting \" pulumi-lang-python=\" receiver_routing \" pulumi-lang-yaml=\" receiverRouting \" pulumi-lang-java=\" receiverRouting \"\u003e receiver_routing \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"ruler":{"type":"boolean","description":"Allow clients to connect to ruler from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"store":{"type":"boolean","description":"Allow clients to connect to store from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigQuery:ThanosThanosUserConfigQuery":{"properties":{"queryDefaultEvaluationInterval":{"type":"string","description":"Set the default evaluation interval for subqueries. Default: \u003cspan pulumi-lang-nodejs=\"`1m`\" pulumi-lang-dotnet=\"`1m`\" pulumi-lang-go=\"`1m`\" pulumi-lang-python=\"`1m`\" pulumi-lang-yaml=\"`1m`\" pulumi-lang-java=\"`1m`\"\u003e`1m`\u003c/span\u003e.\n"},"queryLookbackDelta":{"type":"string","description":"The maximum lookback duration for retrieving metrics during expression evaluations in PromQL. PromQL always evaluates the query for a certain timestamp, and it looks back for the given amount of time to get the latest sample. If it exceeds the maximum lookback delta, it assumes the series is stale and returns none (a gap). The lookback delta should be set to at least 2 times the slowest scrape interval. If unset, it will use the promql default of 5m. Default: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"},"queryMetadataDefaultTimeRange":{"type":"string","description":"The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. The zero value means the range covers the time since the beginning. Default: \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"queryTimeout":{"type":"string","description":"Maximum time to process a query by the query node. Default: \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e.\n"},"storeLimitsRequestSamples":{"type":"integer","description":"The maximum samples allowed for a single Series request. The Series call fails if this limit is exceeded. Set to 0 for no limit. NOTE: For efficiency, the limit is internally implemented as 'chunks limit' considering each chunk contains a maximum of 120 samples. The default value is 100 * store.limits.request-series. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storeLimitsRequestSeries":{"type":"integer","description":"The maximum series allowed for a single Series request. The Series call fails if this limit is exceeded. Set to 0 for no limit. The default value is 1000 * cpu_count. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ThanosThanosUserConfigQueryFrontend:ThanosThanosUserConfigQueryFrontend":{"properties":{"queryRangeAlignRangeWithStep":{"type":"boolean","description":"Whether to align the query range boundaries with the step. If enabled, the query range boundaries will be aligned to the step, providing more accurate results for queries with high-resolution data. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/ValkeyComponent:ValkeyComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"]}}},"aiven:index/ValkeyServiceIntegration:ValkeyServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"]},"aiven:index/ValkeyTag:ValkeyTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"]},"aiven:index/ValkeyTechEmail:ValkeyTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"]},"aiven:index/ValkeyValkey:ValkeyValkey":{"properties":{"password":{"type":"string","description":"Valkey password.\n","secret":true},"replicaUri":{"type":"string","description":"Valkey replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Valkey slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Valkey server URIs.\n","secret":true}},"type":"object","language":{"nodejs":{"requiredOutputs":["password","replicaUri","slaveUris","uris"]}}},"aiven:index/ValkeyValkeyUserConfig:ValkeyValkeyUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"frequentSnapshots":{"type":"boolean","description":"When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when \u003cspan pulumi-lang-nodejs=\"`valkeyPersistence`\" pulumi-lang-dotnet=\"`ValkeyPersistence`\" pulumi-lang-go=\"`valkeyPersistence`\" pulumi-lang-python=\"`valkey_persistence`\" pulumi-lang-yaml=\"`valkeyPersistence`\" pulumi-lang-java=\"`valkeyPersistence`\"\u003e`valkey_persistence`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfigIpFilterObject:ValkeyValkeyUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfigMigration:ValkeyValkeyUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfigPrivateAccess:ValkeyValkeyUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfigPrivatelinkAccess:ValkeyValkeyUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n","willReplaceOnChanges":true},"publicAccess":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfigPublicAccess:ValkeyValkeyUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n","willReplaceOnChanges":true},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"valkeyAclChannelsDefault":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allchannels`\" pulumi-lang-dotnet=\"`Allchannels`\" pulumi-lang-go=\"`allchannels`\" pulumi-lang-python=\"`allchannels`\" pulumi-lang-yaml=\"`allchannels`\" pulumi-lang-java=\"`allchannels`\"\u003e`allchannels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resetchannels`\" pulumi-lang-dotnet=\"`Resetchannels`\" pulumi-lang-go=\"`resetchannels`\" pulumi-lang-python=\"`resetchannels`\" pulumi-lang-yaml=\"`resetchannels`\" pulumi-lang-java=\"`resetchannels`\"\u003e`resetchannels`\u003c/span\u003e. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined,\u003cspan pulumi-lang-nodejs=\" allChannels \" pulumi-lang-dotnet=\" AllChannels \" pulumi-lang-go=\" allChannels \" pulumi-lang-python=\" all_channels \" pulumi-lang-yaml=\" allChannels \" pulumi-lang-java=\" allChannels \"\u003e all_channels \u003c/span\u003eis assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default.\n"},"valkeyActiveExpireEffort":{"type":"integer","description":"Valkey reclaims expired keys both when accessed and in the background. The background process scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to reclaim expired keys faster, reducing memory usage but potentially increasing latency. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyIoThreads":{"type":"integer","description":"Set Valkey IO thread count. Changing this will cause a restart of the Valkey service. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyLfuDecayTime":{"type":"integer","description":"LFU maxmemory-policy counter decay time in minutes. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyLfuLogFactor":{"type":"integer","description":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"valkeyMaxmemoryPolicy":{"type":"string","description":"Enum: `allkeys-lfu`, `allkeys-lru`, `allkeys-random`, \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e, `volatile-lfu`, `volatile-lru`, `volatile-random`, `volatile-ttl`. Valkey maxmemory-policy. Default: \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e.\n"},"valkeyNotifyKeyspaceEvents":{"type":"string","description":"Set notify-keyspace-events option.\n"},"valkeyNumberOfDatabases":{"type":"integer","description":"Set number of Valkey databases. Changing this will cause a restart of the Valkey service. Example: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"valkeyPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e, Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.\n"},"valkeyPubsubClientOutputBufferLimit":{"type":"integer","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Example: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"valkeySsl":{"type":"boolean","description":"Require SSL to access Valkey. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"valkeyTimeout":{"type":"integer","description":"Valkey idle connection timeout in seconds. Default: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"valkeyVersion":{"type":"string","description":"Enum: `8.1`, `9.0`, and newer. Valkey major version.\n"}},"type":"object"},"aiven:index/ValkeyValkeyUserConfigIpFilterObject:ValkeyValkeyUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"]},"aiven:index/ValkeyValkeyUserConfigMigration:ValkeyValkeyUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"]},"aiven:index/ValkeyValkeyUserConfigPrivateAccess:ValkeyValkeyUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"valkey":{"type":"boolean","description":"Allow clients to connect to valkey with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/ValkeyValkeyUserConfigPrivatelinkAccess:ValkeyValkeyUserConfigPrivatelinkAccess":{"properties":{"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"valkey":{"type":"boolean","description":"Enable valkey.\n"}},"type":"object"},"aiven:index/ValkeyValkeyUserConfigPublicAccess:ValkeyValkeyUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"valkey":{"type":"boolean","description":"Allow clients to connect to valkey from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getAccountAuthenticationSamlFieldMapping:getAccountAuthenticationSamlFieldMapping":{"properties":{"email":{"type":"string","description":"Field name for user email\n"},"firstName":{"type":"string","description":"Field name for user's first name\n"},"identity":{"type":"string","description":"Field name for user's identity. This field must always exist in responses, and must be immutable and unique. Contents of this field are used to identify the user. Using user ID (such as unix user id) is highly recommended, as email address may change, requiring relinking user to Aiven user.\n"},"lastName":{"type":"string","description":"Field name for user's last name\n"},"realName":{"type":"string","description":"Field name for user's full name. If specified,\u003cspan pulumi-lang-nodejs=\" firstName \" pulumi-lang-dotnet=\" FirstName \" pulumi-lang-go=\" firstName \" pulumi-lang-python=\" first_name \" pulumi-lang-yaml=\" firstName \" pulumi-lang-java=\" firstName \"\u003e first_name \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" lastName \" pulumi-lang-dotnet=\" LastName \" pulumi-lang-go=\" lastName \" pulumi-lang-python=\" last_name \" pulumi-lang-yaml=\" lastName \" pulumi-lang-java=\" lastName \"\u003e last_name \u003c/span\u003emappings are ignored\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomni:getAlloydbomniAlloydbomni":{"properties":{"bouncer":{"type":"string","description":"PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"dbname":{"type":"string","description":"Primary AlloyDB Omni database name.\n","secret":true},"host":{"type":"string","description":"AlloyDB Omni primary node host IP or name.\n","secret":true},"maxConnections":{"type":"integer","description":"The [number of allowed connections](https://aiven.io/docs/products/postgresql/reference/pg-connection-limits). Varies based on the service plan.\n","secret":true},"params":{"type":"array","items":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniParam:getAlloydbomniAlloydbomniParam"},"description":"AlloyDB Omni connection parameters.\n","secret":true},"password":{"type":"string","description":"AlloyDB Omni admin user password.\n","secret":true},"port":{"type":"integer","description":"AlloyDB Omni port.\n","secret":true},"replicaUri":{"type":"string","description":"AlloyDB Omni replica URI for services with a replica.\n","secret":true},"sslmode":{"type":"string","description":"AlloyDB Omni SSL mode setting.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni syncing connection URIs.\n","secret":true},"uri":{"type":"string","description":"AlloyDB Omni primary connection URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"AlloyDB Omni primary connection URIs.\n","secret":true},"user":{"type":"string","description":"AlloyDB Omni admin user name.\n","secret":true}},"type":"object","required":["bouncer","dbname","host","maxConnections","params","password","port","replicaUri","sslmode","standbyUris","syncingUris","uri","uris","user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniAlloydbomniParam:getAlloydbomniAlloydbomniParam":{"properties":{"databaseName":{"type":"string","description":"Primary AlloyDB Omni database name.\n","secret":true},"host":{"type":"string","description":"AlloyDB Omni host IP or name.\n","secret":true},"password":{"type":"string","description":"AlloyDB Omni admin user password.\n","secret":true},"port":{"type":"integer","description":"AlloyDB Omni port.\n","secret":true},"sslmode":{"type":"string","description":"AlloyDB Omni SSL mode setting.\n","secret":true},"user":{"type":"string","description":"AlloyDB Omni admin user name.\n","secret":true}},"type":"object","required":["databaseName","host","password","port","sslmode","user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniAlloydbomniUserConfig:getAlloydbomniAlloydbomniUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n"},"alloydbomniVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"googleColumnarEngineEnabled":{"type":"boolean","description":"Enables or disables the columnar engine. When enabled, it accelerates SQL query processing. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"googleColumnarEngineMemorySizePercentage":{"type":"integer","description":"Allocate the amount of RAM to store columnar data. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigIpFilterObject:getAlloydbomniAlloydbomniUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"nodeCount":{"type":"integer","description":"Number of nodes for the service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pg":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPg:getAlloydbomniAlloydbomniUserConfigPg","description":"postgresql.conf configuration values\n"},"pgReadReplica":{"type":"boolean","description":"Should the service which is being forked be a read replica (deprecated, use\u003cspan pulumi-lang-nodejs=\" readReplica \" pulumi-lang-dotnet=\" ReadReplica \" pulumi-lang-go=\" readReplica \" pulumi-lang-python=\" read_replica \" pulumi-lang-yaml=\" readReplica \" pulumi-lang-java=\" readReplica \"\u003e read_replica \u003c/span\u003eservice integration instead).\n"},"pgServiceToForkFrom":{"type":"string","description":"Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"pgVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"pgaudit":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPgaudit:getAlloydbomniAlloydbomniUserConfigPgaudit","description":"System-wide settings for the pgaudit extension\n"},"pgbouncer":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPgbouncer:getAlloydbomniAlloydbomniUserConfigPgbouncer","description":"PGBouncer connection pooling settings\n"},"pglookout":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPglookout:getAlloydbomniAlloydbomniUserConfigPglookout","description":"System-wide settings for pglookout\n"},"privateAccess":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPrivateAccess:getAlloydbomniAlloydbomniUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPrivatelinkAccess:getAlloydbomniAlloydbomniUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfigPublicAccess:getAlloydbomniAlloydbomniUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"sharedBuffersPercentage":{"type":"number","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the\u003cspan pulumi-lang-nodejs=\" sharedBuffers \" pulumi-lang-dotnet=\" SharedBuffers \" pulumi-lang-go=\" sharedBuffers \" pulumi-lang-python=\" shared_buffers \" pulumi-lang-yaml=\" sharedBuffers \" pulumi-lang-java=\" sharedBuffers \"\u003e shared_buffers \u003c/span\u003econfiguration value. Changing this parameter causes a service restart. Example: `41.5`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"synchronousReplication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quorum`\" pulumi-lang-dotnet=\"`Quorum`\" pulumi-lang-go=\"`quorum`\" pulumi-lang-python=\"`quorum`\" pulumi-lang-yaml=\"`quorum`\" pulumi-lang-java=\"`quorum`\"\u003e`quorum`\u003c/span\u003e. Synchronous replication type. Note that the service plan also needs to support synchronous replication.\n"},"variant":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aiven`\" pulumi-lang-dotnet=\"`Aiven`\" pulumi-lang-go=\"`aiven`\" pulumi-lang-python=\"`aiven`\" pulumi-lang-yaml=\"`aiven`\" pulumi-lang-java=\"`aiven`\"\u003e`aiven`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timescale`\" pulumi-lang-dotnet=\"`Timescale`\" pulumi-lang-go=\"`timescale`\" pulumi-lang-python=\"`timescale`\" pulumi-lang-yaml=\"`timescale`\" pulumi-lang-java=\"`timescale`\"\u003e`timescale`\u003c/span\u003e. Variant of the PostgreSQL service, may affect the features that are exposed by default.\n"},"workMem":{"type":"integer","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. The default is 1MB + 0.075% of total RAM (up to 32MB). Example: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigIpFilterObject:getAlloydbomniAlloydbomniUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniAlloydbomniUserConfigPg:getAlloydbomniAlloydbomniUserConfigPg":{"properties":{"autovacuumAnalyzeScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumAnalyzeThreshold \" pulumi-lang-dotnet=\" AutovacuumAnalyzeThreshold \" pulumi-lang-go=\" autovacuumAnalyzeThreshold \" pulumi-lang-python=\" autovacuum_analyze_threshold \" pulumi-lang-yaml=\" autovacuumAnalyzeThreshold \" pulumi-lang-java=\" autovacuumAnalyzeThreshold \"\u003e autovacuum_analyze_threshold \u003c/span\u003ewhen deciding whether to trigger an ANALYZE (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumAnalyzeThreshold":{"type":"integer","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"autovacuumFreezeMaxAge":{"type":"integer","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.\n"},"autovacuumMaxWorkers":{"type":"integer","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"autovacuumNaptime":{"type":"integer","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"autovacuumVacuumCostDelay":{"type":"integer","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostDelay \" pulumi-lang-dotnet=\" VacuumCostDelay \" pulumi-lang-go=\" vacuumCostDelay \" pulumi-lang-python=\" vacuum_cost_delay \" pulumi-lang-yaml=\" vacuumCostDelay \" pulumi-lang-java=\" vacuumCostDelay \"\u003e vacuum_cost_delay \u003c/span\u003evalue will be used. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"autovacuumVacuumCostLimit":{"type":"integer","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostLimit \" pulumi-lang-dotnet=\" VacuumCostLimit \" pulumi-lang-go=\" vacuumCostLimit \" pulumi-lang-python=\" vacuum_cost_limit \" pulumi-lang-yaml=\" vacuumCostLimit \" pulumi-lang-java=\" vacuumCostLimit \"\u003e vacuum_cost_limit \u003c/span\u003evalue will be used. The default is `-1` (upstream default).\n"},"autovacuumVacuumScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumVacuumThreshold \" pulumi-lang-dotnet=\" AutovacuumVacuumThreshold \" pulumi-lang-go=\" autovacuumVacuumThreshold \" pulumi-lang-python=\" autovacuum_vacuum_threshold \" pulumi-lang-yaml=\" autovacuumVacuumThreshold \" pulumi-lang-java=\" autovacuumVacuumThreshold \"\u003e autovacuum_vacuum_threshold \u003c/span\u003ewhen deciding whether to trigger a VACUUM (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumVacuumThreshold":{"type":"integer","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"bgwriterDelay":{"type":"integer","description":"Specifies the delay between activity rounds for the background writer in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"},"bgwriterFlushAfter":{"type":"integer","description":"Whenever more than\u003cspan pulumi-lang-nodejs=\" bgwriterFlushAfter \" pulumi-lang-dotnet=\" BgwriterFlushAfter \" pulumi-lang-go=\" bgwriterFlushAfter \" pulumi-lang-python=\" bgwriter_flush_after \" pulumi-lang-yaml=\" bgwriterFlushAfter \" pulumi-lang-java=\" bgwriterFlushAfter \"\u003e bgwriter_flush_after \u003c/span\u003ebytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes. Setting of 0 disables forced writeback. The default is \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"bgwriterLruMaxpages":{"type":"integer","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"bgwriterLruMultiplier":{"type":"number","description":"The average recent need for new buffers is multiplied by\u003cspan pulumi-lang-nodejs=\" bgwriterLruMultiplier \" pulumi-lang-dotnet=\" BgwriterLruMultiplier \" pulumi-lang-go=\" bgwriterLruMultiplier \" pulumi-lang-python=\" bgwriter_lru_multiplier \" pulumi-lang-yaml=\" bgwriterLruMultiplier \" pulumi-lang-java=\" bgwriterLruMultiplier \"\u003e bgwriter_lru_multiplier \u003c/span\u003eto arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is `2.0`. Example: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"deadlockTimeout":{"type":"integer","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"defaultToastCompression":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pglz`\" pulumi-lang-dotnet=\"`Pglz`\" pulumi-lang-go=\"`pglz`\" pulumi-lang-python=\"`pglz`\" pulumi-lang-yaml=\"`pglz`\" pulumi-lang-java=\"`pglz`\"\u003e`pglz`\u003c/span\u003e. Specifies the default TOAST compression method for values of compressible columns. The default is \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e.\n"},"idleInTransactionSessionTimeout":{"type":"integer","description":"Time out sessions with open transactions after this number of milliseconds.\n"},"jit":{"type":"boolean","description":"Controls system-wide use of Just-in-Time Compilation (JIT).\n"},"logAutovacuumMinDuration":{"type":"integer","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one disables logging autovacuum actions. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"logErrorVerbosity":{"type":"string","description":"Enum: `DEFAULT`, `TERSE`, `VERBOSE`. Controls the amount of detail written in the server log for each message that is logged.\n"},"logLinePrefix":{"type":"string","description":"Enum: `'%m [%p] %q[user=%u,db=%d,app=%a] '`, `'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '`. Choose from one of the available log formats.\n"},"logMinDurationStatement":{"type":"integer","description":"Log statements that take more than this number of milliseconds to run, -1 disables.\n"},"logTempFiles":{"type":"integer","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables.\n"},"maxFilesPerProcess":{"type":"integer","description":"PostgreSQL maximum number of files that can be open per process. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum locks per transaction. Changing this parameter causes a service restart.\n"},"maxLogicalReplicationWorkers":{"type":"integer","description":"PostgreSQL maximum logical replication workers (taken from the pool of max_parallel_workers). The default is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxParallelWorkers":{"type":"integer","description":"Sets the maximum number of workers that the system can support for parallel queries. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (upstream default).\n"},"maxParallelWorkersPerGather":{"type":"integer","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"maxPredLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum predicate locks per transaction. The default is \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxPreparedTransactions":{"type":"integer","description":"PostgreSQL maximum prepared transactions. The default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxReplicationSlots":{"type":"integer","description":"PostgreSQL maximum replication slots. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxSlotWalKeepSize":{"type":"integer","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. If `-1` is specified, replication slots may retain an unlimited amount of WAL files. The default is `-1` (upstream default).\u003cspan pulumi-lang-nodejs=\" walKeepSize \" pulumi-lang-dotnet=\" WalKeepSize \" pulumi-lang-go=\" walKeepSize \" pulumi-lang-python=\" wal_keep_size \" pulumi-lang-yaml=\" walKeepSize \" pulumi-lang-java=\" walKeepSize \"\u003e wal_keep_size \u003c/span\u003eminimum WAL size setting takes precedence over this.\n"},"maxStackDepth":{"type":"integer","description":"Maximum depth of the stack in bytes. The default is \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e (upstream default).\n"},"maxStandbyArchiveDelay":{"type":"integer","description":"Max standby archive delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxStandbyStreamingDelay":{"type":"integer","description":"Max standby streaming delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxSyncWorkersPerSubscription":{"type":"integer","description":"Maximum number of synchronization workers per subscription. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"maxWalSenders":{"type":"integer","description":"PostgreSQL maximum WAL senders. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxWorkerProcesses":{"type":"integer","description":"Sets the maximum number of background processes that the system can support. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"passwordEncryption":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, `scram-sha-256`. Chooses the algorithm for encrypting passwords.\n"},"pgPartmanBgwDotInterval":{"type":"integer","description":"Sets the time interval in seconds to run pg_partman's scheduled tasks. The default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"pgPartmanBgwDotRole":{"type":"string","description":"Controls which role to use for pg_partman's scheduled background tasks. Example: \u003cspan pulumi-lang-nodejs=\"`myrolename`\" pulumi-lang-dotnet=\"`Myrolename`\" pulumi-lang-go=\"`myrolename`\" pulumi-lang-python=\"`myrolename`\" pulumi-lang-yaml=\"`myrolename`\" pulumi-lang-java=\"`myrolename`\"\u003e`myrolename`\u003c/span\u003e.\n"},"pgStatStatementsDotTrack":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e. Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default is \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e.\n"},"tempFileLimit":{"type":"integer","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited.\n"},"timezone":{"type":"string","description":"PostgreSQL service timezone. Example: `Europe/Helsinki`.\n"},"trackActivityQuerySize":{"type":"integer","description":"Specifies the number of bytes reserved to track the currently executing command for each active session. Changing this parameter causes a service restart. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"trackCommitTimestamp":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Record commit time of transactions. Changing this parameter causes a service restart.\n"},"trackFunctions":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pl`\" pulumi-lang-dotnet=\"`Pl`\" pulumi-lang-go=\"`pl`\" pulumi-lang-python=\"`pl`\" pulumi-lang-yaml=\"`pl`\" pulumi-lang-java=\"`pl`\"\u003e`pl`\u003c/span\u003e. Enables tracking of function call counts and time used.\n"},"trackIoTiming":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Enables timing of database I/O calls. The default is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. When on, it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\n"},"walSenderTimeout":{"type":"integer","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"walWriterDelay":{"type":"integer","description":"WAL flush interval in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Setting this parameter to a lower value may negatively impact performance. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPgaudit:getAlloydbomniAlloydbomniUserConfigPgaudit":{"properties":{"featureEnabled":{"type":"boolean","description":"Enable pgaudit extension. When enabled, pgaudit extension will be automatically installed.Otherwise, extension will be uninstalled but auditing configurations will be preserved. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logCatalog":{"type":"boolean","description":"Specifies that session logging should be enabled in the case where all relations in a statement are in pg_catalog. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logClient":{"type":"boolean","description":"Specifies whether log messages will be visible to a client process such as psql. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug1`\" pulumi-lang-dotnet=\"`Debug1`\" pulumi-lang-go=\"`debug1`\" pulumi-lang-python=\"`debug1`\" pulumi-lang-yaml=\"`debug1`\" pulumi-lang-java=\"`debug1`\"\u003e`debug1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug2`\" pulumi-lang-dotnet=\"`Debug2`\" pulumi-lang-go=\"`debug2`\" pulumi-lang-python=\"`debug2`\" pulumi-lang-yaml=\"`debug2`\" pulumi-lang-java=\"`debug2`\"\u003e`debug2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug3`\" pulumi-lang-dotnet=\"`Debug3`\" pulumi-lang-go=\"`debug3`\" pulumi-lang-python=\"`debug3`\" pulumi-lang-yaml=\"`debug3`\" pulumi-lang-java=\"`debug3`\"\u003e`debug3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug4`\" pulumi-lang-dotnet=\"`Debug4`\" pulumi-lang-go=\"`debug4`\" pulumi-lang-python=\"`debug4`\" pulumi-lang-yaml=\"`debug4`\" pulumi-lang-java=\"`debug4`\"\u003e`debug4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug5`\" pulumi-lang-dotnet=\"`Debug5`\" pulumi-lang-go=\"`debug5`\" pulumi-lang-python=\"`debug5`\" pulumi-lang-yaml=\"`debug5`\" pulumi-lang-java=\"`debug5`\"\u003e`debug5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e. Specifies the log level that will be used for log entries. Default: \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e.\n"},"logMaxStringLength":{"type":"integer","description":"Crop parameters representation and whole statements if they exceed this threshold. A (default) value of -1 disable the truncation. Default: `-1`.\n"},"logNestedStatements":{"type":"boolean","description":"This GUC allows to turn off logging nested statements, that is, statements that are executed as part of another ExecutorRun. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logParameter":{"type":"boolean","description":"Specifies that audit logging should include the parameters that were passed with the statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logParameterMaxSize":{"type":"integer","description":"Specifies that parameter values longer than this setting (in bytes) should not be logged, but replaced with \u003clong param suppressed\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"logRelation":{"type":"boolean","description":"Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logRows":{"type":"boolean","description":"Log Rows. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logStatement":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters (if enabled). Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logStatementOnce":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logs":{"type":"array","items":{"type":"string"},"description":"Specifies which classes of statements will be logged by session audit logging.\n"},"role":{"type":"string","description":"Specifies the master role to use for object audit logging.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPgbouncer:getAlloydbomniAlloydbomniUserConfigPgbouncer":{"properties":{"autodbIdleTimeout":{"type":"integer","description":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"autodbMaxDbConnections":{"type":"integer","description":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"autodbPoolMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. PGBouncer pool mode. Default: \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"autodbPoolSize":{"type":"integer","description":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ignoreStartupParameters":{"type":"array","items":{"type":"string"},"description":"List of parameters to ignore when given in startup packet.\n"},"maxPreparedStatements":{"type":"integer","description":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003eis set to a non-zero value. Setting it to 0 disables prepared statements.\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003edefaults to 100, and its maximum is 3000. Default: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"minPoolSize":{"type":"integer","description":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverIdleTimeout":{"type":"integer","description":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"serverLifetime":{"type":"integer","description":"The pooler will close an unused server connection that has been connected longer than this. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"serverResetQueryAlways":{"type":"boolean","description":"Run\u003cspan pulumi-lang-nodejs=\" serverResetQuery \" pulumi-lang-dotnet=\" ServerResetQuery \" pulumi-lang-go=\" serverResetQuery \" pulumi-lang-python=\" server_reset_query \" pulumi-lang-yaml=\" serverResetQuery \" pulumi-lang-java=\" serverResetQuery \"\u003e server_reset_query \u003c/span\u003e(DISCARD ALL) in all pooling modes. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPglookout:getAlloydbomniAlloydbomniUserConfigPglookout":{"properties":{"maxFailoverReplicationTimeLag":{"type":"integer","description":"Number of seconds of master unavailability before triggering database failover to standby. Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPrivateAccess:getAlloydbomniAlloydbomniUserConfigPrivateAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPrivatelinkAccess:getAlloydbomniAlloydbomniUserConfigPrivatelinkAccess":{"properties":{"pg":{"type":"boolean","description":"Enable pg.\n"},"pgbouncer":{"type":"boolean","description":"Enable pgbouncer.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getAlloydbomniAlloydbomniUserConfigPublicAccess:getAlloydbomniAlloydbomniUserConfigPublicAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getAlloydbomniComponent:getAlloydbomniComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniServiceIntegration:getAlloydbomniServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniTag:getAlloydbomniTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getAlloydbomniTechEmail:getAlloydbomniTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getBillingGroupTimeouts:getBillingGroupTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getCassandaCassandra:getCassandaCassandra":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"Cassandra server URIs.\n","secret":true}},"type":"object","required":["uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandaCassandraUserConfig:getCassandaCassandraUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"cassandra":{"$ref":"#/types/aiven:index/getCassandaCassandraUserConfigCassandra:getCassandaCassandraUserConfigCassandra","description":"Cassandra configuration values\n"},"cassandraVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, `4.1`, and newer. Cassandra version.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getCassandaCassandraUserConfigIpFilterObject:getCassandaCassandraUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migrateSstableloader":{"type":"boolean","description":"Sets the service into migration mode enabling the sstableloader utility to be used to upload Cassandra data files. Available only on service create.\n"},"privateAccess":{"$ref":"#/types/aiven:index/getCassandaCassandraUserConfigPrivateAccess:getCassandaCassandraUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getCassandaCassandraUserConfigPublicAccess:getCassandaCassandraUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"serviceToJoinWith":{"type":"string","description":"When bootstrapping, instead of creating a new Cassandra cluster try to join an existing one from another service. Can only be set on service creation. Example: `my-test-cassandra`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getCassandaCassandraUserConfigCassandra:getCassandaCassandraUserConfigCassandra":{"properties":{"batchSizeFailThresholdInKb":{"type":"integer","description":"Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"batchSizeWarnThresholdInKb":{"type":"integer","description":"Log a warning message on any multiple-partition batch size exceeding this value.5kb per batch by default.Caution should be taken on increasing the size of this thresholdas it can lead to node instability. Example: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"datacenter":{"type":"string","description":"Name of the datacenter to which nodes of this service belong. Can be set only when creating the service. Example: `my-service-google-west1`.\n"},"readRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for read operations to complete before timing it out. 5 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n"},"writeRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for write requests to complete with at least one node in the local datacenter. 2 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getCassandaCassandraUserConfigIpFilterObject:getCassandaCassandraUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandaCassandraUserConfigPrivateAccess:getCassandaCassandraUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getCassandaCassandraUserConfigPublicAccess:getCassandaCassandraUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getCassandaComponent:getCassandaComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandaServiceIntegration:getCassandaServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandaTag:getCassandaTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandaTechEmail:getCassandaTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraCassandra:getCassandraCassandra":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"Cassandra server URIs.\n","secret":true}},"type":"object","required":["uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraCassandraUserConfig:getCassandraCassandraUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"cassandra":{"$ref":"#/types/aiven:index/getCassandraCassandraUserConfigCassandra:getCassandraCassandraUserConfigCassandra","description":"Cassandra configuration values\n"},"cassandraVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e, `4.1`, and newer. Cassandra version.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getCassandraCassandraUserConfigIpFilterObject:getCassandraCassandraUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migrateSstableloader":{"type":"boolean","description":"Sets the service into migration mode enabling the sstableloader utility to be used to upload Cassandra data files. Available only on service create.\n"},"privateAccess":{"$ref":"#/types/aiven:index/getCassandraCassandraUserConfigPrivateAccess:getCassandraCassandraUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getCassandraCassandraUserConfigPublicAccess:getCassandraCassandraUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"serviceToJoinWith":{"type":"string","description":"When bootstrapping, instead of creating a new Cassandra cluster try to join an existing one from another service. Can only be set on service creation. Example: `my-test-cassandra`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getCassandraCassandraUserConfigCassandra:getCassandraCassandraUserConfigCassandra":{"properties":{"batchSizeFailThresholdInKb":{"type":"integer","description":"Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"batchSizeWarnThresholdInKb":{"type":"integer","description":"Log a warning message on any multiple-partition batch size exceeding this value.5kb per batch by default.Caution should be taken on increasing the size of this thresholdas it can lead to node instability. Example: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"datacenter":{"type":"string","description":"Name of the datacenter to which nodes of this service belong. Can be set only when creating the service. Example: `my-service-google-west1`.\n"},"readRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for read operations to complete before timing it out. 5 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`5000`\" pulumi-lang-dotnet=\"`5000`\" pulumi-lang-go=\"`5000`\" pulumi-lang-python=\"`5000`\" pulumi-lang-yaml=\"`5000`\" pulumi-lang-java=\"`5000`\"\u003e`5000`\u003c/span\u003e.\n"},"writeRequestTimeoutInMs":{"type":"integer","description":"How long the coordinator waits for write requests to complete with at least one node in the local datacenter. 2 seconds by default. Example: \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getCassandraCassandraUserConfigIpFilterObject:getCassandraCassandraUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraCassandraUserConfigPrivateAccess:getCassandraCassandraUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getCassandraCassandraUserConfigPublicAccess:getCassandraCassandraUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getCassandraComponent:getCassandraComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraServiceIntegration:getCassandraServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraTag:getCassandraTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getCassandraTechEmail:getCassandraTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseClickhouse:getClickhouseClickhouse":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"ClickHouse server URIs.\n","secret":true}},"type":"object","required":["uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseClickhouseUserConfig:getClickhouseClickhouseUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"clickhouseVersion":{"type":"string","description":"Enum: `25.3`, and newer. ClickHouse major version.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getClickhouseClickhouseUserConfigIpFilterObject:getClickhouseClickhouseUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"privateAccess":{"$ref":"#/types/aiven:index/getClickhouseClickhouseUserConfigPrivateAccess:getClickhouseClickhouseUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getClickhouseClickhouseUserConfigPrivatelinkAccess:getClickhouseClickhouseUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getClickhouseClickhouseUserConfigPublicAccess:getClickhouseClickhouseUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"tieredStorageMoveFactor":{"type":"number","description":"The percentage of free disk space required on local storage before data is moved to object storage. A value of 0.2 means data is moved when local storage has less than 20% free space. Default: `0.2`.\n"}},"type":"object"},"aiven:index/getClickhouseClickhouseUserConfigIpFilterObject:getClickhouseClickhouseUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseClickhouseUserConfigPrivateAccess:getClickhouseClickhouseUserConfigPrivateAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Allow clients to connect to clickhouse with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"clickhouseHttps":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseHttps \" pulumi-lang-dotnet=\" ClickhouseHttps \" pulumi-lang-go=\" clickhouseHttps \" pulumi-lang-python=\" clickhouse_https \" pulumi-lang-yaml=\" clickhouseHttps \" pulumi-lang-java=\" clickhouseHttps \"\u003e clickhouse_https \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"clickhouseMysql":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseMysql \" pulumi-lang-dotnet=\" ClickhouseMysql \" pulumi-lang-go=\" clickhouseMysql \" pulumi-lang-python=\" clickhouse_mysql \" pulumi-lang-yaml=\" clickhouseMysql \" pulumi-lang-java=\" clickhouseMysql \"\u003e clickhouse_mysql \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getClickhouseClickhouseUserConfigPrivatelinkAccess:getClickhouseClickhouseUserConfigPrivatelinkAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Enable clickhouse.\n"},"clickhouseHttps":{"type":"boolean","description":"Enable clickhouse_https.\n"},"clickhouseMysql":{"type":"boolean","description":"Enable clickhouse_mysql.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getClickhouseClickhouseUserConfigPublicAccess:getClickhouseClickhouseUserConfigPublicAccess":{"properties":{"clickhouse":{"type":"boolean","description":"Allow clients to connect to clickhouse from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"clickhouseHttps":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseHttps \" pulumi-lang-dotnet=\" ClickhouseHttps \" pulumi-lang-go=\" clickhouseHttps \" pulumi-lang-python=\" clickhouse_https \" pulumi-lang-yaml=\" clickhouseHttps \" pulumi-lang-java=\" clickhouseHttps \"\u003e clickhouse_https \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"clickhouseMysql":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" clickhouseMysql \" pulumi-lang-dotnet=\" ClickhouseMysql \" pulumi-lang-go=\" clickhouseMysql \" pulumi-lang-python=\" clickhouse_mysql \" pulumi-lang-yaml=\" clickhouseMysql \" pulumi-lang-java=\" clickhouseMysql \"\u003e clickhouse_mysql \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getClickhouseComponent:getClickhouseComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseDatabaseTimeouts:getClickhouseDatabaseTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getClickhouseServiceIntegration:getClickhouseServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseTag:getClickhouseTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getClickhouseTechEmail:getClickhouseTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyComponent:getDragonflyComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyDragonfly:getDragonflyDragonfly":{"properties":{"password":{"type":"string","description":"Dragonfly password.\n","secret":true},"replicaUri":{"type":"string","description":"Dragonfly replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Dragonfly slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Dragonfly server URIs.\n","secret":true}},"type":"object","required":["password","replicaUri","slaveUris","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyDragonflyUserConfig:getDragonflyDragonflyUserConfig":{"properties":{"cacheMode":{"type":"boolean","description":"Evict entries when getting close to maxmemory limit. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"dragonflyPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`dfs`\" pulumi-lang-dotnet=\"`Dfs`\" pulumi-lang-go=\"`dfs`\" pulumi-lang-python=\"`dfs`\" pulumi-lang-yaml=\"`dfs`\" pulumi-lang-java=\"`dfs`\"\u003e`dfs`\u003c/span\u003e, Dragonfly does RDB or DFS dumps every 10 minutes. Dumps are done according to the backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB/DFS dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.\n"},"dragonflySsl":{"type":"boolean","description":"Require SSL to access Dragonfly. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfigIpFilterObject:getDragonflyDragonflyUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfigMigration:getDragonflyDragonflyUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfigPrivateAccess:getDragonflyDragonflyUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfigPrivatelinkAccess:getDragonflyDragonflyUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfigPublicAccess:getDragonflyDragonflyUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getDragonflyDragonflyUserConfigIpFilterObject:getDragonflyDragonflyUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyDragonflyUserConfigMigration:getDragonflyDragonflyUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyDragonflyUserConfigPrivateAccess:getDragonflyDragonflyUserConfigPrivateAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Allow clients to connect to dragonfly with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getDragonflyDragonflyUserConfigPrivatelinkAccess:getDragonflyDragonflyUserConfigPrivatelinkAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Enable dragonfly.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getDragonflyDragonflyUserConfigPublicAccess:getDragonflyDragonflyUserConfigPublicAccess":{"properties":{"dragonfly":{"type":"boolean","description":"Allow clients to connect to dragonfly from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getDragonflyServiceIntegration:getDragonflyServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyTag:getDragonflyTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getDragonflyTechEmail:getDragonflyTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkApplicationTimeouts:getFlinkApplicationTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getFlinkApplicationVersionSink:getFlinkApplicationVersionSink":{"properties":{"createTable":{"type":"string","description":"The CREATE TABLE statement\n"},"integrationId":{"type":"string","description":"The integration ID\n"}},"type":"object","required":["createTable"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkApplicationVersionSource:getFlinkApplicationVersionSource":{"properties":{"createTable":{"type":"string","description":"The CREATE TABLE statement\n"},"integrationId":{"type":"string","description":"The integration ID\n"}},"type":"object","required":["createTable"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkComponent:getFlinkComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkFlink:getFlinkFlink":{"properties":{"hostPorts":{"type":"array","items":{"type":"string"},"description":"The host and port of a Flink server.\n","secret":true}},"type":"object","required":["hostPorts"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkFlinkUserConfig:getFlinkFlinkUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"customCode":{"type":"boolean","description":"Enable to upload Custom JARs for Flink applications.\n"},"flinkVersion":{"type":"string","description":"Enum: `1.16`, `1.19`, `1.20`, and newer. Flink major version.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getFlinkFlinkUserConfigIpFilterObject:getFlinkFlinkUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"numberOfTaskSlots":{"type":"integer","description":"Task slots per node. For a 3 node plan, total number of task slots is 3x this value. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"pekkoAskTimeoutS":{"type":"integer","description":"Timeout in seconds used for all futures and blocking Pekko requests. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"pekkoFramesizeB":{"type":"integer","description":"Maximum size in bytes for messages exchanged between the JobManager and the TaskManagers.\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getFlinkFlinkUserConfigPrivatelinkAccess:getFlinkFlinkUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/getFlinkFlinkUserConfigPublicAccess:getFlinkFlinkUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getFlinkFlinkUserConfigIpFilterObject:getFlinkFlinkUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkFlinkUserConfigPrivatelinkAccess:getFlinkFlinkUserConfigPrivatelinkAccess":{"properties":{"flink":{"type":"boolean","description":"Enable flink.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getFlinkFlinkUserConfigPublicAccess:getFlinkFlinkUserConfigPublicAccess":{"properties":{"flink":{"type":"boolean","description":"Allow clients to connect to flink from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getFlinkServiceIntegration:getFlinkServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkTag:getFlinkTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getFlinkTechEmail:getFlinkTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaComponent:getGrafanaComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafana:getGrafanaGrafana":{"properties":{"uris":{"type":"array","items":{"type":"string"},"description":"Grafana server URIs.\n","secret":true}},"type":"object","required":["uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfig:getGrafanaGrafanaUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"alertingEnabled":{"type":"boolean","description":"Setting has no effect with Grafana 11 and onward. Enable or disable Grafana legacy alerting functionality. This should not be enabled with unified_alerting_enabled.\n"},"alertingErrorOrTimeout":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alerting`\" pulumi-lang-dotnet=\"`Alerting`\" pulumi-lang-go=\"`alerting`\" pulumi-lang-python=\"`alerting`\" pulumi-lang-yaml=\"`alerting`\" pulumi-lang-java=\"`alerting`\"\u003e`alerting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepState`\" pulumi-lang-dotnet=\"`KeepState`\" pulumi-lang-go=\"`keepState`\" pulumi-lang-python=\"`keep_state`\" pulumi-lang-yaml=\"`keepState`\" pulumi-lang-java=\"`keepState`\"\u003e`keep_state`\u003c/span\u003e. Default error or timeout setting for new alerting rules.\n"},"alertingMaxAnnotationsToKeep":{"type":"integer","description":"Max number of alert annotations that Grafana stores. 0 (default) keeps all alert annotations. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"alertingNodataOrNullvalues":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alerting`\" pulumi-lang-dotnet=\"`Alerting`\" pulumi-lang-go=\"`alerting`\" pulumi-lang-python=\"`alerting`\" pulumi-lang-yaml=\"`alerting`\" pulumi-lang-java=\"`alerting`\"\u003e`alerting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`keepState`\" pulumi-lang-dotnet=\"`KeepState`\" pulumi-lang-go=\"`keepState`\" pulumi-lang-python=\"`keep_state`\" pulumi-lang-yaml=\"`keepState`\" pulumi-lang-java=\"`keepState`\"\u003e`keep_state`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`noData`\" pulumi-lang-dotnet=\"`NoData`\" pulumi-lang-go=\"`noData`\" pulumi-lang-python=\"`no_data`\" pulumi-lang-yaml=\"`noData`\" pulumi-lang-java=\"`noData`\"\u003e`no_data`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ok`\" pulumi-lang-dotnet=\"`Ok`\" pulumi-lang-go=\"`ok`\" pulumi-lang-python=\"`ok`\" pulumi-lang-yaml=\"`ok`\" pulumi-lang-java=\"`ok`\"\u003e`ok`\u003c/span\u003e. Default value for 'no data or null values' for new alerting rules.\n"},"allowEmbedding":{"type":"boolean","description":"Allow embedding Grafana dashboards with iframe/frame/object/embed tags. Disabled by default to limit impact of clickjacking.\n"},"authAzuread":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigAuthAzuread:getGrafanaGrafanaUserConfigAuthAzuread","description":"Azure AD OAuth integration\n"},"authBasicEnabled":{"type":"boolean","description":"Enable or disable basic authentication form, used by Grafana built-in login.\n"},"authGenericOauth":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigAuthGenericOauth:getGrafanaGrafanaUserConfigAuthGenericOauth","description":"Generic OAuth integration\n"},"authGithub":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigAuthGithub:getGrafanaGrafanaUserConfigAuthGithub","description":"Github Auth integration\n"},"authGitlab":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigAuthGitlab:getGrafanaGrafanaUserConfigAuthGitlab","description":"GitLab Auth integration\n"},"authGoogle":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigAuthGoogle:getGrafanaGrafanaUserConfigAuthGoogle","description":"Google Auth integration\n"},"cookieSamesite":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lax`\" pulumi-lang-dotnet=\"`Lax`\" pulumi-lang-go=\"`lax`\" pulumi-lang-python=\"`lax`\" pulumi-lang-yaml=\"`lax`\" pulumi-lang-java=\"`lax`\"\u003e`lax`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e. Cookie SameSite attribute: \u003cspan pulumi-lang-nodejs=\"`strict`\" pulumi-lang-dotnet=\"`Strict`\" pulumi-lang-go=\"`strict`\" pulumi-lang-python=\"`strict`\" pulumi-lang-yaml=\"`strict`\" pulumi-lang-java=\"`strict`\"\u003e`strict`\u003c/span\u003e prevents sending cookie for cross-site requests, effectively disabling direct linking from other sites to Grafana. \u003cspan pulumi-lang-nodejs=\"`lax`\" pulumi-lang-dotnet=\"`Lax`\" pulumi-lang-go=\"`lax`\" pulumi-lang-python=\"`lax`\" pulumi-lang-yaml=\"`lax`\" pulumi-lang-java=\"`lax`\"\u003e`lax`\u003c/span\u003e is the default value.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"dashboardPreviewsEnabled":{"type":"boolean","description":"Enable browsing of dashboards in grid (pictures) mode. This feature is new in Grafana 9 and is quite resource intensive. It may cause low-end plans to work more slowly while the dashboard previews are rendering.\n"},"dashboardScenesEnabled":{"type":"boolean","description":"Enable use of the Grafana Scenes Library as the dashboard engine. i.e. the `dashboardScene` feature flag. Upstream blog post at https://grafana.com/blog/2024/10/31/grafana-dashboards-are-now-powered-by-scenes-big-changes-same-ui/.\n"},"dashboardsMinRefreshInterval":{"type":"string","description":"Signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s, 1h. Example: \u003cspan pulumi-lang-nodejs=\"`5s`\" pulumi-lang-dotnet=\"`5s`\" pulumi-lang-go=\"`5s`\" pulumi-lang-python=\"`5s`\" pulumi-lang-yaml=\"`5s`\" pulumi-lang-java=\"`5s`\"\u003e`5s`\u003c/span\u003e.\n"},"dashboardsVersionsToKeep":{"type":"integer","description":"Dashboard versions to keep per dashboard. Example: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"dataproxySendUserHeader":{"type":"boolean","description":"Send `X-Grafana-User` header to data source.\n"},"dataproxyTimeout":{"type":"integer","description":"Timeout for data proxy requests in seconds. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"dateFormats":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigDateFormats:getGrafanaGrafanaUserConfigDateFormats","description":"Grafana date format specifications\n"},"disableGravatar":{"type":"boolean","description":"Set to true to disable gravatar. Defaults to false (gravatar is enabled).\n"},"editorsCanAdmin":{"type":"boolean","description":"Editors can manage folders, teams and dashboards created by them.\n"},"externalImageStorage":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigExternalImageStorage:getGrafanaGrafanaUserConfigExternalImageStorage","description":"External image store settings\n"},"googleAnalyticsUaId":{"type":"string","description":"Google Analytics ID. Example: `UA-123456-4`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigIpFilterObject:getGrafanaGrafanaUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"metricsEnabled":{"type":"boolean","description":"Enable Grafana's /metrics endpoint.\n"},"oauthAllowInsecureEmailLookup":{"type":"boolean","description":"Enforce user lookup based on email instead of the unique ID provided by the IdP. This setup introduces significant security risks, such as potential phishing, spoofing, and other data breaches.\n"},"privateAccess":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigPrivateAccess:getGrafanaGrafanaUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigPrivatelinkAccess:getGrafanaGrafanaUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigPublicAccess:getGrafanaGrafanaUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"smtpServer":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfigSmtpServer:getGrafanaGrafanaUserConfigSmtpServer","description":"SMTP server settings\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"unifiedAlertingEnabled":{"type":"boolean","description":"Enable or disable Grafana unified alerting functionality. By default this is enabled and any legacy alerts will be migrated on upgrade to Grafana 9+. To stay on legacy alerting, set\u003cspan pulumi-lang-nodejs=\" unifiedAlertingEnabled \" pulumi-lang-dotnet=\" UnifiedAlertingEnabled \" pulumi-lang-go=\" unifiedAlertingEnabled \" pulumi-lang-python=\" unified_alerting_enabled \" pulumi-lang-yaml=\" unifiedAlertingEnabled \" pulumi-lang-java=\" unifiedAlertingEnabled \"\u003e unified_alerting_enabled \u003c/span\u003eto false and\u003cspan pulumi-lang-nodejs=\" alertingEnabled \" pulumi-lang-dotnet=\" AlertingEnabled \" pulumi-lang-go=\" alertingEnabled \" pulumi-lang-python=\" alerting_enabled \" pulumi-lang-yaml=\" alertingEnabled \" pulumi-lang-java=\" alertingEnabled \"\u003e alerting_enabled \u003c/span\u003eto true. See https://grafana.com/docs/grafana/latest/alerting/ for more details.\n"},"userAutoAssignOrg":{"type":"boolean","description":"Auto-assign new users on signup to main organization. Defaults to false.\n"},"userAutoAssignOrgRole":{"type":"string","description":"Enum: `Admin`, `Editor`, `Viewer`. Set role for new signups. Defaults to Viewer.\n"},"viewersCanEdit":{"type":"boolean","description":"Users with view-only permission can edit but not save dashboards.\n"},"wal":{"type":"boolean","description":"Setting to enable/disable Write-Ahead Logging. The default value is false (disabled).\n"}},"type":"object"},"aiven:index/getGrafanaGrafanaUserConfigAuthAzuread:getGrafanaGrafanaUserConfigAuthAzuread":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Allowed domains.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given groups.\n"},"authUrl":{"type":"string","description":"Authorization URL. Example: `https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/authorize`.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"tokenUrl":{"type":"string","description":"Token URL. Example: `https://login.microsoftonline.com/\u003cAZURE_TENANT_ID\u003e/oauth2/v2.0/token`.\n"}},"type":"object","required":["authUrl","clientId","clientSecret","tokenUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigAuthGenericOauth:getGrafanaGrafanaUserConfigAuthGenericOauth":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Allowed domains.\n"},"allowedOrganizations":{"type":"array","items":{"type":"string"},"description":"Require user to be member of one of the listed organizations.\n"},"apiUrl":{"type":"string","description":"API URL. Example: `https://yourprovider.com/api`.\n"},"authUrl":{"type":"string","description":"Authorization URL. Example: `https://yourprovider.com/oauth/authorize`.\n"},"autoLogin":{"type":"boolean","description":"Allow users to bypass the login screen and automatically log in.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"name":{"type":"string","description":"Name of the OAuth integration. Example: `My authentication`.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"OAuth scopes.\n"},"tokenUrl":{"type":"string","description":"Token URL. Example: `https://yourprovider.com/oauth/token`.\n"},"useRefreshToken":{"type":"boolean","description":"Set to true to use refresh token and check access token expiration.\n"}},"type":"object","required":["apiUrl","authUrl","clientId","clientSecret","tokenUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigAuthGithub:getGrafanaGrafanaUserConfigAuthGithub":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedOrganizations":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given organizations.\n"},"autoLogin":{"type":"boolean","description":"Allow users to bypass the login screen and automatically log in.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"skipOrgRoleSync":{"type":"boolean","description":"Stop automatically syncing user roles.\n"},"teamIds":{"type":"array","items":{"type":"integer"},"description":"Require users to belong to one of given team IDs.\n"}},"type":"object","required":["clientId","clientSecret"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigAuthGitlab:getGrafanaGrafanaUserConfigAuthGitlab":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedGroups":{"type":"array","items":{"type":"string"},"description":"Require users to belong to one of given groups.\n"},"apiUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/api/v4`.\n"},"authUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/oauth/authorize`.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true},"tokenUrl":{"type":"string","description":"This only needs to be set when using self hosted GitLab. Example: `https://gitlab.com/oauth/token`.\n"}},"type":"object","required":["allowedGroups","clientId","clientSecret"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigAuthGoogle:getGrafanaGrafanaUserConfigAuthGoogle":{"properties":{"allowSignUp":{"type":"boolean","description":"Automatically sign-up users on successful sign-in.\n"},"allowedDomains":{"type":"array","items":{"type":"string"},"description":"Domains allowed to sign-in to this Grafana.\n"},"clientId":{"type":"string","description":"Client ID from provider. Example: \u003cspan pulumi-lang-nodejs=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-dotnet=\"`B1ba0bf54a4c2c0a1c29`\" pulumi-lang-go=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-python=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-yaml=\"`b1ba0bf54a4c2c0a1c29`\" pulumi-lang-java=\"`b1ba0bf54a4c2c0a1c29`\"\u003e`b1ba0bf54a4c2c0a1c29`\u003c/span\u003e.\n"},"clientSecret":{"type":"string","description":"Client secret from provider. Example: \u003cspan pulumi-lang-nodejs=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-dotnet=\"`Bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-go=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-python=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-yaml=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\" pulumi-lang-java=\"`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\"\u003e`bfa6gea4f129076761dcba8ce5e1e406bd83af7b`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["allowedDomains","clientId","clientSecret"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigDateFormats:getGrafanaGrafanaUserConfigDateFormats":{"properties":{"defaultTimezone":{"type":"string","description":"Default time zone for user preferences. Value \u003cspan pulumi-lang-nodejs=\"`browser`\" pulumi-lang-dotnet=\"`Browser`\" pulumi-lang-go=\"`browser`\" pulumi-lang-python=\"`browser`\" pulumi-lang-yaml=\"`browser`\" pulumi-lang-java=\"`browser`\"\u003e`browser`\u003c/span\u003e uses browser local time zone. Example: `Europe/Helsinki`.\n"},"fullDate":{"type":"string","description":"Moment.js style format string for cases where full date is shown. Example: `YYYY MM DD`.\n"},"intervalDay":{"type":"string","description":"Moment.js style format string used when a time requiring day accuracy is shown. Example: `MM/DD`.\n"},"intervalHour":{"type":"string","description":"Moment.js style format string used when a time requiring hour accuracy is shown. Example: `MM/DD HH:mm`.\n"},"intervalMinute":{"type":"string","description":"Moment.js style format string used when a time requiring minute accuracy is shown. Example: `HH:mm`.\n"},"intervalMonth":{"type":"string","description":"Moment.js style format string used when a time requiring month accuracy is shown. Example: `YYYY-MM`.\n"},"intervalSecond":{"type":"string","description":"Moment.js style format string used when a time requiring second accuracy is shown. Example: `HH:mm:ss`.\n"},"intervalYear":{"type":"string","description":"Moment.js style format string used when a time requiring year accuracy is shown. Example: `YYYY`.\n"}},"type":"object"},"aiven:index/getGrafanaGrafanaUserConfigExternalImageStorage:getGrafanaGrafanaUserConfigExternalImageStorage":{"properties":{"accessKey":{"type":"string","description":"S3 access key. Requires permissions to the S3 bucket for the s3:PutObject and s3:PutObjectAcl actions. Example: `AAAAAAAAAAAAAAAAAAA`.\n"},"bucketUrl":{"type":"string","description":"Bucket URL for S3. Example: `https://grafana.s3-ap-southeast-2.amazonaws.com/`.\n"},"provider":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`s3`\" pulumi-lang-dotnet=\"`S3`\" pulumi-lang-go=\"`s3`\" pulumi-lang-python=\"`s3`\" pulumi-lang-yaml=\"`s3`\" pulumi-lang-java=\"`s3`\"\u003e`s3`\u003c/span\u003e. External image store provider.\n"},"secretKey":{"type":"string","description":"S3 secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","bucketUrl","provider","secretKey"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigIpFilterObject:getGrafanaGrafanaUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaGrafanaUserConfigPrivateAccess:getGrafanaGrafanaUserConfigPrivateAccess":{"properties":{"grafana":{"type":"boolean","description":"Allow clients to connect to grafana with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getGrafanaGrafanaUserConfigPrivatelinkAccess:getGrafanaGrafanaUserConfigPrivatelinkAccess":{"properties":{"grafana":{"type":"boolean","description":"Enable grafana.\n"}},"type":"object"},"aiven:index/getGrafanaGrafanaUserConfigPublicAccess:getGrafanaGrafanaUserConfigPublicAccess":{"properties":{"grafana":{"type":"boolean","description":"Allow clients to connect to grafana from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getGrafanaGrafanaUserConfigSmtpServer:getGrafanaGrafanaUserConfigSmtpServer":{"properties":{"fromAddress":{"type":"string","description":"Address used for sending emails. Example: `yourgrafanauser@yourdomain.example.com`.\n"},"fromName":{"type":"string","description":"Name used in outgoing emails, defaults to Grafana.\n"},"host":{"type":"string","description":"Server hostname or IP. Example: `smtp.example.com`.\n"},"password":{"type":"string","description":"Password for SMTP authentication. Example: `ein0eemeev5eeth3Ahfu`.\n","secret":true},"port":{"type":"integer","description":"SMTP server port. Example: \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e.\n"},"skipVerify":{"type":"boolean","description":"Skip verifying server certificate. Defaults to false.\n"},"starttlsPolicy":{"type":"string","description":"Enum: `MandatoryStartTLS`, `NoStartTLS`, `OpportunisticStartTLS`. Either OpportunisticStartTLS, MandatoryStartTLS or NoStartTLS. Default is OpportunisticStartTLS.\n"},"username":{"type":"string","description":"Username for SMTP authentication. Example: \u003cspan pulumi-lang-nodejs=\"`smtpuser`\" pulumi-lang-dotnet=\"`Smtpuser`\" pulumi-lang-go=\"`smtpuser`\" pulumi-lang-python=\"`smtpuser`\" pulumi-lang-yaml=\"`smtpuser`\" pulumi-lang-java=\"`smtpuser`\"\u003e`smtpuser`\u003c/span\u003e.\n"}},"type":"object","required":["fromAddress","host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaServiceIntegration:getGrafanaServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaTag:getGrafanaTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getGrafanaTechEmail:getGrafanaTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbComponent:getInfluxDbComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbInfluxdb:getInfluxDbInfluxdb":{"properties":{"databaseName":{"type":"string","description":"Name of the default InfluxDB database\n","secret":true},"password":{"type":"string","description":"InfluxDB password\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"InfluxDB server URIs.\n","secret":true},"username":{"type":"string","description":"InfluxDB username\n","secret":true}},"type":"object","required":["databaseName","password","uris","username"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbInfluxdbUserConfig:getInfluxDbInfluxdbUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"influxdb":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfigInfluxdb:getInfluxDbInfluxdbUserConfigInfluxdb","description":"influxdb.conf configuration values\n"},"influxdbVersion":{"type":"string","description":"Enum: `1.8`, and newer. InfluxDB major version. Default: `1.8`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfigIpFilterObject:getInfluxDbInfluxdbUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"privateAccess":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfigPrivateAccess:getInfluxDbInfluxdbUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfigPrivatelinkAccess:getInfluxDbInfluxdbUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfigPublicAccess:getInfluxDbInfluxdbUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getInfluxDbInfluxdbUserConfigInfluxdb:getInfluxDbInfluxdbUserConfigInfluxdb":{"properties":{"logQueriesAfter":{"type":"integer","description":"The maximum duration in seconds before a query is logged as a slow query. Setting this to 0 (the default) will never log slow queries.\n"},"maxConnectionLimit":{"type":"integer","description":"Maximum number of connections to InfluxDB. Setting this to 0 (default) means no limit. If using max_connection_limit, it is recommended to set the value to be large enough in order to not block clients unnecessarily.\n"},"maxRowLimit":{"type":"integer","description":"The maximum number of rows returned in a non-chunked query. Setting this to 0 (the default) allows an unlimited number to be returned.\n"},"maxSelectBuckets":{"type":"integer","description":"The maximum number of `GROUP BY time()` buckets that can be processed in a query. Setting this to 0 (the default) allows an unlimited number to be processed.\n"},"maxSelectPoint":{"type":"integer","description":"The maximum number of points that can be processed in a SELECT statement. Setting this to 0 (the default) allows an unlimited number to be processed.\n"},"queryLogEnabled":{"type":"boolean","description":"Whether queries should be logged before execution. May log sensitive data contained within a query.\n"},"queryTimeout":{"type":"integer","description":"The maximum duration in seconds before a query is killed. Setting this to 0 (the default) will never kill slow queries.\n"}},"type":"object"},"aiven:index/getInfluxDbInfluxdbUserConfigIpFilterObject:getInfluxDbInfluxdbUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbInfluxdbUserConfigPrivateAccess:getInfluxDbInfluxdbUserConfigPrivateAccess":{"properties":{"influxdb":{"type":"boolean","description":"Allow clients to connect to influxdb with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"userBackup":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" userBackup \" pulumi-lang-dotnet=\" UserBackup \" pulumi-lang-go=\" userBackup \" pulumi-lang-python=\" user_backup \" pulumi-lang-yaml=\" userBackup \" pulumi-lang-java=\" userBackup \"\u003e user_backup \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getInfluxDbInfluxdbUserConfigPrivatelinkAccess:getInfluxDbInfluxdbUserConfigPrivatelinkAccess":{"properties":{"influxdb":{"type":"boolean","description":"Enable influxdb.\n"},"userBackup":{"type":"boolean","description":"Enable user_backup.\n"}},"type":"object"},"aiven:index/getInfluxDbInfluxdbUserConfigPublicAccess:getInfluxDbInfluxdbUserConfigPublicAccess":{"properties":{"influxdb":{"type":"boolean","description":"Allow clients to connect to influxdb from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"userBackup":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" userBackup \" pulumi-lang-dotnet=\" UserBackup \" pulumi-lang-go=\" userBackup \" pulumi-lang-python=\" user_backup \" pulumi-lang-yaml=\" userBackup \" pulumi-lang-java=\" userBackup \"\u003e user_backup \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getInfluxDbServiceIntegration:getInfluxDbServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbTag:getInfluxDbTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getInfluxDbTechEmail:getInfluxDbTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaComponent:getKafkaComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectComponent:getKafkaConnectComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfig:getKafkaConnectKafkaConnectUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"gcpAuthAllowedUrls":{"type":"array","items":{"type":"string"},"description":"Allow-list of HTTPS URLs used to validate GCP\u003cspan pulumi-lang-nodejs=\" credentialSource \" pulumi-lang-dotnet=\" CredentialSource \" pulumi-lang-go=\" credentialSource \" pulumi-lang-python=\" credential_source \" pulumi-lang-yaml=\" credentialSource \" pulumi-lang-java=\" credentialSource \"\u003e credential_source \u003c/span\u003erequests for Kafka Connect.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigIpFilterObject:getKafkaConnectKafkaConnectUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafkaConnect":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigKafkaConnect:getKafkaConnectKafkaConnectUserConfigKafkaConnect","description":"Kafka Connect configuration values\n"},"pluginVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigPluginVersion:getKafkaConnectKafkaConnectUserConfigPluginVersion"},"description":"The plugin selected by the user\n"},"privateAccess":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigPrivateAccess:getKafkaConnectKafkaConnectUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigPrivatelinkAccess:getKafkaConnectKafkaConnectUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigPublicAccess:getKafkaConnectKafkaConnectUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"secretProviders":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProvider:getKafkaConnectKafkaConnectUserConfigSecretProvider"},"description":"Configure external secret providers in order to reference external secrets in connector configuration. Currently Hashicorp Vault (provider: vault, auth_method: token) and AWS Secrets Manager (provider: aws, auth_method: credentials) are supported. Secrets can be referenced in connector config with ${\u003cprovider_name\u003e:\u003csecret_path\u003e:\u003ckey_name\u003e}\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getKafkaConnectKafkaConnectUserConfigIpFilterObject:getKafkaConnectKafkaConnectUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfigKafkaConnect:getKafkaConnectKafkaConnectUserConfigKafkaConnect":{"properties":{"connectorClientConfigOverridePolicy":{"type":"string","description":"Enum: `All`, `None`. Defines what client configurations can be overridden by the connector. Default is None.\n"},"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest.\n"},"consumerFetchMaxBytes":{"type":"integer","description":"Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.\n"},"consumerIsolationLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`readCommitted`\" pulumi-lang-dotnet=\"`ReadCommitted`\" pulumi-lang-go=\"`readCommitted`\" pulumi-lang-python=\"`read_committed`\" pulumi-lang-yaml=\"`readCommitted`\" pulumi-lang-java=\"`readCommitted`\"\u003e`read_committed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readUncommitted`\" pulumi-lang-dotnet=\"`ReadUncommitted`\" pulumi-lang-go=\"`readUncommitted`\" pulumi-lang-python=\"`read_uncommitted`\" pulumi-lang-yaml=\"`readUncommitted`\" pulumi-lang-java=\"`readUncommitted`\"\u003e`read_uncommitted`\u003c/span\u003e. Transaction read isolation level.\u003cspan pulumi-lang-nodejs=\" readUncommitted \" pulumi-lang-dotnet=\" ReadUncommitted \" pulumi-lang-go=\" readUncommitted \" pulumi-lang-python=\" read_uncommitted \" pulumi-lang-yaml=\" readUncommitted \" pulumi-lang-java=\" readUncommitted \"\u003e read_uncommitted \u003c/span\u003eis the default, but\u003cspan pulumi-lang-nodejs=\" readCommitted \" pulumi-lang-dotnet=\" ReadCommitted \" pulumi-lang-go=\" readCommitted \" pulumi-lang-python=\" read_committed \" pulumi-lang-yaml=\" readCommitted \" pulumi-lang-java=\" readCommitted \"\u003e read_committed \u003c/span\u003ecan be used if consume-exactly-once behavior is desired.\n"},"consumerMaxPartitionFetchBytes":{"type":"integer","description":"Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.\n"},"consumerMaxPollIntervalMs":{"type":"integer","description":"The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).\n"},"consumerMaxPollRecords":{"type":"integer","description":"The maximum number of records returned in a single call to poll() (defaults to 500).\n"},"offsetFlushIntervalMs":{"type":"integer","description":"The interval at which to try committing offsets for tasks (defaults to 60000).\n"},"offsetFlushTimeoutMs":{"type":"integer","description":"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).\n"},"producerBatchSize":{"type":"integer","description":"This setting gives the upper bound of the batch size to be sent. If there are fewer than this many bytes accumulated for this partition, the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the linger.ms time waiting for more records to show up. A batch size of zero will disable batching entirely (defaults to 16384).\n"},"producerBufferMemory":{"type":"integer","description":"The total bytes of memory the producer can use to buffer records waiting to be sent to the broker (defaults to 33554432).\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"This setting gives the upper bound on the delay for batching: once there is batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if there are fewer than this many bytes accumulated for this partition the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the specified time waiting for more records to show up. Defaults to 0.\n"},"producerMaxRequestSize":{"type":"integer","description":"This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.\n"},"scheduledRebalanceMaxDelayMs":{"type":"integer","description":"The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned. Defaults to 5 minutes.\n"},"sessionTimeoutMs":{"type":"integer","description":"The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).\n"}},"type":"object"},"aiven:index/getKafkaConnectKafkaConnectUserConfigPluginVersion:getKafkaConnectKafkaConnectUserConfigPluginVersion":{"properties":{"pluginName":{"type":"string","description":"The name of the plugin. Example: `debezium-connector`.\n"},"version":{"type":"string","description":"The version of the plugin. Example: `2.5.0`.\n"}},"type":"object","required":["pluginName","version"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfigPrivateAccess:getKafkaConnectKafkaConnectUserConfigPrivateAccess":{"properties":{"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getKafkaConnectKafkaConnectUserConfigPrivatelinkAccess:getKafkaConnectKafkaConnectUserConfigPrivatelinkAccess":{"properties":{"jolokia":{"type":"boolean","description":"Enable jolokia.\n"},"kafkaConnect":{"type":"boolean","description":"Enable kafka_connect.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getKafkaConnectKafkaConnectUserConfigPublicAccess:getKafkaConnectKafkaConnectUserConfigPublicAccess":{"properties":{"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProvider:getKafkaConnectKafkaConnectUserConfigSecretProvider":{"properties":{"aws":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderAws:getKafkaConnectKafkaConnectUserConfigSecretProviderAws","description":"AWS secret provider configuration\n"},"env":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderEnv:getKafkaConnectKafkaConnectUserConfigSecretProviderEnv","description":"ENV secret provider configuration\n"},"name":{"type":"string","description":"Name of the secret provider. Used to reference secrets in connector config.\n"},"vault":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderVault:getKafkaConnectKafkaConnectUserConfigSecretProviderVault","description":"Vault secret provider configuration\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderAws:getKafkaConnectKafkaConnectUserConfigSecretProviderAws":{"properties":{"accessKey":{"type":"string","description":"Access key used to authenticate with aws.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"region":{"type":"string","description":"Region used to lookup secrets with AWS SecretManager.\n"},"secretKey":{"type":"string","description":"Secret key used to authenticate with aws.\n","secret":true}},"type":"object","required":["authMethod","region"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderEnv:getKafkaConnectKafkaConnectUserConfigSecretProviderEnv":{"properties":{"secrets":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value map of secrets for ENV secret provider.\n"}},"type":"object","required":["secrets"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectKafkaConnectUserConfigSecretProviderVault:getKafkaConnectKafkaConnectUserConfigSecretProviderVault":{"properties":{"address":{"type":"string","description":"Address of the Vault server.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"engineVersion":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and newer. KV Secrets Engine version of the Vault server instance.\n"},"prefixPathDepth":{"type":"integer","description":"Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.\n"},"token":{"type":"string","description":"Token used to authenticate with vault and auth method \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["address","authMethod"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectServiceIntegration:getKafkaConnectServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectTag:getKafkaConnectTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectTechEmail:getKafkaConnectTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaConnectorTask:getKafkaConnectorTask":{"properties":{"connector":{"type":"string","description":"The name of the related connector.\n"},"task":{"type":"integer","description":"The task ID of the task.\n"}},"type":"object","required":["connector","task"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafka:getKafkaKafka":{"properties":{"accessCert":{"type":"string","description":"The Kafka client certificate.\n","secret":true},"accessKey":{"type":"string","description":"The Kafka client certificate key.\n","secret":true},"connectUri":{"type":"string","description":"The Kafka Connect URI.\n","secret":true},"restUri":{"type":"string","description":"The Kafka REST URI.\n","secret":true},"schemaRegistryUri":{"type":"string","description":"The Schema Registry URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Kafka server URIs.\n","secret":true}},"type":"object","required":["accessCert","accessKey","connectUri","restUri","schemaRegistryUri","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfig:getKafkaKafkaUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"aivenKafkaTopicMessages":{"type":"boolean","description":"Allow access to read Kafka topic messages in the Aiven Console and REST API.\n"},"backupIntervalHours":{"type":"integer","description":"Interval in hours between automatic backups. Minimum value is 3 hours. Must be a divisor of 24 (3, 4, 6, 8, 12, 24). (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Number of days to retain automatic backups. Backups older than this value will be automatically deleted. (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"followerFetching":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigFollowerFetching:getKafkaKafkaUserConfigFollowerFetching","description":"Enable follower fetching\n"},"gcpAuthAllowedUrls":{"type":"array","items":{"type":"string"},"description":"Allow-list of HTTPS URLs used to validate GCP\u003cspan pulumi-lang-nodejs=\" credentialSource \" pulumi-lang-dotnet=\" CredentialSource \" pulumi-lang-go=\" credentialSource \" pulumi-lang-python=\" credential_source \" pulumi-lang-yaml=\" credentialSource \" pulumi-lang-java=\" credentialSource \"\u003e credential_source \u003c/span\u003erequests for Kafka Connect.\n"},"inkless":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigInkless:getKafkaKafkaUserConfigInkless","description":"Inkless configuration values\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigIpFilterObject:getKafkaKafkaUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafka":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafka:getKafkaKafkaUserConfigKafka","description":"Kafka broker configuration values\n"},"kafkaAuthenticationMethods":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaAuthenticationMethods:getKafkaKafkaUserConfigKafkaAuthenticationMethods","description":"Kafka authentication methods\n"},"kafkaConnect":{"type":"boolean","description":"Enable Kafka Connect service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"kafkaConnectConfig":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectConfig:getKafkaKafkaUserConfigKafkaConnectConfig","description":"Kafka Connect configuration values\n"},"kafkaConnectPluginVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectPluginVersion:getKafkaKafkaUserConfigKafkaConnectPluginVersion"},"description":"The plugin selected by the user\n"},"kafkaConnectSecretProviders":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProvider:getKafkaKafkaUserConfigKafkaConnectSecretProvider"},"description":"Configure external secret providers in order to reference external secrets in connector configuration. Currently Hashicorp Vault (provider: vault, auth_method: token) and AWS Secrets Manager (provider: aws, auth_method: credentials) are supported. Secrets can be referenced in connector config with ${\u003cprovider_name\u003e:\u003csecret_path\u003e:\u003ckey_name\u003e}\n"},"kafkaDiskless":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaDiskless:getKafkaKafkaUserConfigKafkaDiskless","description":"Kafka Diskless configuration values\n"},"kafkaRest":{"type":"boolean","description":"Enable Kafka-REST service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"kafkaRestAuthorization":{"type":"boolean","description":"Enable authorization in Kafka-REST service.\n"},"kafkaRestConfig":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaRestConfig:getKafkaKafkaUserConfigKafkaRestConfig","description":"Kafka REST configuration\n"},"kafkaSaslMechanisms":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaSaslMechanisms:getKafkaKafkaUserConfigKafkaSaslMechanisms","description":"Kafka SASL mechanisms\n"},"kafkaVersion":{"type":"string","description":"Enum: `3.1`, `3.2`, `3.3`, `3.4`, `3.5`, `3.6`, `3.7`, `3.8`, `3.9`, `4.0`, `4.1`, and newer. Kafka major version.\n"},"letsencryptSasl":{"type":"boolean","description":"Use a Let's Encrypt certificate authority (CA) for Kafka SASL authentication. (Default: False).\n"},"letsencryptSaslPrivatelink":{"type":"boolean","description":"Use a Let's Encrypt certificate authority (CA) for Kafka SASL authentication via Privatelink. (Default: False).\n"},"privateAccess":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigPrivateAccess:getKafkaKafkaUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigPrivatelinkAccess:getKafkaKafkaUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigPublicAccess:getKafkaKafkaUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"schemaRegistry":{"type":"boolean","description":"Enable Schema-Registry service. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"schemaRegistryConfig":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigSchemaRegistryConfig:getKafkaKafkaUserConfigSchemaRegistryConfig","description":"Schema Registry configuration\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"singleZone":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigSingleZone:getKafkaKafkaUserConfigSingleZone","description":"Single-zone configuration\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"tieredStorage":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigTieredStorage:getKafkaKafkaUserConfigTieredStorage","description":"Tiered storage configuration\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigFollowerFetching:getKafkaKafkaUserConfigFollowerFetching":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the follower fetching functionality.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigInkless:getKafkaKafkaUserConfigInkless":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the Inkless functionality.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigIpFilterObject:getKafkaKafkaUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafka:getKafkaKafkaUserConfigKafka":{"properties":{"autoCreateTopicsEnable":{"type":"boolean","description":"Enable auto-creation of topics. (Default: false).\n"},"compressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the final compression type for a given topic. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e which is equivalent to no compression; and \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e which means retain the original compression codec set by the producer.(Default: producer).\n"},"connectionsMaxIdleMs":{"type":"integer","description":"Idle connections timeout: the server socket processor threads close the connections that idle for longer than this. (Default: 600000 ms (10 minutes)). Example: \u003cspan pulumi-lang-nodejs=\"`540000`\" pulumi-lang-dotnet=\"`540000`\" pulumi-lang-go=\"`540000`\" pulumi-lang-python=\"`540000`\" pulumi-lang-yaml=\"`540000`\" pulumi-lang-java=\"`540000`\"\u003e`540000`\u003c/span\u003e.\n"},"defaultReplicationFactor":{"type":"integer","description":"Replication factor for auto-created topics (Default: 3).\n"},"groupInitialRebalanceDelayMs":{"type":"integer","description":"The amount of time, in milliseconds, the group coordinator will wait for more consumers to join a new group before performing the first rebalance. A longer delay means potentially fewer rebalances, but increases the time until processing begins. The default value for this is 3 seconds. During development and testing it might be desirable to set this to 0 in order to not delay test execution time. (Default: 3000 ms (3 seconds)). Example: \u003cspan pulumi-lang-nodejs=\"`3000`\" pulumi-lang-dotnet=\"`3000`\" pulumi-lang-go=\"`3000`\" pulumi-lang-python=\"`3000`\" pulumi-lang-yaml=\"`3000`\" pulumi-lang-java=\"`3000`\"\u003e`3000`\u003c/span\u003e.\n"},"groupMaxSessionTimeoutMs":{"type":"integer","description":"The maximum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. Default: 1800000 ms (30 minutes).\n"},"groupMinSessionTimeoutMs":{"type":"integer","description":"The minimum allowed session timeout for registered consumers. Longer timeouts give consumers more time to process messages in between heartbeats at the cost of a longer time to detect failures. (Default: 6000 ms (6 seconds)). Example: \u003cspan pulumi-lang-nodejs=\"`6000`\" pulumi-lang-dotnet=\"`6000`\" pulumi-lang-go=\"`6000`\" pulumi-lang-python=\"`6000`\" pulumi-lang-yaml=\"`6000`\" pulumi-lang-java=\"`6000`\"\u003e`6000`\u003c/span\u003e.\n"},"logCleanerDeleteRetentionMs":{"type":"integer","description":"How long are delete records retained? (Default: 86400000 (1 day)).\n"},"logCleanerMaxCompactionLagMs":{"type":"integer","description":"The maximum amount of time message will remain uncompacted. Only applicable for logs that are being compacted. (Default: 9223372036854775807 ms (Long.MAX_VALUE)).\n"},"logCleanerMinCleanableRatio":{"type":"number","description":"Controls log compactor frequency. Larger value means more frequent compactions but also more space wasted for logs. Consider setting log.cleaner.max.compaction.lag.ms to enforce compactions sooner, instead of setting a very high value for this option. (Default: 0.5). Example: `0.5`.\n"},"logCleanerMinCompactionLagMs":{"type":"integer","description":"The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted. (Default: 0 ms).\n"},"logCleanupPolicy":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`compact`\" pulumi-lang-dotnet=\"`Compact`\" pulumi-lang-go=\"`compact`\" pulumi-lang-python=\"`compact`\" pulumi-lang-yaml=\"`compact`\" pulumi-lang-java=\"`compact`\"\u003e`compact`\u003c/span\u003e, `compact,delete`, \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e. The default cleanup policy for segments beyond the retention window (Default: delete).\n"},"logFlushIntervalMessages":{"type":"integer","description":"The number of messages accumulated on a log partition before messages are flushed to disk (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logFlushIntervalMs":{"type":"integer","description":"The maximum time in ms that a message in any topic is kept in memory (page-cache) before flushed to disk. If not set, the value in log.flush.scheduler.interval.ms is used (Default: null).\n"},"logIndexIntervalBytes":{"type":"integer","description":"The interval with which Kafka adds an entry to the offset index (Default: 4096 bytes (4 kibibytes)). Example: \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e.\n"},"logIndexSizeMaxBytes":{"type":"integer","description":"The maximum size in bytes of the offset index (Default: 10485760 (10 mebibytes)).\n"},"logLocalRetentionBytes":{"type":"integer","description":"The maximum size of local log segments that can grow for a partition before it gets eligible for deletion. If set to -2, the value of log.retention.bytes is used. The effective value should always be less than or equal to log.retention.bytes value. (Default: -2).\n"},"logLocalRetentionMs":{"type":"integer","description":"The number of milliseconds to keep the local log segments before it gets eligible for deletion. If set to -2, the value of log.retention.ms is used. The effective value should always be less than or equal to log.retention.ms value. (Default: -2).\n"},"logMessageDownconversionEnable":{"type":"boolean","description":"This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. (Default: true).\n"},"logMessageTimestampAfterMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps later than the broker's timestamp. (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampBeforeMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. Applies only for messages with timestamps earlier than the broker's timestamp. (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampDifferenceMaxMs":{"type":"integer","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message (Default: 9223372036854775807 (Long.MAX_VALUE)).\n"},"logMessageTimestampType":{"type":"string","description":"Enum: `CreateTime`, `LogAppendTime`. Define whether the timestamp in the message is message create time or log append time. (Default: CreateTime).\n"},"logPreallocate":{"type":"boolean","description":"Should pre allocate file when create new segment? (Default: false).\n"},"logRetentionBytes":{"type":"integer","description":"The maximum size of the log before deleting messages (Default: -1).\n"},"logRetentionHours":{"type":"integer","description":"The number of hours to keep a log file before deleting it. Use -1 for unlimited retention or 1 or higher. Setting 0 is invalid and prevents Kafka from starting. (Default: 168 hours, or 1 week).\n"},"logRetentionMs":{"type":"integer","description":"The number of milliseconds to keep a log file before deleting it (in milliseconds), If not set, the value in log.retention.minutes is used. If set to -1, no time limit is applied. (Default: null, log.retention.hours applies).\n"},"logRollJitterMs":{"type":"integer","description":"The maximum jitter to subtract from logRollTimeMillis (in milliseconds). If not set, the value in log.roll.jitter.hours is used (Default: null).\n"},"logRollMs":{"type":"integer","description":"The maximum time before a new log segment is rolled out (in milliseconds). (Default: null, log.roll.hours applies (Default: 168, 7 days)).\n"},"logSegmentBytes":{"type":"integer","description":"The maximum size of a single log file (Default: 1073741824 bytes (1 gibibyte)).\n"},"logSegmentDeleteDelayMs":{"type":"integer","description":"The amount of time to wait before deleting a file from the filesystem (Default: 60000 ms (1 minute)). Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"maxConnectionsPerIp":{"type":"integer","description":"The maximum number of connections allowed from each ip address (Default: 2147483647).\n"},"maxIncrementalFetchSessionCacheSlots":{"type":"integer","description":"The maximum number of incremental fetch sessions that the broker will maintain. (Default: 1000). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"messageMaxBytes":{"type":"integer","description":"The maximum size of message that the server can receive. (Default: 1048588 bytes (1 mebibyte + 12 bytes)).\n"},"minInsyncReplicas":{"type":"integer","description":"When a producer sets acks to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e (or `-1`), min.insync.replicas specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. (Default: 1). Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"numPartitions":{"type":"integer","description":"Number of partitions for auto-created topics (Default: 1).\n"},"offsetsRetentionMinutes":{"type":"integer","description":"Log retention window in minutes for offsets topic (Default: 10080 minutes (7 days)). Example: \u003cspan pulumi-lang-nodejs=\"`10080`\" pulumi-lang-dotnet=\"`10080`\" pulumi-lang-go=\"`10080`\" pulumi-lang-python=\"`10080`\" pulumi-lang-yaml=\"`10080`\" pulumi-lang-java=\"`10080`\"\u003e`10080`\u003c/span\u003e.\n"},"producerPurgatoryPurgeIntervalRequests":{"type":"integer","description":"The purge interval (in number of requests) of the producer request purgatory (Default: 1000).\n"},"replicaFetchMaxBytes":{"type":"integer","description":"The number of bytes of messages to attempt to fetch for each partition . This is not an absolute maximum, if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. (Default: 1048576 bytes (1 mebibytes)).\n"},"replicaFetchResponseMaxBytes":{"type":"integer","description":"Maximum bytes expected for the entire fetch response. Records are fetched in batches, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that progress can be made. As such, this is not an absolute maximum. (Default: 10485760 bytes (10 mebibytes)).\n"},"saslOauthbearerExpectedAudience":{"type":"string","description":"The (optional) comma-delimited setting for the broker to use to verify that the JWT was issued for one of the expected audiences. (Default: null).\n"},"saslOauthbearerExpectedIssuer":{"type":"string","description":"Optional setting for the broker to use to verify that the JWT was created by the expected issuer.(Default: null).\n"},"saslOauthbearerJwksEndpointUrl":{"type":"string","description":"OIDC JWKS endpoint URL. By setting this the SASL SSL OAuth2/OIDC authentication is enabled. See also other options for SASL OAuth2/OIDC. (Default: null).\n"},"saslOauthbearerSubClaimName":{"type":"string","description":"Name of the scope from which to extract the subject claim from the JWT.(Default: sub).\n"},"socketRequestMaxBytes":{"type":"integer","description":"The maximum number of bytes in a socket request (Default: 104857600 bytes).\n"},"transactionPartitionVerificationEnable":{"type":"boolean","description":"Enable verification that checks that the partition has been added to the transaction before writing transactional records to the partition. (Default: true).\n"},"transactionRemoveExpiredTransactionCleanupIntervalMs":{"type":"integer","description":"The interval at which to remove transactions that have expired due to transactional.id.expiration.ms passing (Default: 3600000 ms (1 hour)).\n"},"transactionStateLogSegmentBytes":{"type":"integer","description":"The transaction topic segment bytes should be kept relatively small in order to facilitate faster log compaction and cache loads (Default: 104857600 bytes (100 mebibytes)).\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigKafkaAuthenticationMethods:getKafkaKafkaUserConfigKafkaAuthenticationMethods":{"properties":{"certificate":{"type":"boolean","description":"Enable certificate/SSL authentication. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sasl":{"type":"boolean","description":"Enable SASL authentication. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigKafkaConnectConfig:getKafkaKafkaUserConfigKafkaConnectConfig":{"properties":{"connectorClientConfigOverridePolicy":{"type":"string","description":"Enum: `All`, `None`. Defines what client configurations can be overridden by the connector. Default is None.\n"},"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. Default is earliest.\n"},"consumerFetchMaxBytes":{"type":"integer","description":"Records are fetched in batches by the consumer, and if the first record batch in the first non-empty partition of the fetch is larger than this value, the record batch will still be returned to ensure that the consumer can make progress. As such, this is not a absolute maximum.\n"},"consumerIsolationLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`readCommitted`\" pulumi-lang-dotnet=\"`ReadCommitted`\" pulumi-lang-go=\"`readCommitted`\" pulumi-lang-python=\"`read_committed`\" pulumi-lang-yaml=\"`readCommitted`\" pulumi-lang-java=\"`readCommitted`\"\u003e`read_committed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readUncommitted`\" pulumi-lang-dotnet=\"`ReadUncommitted`\" pulumi-lang-go=\"`readUncommitted`\" pulumi-lang-python=\"`read_uncommitted`\" pulumi-lang-yaml=\"`readUncommitted`\" pulumi-lang-java=\"`readUncommitted`\"\u003e`read_uncommitted`\u003c/span\u003e. Transaction read isolation level.\u003cspan pulumi-lang-nodejs=\" readUncommitted \" pulumi-lang-dotnet=\" ReadUncommitted \" pulumi-lang-go=\" readUncommitted \" pulumi-lang-python=\" read_uncommitted \" pulumi-lang-yaml=\" readUncommitted \" pulumi-lang-java=\" readUncommitted \"\u003e read_uncommitted \u003c/span\u003eis the default, but\u003cspan pulumi-lang-nodejs=\" readCommitted \" pulumi-lang-dotnet=\" ReadCommitted \" pulumi-lang-go=\" readCommitted \" pulumi-lang-python=\" read_committed \" pulumi-lang-yaml=\" readCommitted \" pulumi-lang-java=\" readCommitted \"\u003e read_committed \u003c/span\u003ecan be used if consume-exactly-once behavior is desired.\n"},"consumerMaxPartitionFetchBytes":{"type":"integer","description":"Records are fetched in batches by the consumer.If the first record batch in the first non-empty partition of the fetch is larger than this limit, the batch will still be returned to ensure that the consumer can make progress.\n"},"consumerMaxPollIntervalMs":{"type":"integer","description":"The maximum delay in milliseconds between invocations of poll() when using consumer group management (defaults to 300000).\n"},"consumerMaxPollRecords":{"type":"integer","description":"The maximum number of records returned in a single call to poll() (defaults to 500).\n"},"offsetFlushIntervalMs":{"type":"integer","description":"The interval at which to try committing offsets for tasks (defaults to 60000).\n"},"offsetFlushTimeoutMs":{"type":"integer","description":"Maximum number of milliseconds to wait for records to flush and partition offset data to be committed to offset storage before cancelling the process and restoring the offset data to be committed in a future attempt (defaults to 5000).\n"},"producerBatchSize":{"type":"integer","description":"This setting gives the upper bound of the batch size to be sent. If there are fewer than this many bytes accumulated for this partition, the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the linger.ms time waiting for more records to show up. A batch size of zero will disable batching entirely (defaults to 16384).\n"},"producerBufferMemory":{"type":"integer","description":"The total bytes of memory the producer can use to buffer records waiting to be sent to the broker (defaults to 33554432).\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"This setting gives the upper bound on the delay for batching: once there is batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if there are fewer than this many bytes accumulated for this partition the producer will \u003cspan pulumi-lang-nodejs=\"`linger`\" pulumi-lang-dotnet=\"`Linger`\" pulumi-lang-go=\"`linger`\" pulumi-lang-python=\"`linger`\" pulumi-lang-yaml=\"`linger`\" pulumi-lang-java=\"`linger`\"\u003e`linger`\u003c/span\u003e for the specified time waiting for more records to show up. Defaults to 0.\n"},"producerMaxRequestSize":{"type":"integer","description":"This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests.\n"},"scheduledRebalanceMaxDelayMs":{"type":"integer","description":"The maximum delay that is scheduled in order to wait for the return of one or more departed workers before rebalancing and reassigning their connectors and tasks to the group. During this period the connectors and tasks of the departed workers remain unassigned. Defaults to 5 minutes.\n"},"sessionTimeoutMs":{"type":"integer","description":"The timeout in milliseconds used to detect failures when using Kafka’s group management facilities (defaults to 10000).\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigKafkaConnectPluginVersion:getKafkaKafkaUserConfigKafkaConnectPluginVersion":{"properties":{"pluginName":{"type":"string","description":"The name of the plugin. Example: `debezium-connector`.\n"},"version":{"type":"string","description":"The version of the plugin. Example: `2.5.0`.\n"}},"type":"object","required":["pluginName","version"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProvider:getKafkaKafkaUserConfigKafkaConnectSecretProvider":{"properties":{"aws":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderAws:getKafkaKafkaUserConfigKafkaConnectSecretProviderAws","description":"AWS secret provider configuration\n"},"env":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderEnv:getKafkaKafkaUserConfigKafkaConnectSecretProviderEnv","description":"ENV secret provider configuration\n"},"name":{"type":"string","description":"Name of the secret provider. Used to reference secrets in connector config.\n"},"vault":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderVault:getKafkaKafkaUserConfigKafkaConnectSecretProviderVault","description":"Vault secret provider configuration\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderAws:getKafkaKafkaUserConfigKafkaConnectSecretProviderAws":{"properties":{"accessKey":{"type":"string","description":"Access key used to authenticate with aws.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`credentials`\" pulumi-lang-dotnet=\"`Credentials`\" pulumi-lang-go=\"`credentials`\" pulumi-lang-python=\"`credentials`\" pulumi-lang-yaml=\"`credentials`\" pulumi-lang-java=\"`credentials`\"\u003e`credentials`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"region":{"type":"string","description":"Region used to lookup secrets with AWS SecretManager.\n"},"secretKey":{"type":"string","description":"Secret key used to authenticate with aws.\n","secret":true}},"type":"object","required":["authMethod","region"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderEnv:getKafkaKafkaUserConfigKafkaConnectSecretProviderEnv":{"properties":{"secrets":{"type":"object","additionalProperties":{"type":"string"},"description":"Key/value map of secrets for ENV secret provider.\n"}},"type":"object","required":["secrets"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaConnectSecretProviderVault:getKafkaKafkaUserConfigKafkaConnectSecretProviderVault":{"properties":{"address":{"type":"string","description":"Address of the Vault server.\n"},"authMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e. Auth method of the vault secret provider.\n"},"engineVersion":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, and newer. KV Secrets Engine version of the Vault server instance.\n"},"prefixPathDepth":{"type":"integer","description":"Prefix path depth of the secrets Engine. Default is 1. If the secrets engine path has more than one segment it has to be increased to the number of segments.\n"},"token":{"type":"string","description":"Token used to authenticate with vault and auth method \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n","secret":true}},"type":"object","required":["address","authMethod"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaDiskless:getKafkaKafkaUserConfigKafkaDiskless":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the Diskless functionality.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaKafkaUserConfigKafkaRestConfig:getKafkaKafkaUserConfigKafkaRestConfig":{"properties":{"consumerEnableAutoCommit":{"type":"boolean","description":"If true the consumer's offset will be periodically committed to Kafka in the background. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"consumerIdleDisconnectTimeout":{"type":"integer","description":"Specifies the maximum duration (in seconds) a client can remain idle before it is deleted. If a consumer is inactive, it will exit the consumer group, and its state will be discarded. A value of 0 (default) indicates that the consumer will not be disconnected automatically due to inactivity. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"consumerRequestMaxBytes":{"type":"integer","description":"Maximum number of bytes in unencoded message keys and values by a single request.\n"},"consumerRequestTimeoutMs":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15000`\" pulumi-lang-dotnet=\"`15000`\" pulumi-lang-go=\"`15000`\" pulumi-lang-python=\"`15000`\" pulumi-lang-yaml=\"`15000`\" pulumi-lang-java=\"`15000`\"\u003e`15000`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e. The maximum total time to wait for messages for a request if the maximum number of messages has not yet been reached. Default: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"nameStrategy":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`recordName`\" pulumi-lang-dotnet=\"`RecordName`\" pulumi-lang-go=\"`recordName`\" pulumi-lang-python=\"`record_name`\" pulumi-lang-yaml=\"`recordName`\" pulumi-lang-java=\"`recordName`\"\u003e`record_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`topicRecordName`\" pulumi-lang-dotnet=\"`TopicRecordName`\" pulumi-lang-go=\"`topicRecordName`\" pulumi-lang-python=\"`topic_record_name`\" pulumi-lang-yaml=\"`topicRecordName`\" pulumi-lang-java=\"`topicRecordName`\"\u003e`topic_record_name`\u003c/span\u003e. Name strategy to use when selecting subject for storing schemas. Default: \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e.\n"},"nameStrategyValidation":{"type":"boolean","description":"If true, validate that given schema is registered under expected subject name by the used name strategy when producing messages. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"producerAcks":{"type":"string","description":"Enum: `-1`, \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e. The number of acknowledgments the producer requires the leader to have received before considering a request complete. If set to \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e or `-1`, the leader will wait for the full set of in-sync replicas to acknowledge the record. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"Wait for up to the given delay to allow batching records together. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"producerMaxRequestSize":{"type":"integer","description":"The maximum size of a request in bytes. Note that Kafka broker can also cap the record batch size.\n"},"simpleconsumerPoolSizeMax":{"type":"integer","description":"Maximum number of SimpleConsumers that can be instantiated per broker. Default: \u003cspan pulumi-lang-nodejs=\"`25`\" pulumi-lang-dotnet=\"`25`\" pulumi-lang-go=\"`25`\" pulumi-lang-python=\"`25`\" pulumi-lang-yaml=\"`25`\" pulumi-lang-java=\"`25`\"\u003e`25`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigKafkaSaslMechanisms:getKafkaKafkaUserConfigKafkaSaslMechanisms":{"properties":{"plain":{"type":"boolean","description":"Enable PLAIN mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scramSha256":{"type":"boolean","description":"Enable SCRAM-SHA-256 mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"scramSha512":{"type":"boolean","description":"Enable SCRAM-SHA-512 mechanism. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigPrivateAccess:getKafkaKafkaUserConfigPrivateAccess":{"properties":{"kafka":{"type":"boolean","description":"Allow clients to connect to kafka with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"kafkaRest":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaRest \" pulumi-lang-dotnet=\" KafkaRest \" pulumi-lang-go=\" kafkaRest \" pulumi-lang-python=\" kafka_rest \" pulumi-lang-yaml=\" kafkaRest \" pulumi-lang-java=\" kafkaRest \"\u003e kafka_rest \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"schemaRegistry":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" schemaRegistry \" pulumi-lang-dotnet=\" SchemaRegistry \" pulumi-lang-go=\" schemaRegistry \" pulumi-lang-python=\" schema_registry \" pulumi-lang-yaml=\" schemaRegistry \" pulumi-lang-java=\" schemaRegistry \"\u003e schema_registry \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigPrivatelinkAccess:getKafkaKafkaUserConfigPrivatelinkAccess":{"properties":{"jolokia":{"type":"boolean","description":"Enable jolokia.\n"},"kafka":{"type":"boolean","description":"Enable kafka.\n"},"kafkaConnect":{"type":"boolean","description":"Enable kafka_connect.\n"},"kafkaRest":{"type":"boolean","description":"Enable kafka_rest.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"schemaRegistry":{"type":"boolean","description":"Enable schema_registry.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigPublicAccess:getKafkaKafkaUserConfigPublicAccess":{"properties":{"kafka":{"type":"boolean","description":"Allow clients to connect to kafka from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"kafkaConnect":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaConnect \" pulumi-lang-dotnet=\" KafkaConnect \" pulumi-lang-go=\" kafkaConnect \" pulumi-lang-python=\" kafka_connect \" pulumi-lang-yaml=\" kafkaConnect \" pulumi-lang-java=\" kafkaConnect \"\u003e kafka_connect \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"kafkaRest":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" kafkaRest \" pulumi-lang-dotnet=\" KafkaRest \" pulumi-lang-go=\" kafkaRest \" pulumi-lang-python=\" kafka_rest \" pulumi-lang-yaml=\" kafkaRest \" pulumi-lang-java=\" kafkaRest \"\u003e kafka_rest \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"schemaRegistry":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" schemaRegistry \" pulumi-lang-dotnet=\" SchemaRegistry \" pulumi-lang-go=\" schemaRegistry \" pulumi-lang-python=\" schema_registry \" pulumi-lang-yaml=\" schemaRegistry \" pulumi-lang-java=\" schemaRegistry \"\u003e schema_registry \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigSchemaRegistryConfig:getKafkaKafkaUserConfigSchemaRegistryConfig":{"properties":{"leaderEligibility":{"type":"boolean","description":"If true, Karapace / Schema Registry on the service nodes can participate in leader election. It might be needed to disable this when the schemas topic is replicated to a secondary cluster and Karapace / Schema Registry there must not participate in leader election. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"retriableErrorsSilenced":{"type":"boolean","description":"If enabled, kafka errors which can be retried or custom errors specified for the service will not be raised, instead, a warning log is emitted. This will denoise issue tracking systems, i.e. sentry. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"schemaReaderStrictMode":{"type":"boolean","description":"If enabled, causes the Karapace schema-registry service to shutdown when there are invalid schema records in the `_schemas` topic. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topicName":{"type":"string","description":"The durable single partition topic that acts as the durable log for the data. This topic must be compacted to avoid losing data due to retention policy. Please note that changing this configuration in an existing Schema Registry / Karapace setup leads to previous schemas being inaccessible, data encoded with them potentially unreadable and schema ID sequence put out of order. It's only possible to do the switch while Schema Registry / Karapace is disabled. Defaults to `_schemas`.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigSingleZone:getKafkaKafkaUserConfigSingleZone":{"properties":{"availabilityZone":{"type":"string","description":"The availability zone to use for the service. This is only used when enabled is set to true. If not set the service will be allocated in random AZ.The AZ is not guaranteed, and the service may be allocated in a different AZ if the selected AZ is not available. Zones will not be validated and invalid zones will be ignored, falling back to random AZ selection. Common availability zones include: AWS (euc1-az1, euc1-az2, euc1-az3), GCP (europe-west1-a, europe-west1-b, europe-west1-c), Azure (germanywestcentral/1, germanywestcentral/2, germanywestcentral/3). Example: `euc1-az1`.\n"},"enabled":{"type":"boolean","description":"Whether to allocate nodes on the same Availability Zone or spread across zones available. By default service nodes are spread across different AZs. The single AZ support is best-effort and may temporarily allocate nodes in different AZs e.g. in case of capacity limitations in one AZ.\n"}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigTieredStorage:getKafkaKafkaUserConfigTieredStorage":{"properties":{"enabled":{"type":"boolean","description":"Whether to enable the tiered storage functionality.\n"},"localCache":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfigTieredStorageLocalCache:getKafkaKafkaUserConfigTieredStorageLocalCache","description":"Local cache configuration\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/getKafkaKafkaUserConfigTieredStorageLocalCache:getKafkaKafkaUserConfigTieredStorageLocalCache":{"properties":{"size":{"type":"integer","description":"Local cache size in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`1073741824`\" pulumi-lang-dotnet=\"`1073741824`\" pulumi-lang-go=\"`1073741824`\" pulumi-lang-python=\"`1073741824`\" pulumi-lang-yaml=\"`1073741824`\" pulumi-lang-java=\"`1073741824`\"\u003e`1073741824`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/getKafkaMirrorMakerComponent:getKafkaMirrorMakerComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfig:getKafkaMirrorMakerKafkaMirrormakerUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n","deprecationMessage":"This property is deprecated."},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject:getKafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"kafkaMirrormaker":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker:getKafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker","description":"Kafka MirrorMaker configuration values\n"},"saslOauthbearerAllowedUrls":{"type":"array","items":{"type":"string"},"description":"List of allowed URLs for SASL OAUTHBEARER authentication. Only HTTPS URLs are allowed for security reasons.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject:getKafkaMirrorMakerKafkaMirrormakerUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker:getKafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormaker":{"properties":{"adminTimeoutMs":{"type":"integer","description":"Timeout for administrative tasks, e.g. detecting new topics, loading of consumer group and offsets. Defaults to 60000 milliseconds (1 minute).\n"},"emitCheckpointsEnabled":{"type":"boolean","description":"Whether to emit consumer group offset checkpoints to target cluster periodically (default: true).\n"},"emitCheckpointsIntervalSeconds":{"type":"integer","description":"Frequency at which consumer group offset checkpoints are emitted (default: 60, every minute). Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"groups":{"type":"string","description":"Consumer groups to replicate. Supports comma-separated group IDs and regexes. Example: `.*`.\n"},"groupsExclude":{"type":"string","description":"Exclude groups. Supports comma-separated group IDs and regexes. Excludes take precedence over includes. Example: `console-consumer-.*,connect-.*,__.*`.\n"},"offsetLagMax":{"type":"integer","description":"How out-of-sync a remote partition can be before it is resynced. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"refreshGroupsEnabled":{"type":"boolean","description":"Whether to periodically check for new consumer groups. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"refreshGroupsIntervalSeconds":{"type":"integer","description":"Frequency of consumer group refresh in seconds. Defaults to 600 seconds (10 minutes).\n"},"refreshTopicsEnabled":{"type":"boolean","description":"Whether to periodically check for new topics and partitions. Defaults to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"refreshTopicsIntervalSeconds":{"type":"integer","description":"Frequency of topic and partitions refresh in seconds. Defaults to 600 seconds (10 minutes).\n"},"syncGroupOffsetsEnabled":{"type":"boolean","description":"Whether to periodically write the translated offsets of replicated consumer groups (in the source cluster) to __consumer_offsets topic in target cluster, as long as no active consumers in that group are connected to the target cluster.\n"},"syncGroupOffsetsIntervalSeconds":{"type":"integer","description":"Frequency at which consumer group offsets are synced (default: 60, every minute). Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"syncTopicConfigsEnabled":{"type":"boolean","description":"Whether to periodically configure remote topics to match their corresponding upstream topics.\n"},"tasksMaxPerCpu":{"type":"integer","description":"`tasks.max` is set to this multiplied by the number of CPUs in the service. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getKafkaMirrorMakerServiceIntegration:getKafkaMirrorMakerServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaMirrorMakerTag:getKafkaMirrorMakerTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaMirrorMakerTechEmail:getKafkaMirrorMakerTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaServiceIntegration:getKafkaServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaTag:getKafkaTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaTechEmail:getKafkaTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaTopicConfig:getKafkaTopicConfig":{"properties":{"cleanupPolicy":{"type":"string","description":"The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic. The possible values are \u003cspan pulumi-lang-nodejs=\"`compact`\" pulumi-lang-dotnet=\"`Compact`\" pulumi-lang-go=\"`compact`\" pulumi-lang-python=\"`compact`\" pulumi-lang-yaml=\"`compact`\" pulumi-lang-java=\"`compact`\"\u003e`compact`\u003c/span\u003e, `compact,delete` and \u003cspan pulumi-lang-nodejs=\"`delete`\" pulumi-lang-dotnet=\"`Delete`\" pulumi-lang-go=\"`delete`\" pulumi-lang-python=\"`delete`\" pulumi-lang-yaml=\"`delete`\" pulumi-lang-java=\"`delete`\"\u003e`delete`\u003c/span\u003e.\n"},"compressionType":{"type":"string","description":"Specify the final compression type for a given topic. This configuration accepts the standard compression codecs ('gzip', 'snappy', 'lz4', 'zstd'). It additionally accepts 'uncompressed' which is equivalent to no compression; and 'producer' which means retain the original compression codec set by the producer. The possible values are \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`producer`\" pulumi-lang-dotnet=\"`Producer`\" pulumi-lang-go=\"`producer`\" pulumi-lang-python=\"`producer`\" pulumi-lang-yaml=\"`producer`\" pulumi-lang-java=\"`producer`\"\u003e`producer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`uncompressed`\" pulumi-lang-dotnet=\"`Uncompressed`\" pulumi-lang-go=\"`uncompressed`\" pulumi-lang-python=\"`uncompressed`\" pulumi-lang-yaml=\"`uncompressed`\" pulumi-lang-java=\"`uncompressed`\"\u003e`uncompressed`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e.\n"},"deleteRetentionMs":{"type":"string","description":"The amount of time to retain delete tombstone markers for log compacted topics. This setting also gives a bound on the time in which a consumer must complete a read if they begin from offset 0 to ensure that they get a valid snapshot of the final stage (otherwise delete tombstones may be collected before they complete their scan).\n"},"disklessEnable":{"type":"boolean","description":"Creates a [diskless topic](https://aiven.io/docs/products/diskless). You can only do this when you create the topic and you cannot change it later. Diskless topics are only available for bring your own cloud (BYOC) services that have the feature enabled.\n"},"fileDeleteDelayMs":{"type":"string","description":"The time to wait before deleting a file from the filesystem.\n"},"flushMessages":{"type":"string","description":"This setting allows specifying an interval at which we will force an fsync of data written to the log. For example if this was set to 1 we would fsync after every message; if it were 5 we would fsync after every five messages. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.\n"},"flushMs":{"type":"string","description":"This setting allows specifying a time interval at which we will force an fsync of data written to the log. For example if this was set to 1000 we would fsync after 1000 ms had passed. In general we recommend you not set this and use replication for durability and allow the operating system's background flush capabilities as it is more efficient.\n"},"indexIntervalBytes":{"type":"string","description":"This setting controls how frequently Kafka adds an index entry to its offset index. The default setting ensures that we index a message roughly every 4096 bytes. More indexing allows reads to jump closer to the exact position in the log but makes the index larger. You probably don't need to change this.\n"},"localRetentionBytes":{"type":"string","description":"This configuration controls the maximum bytes tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the limit is equal to overall retention time. If set to -1, no limit is applied but it's possible only if overall retention is also -1.\n"},"localRetentionMs":{"type":"string","description":"This configuration controls the maximum time tiered storage will retain segment files locally before it will discard old log segments to free up space. If set to -2, the time limit is equal to overall retention time. If set to -1, no time limit is applied but it's possible only if overall retention is also -1.\n"},"maxCompactionLagMs":{"type":"string","description":"The maximum time a message will remain ineligible for compaction in the log. Only applicable for logs that are being compacted.\n"},"maxMessageBytes":{"type":"string","description":"The largest record batch size allowed by Kafka (after compression if compression is enabled). If this is increased and there are consumers older than 0.10.2, the consumers' fetch size must also be increased so that the they can fetch record batches this large. In the latest message format version, records are always grouped into batches for efficiency. In previous message format versions, uncompressed records are not grouped into batches and this limit only applies to a single record in that case.\n"},"messageDownconversionEnable":{"type":"boolean","description":"This configuration controls whether down-conversion of message formats is enabled to satisfy consume requests. When set to false, broker will not perform down-conversion for consumers expecting an older message format. The broker responds with UNSUPPORTED_VERSION error for consume requests from such older clients. This configuration does not apply to any message format conversion that might be required for replication to followers.\n"},"messageFormatVersion":{"type":"string","description":"Specify the message format version the broker will use to append messages to the logs. The value should be a valid ApiVersion. Some examples are: 0.8.2, 0.9.0.0, 0.10.0, check ApiVersion for more details. By setting a particular message format version, the user is certifying that all the existing messages on disk are smaller or equal than the specified version. Setting this value incorrectly will cause consumers with older versions to break as they will receive messages with a format that they don't understand. Deprecated in Kafka 4.0+: this configuration is removed and any supplied value will be ignored; for services upgraded to 4.0+, the returned value may be 'None'. The possible values are `0.10.0`, `0.10.0-IV0`, `0.10.0-IV1`, `0.10.1`, `0.10.1-IV0`, `0.10.1-IV1`, `0.10.1-IV2`, `0.10.2`, `0.10.2-IV0`, `0.11.0`, `0.11.0-IV0`, `0.11.0-IV1`, `0.11.0-IV2`, `0.8.0`, `0.8.1`, `0.8.2`, `0.9.0`, `1.0`, `1.0-IV0`, `1.1`, `1.1-IV0`, `2.0`, `2.0-IV0`, `2.0-IV1`, `2.1`, `2.1-IV0`, `2.1-IV1`, `2.1-IV2`, `2.2`, `2.2-IV0`, `2.2-IV1`, `2.3`, `2.3-IV0`, `2.3-IV1`, `2.4`, `2.4-IV0`, `2.4-IV1`, `2.5`, `2.5-IV0`, `2.6`, `2.6-IV0`, `2.7`, `2.7-IV0`, `2.7-IV1`, `2.7-IV2`, `2.8`, `2.8-IV0`, `2.8-IV1`, `3.0`, `3.0-IV0`, `3.0-IV1`, `3.1`, `3.1-IV0`, `3.2`, `3.2-IV0`, `3.3`, `3.3-IV0`, `3.3-IV1`, `3.3-IV2`, `3.3-IV3`, `3.4`, `3.4-IV0`, `3.5`, `3.5-IV0`, `3.5-IV1`, `3.5-IV2`, `3.6`, `3.6-IV0`, `3.6-IV1`, `3.6-IV2`, `3.7`, `3.7-IV0`, `3.7-IV1`, `3.7-IV2`, `3.7-IV3`, `3.7-IV4`, `3.8`, `3.8-IV0`, `3.9`, `3.9-IV0`, `3.9-IV1`, `4.0`, `4.0-IV0`, `4.1` and `4.1-IV0`.\n"},"messageTimestampDifferenceMaxMs":{"type":"string","description":"The maximum difference allowed between the timestamp when a broker receives a message and the timestamp specified in the message. If message.timestamp.type=CreateTime, a message will be rejected if the difference in timestamp exceeds this threshold. This configuration is ignored if message.timestamp.type=LogAppendTime.\n"},"messageTimestampType":{"type":"string","description":"Define whether the timestamp in the message is message create time or log append time. The possible values are `CreateTime` and `LogAppendTime`.\n"},"minCleanableDirtyRatio":{"type":"number","description":"This configuration controls how frequently the log compactor will attempt to clean the log (assuming log compaction is enabled). By default we will avoid cleaning a log where more than 50% of the log has been compacted. This ratio bounds the maximum space wasted in the log by duplicates (at 50% at most 50% of the log could be duplicates). A higher ratio will mean fewer, more efficient cleanings but will mean more wasted space in the log. If the max.compaction.lag.ms or the min.compaction.lag.ms configurations are also specified, then the log compactor considers the log to be eligible for compaction as soon as either: (i) the dirty ratio threshold has been met and the log has had dirty (uncompacted) records for at least the min.compaction.lag.ms duration, or (ii) if the log has had dirty (uncompacted) records for at most the max.compaction.lag.ms period.\n"},"minCompactionLagMs":{"type":"string","description":"The minimum time a message will remain uncompacted in the log. Only applicable for logs that are being compacted.\n"},"minInsyncReplicas":{"type":"string","description":"When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.\n"},"preallocate":{"type":"boolean","description":"True if we should preallocate the file on disk when creating a new log segment.\n"},"remoteStorageEnable":{"type":"boolean","description":"Indicates whether tiered storage should be enabled.\n"},"retentionBytes":{"type":"string","description":"This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.\n"},"retentionMs":{"type":"string","description":"This configuration controls the maximum time we will retain a log before we will discard old log segments to free up space if we are using the 'delete' retention policy. This represents an SLA on how soon consumers must read their data. If set to -1, no time limit is applied.\n"},"segmentBytes":{"type":"string","description":"This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.\n"},"segmentIndexBytes":{"type":"string","description":"This configuration controls the size of the index that maps offsets to file positions. We preallocate this index file and shrink it only after log rolls. You generally should not need to change this setting.\n"},"segmentJitterMs":{"type":"string","description":"The maximum random jitter subtracted from the scheduled segment roll time to avoid thundering herds of segment rolling\n"},"segmentMs":{"type":"string","description":"This configuration controls the period of time after which Kafka will force the log to roll even if the segment file isn't full to ensure that retention can delete or compact old data. Setting this to a very low value has consequences, and the Aiven management plane ignores values less than 10 seconds.\n"},"uncleanLeaderElectionEnable":{"type":"boolean","description":"Indicates whether to enable replicas not in the ISR set to be elected as leader as a last resort, even though doing so may result in data loss.\n"}},"type":"object"},"aiven:index/getKafkaTopicListTimeouts:getKafkaTopicListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getKafkaTopicListTopic:getKafkaTopicListTopic":{"properties":{"cleanupPolicy":{"type":"string","description":"The retention policy to use on old segments. Possible values include 'delete', 'compact', or a comma-separated list of them. The default policy ('delete') will discard old segments when their retention time or size limit has been reached. The 'compact' setting will enable log compaction on the topic.\n"},"disklessEnable":{"type":"boolean","description":"Indicates whether diskless should be enabled. This is only available for BYOC services with Diskless feature enabled.\n"},"minInsyncReplicas":{"type":"integer","description":"When a producer sets acks to 'all' (or '-1'), this configuration specifies the minimum number of replicas that must acknowledge a write for the write to be considered successful. If this minimum cannot be met, then the producer will raise an exception (either NotEnoughReplicas or NotEnoughReplicasAfterAppend). When used together, min.insync.replicas and acks allow you to enforce greater durability guarantees. A typical scenario would be to create a topic with a replication factor of 3, set min.insync.replicas to 2, and produce with acks of 'all'. This will ensure that the producer raises an exception if a majority of replicas do not receive a write.\n"},"ownerUserGroupId":{"type":"string","description":"The user group that owns this topic.\n"},"partitions":{"type":"integer","description":"Number of partitions.\n"},"remoteStorageEnable":{"type":"boolean","description":"Indicates whether tiered storage should be enabled. This is only available for services with Tiered Storage feature enabled.\n"},"replication":{"type":"integer","description":"Number of replicas.\n"},"retentionBytes":{"type":"integer","description":"This configuration controls the maximum size a partition (which consists of log segments) can grow to before we will discard old log segments to free up space if we are using the 'delete' retention policy. By default there is no size limit only a time limit. Since this limit is enforced at the partition level, multiply it by the number of partitions to compute the topic retention in bytes.\n"},"retentionHours":{"type":"integer","description":"Retention period (hours).\n"},"state":{"type":"string","description":"Topic state. The possible values are `ACTIVE`, `CONFIGURING` and `DELETING`.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaTopicListTopicTag:getKafkaTopicListTopicTag"},"description":"Topic tags.\n"},"topicDescription":{"type":"string","description":"Topic description.\n"},"topicName":{"type":"string","description":"Topic name.\n"}},"type":"object","required":["cleanupPolicy","disklessEnable","minInsyncReplicas","ownerUserGroupId","partitions","remoteStorageEnable","replication","retentionBytes","retentionHours","state","topicDescription","topicName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaTopicListTopicTag:getKafkaTopicListTopicTag":{"properties":{"key":{"type":"string","description":"Tag key.\n"},"value":{"type":"string","description":"Tag value.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getKafkaTopicTag:getKafkaTopicTag":{"properties":{"key":{"type":"string","description":"Tag key. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"value":{"type":"string","description":"Tag value. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"}},"type":"object","required":["key"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorComponent:getM3AggregatorComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorM3aggregator:getM3AggregatorM3aggregator":{"properties":{"aggregatorHttpUri":{"type":"string","description":"M3 Aggregator HTTP URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"M3 Aggregator server URIs.\n","secret":true}},"type":"object","required":["aggregatorHttpUri","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorM3aggregatorUserConfig:getM3AggregatorM3aggregatorUserConfig":{"properties":{"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. Example: `grafana.example.org`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3AggregatorM3aggregatorUserConfigIpFilterObject:getM3AggregatorM3aggregatorUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"m3Version":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (deprecated, use m3aggregator_version).\n"},"m3aggregatorVersion":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (the minimum compatible version).\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getM3AggregatorM3aggregatorUserConfigIpFilterObject:getM3AggregatorM3aggregatorUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorServiceIntegration:getM3AggregatorServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorTag:getM3AggregatorTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3AggregatorTechEmail:getM3AggregatorTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbComponent:getM3DbComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3db:getM3DbM3db":{"properties":{"httpClusterUri":{"type":"string","description":"M3DB cluster URI.\n","secret":true},"httpNodeUri":{"type":"string","description":"M3DB node URI.\n","secret":true},"influxdbUri":{"type":"string","description":"InfluxDB URI.\n","secret":true},"prometheusRemoteReadUri":{"type":"string","description":"Prometheus remote read URI.\n","secret":true},"prometheusRemoteWriteUri":{"type":"string","description":"Prometheus remote write URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"M3DB server URIs.\n","secret":true}},"type":"object","required":["httpClusterUri","httpNodeUri","influxdbUri","prometheusRemoteReadUri","prometheusRemoteWriteUri","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfig:getM3DbM3dbUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. Example: `grafana.example.org`.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigIpFilterObject:getM3DbM3dbUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"limits":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigLimits:getM3DbM3dbUserConfigLimits","description":"M3 limits\n"},"m3":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigM3:getM3DbM3dbUserConfigM3","description":"M3 specific configuration options\n"},"m3Version":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (deprecated, use m3db_version).\n"},"m3coordinatorEnableGraphiteCarbonIngest":{"type":"boolean","description":"Enables access to Graphite Carbon plaintext metrics ingestion. It can be enabled only for services inside VPCs. The metrics are written to aggregated namespaces only.\n"},"m3dbVersion":{"type":"string","description":"Enum: `1.1`, `1.2`, `1.5`, and newer. M3 major version (the minimum compatible version).\n"},"namespaces":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigNamespace:getM3DbM3dbUserConfigNamespace"},"description":"List of M3 namespaces\n"},"privateAccess":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigPrivateAccess:getM3DbM3dbUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigPublicAccess:getM3DbM3dbUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"rules":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigRules:getM3DbM3dbUserConfigRules","description":"M3 rules\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigIpFilterObject:getM3DbM3dbUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfigLimits:getM3DbM3dbUserConfigLimits":{"properties":{"maxRecentlyQueriedSeriesBlocks":{"type":"integer","description":"The maximum number of blocks that can be read in a given lookback period. Example: \u003cspan pulumi-lang-nodejs=\"`20000`\" pulumi-lang-dotnet=\"`20000`\" pulumi-lang-go=\"`20000`\" pulumi-lang-python=\"`20000`\" pulumi-lang-yaml=\"`20000`\" pulumi-lang-java=\"`20000`\"\u003e`20000`\u003c/span\u003e.\n"},"maxRecentlyQueriedSeriesDiskBytesRead":{"type":"integer","description":"The maximum number of disk bytes that can be read in a given lookback period. Example: \u003cspan pulumi-lang-nodejs=\"`104857600`\" pulumi-lang-dotnet=\"`104857600`\" pulumi-lang-go=\"`104857600`\" pulumi-lang-python=\"`104857600`\" pulumi-lang-yaml=\"`104857600`\" pulumi-lang-java=\"`104857600`\"\u003e`104857600`\u003c/span\u003e.\n"},"maxRecentlyQueriedSeriesLookback":{"type":"string","description":"The lookback period for \u003cspan pulumi-lang-nodejs=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-dotnet=\"`MaxRecentlyQueriedSeriesBlocks`\" pulumi-lang-go=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-python=\"`max_recently_queried_series_blocks`\" pulumi-lang-yaml=\"`maxRecentlyQueriedSeriesBlocks`\" pulumi-lang-java=\"`maxRecentlyQueriedSeriesBlocks`\"\u003e`max_recently_queried_series_blocks`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-dotnet=\"`MaxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-go=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-python=\"`max_recently_queried_series_disk_bytes_read`\" pulumi-lang-yaml=\"`maxRecentlyQueriedSeriesDiskBytesRead`\" pulumi-lang-java=\"`maxRecentlyQueriedSeriesDiskBytesRead`\"\u003e`max_recently_queried_series_disk_bytes_read`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`15s`\" pulumi-lang-dotnet=\"`15s`\" pulumi-lang-go=\"`15s`\" pulumi-lang-python=\"`15s`\" pulumi-lang-yaml=\"`15s`\" pulumi-lang-java=\"`15s`\"\u003e`15s`\u003c/span\u003e.\n"},"queryDocs":{"type":"integer","description":"The maximum number of docs fetched in single query. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"queryRequireExhaustive":{"type":"boolean","description":"When query limits are exceeded, whether to return error or return partial results.\n"},"querySeries":{"type":"integer","description":"The maximum number of series fetched in single query. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigM3:getM3DbM3dbUserConfigM3":{"properties":{"tagOptions":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigM3TagOptions:getM3DbM3dbUserConfigM3TagOptions","description":"M3 Tag Options\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigM3TagOptions:getM3DbM3dbUserConfigM3TagOptions":{"properties":{"allowTagNameDuplicates":{"type":"boolean","description":"Allows for duplicate tags to appear on series (not allowed by default).\n"},"allowTagValueEmpty":{"type":"boolean","description":"Allows for empty tags to appear on series (not allowed by default).\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigNamespace:getM3DbM3dbUserConfigNamespace":{"properties":{"name":{"type":"string","description":"The name of the namespace. Example: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"options":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigNamespaceOptions:getM3DbM3dbUserConfigNamespaceOptions","description":"Namespace options\n"},"resolution":{"type":"string","description":"The resolution for an aggregated namespace. Example: \u003cspan pulumi-lang-nodejs=\"`30s`\" pulumi-lang-dotnet=\"`30s`\" pulumi-lang-go=\"`30s`\" pulumi-lang-python=\"`30s`\" pulumi-lang-yaml=\"`30s`\" pulumi-lang-java=\"`30s`\"\u003e`30s`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aggregated`\" pulumi-lang-dotnet=\"`Aggregated`\" pulumi-lang-go=\"`aggregated`\" pulumi-lang-python=\"`aggregated`\" pulumi-lang-yaml=\"`aggregated`\" pulumi-lang-java=\"`aggregated`\"\u003e`aggregated`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`unaggregated`\" pulumi-lang-dotnet=\"`Unaggregated`\" pulumi-lang-go=\"`unaggregated`\" pulumi-lang-python=\"`unaggregated`\" pulumi-lang-yaml=\"`unaggregated`\" pulumi-lang-java=\"`unaggregated`\"\u003e`unaggregated`\u003c/span\u003e. The type of aggregation (aggregated/unaggregated).\n"}},"type":"object","required":["name","type"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfigNamespaceOptions:getM3DbM3dbUserConfigNamespaceOptions":{"properties":{"retentionOptions":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigNamespaceOptionsRetentionOptions:getM3DbM3dbUserConfigNamespaceOptionsRetentionOptions","description":"Retention options\n"},"snapshotEnabled":{"type":"boolean","description":"Controls whether M3DB will create snapshot files for this namespace.\n"},"writesToCommitlog":{"type":"boolean","description":"Controls whether M3DB will include writes to this namespace in the commitlog.\n"}},"type":"object","required":["retentionOptions"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfigNamespaceOptionsRetentionOptions:getM3DbM3dbUserConfigNamespaceOptionsRetentionOptions":{"properties":{"blockDataExpiryDuration":{"type":"string","description":"Controls how long we wait before expiring stale data. Example: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"},"blocksizeDuration":{"type":"string","description":"Controls how long to keep a block in memory before flushing to a fileset on disk. Example: \u003cspan pulumi-lang-nodejs=\"`2h`\" pulumi-lang-dotnet=\"`2h`\" pulumi-lang-go=\"`2h`\" pulumi-lang-python=\"`2h`\" pulumi-lang-yaml=\"`2h`\" pulumi-lang-java=\"`2h`\"\u003e`2h`\u003c/span\u003e.\n"},"bufferFutureDuration":{"type":"string","description":"Controls how far into the future writes to the namespace will be accepted. Example: \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"bufferPastDuration":{"type":"string","description":"Controls how far into the past writes to the namespace will be accepted. Example: \u003cspan pulumi-lang-nodejs=\"`10m`\" pulumi-lang-dotnet=\"`10m`\" pulumi-lang-go=\"`10m`\" pulumi-lang-python=\"`10m`\" pulumi-lang-yaml=\"`10m`\" pulumi-lang-java=\"`10m`\"\u003e`10m`\u003c/span\u003e.\n"},"retentionPeriodDuration":{"type":"string","description":"Controls the duration of time that M3DB will retain data for the namespace. Example: \u003cspan pulumi-lang-nodejs=\"`48h`\" pulumi-lang-dotnet=\"`48h`\" pulumi-lang-go=\"`48h`\" pulumi-lang-python=\"`48h`\" pulumi-lang-yaml=\"`48h`\" pulumi-lang-java=\"`48h`\"\u003e`48h`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigPrivateAccess:getM3DbM3dbUserConfigPrivateAccess":{"properties":{"m3coordinator":{"type":"boolean","description":"Allow clients to connect to m3coordinator with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigPublicAccess:getM3DbM3dbUserConfigPublicAccess":{"properties":{"m3coordinator":{"type":"boolean","description":"Allow clients to connect to m3coordinator from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigRules:getM3DbM3dbUserConfigRules":{"properties":{"mappings":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigRulesMapping:getM3DbM3dbUserConfigRulesMapping"},"description":"List of M3 mapping rules\n"}},"type":"object"},"aiven:index/getM3DbM3dbUserConfigRulesMapping:getM3DbM3dbUserConfigRulesMapping":{"properties":{"aggregations":{"type":"array","items":{"type":"string"},"description":"List of aggregations to be applied.\n"},"drop":{"type":"boolean","description":"Only store the derived metric (as specified in the roll-up rules), if any.\n"},"filter":{"type":"string","description":"Matching metric names with wildcards (using __name__:wildcard) or matching tags and their (optionally wildcarded) values. For value, ! can be used at start of value for negation, and multiple filters can be supplied using space as separator. Example: `__name__:disk_* host:important-42 mount:!*/sda`.\n"},"name":{"type":"string","description":"The (optional) name of the rule. Example: `important disk metrics`.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by glob (=wildcards).\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`namespacesString`\" pulumi-lang-dotnet=\"`NamespacesString`\" pulumi-lang-go=\"`namespacesString`\" pulumi-lang-python=\"`namespaces_string`\" pulumi-lang-yaml=\"`namespacesString`\" pulumi-lang-java=\"`namespacesString`\"\u003e`namespaces_string`\u003c/span\u003e instead."},"namespacesObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigRulesMappingNamespacesObject:getM3DbM3dbUserConfigRulesMappingNamespacesObject"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by exact match of retention period and resolution\n"},"namespacesStrings":{"type":"array","items":{"type":"string"},"description":"This rule will be used to store the metrics in the given namespace(s). If a namespace is target of rules, the global default aggregation will be automatically disabled. Note that specifying filters that match no namespaces whatsoever will be returned as an error. Filter the namespace by glob (=wildcards).\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfigRulesMappingTag:getM3DbM3dbUserConfigRulesMappingTag"},"description":"List of tags to be appended to matching metrics\n"}},"type":"object","required":["filter"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfigRulesMappingNamespacesObject:getM3DbM3dbUserConfigRulesMappingNamespacesObject":{"properties":{"resolution":{"type":"string","description":"The resolution for the matching namespace. Example: \u003cspan pulumi-lang-nodejs=\"`30s`\" pulumi-lang-dotnet=\"`30s`\" pulumi-lang-go=\"`30s`\" pulumi-lang-python=\"`30s`\" pulumi-lang-yaml=\"`30s`\" pulumi-lang-java=\"`30s`\"\u003e`30s`\u003c/span\u003e.\n"},"retention":{"type":"string","description":"The retention period of the matching namespace. Example: \u003cspan pulumi-lang-nodejs=\"`48h`\" pulumi-lang-dotnet=\"`48h`\" pulumi-lang-go=\"`48h`\" pulumi-lang-python=\"`48h`\" pulumi-lang-yaml=\"`48h`\" pulumi-lang-java=\"`48h`\"\u003e`48h`\u003c/span\u003e.\n"}},"type":"object","required":["resolution"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbM3dbUserConfigRulesMappingTag:getM3DbM3dbUserConfigRulesMappingTag":{"properties":{"name":{"type":"string","description":"Name of the tag. Example: \u003cspan pulumi-lang-nodejs=\"`myTag`\" pulumi-lang-dotnet=\"`MyTag`\" pulumi-lang-go=\"`myTag`\" pulumi-lang-python=\"`my_tag`\" pulumi-lang-yaml=\"`myTag`\" pulumi-lang-java=\"`myTag`\"\u003e`my_tag`\u003c/span\u003e.\n"},"value":{"type":"string","description":"Value of the tag. Example: \u003cspan pulumi-lang-nodejs=\"`myValue`\" pulumi-lang-dotnet=\"`MyValue`\" pulumi-lang-go=\"`myValue`\" pulumi-lang-python=\"`my_value`\" pulumi-lang-yaml=\"`myValue`\" pulumi-lang-java=\"`myValue`\"\u003e`my_value`\u003c/span\u003e.\n"}},"type":"object","required":["name","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbServiceIntegration:getM3DbServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbTag:getM3DbTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getM3DbTechEmail:getM3DbTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlComponent:getMySqlComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysql:getMySqlMysql":{"properties":{"params":{"type":"array","items":{"$ref":"#/types/aiven:index/getMySqlMysqlParam:getMySqlMysqlParam"},"description":"MySQL connection parameters.\n","secret":true},"replicaUri":{"type":"string","description":"MySQL replica URI for services with a replica.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"MySQL standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"MySQL syncing connection URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"MySQL connection URIs.\n","secret":true}},"type":"object","required":["params","replicaUri","standbyUris","syncingUris","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysqlParam:getMySqlMysqlParam":{"properties":{"databaseName":{"type":"string","description":"Thr name of the primary MySQL database.\n","secret":true},"host":{"type":"string","description":"MySQL host IP or name.\n","secret":true},"password":{"type":"string","description":"The password for the admin service user.\n","secret":true},"port":{"type":"integer","description":"MySQL port.\n","secret":true},"sslmode":{"type":"string","description":"MySQL SSL mode setting. Always set to \"require\".\n","secret":true},"user":{"type":"string","description":"The username for the admin service user.\n","secret":true}},"type":"object","required":["databaseName","host","password","port","sslmode","user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysqlUserConfig:getMySqlMysqlUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"binlogRetentionPeriod":{"type":"integer","description":"The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigIpFilterObject:getMySqlMysqlUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigMigration:getMySqlMysqlUserConfigMigration","description":"Migrate data from existing server\n"},"mysql":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigMysql:getMySqlMysqlUserConfigMysql","description":"mysql.conf configuration values\n"},"mysqlIncrementalBackup":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigMysqlIncrementalBackup:getMySqlMysqlUserConfigMysqlIncrementalBackup","description":"MySQL incremental backup configuration\n"},"mysqlVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e, and newer. MySQL major version.\n"},"privateAccess":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigPrivateAccess:getMySqlMysqlUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigPrivatelinkAccess:getMySqlMysqlUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfigPublicAccess:getMySqlMysqlUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getMySqlMysqlUserConfigIpFilterObject:getMySqlMysqlUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysqlUserConfigMigration:getMySqlMysqlUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"dumpTool":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`mydumper`\" pulumi-lang-dotnet=\"`Mydumper`\" pulumi-lang-go=\"`mydumper`\" pulumi-lang-python=\"`mydumper`\" pulumi-lang-yaml=\"`mydumper`\" pulumi-lang-java=\"`mydumper`\"\u003e`mydumper`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`mysqldump`\" pulumi-lang-dotnet=\"`Mysqldump`\" pulumi-lang-go=\"`mysqldump`\" pulumi-lang-python=\"`mysqldump`\" pulumi-lang-yaml=\"`mysqldump`\" pulumi-lang-java=\"`mysqldump`\"\u003e`mysqldump`\u003c/span\u003e. Experimental! Tool to use for database dump and restore during migration. Default: mysqldump.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"reestablishReplication":{"type":"boolean","description":"Skip dump-restore part and start replication. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysqlUserConfigMysql:getMySqlMysqlUserConfigMysql":{"properties":{"connectTimeout":{"type":"integer","description":"The number of seconds that the mysqld server waits for a connect packet before responding with Bad handshake. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"defaultTimeZone":{"type":"string","description":"Default server time zone as an offset from UTC (from -12:00 to +12:00), a time zone name, or `SYSTEM` to use the MySQL server default. Example: `+03:00`.\n"},"groupConcatMaxLen":{"type":"integer","description":"The maximum permitted result length in bytes for the GROUP_CONCAT() function. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"informationSchemaStatsExpiry":{"type":"integer","description":"The time, in seconds, before cached statistics expire. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"},"innodbChangeBufferMaxSize":{"type":"integer","description":"Maximum size for the InnoDB change buffer, as a percentage of the total size of the buffer pool. Default is 25. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"innodbFlushNeighbors":{"type":"integer","description":"Specifies whether flushing a page from the InnoDB buffer pool also flushes other dirty pages in the same extent (default is 1): 0 - dirty pages in the same extent are not flushed, 1 - flush contiguous dirty pages in the same extent, 2 - flush dirty pages in the same extent. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"innodbFtMinTokenSize":{"type":"integer","description":"Minimum length of words that are stored in an InnoDB FULLTEXT index. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"innodbFtServerStopwordTable":{"type":"string","description":"This option is used to specify your own InnoDB FULLTEXT index stopword list for all InnoDB tables. Example: `db_name/table_name`.\n"},"innodbLockWaitTimeout":{"type":"integer","description":"The length of time in seconds an InnoDB transaction waits for a row lock before giving up. Default is 120. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"innodbLogBufferSize":{"type":"integer","description":"The size in bytes of the buffer that InnoDB uses to write to the log files on disk.\n"},"innodbOnlineAlterLogMaxSize":{"type":"integer","description":"The upper limit in bytes on the size of the temporary log files used during online DDL operations for InnoDB tables.\n"},"innodbPrintAllDeadlocks":{"type":"boolean","description":"When enabled, information about all deadlocks in InnoDB user transactions is recorded in the error log. Disabled by default.\n"},"innodbReadIoThreads":{"type":"integer","description":"The number of I/O threads for read operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"innodbRollbackOnTimeout":{"type":"boolean","description":"When enabled a transaction timeout causes InnoDB to abort and roll back the entire transaction. Changing this parameter will lead to a restart of the MySQL service.\n"},"innodbThreadConcurrency":{"type":"integer","description":"Defines the maximum number of threads permitted inside of InnoDB. Default is 0 (infinite concurrency - no limit). Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"innodbWriteIoThreads":{"type":"integer","description":"The number of I/O threads for write operations in InnoDB. Default is 4. Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"interactiveTimeout":{"type":"integer","description":"The number of seconds the server waits for activity on an interactive connection before closing it. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"internalTmpMemStorageEngine":{"type":"string","description":"Enum: `MEMORY`, `TempTable`. The storage engine for in-memory internal temporary tables.\n"},"logOutput":{"type":"string","description":"Enum: `INSIGHTS`, `INSIGHTS,TABLE`, `NONE`, `TABLE`. The slow log output destination when\u003cspan pulumi-lang-nodejs=\" slowQueryLog \" pulumi-lang-dotnet=\" SlowQueryLog \" pulumi-lang-go=\" slowQueryLog \" pulumi-lang-python=\" slow_query_log \" pulumi-lang-yaml=\" slowQueryLog \" pulumi-lang-java=\" slowQueryLog \"\u003e slow_query_log \u003c/span\u003eis ON. To enable MySQL AI Insights, choose INSIGHTS. To use MySQL AI Insights and the mysql.slow_log table at the same time, choose INSIGHTS,TABLE. To only use the mysql.slow_log table, choose TABLE. To silence slow logs, choose NONE.\n"},"longQueryTime":{"type":"number","description":"The\u003cspan pulumi-lang-nodejs=\" slowQueryLogs \" pulumi-lang-dotnet=\" SlowQueryLogs \" pulumi-lang-go=\" slowQueryLogs \" pulumi-lang-python=\" slow_query_logs \" pulumi-lang-yaml=\" slowQueryLogs \" pulumi-lang-java=\" slowQueryLogs \"\u003e slow_query_logs \u003c/span\u003ework as SQL statements that take more than\u003cspan pulumi-lang-nodejs=\" longQueryTime \" pulumi-lang-dotnet=\" LongQueryTime \" pulumi-lang-go=\" longQueryTime \" pulumi-lang-python=\" long_query_time \" pulumi-lang-yaml=\" longQueryTime \" pulumi-lang-java=\" longQueryTime \"\u003e long_query_time \u003c/span\u003eseconds to execute. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"lowerCaseTableNames":{"type":"integer","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Sets how table and database names are stored and compared. 0 = case-sensitive (default), 1 = names stored lowercase, comparisons are case-insensitive. This option can only be set when creating the service and cannot be changed later. See https://dev.mysql.com/doc/refman/8.0/en/identifier-case-sensitivity.html for details.\n"},"maxAllowedPacket":{"type":"integer","description":"Size of the largest message in bytes that can be received by the server. Default is 67108864 (64M).\n"},"maxHeapTableSize":{"type":"integer","description":"Limits the size of internal in-memory tables. Also set tmp_table_size. Default is 16777216 (16M).\n"},"netBufferLength":{"type":"integer","description":"Start sizes of connection buffer and result buffer. Default is 16384 (16K). Changing this parameter will lead to a restart of the MySQL service. Example: \u003cspan pulumi-lang-nodejs=\"`16384`\" pulumi-lang-dotnet=\"`16384`\" pulumi-lang-go=\"`16384`\" pulumi-lang-python=\"`16384`\" pulumi-lang-yaml=\"`16384`\" pulumi-lang-java=\"`16384`\"\u003e`16384`\u003c/span\u003e.\n"},"netReadTimeout":{"type":"integer","description":"The number of seconds to wait for more data from a connection before aborting the read. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"netWriteTimeout":{"type":"integer","description":"The number of seconds to wait for a block to be written to a connection before aborting the write. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"slowQueryLog":{"type":"boolean","description":"Slow query log enables capturing of slow queries. Setting\u003cspan pulumi-lang-nodejs=\" slowQueryLog \" pulumi-lang-dotnet=\" SlowQueryLog \" pulumi-lang-go=\" slowQueryLog \" pulumi-lang-python=\" slow_query_log \" pulumi-lang-yaml=\" slowQueryLog \" pulumi-lang-java=\" slowQueryLog \"\u003e slow_query_log \u003c/span\u003eto false also truncates the mysql.slow_log table.\n"},"sortBufferSize":{"type":"integer","description":"Sort buffer size in bytes for ORDER BY optimization. Default is 262144 (256K). Example: \u003cspan pulumi-lang-nodejs=\"`262144`\" pulumi-lang-dotnet=\"`262144`\" pulumi-lang-go=\"`262144`\" pulumi-lang-python=\"`262144`\" pulumi-lang-yaml=\"`262144`\" pulumi-lang-java=\"`262144`\"\u003e`262144`\u003c/span\u003e.\n"},"sqlMode":{"type":"string","description":"Global SQL mode. Set to empty to use MySQL server defaults. When creating a new service and not setting this field Aiven default SQL mode (strict, SQL standard compliant) will be assigned. Example: `ANSI,TRADITIONAL`.\n"},"sqlRequirePrimaryKey":{"type":"boolean","description":"Require primary key to be defined for new tables or old tables modified with ALTER TABLE and fail if missing. It is recommended to always have primary keys because various functionality may break if any large table is missing them.\n"},"tmpTableSize":{"type":"integer","description":"Limits the size of internal in-memory tables. Also set max_heap_table_size. Default is 16777216 (16M).\n"},"waitTimeout":{"type":"integer","description":"The number of seconds the server waits for activity on a noninteractive connection before closing it. Example: \u003cspan pulumi-lang-nodejs=\"`28800`\" pulumi-lang-dotnet=\"`28800`\" pulumi-lang-go=\"`28800`\" pulumi-lang-python=\"`28800`\" pulumi-lang-yaml=\"`28800`\" pulumi-lang-java=\"`28800`\"\u003e`28800`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getMySqlMysqlUserConfigMysqlIncrementalBackup:getMySqlMysqlUserConfigMysqlIncrementalBackup":{"properties":{"enabled":{"type":"boolean","description":"Enable periodic incremental backups. When enabled,\u003cspan pulumi-lang-nodejs=\" fullBackupWeekSchedule \" pulumi-lang-dotnet=\" FullBackupWeekSchedule \" pulumi-lang-go=\" fullBackupWeekSchedule \" pulumi-lang-python=\" full_backup_week_schedule \" pulumi-lang-yaml=\" fullBackupWeekSchedule \" pulumi-lang-java=\" fullBackupWeekSchedule \"\u003e full_backup_week_schedule \u003c/span\u003emust be set. Incremental backups only store changes since the last backup, making them faster and more storage-efficient than full backups. This is particularly useful for large databases where daily full backups would be too time-consuming or expensive.\n"},"fullBackupWeekSchedule":{"type":"string","description":"Comma-separated list of days of the week when full backups should be created. Valid values: mon, tue, wed, thu, fri, sat, sun. Example: `sun,wed`.\n"}},"type":"object","required":["enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlMysqlUserConfigPrivateAccess:getMySqlMysqlUserConfigPrivateAccess":{"properties":{"mysql":{"type":"boolean","description":"Allow clients to connect to mysql with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"mysqlx":{"type":"boolean","description":"Allow clients to connect to mysqlx with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getMySqlMysqlUserConfigPrivatelinkAccess:getMySqlMysqlUserConfigPrivatelinkAccess":{"properties":{"mysql":{"type":"boolean","description":"Enable mysql.\n"},"mysqlx":{"type":"boolean","description":"Enable mysqlx.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getMySqlMysqlUserConfigPublicAccess:getMySqlMysqlUserConfigPublicAccess":{"properties":{"mysql":{"type":"boolean","description":"Allow clients to connect to mysql from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"mysqlx":{"type":"boolean","description":"Allow clients to connect to mysqlx from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getMySqlServiceIntegration:getMySqlServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlTag:getMySqlTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMySqlTechEmail:getMySqlTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getMysqlDatabaseTimeouts:getMysqlDatabaseTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getMysqlUserTimeouts:getMysqlUserTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOpenSearchComponent:getOpenSearchComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearch:getOpenSearchOpensearch":{"properties":{"kibanaUri":{"type":"string","description":"URI for Kibana dashboard frontend.\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"opensearchDashboardsUri":{"type":"string","description":"URI for OpenSearch dashboard frontend.\n","secret":true},"password":{"type":"string","description":"OpenSearch password.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"OpenSearch server URIs.\n","secret":true},"username":{"type":"string","description":"OpenSearch username.\n","secret":true}},"type":"object","required":["kibanaUri","opensearchDashboardsUri","password","uris","username"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfig:getOpenSearchOpensearchUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"azureMigration":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigAzureMigration:getOpenSearchOpensearchUserConfigAzureMigration","description":"Azure migration settings\n"},"customDomain":{"type":"string","description":"Serve the web frontend using a custom CNAME pointing to the Aiven DNS name. When you set a custom domain for a service deployed in a VPC, the service certificate is only created for the public-* hostname and the custom domain. Example: `grafana.example.org`.\n"},"disableReplicationFactorAdjustment":{"type":"boolean","description":"Disable automatic replication factor adjustment for multi-node services. By default, Aiven ensures all indexes are replicated at least to two nodes. Note: Due to potential data loss in case of losing a service node, this setting can not be activated unless specifically allowed for the project.\n"},"gcsMigration":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigGcsMigration:getOpenSearchOpensearchUserConfigGcsMigration","description":"Google Cloud Storage migration settings\n"},"indexPatterns":{"type":"array","items":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigIndexPattern:getOpenSearchOpensearchUserConfigIndexPattern"},"description":"Index patterns\n"},"indexRollup":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigIndexRollup:getOpenSearchOpensearchUserConfigIndexRollup","description":"Index rollup settings\n"},"indexTemplate":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigIndexTemplate:getOpenSearchOpensearchUserConfigIndexTemplate","description":"Template settings for all new indexes\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigIpFilterObject:getOpenSearchOpensearchUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"jwt":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigJwt:getOpenSearchOpensearchUserConfigJwt","description":"OpenSearch JWT Configuration\n"},"keepIndexRefreshInterval":{"type":"boolean","description":"Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.\n"},"maxIndexCount":{"type":"integer","description":"Use\u003cspan pulumi-lang-nodejs=\" indexPatterns \" pulumi-lang-dotnet=\" IndexPatterns \" pulumi-lang-go=\" indexPatterns \" pulumi-lang-python=\" index_patterns \" pulumi-lang-yaml=\" indexPatterns \" pulumi-lang-java=\" indexPatterns \"\u003e index_patterns \u003c/span\u003einstead. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"openid":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpenid:getOpenSearchOpensearchUserConfigOpenid","description":"OpenSearch OpenID Connect Configuration\n"},"opensearch":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearch:getOpenSearchOpensearchUserConfigOpensearch","description":"OpenSearch settings\n"},"opensearchDashboards":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchDashboards:getOpenSearchOpensearchUserConfigOpensearchDashboards","description":"OpenSearch Dashboards settings\n"},"opensearchVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e, `2.19`, `3.3`, and newer. OpenSearch version.\n"},"privateAccess":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigPrivateAccess:getOpenSearchOpensearchUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigPrivatelinkAccess:getOpenSearchOpensearchUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigPublicAccess:getOpenSearchOpensearchUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"s3Migration":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigS3Migration:getOpenSearchOpensearchUserConfigS3Migration","description":"AWS S3 / AWS S3 compatible migration settings\n"},"saml":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigSaml:getOpenSearchOpensearchUserConfigSaml","description":"OpenSearch SAML configuration\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigAzureMigration:getOpenSearchOpensearchUserConfigAzureMigration":{"properties":{"account":{"type":"string","description":"Account name.\n"},"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"container":{"type":"string","description":"Azure container name.\n"},"endpointSuffix":{"type":"string","description":"Defines the DNS suffix for Azure Storage endpoints.\n"},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"key":{"type":"string","description":"Azure account secret key. One of key or\u003cspan pulumi-lang-nodejs=\" sasToken \" pulumi-lang-dotnet=\" SasToken \" pulumi-lang-go=\" sasToken \" pulumi-lang-python=\" sas_token \" pulumi-lang-yaml=\" sasToken \" pulumi-lang-java=\" sasToken \"\u003e sas_token \u003c/span\u003eshould be specified.\n","secret":true},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"sasToken":{"type":"string","description":"A shared access signatures (SAS) token. One of key or\u003cspan pulumi-lang-nodejs=\" sasToken \" pulumi-lang-dotnet=\" SasToken \" pulumi-lang-go=\" sasToken \" pulumi-lang-python=\" sas_token \" pulumi-lang-yaml=\" sasToken \" pulumi-lang-java=\" sasToken \"\u003e sas_token \u003c/span\u003eshould be specified.\n","secret":true},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["account","basePath","container","indices","snapshotName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigGcsMigration:getOpenSearchOpensearchUserConfigGcsMigration":{"properties":{"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"bucket":{"type":"string","description":"The path to the repository data within its container.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"credentials":{"type":"string","description":"Google Cloud Storage credentials file content.\n","secret":true},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["basePath","bucket","credentials","indices","snapshotName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigIndexPattern:getOpenSearchOpensearchUserConfigIndexPattern":{"properties":{"maxIndexCount":{"type":"integer","description":"Maximum number of indexes to keep. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pattern":{"type":"string","description":"fnmatch pattern. Example: `logs_*_foo_*`.\n"},"sortingAlgorithm":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`alphabetical`\" pulumi-lang-dotnet=\"`Alphabetical`\" pulumi-lang-go=\"`alphabetical`\" pulumi-lang-python=\"`alphabetical`\" pulumi-lang-yaml=\"`alphabetical`\" pulumi-lang-java=\"`alphabetical`\"\u003e`alphabetical`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creationDate`\" pulumi-lang-dotnet=\"`CreationDate`\" pulumi-lang-go=\"`creationDate`\" pulumi-lang-python=\"`creation_date`\" pulumi-lang-yaml=\"`creationDate`\" pulumi-lang-java=\"`creationDate`\"\u003e`creation_date`\u003c/span\u003e. Deletion sorting algorithm. Default: \u003cspan pulumi-lang-nodejs=\"`creationDate`\" pulumi-lang-dotnet=\"`CreationDate`\" pulumi-lang-go=\"`creationDate`\" pulumi-lang-python=\"`creation_date`\" pulumi-lang-yaml=\"`creationDate`\" pulumi-lang-java=\"`creationDate`\"\u003e`creation_date`\u003c/span\u003e.\n"}},"type":"object","required":["maxIndexCount","pattern"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigIndexRollup:getOpenSearchOpensearchUserConfigIndexRollup":{"properties":{"rollupDashboardsEnabled":{"type":"boolean","description":"Whether rollups are enabled in OpenSearch Dashboards. Defaults to true.\n"},"rollupEnabled":{"type":"boolean","description":"Whether the rollup plugin is enabled. Defaults to true.\n"},"rollupSearchBackoffCount":{"type":"integer","description":"How many retries the plugin should attempt for failed rollup jobs. Defaults to 5.\n"},"rollupSearchBackoffMillis":{"type":"integer","description":"The backoff time between retries for failed rollup jobs. Defaults to 1000ms.\n"},"rollupSearchSearchAllJobs":{"type":"boolean","description":"Whether OpenSearch should return all jobs that match all specified search terms. If disabled, OpenSearch returns just one, as opposed to all, of the jobs that matches the search terms. Defaults to false.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigIndexTemplate:getOpenSearchOpensearchUserConfigIndexTemplate":{"properties":{"mappingNestedObjectsLimit":{"type":"integer","description":"The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"numberOfReplicas":{"type":"integer","description":"The number of replicas each primary shard has. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"numberOfShards":{"type":"integer","description":"The number of primary shards that an index should have. Deprecated, use an index template instead. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigIpFilterObject:getOpenSearchOpensearchUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigJwt:getOpenSearchOpensearchUserConfigJwt":{"properties":{"enabled":{"type":"boolean","description":"Enables or disables JWT-based authentication for OpenSearch. When enabled, users can authenticate using JWT tokens. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"jwtClockSkewToleranceSeconds":{"type":"integer","description":"The maximum allowed time difference in seconds between the JWT issuer's clock and the OpenSearch server's clock. This helps prevent token validation failures due to minor time synchronization issues. Default: \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e.\n"},"jwtHeader":{"type":"string","description":"The HTTP header name where the JWT token is transmitted. Typically `Authorization` for Bearer tokens. Default: `Authorization`.\n"},"jwtUrlParameter":{"type":"string","description":"If the JWT token is transmitted as a URL parameter instead of an HTTP header, specify the parameter name here. Example: \u003cspan pulumi-lang-nodejs=\"`token`\" pulumi-lang-dotnet=\"`Token`\" pulumi-lang-go=\"`token`\" pulumi-lang-python=\"`token`\" pulumi-lang-yaml=\"`token`\" pulumi-lang-java=\"`token`\"\u003e`token`\u003c/span\u003e.\n"},"requiredAudience":{"type":"string","description":"If specified, the JWT must contain an \u003cspan pulumi-lang-nodejs=\"`aud`\" pulumi-lang-dotnet=\"`Aud`\" pulumi-lang-go=\"`aud`\" pulumi-lang-python=\"`aud`\" pulumi-lang-yaml=\"`aud`\" pulumi-lang-java=\"`aud`\"\u003e`aud`\u003c/span\u003e claim that matches this value. This provides additional security by ensuring the JWT was issued for the expected audience. Example: `https://myapp.example.com`.\n"},"requiredIssuer":{"type":"string","description":"If specified, the JWT must contain an \u003cspan pulumi-lang-nodejs=\"`iss`\" pulumi-lang-dotnet=\"`Iss`\" pulumi-lang-go=\"`iss`\" pulumi-lang-python=\"`iss`\" pulumi-lang-yaml=\"`iss`\" pulumi-lang-java=\"`iss`\"\u003e`iss`\u003c/span\u003e claim that matches this value. This provides additional security by ensuring the JWT was issued by the expected issuer. Example: `https://auth.example.com`.\n"},"rolesKey":{"type":"string","description":"The key in the JWT payload that contains the user's roles. If specified, roles will be extracted from the JWT for authorization. Example: \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e.\n"},"signingKey":{"type":"string","description":"The secret key used to sign and verify JWT tokens. This should be a secure, randomly generated key HMAC key or public RSA/ECDSA key. Example: `MrJiimVjKgjRKCSk0s6rcEuCz17v5ZyFRqKARfZbuZE= (HMAC) or -----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...\n-----END PUBLIC KEY----- (PEM)`.\n","secret":true},"subjectKey":{"type":"string","description":"The key in the JWT payload that contains the user's subject identifier. If not specified, the \u003cspan pulumi-lang-nodejs=\"`sub`\" pulumi-lang-dotnet=\"`Sub`\" pulumi-lang-go=\"`sub`\" pulumi-lang-python=\"`sub`\" pulumi-lang-yaml=\"`sub`\" pulumi-lang-java=\"`sub`\"\u003e`sub`\u003c/span\u003e claim is used by default. Example: \u003cspan pulumi-lang-nodejs=\"`sub`\" pulumi-lang-dotnet=\"`Sub`\" pulumi-lang-go=\"`sub`\" pulumi-lang-python=\"`sub`\" pulumi-lang-yaml=\"`sub`\" pulumi-lang-java=\"`sub`\"\u003e`sub`\u003c/span\u003e.\n"}},"type":"object","required":["enabled","signingKey"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigOpenid:getOpenSearchOpensearchUserConfigOpenid":{"properties":{"clientId":{"type":"string","description":"The ID of the OpenID Connect client configured in your IdP. Required.\n"},"clientSecret":{"type":"string","description":"The client secret of the OpenID Connect client configured in your IdP. Required.\n","secret":true},"connectUrl":{"type":"string","description":"The URL of your IdP where the Security plugin can find the OpenID Connect metadata/configuration settings. Example: `https://test-account.okta.com/app/exk491jujcVc83LEX697/sso/saml/metadata`.\n"},"enabled":{"type":"boolean","description":"Enables or disables OpenID Connect authentication for OpenSearch. When enabled, users can authenticate using OpenID Connect with an Identity Provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"header":{"type":"string","description":"HTTP header name of the JWT token. Optional. Default is Authorization. Default: `Authorization`.\n"},"jwtHeader":{"type":"string","description":"The HTTP header that stores the token. Typically the Authorization header with the Bearer schema: Authorization: Bearer \u003ctoken\u003e. Optional. Default is Authorization. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"},"jwtUrlParameter":{"type":"string","description":"If the token is not transmitted in the HTTP header, but as an URL parameter, define the name of the parameter here. Optional. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"},"refreshRateLimitCount":{"type":"integer","description":"The maximum number of unknown key IDs in the time frame. Default is 10. Optional. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"refreshRateLimitTimeWindowMs":{"type":"integer","description":"The time frame to use when checking the maximum number of unknown key IDs, in milliseconds. Optional.Default is 10000 (10 seconds). Default: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"rolesKey":{"type":"string","description":"The key in the JSON payload that stores the user’s roles. The value of this key must be a comma-separated list of roles. Required only if you want to use roles in the JWT. Example: \u003cspan pulumi-lang-nodejs=\"`roles`\" pulumi-lang-dotnet=\"`Roles`\" pulumi-lang-go=\"`roles`\" pulumi-lang-python=\"`roles`\" pulumi-lang-yaml=\"`roles`\" pulumi-lang-java=\"`roles`\"\u003e`roles`\u003c/span\u003e.\n"},"scope":{"type":"string","description":"The scope of the identity token issued by the IdP. Optional. Default is openid profile email address phone.\n"},"subjectKey":{"type":"string","description":"The key in the JSON payload that stores the user’s name. If not defined, the subject registered claim is used. Most IdP providers use the\u003cspan pulumi-lang-nodejs=\" preferredUsername \" pulumi-lang-dotnet=\" PreferredUsername \" pulumi-lang-go=\" preferredUsername \" pulumi-lang-python=\" preferred_username \" pulumi-lang-yaml=\" preferredUsername \" pulumi-lang-java=\" preferredUsername \"\u003e preferred_username \u003c/span\u003eclaim. Optional. Example: \u003cspan pulumi-lang-nodejs=\"`preferredUsername`\" pulumi-lang-dotnet=\"`PreferredUsername`\" pulumi-lang-go=\"`preferredUsername`\" pulumi-lang-python=\"`preferred_username`\" pulumi-lang-yaml=\"`preferredUsername`\" pulumi-lang-java=\"`preferredUsername`\"\u003e`preferred_username`\u003c/span\u003e.\n"}},"type":"object","required":["clientId","clientSecret","connectUrl","enabled"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigOpensearch:getOpenSearchOpensearchUserConfigOpensearch":{"properties":{"actionAutoCreateIndexEnabled":{"type":"boolean","description":"Explicitly allow or block automatic creation of indices. Defaults to true.\n"},"actionDestructiveRequiresName":{"type":"boolean","description":"Require explicit index names when deleting.\n"},"authFailureListeners":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListeners:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListeners","description":"Opensearch Security Plugin Settings\n"},"clusterFilecacheRemoteDataRatio":{"type":"number","description":"Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 0.\n"},"clusterMaxShardsPerNode":{"type":"integer","description":"Controls the number of shards allowed in the cluster per data node. Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"clusterRemoteStore":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterRemoteStore:getOpenSearchOpensearchUserConfigOpensearchClusterRemoteStore"},"clusterRoutingAllocationBalancePreferPrimary":{"type":"boolean","description":"When set to true, OpenSearch attempts to evenly distribute the primary shards between the cluster nodes. Enabling this setting does not always guarantee an equal number of primary shards on each node, especially in the event of a failover. Changing this setting to false after it was set to true does not invoke redistribution of primary shards. Default is false.\n"},"clusterRoutingAllocationNodeConcurrentRecoveries":{"type":"integer","description":"How many concurrent incoming/outgoing shard recoveries (normally replicas) are allowed to happen on a node. Defaults to node cpu count * 2.\n"},"clusterSearchRequestSlowlog":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog:getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog"},"diskWatermarks":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchDiskWatermarks:getOpenSearchOpensearchUserConfigOpensearchDiskWatermarks","description":"Watermark settings\n"},"emailSenderName":{"type":"string","description":"Sender name placeholder to be used in Opensearch Dashboards and Opensearch keystore. Example: `alert-sender`.\n"},"emailSenderPassword":{"type":"string","description":"Sender password for Opensearch alerts to authenticate with SMTP server. Example: `very-secure-mail-password`.\n","secret":true},"emailSenderUsername":{"type":"string","description":"Sender username for Opensearch alerts. Example: `jane@example.com`.\n"},"enableRemoteBackedStorage":{"type":"boolean","description":"Enable remote-backed storage.\n"},"enableSearchableSnapshots":{"type":"boolean","description":"Enable searchable snapshots.\n"},"enableSecurityAudit":{"type":"boolean","description":"Enable/Disable security audit.\n"},"enableSnapshotApi":{"type":"boolean","description":"Enable/Disable snapshot API for custom repositories, this requires security management to be enabled.\n"},"httpMaxContentLength":{"type":"integer","description":"Maximum content length for HTTP requests to the OpenSearch HTTP API, in bytes.\n"},"httpMaxHeaderSize":{"type":"integer","description":"The max size of allowed headers, in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e.\n"},"httpMaxInitialLineLength":{"type":"integer","description":"The max length of an HTTP URL, in bytes. Example: \u003cspan pulumi-lang-nodejs=\"`4096`\" pulumi-lang-dotnet=\"`4096`\" pulumi-lang-go=\"`4096`\" pulumi-lang-python=\"`4096`\" pulumi-lang-yaml=\"`4096`\" pulumi-lang-java=\"`4096`\"\u003e`4096`\u003c/span\u003e.\n"},"indicesFielddataCacheSize":{"type":"integer","description":"Relative amount. Maximum amount of heap memory used for field data cache. This is an expert setting; decreasing the value too much will increase overhead of loading field data; too much memory used for field data cache will decrease amount of heap available for other operations.\n"},"indicesMemoryIndexBufferSize":{"type":"integer","description":"Percentage value. Default is 10%. Total amount of heap used for indexing buffer, before writing segments to disk. This is an expert setting. Too low value will slow down indexing; too high value will increase indexing performance but causes performance issues for query performance.\n"},"indicesMemoryMaxIndexBufferSize":{"type":"integer","description":"Absolute value. Default is unbound. Doesn't work without indices.memory.index_buffer_size. Maximum amount of heap used for query cache, an absolute indices.memory.index_buffer_size maximum hard limit.\n"},"indicesMemoryMinIndexBufferSize":{"type":"integer","description":"Absolute value. Default is 48mb. Doesn't work without indices.memory.index_buffer_size. Minimum amount of heap used for query cache, an absolute indices.memory.index_buffer_size minimal hard limit.\n"},"indicesQueriesCacheSize":{"type":"integer","description":"Percentage value. Default is 10%. Maximum amount of heap used for query cache. This is an expert setting. Too low value will decrease query performance and increase performance for other operations; too high value will cause issues with other OpenSearch functionality.\n"},"indicesQueryBoolMaxClauseCount":{"type":"integer","description":"Maximum number of clauses Lucene BooleanQuery can have. The default value (1024) is relatively high, and increasing it may cause performance issues. Investigate other approaches first before increasing this value.\n"},"indicesRecoveryMaxBytesPerSec":{"type":"integer","description":"Limits total inbound and outbound recovery traffic for each node. Applies to both peer recoveries as well as snapshot recoveries (i.e., restores from a snapshot). Defaults to 40mb.\n"},"indicesRecoveryMaxConcurrentFileChunks":{"type":"integer","description":"Number of file chunks sent in parallel for each recovery. Defaults to 2.\n"},"ismEnabled":{"type":"boolean","description":"Specifies whether ISM is enabled or not.\n"},"ismHistoryEnabled":{"type":"boolean","description":"Specifies whether audit history is enabled or not. The logs from ISM are automatically indexed to a logs document.\n"},"ismHistoryMaxAge":{"type":"integer","description":"The maximum age before rolling over the audit history index in hours. Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"ismHistoryMaxDocs":{"type":"integer","description":"The maximum number of documents before rolling over the audit history index.\n"},"ismHistoryRolloverCheckPeriod":{"type":"integer","description":"The time between rollover checks for the audit history index in hours. Example: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"ismHistoryRolloverRetentionPeriod":{"type":"integer","description":"How long audit history indices are kept in days. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"knnMemoryCircuitBreakerEnabled":{"type":"boolean","description":"Enable or disable KNN memory circuit breaker. Defaults to true.\n"},"knnMemoryCircuitBreakerLimit":{"type":"integer","description":"Maximum amount of memory in percentage that can be used for the KNN index. Defaults to 50% of the JVM heap size. 0 is used to set it to null which can be used to invalidate caches.\n"},"mlCommonsModelAccessControlEnabled":{"type":"boolean","description":"Enable or disable model access control for ML Commons. When enabled, access to ML models is controlled by security permissions. Defaults to false.\n"},"mlCommonsNativeMemoryThreshold":{"type":"integer","description":"Native memory threshold percentage for ML Commons. Controls the maximum percentage of native memory that can be used by ML Commons operations. Defaults to 90%.\n"},"mlCommonsOnlyRunOnMlNode":{"type":"boolean","description":"Enable or disable running ML Commons tasks only on ML nodes. When enabled, ML tasks will only execute on nodes designated as ML nodes. Defaults to true.\n"},"nodeSearchCacheSize":{"type":"string","description":"Defines a limit of how much total remote data can be referenced as a ratio of the size of the disk reserved for the file cache. This is designed to be a safeguard to prevent oversubscribing a cluster. Defaults to 5gb. Requires restarting all OpenSearch nodes.\n"},"overrideMainResponseVersion":{"type":"boolean","description":"Compatibility mode sets OpenSearch to report its version as 7.10 so clients continue to work. Default is false. Deprecated and ignored for service version 3.3 and higher.\n"},"pluginsAlertingFilterByBackendRoles":{"type":"boolean","description":"Enable or disable filtering of alerting by backend roles. Requires Security plugin. Defaults to false.\n"},"reindexRemoteWhitelists":{"type":"array","items":{"type":"string"},"description":"Whitelisted addresses for reindexing. Changing this value will cause all OpenSearch instances to restart.\n"},"remoteStore":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchRemoteStore:getOpenSearchOpensearchUserConfigOpensearchRemoteStore"},"scriptMaxCompilationsRate":{"type":"string","description":"Script compilation circuit breaker limits the number of inline script compilations within a period of time. Default is use-context. Example: `75/5m`.\n"},"searchBackpressure":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressure:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressure","description":"Search Backpressure Settings\n"},"searchInsightsTopQueries":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries"},"searchMaxBuckets":{"type":"integer","description":"Maximum number of aggregation buckets allowed in a single response. OpenSearch default value is used when this is not defined. Example: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"segrep":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSegrep:getOpenSearchOpensearchUserConfigOpensearchSegrep","description":"Segment Replication Backpressure Settings\n"},"shardIndexingPressure":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressure:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressure","description":"Shard indexing back pressure settings\n"},"threadPoolAnalyzeQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolAnalyzeSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolForceMergeSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolGetQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolGetSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolSearchQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolSearchSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolSearchThrottledQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolSearchThrottledSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"},"threadPoolWriteQueueSize":{"type":"integer","description":"Size for the thread pool queue. See documentation for exact details.\n"},"threadPoolWriteSize":{"type":"integer","description":"Size for the thread pool. See documentation for exact details. Do note this may have maximum value depending on CPU count - value is automatically lowered if set to higher than maximum value.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListeners:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListeners":{"properties":{"internalAuthenticationBackendLimiting":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting"},"ipRateLimiting":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting","description":"IP address rate limiting settings\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersInternalAuthenticationBackendLimiting":{"properties":{"allowedTries":{"type":"integer","description":"The number of login attempts allowed before login is blocked. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"authenticationBackend":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e. internal_authentication_backend_limiting.authentication_backend.\n"},"blockExpirySeconds":{"type":"integer","description":"The duration of time that login remains blocked after a failed login. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"maxBlockedClients":{"type":"integer","description":"internal_authentication_backend_limiting.max_blocked_clients. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"maxTrackedClients":{"type":"integer","description":"The maximum number of tracked IP addresses that have failed login. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"timeWindowSeconds":{"type":"integer","description":"The window of time in which the value for \u003cspan pulumi-lang-nodejs=\"`allowedTries`\" pulumi-lang-dotnet=\"`AllowedTries`\" pulumi-lang-go=\"`allowedTries`\" pulumi-lang-python=\"`allowed_tries`\" pulumi-lang-yaml=\"`allowedTries`\" pulumi-lang-java=\"`allowedTries`\"\u003e`allowed_tries`\u003c/span\u003e is enforced. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`username`\" pulumi-lang-dotnet=\"`Username`\" pulumi-lang-go=\"`username`\" pulumi-lang-python=\"`username`\" pulumi-lang-yaml=\"`username`\" pulumi-lang-java=\"`username`\"\u003e`username`\u003c/span\u003e. internal_authentication_backend_limiting.type.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting:getOpenSearchOpensearchUserConfigOpensearchAuthFailureListenersIpRateLimiting":{"properties":{"allowedTries":{"type":"integer","description":"The number of login attempts allowed before login is blocked. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"blockExpirySeconds":{"type":"integer","description":"The duration of time that login remains blocked after a failed login. Example: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"maxBlockedClients":{"type":"integer","description":"The maximum number of blocked IP addresses. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"maxTrackedClients":{"type":"integer","description":"The maximum number of tracked IP addresses that have failed login. Example: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"timeWindowSeconds":{"type":"integer","description":"The window of time in which the value for \u003cspan pulumi-lang-nodejs=\"`allowedTries`\" pulumi-lang-dotnet=\"`AllowedTries`\" pulumi-lang-go=\"`allowedTries`\" pulumi-lang-python=\"`allowed_tries`\" pulumi-lang-yaml=\"`allowedTries`\" pulumi-lang-java=\"`allowedTries`\"\u003e`allowed_tries`\u003c/span\u003e is enforced. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`ip`\" pulumi-lang-dotnet=\"`Ip`\" pulumi-lang-go=\"`ip`\" pulumi-lang-python=\"`ip`\" pulumi-lang-yaml=\"`ip`\" pulumi-lang-java=\"`ip`\"\u003e`ip`\u003c/span\u003e. The type of rate limiting.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterRemoteStore:getOpenSearchOpensearchUserConfigOpensearchClusterRemoteStore":{"properties":{"stateGlobalMetadataUploadTimeout":{"type":"string","description":"The amount of time to wait for the cluster state upload to complete. Defaults to 20s.\n"},"stateMetadataManifestUploadTimeout":{"type":"string","description":"The amount of time to wait for the manifest file upload to complete. The manifest file contains the details of each of the files uploaded for a single cluster state, both index metadata files and global metadata files. Defaults to 20s.\n"},"translogBufferInterval":{"type":"string","description":"The default value of the translog buffer interval used when performing periodic translog updates. This setting is only effective when the index setting `index.remote_store.translog.buffer_interval` is not present. Defaults to 650ms.\n"},"translogMaxReaders":{"type":"integer","description":"Sets the maximum number of open translog files for remote-backed indexes. This limits the total number of translog files per shard. After reaching this limit, the remote store flushes the translog files. Default is 1000. The minimum required is 100. Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog:getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlog":{"properties":{"level":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug`\" pulumi-lang-dotnet=\"`Debug`\" pulumi-lang-go=\"`debug`\" pulumi-lang-python=\"`debug`\" pulumi-lang-yaml=\"`debug`\" pulumi-lang-java=\"`debug`\"\u003e`debug`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warn`\" pulumi-lang-dotnet=\"`Warn`\" pulumi-lang-go=\"`warn`\" pulumi-lang-python=\"`warn`\" pulumi-lang-yaml=\"`warn`\" pulumi-lang-java=\"`warn`\"\u003e`warn`\u003c/span\u003e. Log level. Default: \u003cspan pulumi-lang-nodejs=\"`trace`\" pulumi-lang-dotnet=\"`Trace`\" pulumi-lang-go=\"`trace`\" pulumi-lang-python=\"`trace`\" pulumi-lang-yaml=\"`trace`\" pulumi-lang-java=\"`trace`\"\u003e`trace`\u003c/span\u003e.\n"},"threshold":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold:getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold:getOpenSearchOpensearchUserConfigOpensearchClusterSearchRequestSlowlogThreshold":{"properties":{"debug":{"type":"string","description":"Debug threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"info":{"type":"string","description":"Info threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"trace":{"type":"string","description":"Trace threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"},"warn":{"type":"string","description":"Warning threshold for total request took time. The value should be in the form count and unit, where unit one of (s,m,h,d,nanos,ms,micros) or -1. Default is -1.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchDashboards:getOpenSearchOpensearchUserConfigOpensearchDashboards":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable OpenSearch Dashboards. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"maxOldSpaceSize":{"type":"integer","description":"Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the\u003cspan pulumi-lang-nodejs=\" maxOldSpaceSize \" pulumi-lang-dotnet=\" MaxOldSpaceSize \" pulumi-lang-go=\" maxOldSpaceSize \" pulumi-lang-python=\" max_old_space_size \" pulumi-lang-yaml=\" maxOldSpaceSize \" pulumi-lang-java=\" maxOldSpaceSize \"\u003e max_old_space_size \u003c/span\u003eoption of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. Default: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"multipleDataSourceEnabled":{"type":"boolean","description":"Enable or disable multiple data sources in OpenSearch Dashboards. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"opensearchRequestTimeout":{"type":"integer","description":"Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch. Default: \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e.\n"},"sessionKeepalive":{"type":"boolean","description":"Determines whether the session TTL resets (is “kept alive”) on each user activity. Optional. Default is true. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"sessionTtl":{"type":"string","description":"Defines the time-to-live (TTL) for user sessions. The value should be a time value with unit, e.g. 1m, 5s, 1h, 3d, 100ms. Default is 1 hour. Default: \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchDiskWatermarks:getOpenSearchOpensearchUserConfigOpensearchDiskWatermarks":{"properties":{"floodStage":{"type":"integer","description":"The flood stage watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`95`\" pulumi-lang-dotnet=\"`95`\" pulumi-lang-go=\"`95`\" pulumi-lang-python=\"`95`\" pulumi-lang-yaml=\"`95`\" pulumi-lang-java=\"`95`\"\u003e`95`\u003c/span\u003e.\n"},"high":{"type":"integer","description":"The high watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`90`\" pulumi-lang-dotnet=\"`90`\" pulumi-lang-go=\"`90`\" pulumi-lang-python=\"`90`\" pulumi-lang-yaml=\"`90`\" pulumi-lang-java=\"`90`\"\u003e`90`\u003c/span\u003e.\n"},"low":{"type":"integer","description":"The low watermark for disk usage. Example: \u003cspan pulumi-lang-nodejs=\"`85`\" pulumi-lang-dotnet=\"`85`\" pulumi-lang-go=\"`85`\" pulumi-lang-python=\"`85`\" pulumi-lang-yaml=\"`85`\" pulumi-lang-java=\"`85`\"\u003e`85`\u003c/span\u003e.\n"}},"type":"object","required":["floodStage","high","low"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchRemoteStore:getOpenSearchOpensearchUserConfigOpensearchRemoteStore":{"properties":{"segmentPressureBytesLagVarianceFactor":{"type":"number","description":"The variance factor that is used together with the moving average to calculate the dynamic bytes lag threshold for activating remote segment backpressure. Defaults to 10.\n"},"segmentPressureConsecutiveFailuresLimit":{"type":"integer","description":"The minimum consecutive failure count for activating remote segment backpressure. Defaults to 5.\n"},"segmentPressureEnabled":{"type":"boolean","description":"Enables remote segment backpressure. Default is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"segmentPressureTimeLagVarianceFactor":{"type":"number","description":"The variance factor that is used together with the moving average to calculate the dynamic time lag threshold for activating remote segment backpressure. Defaults to 10.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressure:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressure":{"properties":{"mode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`disabled`\" pulumi-lang-dotnet=\"`Disabled`\" pulumi-lang-go=\"`disabled`\" pulumi-lang-python=\"`disabled`\" pulumi-lang-yaml=\"`disabled`\" pulumi-lang-java=\"`disabled`\"\u003e`disabled`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`enforced`\" pulumi-lang-dotnet=\"`Enforced`\" pulumi-lang-go=\"`enforced`\" pulumi-lang-python=\"`enforced`\" pulumi-lang-yaml=\"`enforced`\" pulumi-lang-java=\"`enforced`\"\u003e`enforced`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monitorOnly`\" pulumi-lang-dotnet=\"`MonitorOnly`\" pulumi-lang-go=\"`monitorOnly`\" pulumi-lang-python=\"`monitor_only`\" pulumi-lang-yaml=\"`monitorOnly`\" pulumi-lang-java=\"`monitorOnly`\"\u003e`monitor_only`\u003c/span\u003e. The search backpressure mode. Valid values are monitor_only, enforced, or disabled. Default is monitor_only.\n"},"nodeDuress":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress","description":"Node duress settings\n"},"searchShardTask":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask","description":"Search shard settings\n"},"searchTask":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask","description":"Search task settings\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureNodeDuress":{"properties":{"cpuThreshold":{"type":"number","description":"The CPU usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.9.\n"},"heapThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for a node to be considered to be under duress. Default is 0.7.\n"},"numSuccessiveBreaches":{"type":"integer","description":"The number of successive limit breaches after which the node is considered to be under duress. Default is 3.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchShardTask":{"properties":{"cancellationBurst":{"type":"number","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 10.0.\n"},"cancellationRate":{"type":"number","description":"The maximum number of tasks to cancel per millisecond of elapsed time. Default is 0.003.\n"},"cancellationRatio":{"type":"number","description":"The maximum number of tasks to cancel, as a percentage of successful task completions. Default is 0.1.\n"},"cpuTimeMillisThreshold":{"type":"integer","description":"The CPU usage threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 15000.\n"},"elapsedTimeMillisThreshold":{"type":"integer","description":"The elapsed time threshold (in milliseconds) required for a single search shard task before it is considered for cancellation. Default is 30000.\n"},"heapMovingAverageWindowSize":{"type":"integer","description":"The number of previously completed search shard tasks to consider when calculating the rolling average of heap usage. Default is 100.\n"},"heapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for a single search shard task before it is considered for cancellation. Default is 0.5.\n"},"heapVariance":{"type":"number","description":"The minimum variance required for a single search shard task’s heap usage compared to the rolling average of previously completed tasks before it is considered for cancellation. Default is 2.0.\n"},"totalHeapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search shard tasks before cancellation is applied. Default is 0.5.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask:getOpenSearchOpensearchUserConfigOpensearchSearchBackpressureSearchTask":{"properties":{"cancellationBurst":{"type":"number","description":"The maximum number of search tasks to cancel in a single iteration of the observer thread. Default is 5.0.\n"},"cancellationRate":{"type":"number","description":"The maximum number of search tasks to cancel per millisecond of elapsed time. Default is 0.003.\n"},"cancellationRatio":{"type":"number","description":"The maximum number of search tasks to cancel, as a percentage of successful search task completions. Default is 0.1.\n"},"cpuTimeMillisThreshold":{"type":"integer","description":"The CPU usage threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 30000.\n"},"elapsedTimeMillisThreshold":{"type":"integer","description":"The elapsed time threshold (in milliseconds) required for an individual parent task before it is considered for cancellation. Default is 45000.\n"},"heapMovingAverageWindowSize":{"type":"integer","description":"The window size used to calculate the rolling average of the heap usage for the completed parent tasks. Default is 10.\n"},"heapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for an individual parent task before it is considered for cancellation. Default is 0.2.\n"},"heapVariance":{"type":"number","description":"The heap usage variance required for an individual parent task before it is considered for cancellation. A task is considered for cancellation when taskHeapUsage is greater than or equal to heapUsageMovingAverage * variance. Default is 2.0.\n"},"totalHeapPercentThreshold":{"type":"number","description":"The heap usage threshold (as a percentage) required for the sum of heap usages of all search tasks before cancellation is applied. Default is 0.5.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueries":{"properties":{"cpu":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu","description":"Top N queries monitoring by CPU\n"},"latency":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency","description":"Top N queries monitoring by latency\n"},"memory":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory","description":"Top N queries monitoring by memory\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesCpu":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesLatency":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory:getOpenSearchOpensearchUserConfigOpensearchSearchInsightsTopQueriesMemory":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable top N query monitoring by the metric. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topNSize":{"type":"integer","description":"Specify the value of N for the top N queries by the metric.\n"},"windowSize":{"type":"string","description":"Configure the window size of the top N queries. The value should be a time value with unit, e.g. 1m, 5s, 1h.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchSegrep:getOpenSearchOpensearchUserConfigOpensearchSegrep":{"properties":{"pressureCheckpointLimit":{"type":"integer","description":"The maximum number of indexing checkpoints that a replica shard can fall behind when copying from primary. Once `segrep.pressure.checkpoint.limit` is breached along with `segrep.pressure.time.limit`, the segment replication backpressure mechanism is initiated. Default is 4 checkpoints. Default: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"},"pressureEnabled":{"type":"boolean","description":"Enables the segment replication backpressure mechanism. Default is false. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pressureReplicaStaleLimit":{"type":"number","description":"The maximum number of stale replica shards that can exist in a replication group. Once `segrep.pressure.replica.stale.limit` is breached, the segment replication backpressure mechanism is initiated. Default is .5, which is 50% of a replication group. Default: `0.5`.\n"},"pressureTimeLimit":{"type":"string","description":"The maximum amount of time that a replica shard can take to copy from the primary shard. Once segrep.pressure.time.limit is breached along with segrep.pressure.checkpoint.limit, the segment replication backpressure mechanism is initiated. Default is 5 minutes. Default: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressure:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressure":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable shard indexing backpressure. Default is false.\n"},"enforced":{"type":"boolean","description":"Run shard indexing backpressure in shadow mode or enforced mode. In shadow mode (value set as false), shard indexing backpressure tracks all granular-level metrics, but it doesn’t actually reject any indexing requests. In enforced mode (value set as true), shard indexing backpressure rejects any requests to the cluster that might cause a dip in its performance. Default is false.\n"},"operatingFactor":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor","description":"Operating factor\n"},"primaryParameter":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter","description":"Primary parameter\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressureOperatingFactor":{"properties":{"lower":{"type":"number","description":"Specify the lower occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is below this limit, shard indexing backpressure decreases the current allocated memory for that shard. Default is 0.75.\n"},"optimal":{"type":"number","description":"Specify the optimal occupancy of the allocated quota of memory for the shard. If the total memory usage of a shard is at this level, shard indexing backpressure doesn’t change the current allocated memory for that shard. Default is 0.85.\n"},"upper":{"type":"number","description":"Specify the upper occupancy limit of the allocated quota of memory for the shard. If the total memory usage of a shard is above this limit, shard indexing backpressure increases the current allocated memory for that shard. Default is 0.95.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameter":{"properties":{"node":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode"},"shard":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterNode":{"properties":{"softLimit":{"type":"number","description":"Define the percentage of the node-level memory threshold that acts as a soft indicator for strain on a node. Default is 0.7.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard:getOpenSearchOpensearchUserConfigOpensearchShardIndexingPressurePrimaryParameterShard":{"properties":{"minLimit":{"type":"number","description":"Specify the minimum assigned quota for a new shard in any role (coordinator, primary, or replica). Shard indexing backpressure increases or decreases this allocated quota based on the inflow of traffic for the shard. Default is 0.001.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigPrivateAccess:getOpenSearchOpensearchUserConfigPrivateAccess":{"properties":{"opensearch":{"type":"boolean","description":"Allow clients to connect to opensearch with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"opensearchDashboards":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" opensearchDashboards \" pulumi-lang-dotnet=\" OpensearchDashboards \" pulumi-lang-go=\" opensearchDashboards \" pulumi-lang-python=\" opensearch_dashboards \" pulumi-lang-yaml=\" opensearchDashboards \" pulumi-lang-java=\" opensearchDashboards \"\u003e opensearch_dashboards \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigPrivatelinkAccess:getOpenSearchOpensearchUserConfigPrivatelinkAccess":{"properties":{"opensearch":{"type":"boolean","description":"Enable opensearch.\n"},"opensearchDashboards":{"type":"boolean","description":"Enable opensearch_dashboards.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigPublicAccess:getOpenSearchOpensearchUserConfigPublicAccess":{"properties":{"opensearch":{"type":"boolean","description":"Allow clients to connect to opensearch from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"opensearchDashboards":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" opensearchDashboards \" pulumi-lang-dotnet=\" OpensearchDashboards \" pulumi-lang-go=\" opensearchDashboards \" pulumi-lang-python=\" opensearch_dashboards \" pulumi-lang-yaml=\" opensearchDashboards \" pulumi-lang-java=\" opensearchDashboards \"\u003e opensearch_dashboards \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getOpenSearchOpensearchUserConfigS3Migration:getOpenSearchOpensearchUserConfigS3Migration":{"properties":{"accessKey":{"type":"string","description":"AWS Access key.\n"},"basePath":{"type":"string","description":"The path to the repository data within its container. The value of this setting should not start or end with a /.\n"},"bucket":{"type":"string","description":"S3 bucket name.\n"},"chunkSize":{"type":"string","description":"Big files can be broken down into chunks during snapshotting if needed. Should be the same as for the 3rd party repository.\n"},"compress":{"type":"boolean","description":"When set to true metadata files are stored in compressed format.\n"},"endpoint":{"type":"string","description":"The S3 service endpoint to connect to. If you are using an S3-compatible service then you should set this to the service’s endpoint.\n"},"includeAliases":{"type":"boolean","description":"Whether to restore aliases alongside their associated indexes. Default is true.\n"},"indices":{"type":"string","description":"A comma-delimited list of indices to restore from the snapshot. Multi-index syntax is supported. Example: `metrics*,logs*,data-20240823`.\n"},"readonly":{"type":"boolean","description":"Whether the repository is read-only. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"region":{"type":"string","description":"S3 region.\n"},"restoreGlobalState":{"type":"boolean","description":"If true, restore the cluster state. Defaults to false.\n"},"secretKey":{"type":"string","description":"AWS secret key.\n","secret":true},"serverSideEncryption":{"type":"boolean","description":"When set to true files are encrypted on server side.\n"},"snapshotName":{"type":"string","description":"The snapshot name to restore from.\n"}},"type":"object","required":["accessKey","basePath","bucket","indices","region","secretKey","snapshotName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchOpensearchUserConfigSaml:getOpenSearchOpensearchUserConfigSaml":{"properties":{"enabled":{"type":"boolean","description":"Enables or disables SAML-based authentication for OpenSearch. When enabled, users can authenticate using SAML with an Identity Provider. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"idpEntityId":{"type":"string","description":"The unique identifier for the Identity Provider (IdP) entity that is used for SAML authentication. This value is typically provided by the IdP. Example: `test-idp-entity-id`.\n"},"idpMetadataUrl":{"type":"string","description":"The URL of the SAML metadata for the Identity Provider (IdP). This is used to configure SAML-based authentication with the IdP. Example: `https://test-account.okta.com/app/exk491jujcVc83LEX697/sso/saml/metadata`.\n"},"idpPemtrustedcasContent":{"type":"string","description":"This parameter specifies the PEM-encoded root certificate authority (CA) content for the SAML identity provider (IdP) server verification. The root CA content is used to verify the SSL/TLS certificate presented by the server. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"rolesKey":{"type":"string","description":"Optional. Specifies the attribute in the SAML response where role information is stored, if available. Role attributes are not required for SAML authentication, but can be included in SAML assertions by most Identity Providers (IdPs) to determine user access levels or permissions. Example: `RoleName`.\n"},"spEntityId":{"type":"string","description":"The unique identifier for the Service Provider (SP) entity that is used for SAML authentication. This value is typically provided by the SP. Example: `test-sp-entity-id`.\n"},"subjectKey":{"type":"string","description":"Optional. Specifies the attribute in the SAML response where the subject identifier is stored. If not configured, the NameID attribute is used by default. Example: `NameID`.\n"}},"type":"object","required":["enabled","idpEntityId","idpMetadataUrl","spEntityId"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchServiceIntegration:getOpenSearchServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchTag:getOpenSearchTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOpenSearchTechEmail:getOpenSearchTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationAddressTimeouts:getOrganizationAddressTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationApplicationUserTimeouts:getOrganizationApplicationUserTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationBillingGroupBillingContactEmail:getOrganizationBillingGroupBillingContactEmail":{"properties":{"email":{"type":"string","description":"Email.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupBillingEmail:getOrganizationBillingGroupBillingEmail":{"properties":{"email":{"type":"string","description":"Email.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupListBillingGroup:getOrganizationBillingGroupListBillingGroup":{"properties":{"billingAddressId":{"type":"string","description":"Billing address ID.\n"},"billingContactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListBillingGroupBillingContactEmail:getOrganizationBillingGroupListBillingGroupBillingContactEmail"},"description":"List of billing contact emails.\n"},"billingEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListBillingGroupBillingEmail:getOrganizationBillingGroupListBillingGroupBillingEmail"},"description":"List of billing contact emails.\n"},"billingGroupId":{"type":"string","description":"Billing group ID.\n"},"billingGroupName":{"type":"string","description":"Billing Group Name.\n"},"customInvoiceText":{"type":"string","description":"Extra billing text.\n"},"organizationId":{"type":"string","description":"Organization ID.\n"},"paymentMethods":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListBillingGroupPaymentMethod:getOrganizationBillingGroupListBillingGroupPaymentMethod"},"description":"Payment method.\n"},"shippingAddressId":{"type":"string","description":"Shipping address ID.\n"},"vatId":{"type":"string","description":"VAT ID.\n"}},"type":"object","required":["billingAddressId","billingGroupId","billingGroupName","customInvoiceText","organizationId","shippingAddressId","vatId"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupListBillingGroupBillingContactEmail:getOrganizationBillingGroupListBillingGroupBillingContactEmail":{"properties":{"email":{"type":"string","description":"Email.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupListBillingGroupBillingEmail:getOrganizationBillingGroupListBillingGroupBillingEmail":{"properties":{"email":{"type":"string","description":"Email.\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupListBillingGroupPaymentMethod:getOrganizationBillingGroupListBillingGroupPaymentMethod":{"properties":{"paymentMethodId":{"type":"string","description":"Payment method ID.\n"},"paymentMethodType":{"type":"string","description":"An enumeration. The possible values are \u003cspan pulumi-lang-nodejs=\"`awsSubscription`\" pulumi-lang-dotnet=\"`AwsSubscription`\" pulumi-lang-go=\"`awsSubscription`\" pulumi-lang-python=\"`aws_subscription`\" pulumi-lang-yaml=\"`awsSubscription`\" pulumi-lang-java=\"`awsSubscription`\"\u003e`aws_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureSubscription`\" pulumi-lang-dotnet=\"`AzureSubscription`\" pulumi-lang-go=\"`azureSubscription`\" pulumi-lang-python=\"`azure_subscription`\" pulumi-lang-yaml=\"`azureSubscription`\" pulumi-lang-java=\"`azureSubscription`\"\u003e`azure_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bankTransfer`\" pulumi-lang-dotnet=\"`BankTransfer`\" pulumi-lang-go=\"`bankTransfer`\" pulumi-lang-python=\"`bank_transfer`\" pulumi-lang-yaml=\"`bankTransfer`\" pulumi-lang-java=\"`bankTransfer`\"\u003e`bank_transfer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creditCard`\" pulumi-lang-dotnet=\"`CreditCard`\" pulumi-lang-go=\"`creditCard`\" pulumi-lang-python=\"`credit_card`\" pulumi-lang-yaml=\"`creditCard`\" pulumi-lang-java=\"`creditCard`\"\u003e`credit_card`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gcpSubscription`\" pulumi-lang-dotnet=\"`GcpSubscription`\" pulumi-lang-go=\"`gcpSubscription`\" pulumi-lang-python=\"`gcp_subscription`\" pulumi-lang-yaml=\"`gcpSubscription`\" pulumi-lang-java=\"`gcpSubscription`\"\u003e`gcp_subscription`\u003c/span\u003e.\n"}},"type":"object","required":["paymentMethodId","paymentMethodType"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupListTimeouts:getOrganizationBillingGroupListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationBillingGroupPaymentMethod:getOrganizationBillingGroupPaymentMethod":{"properties":{"paymentMethodId":{"type":"string","description":"Payment method ID.\n"},"paymentMethodType":{"type":"string","description":"An enumeration. The possible values are \u003cspan pulumi-lang-nodejs=\"`awsSubscription`\" pulumi-lang-dotnet=\"`AwsSubscription`\" pulumi-lang-go=\"`awsSubscription`\" pulumi-lang-python=\"`aws_subscription`\" pulumi-lang-yaml=\"`awsSubscription`\" pulumi-lang-java=\"`awsSubscription`\"\u003e`aws_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureSubscription`\" pulumi-lang-dotnet=\"`AzureSubscription`\" pulumi-lang-go=\"`azureSubscription`\" pulumi-lang-python=\"`azure_subscription`\" pulumi-lang-yaml=\"`azureSubscription`\" pulumi-lang-java=\"`azureSubscription`\"\u003e`azure_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bankTransfer`\" pulumi-lang-dotnet=\"`BankTransfer`\" pulumi-lang-go=\"`bankTransfer`\" pulumi-lang-python=\"`bank_transfer`\" pulumi-lang-yaml=\"`bankTransfer`\" pulumi-lang-java=\"`bankTransfer`\"\u003e`bank_transfer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creditCard`\" pulumi-lang-dotnet=\"`CreditCard`\" pulumi-lang-go=\"`creditCard`\" pulumi-lang-python=\"`credit_card`\" pulumi-lang-yaml=\"`creditCard`\" pulumi-lang-java=\"`creditCard`\"\u003e`credit_card`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gcpSubscription`\" pulumi-lang-dotnet=\"`GcpSubscription`\" pulumi-lang-go=\"`gcpSubscription`\" pulumi-lang-python=\"`gcp_subscription`\" pulumi-lang-yaml=\"`gcpSubscription`\" pulumi-lang-java=\"`gcpSubscription`\"\u003e`gcp_subscription`\u003c/span\u003e.\n"}},"type":"object","required":["paymentMethodId","paymentMethodType"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationBillingGroupTimeouts:getOrganizationBillingGroupTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationPaymentMethodListPaymentMethod:getOrganizationPaymentMethodListPaymentMethod":{"properties":{"paymentMethodId":{"type":"string","description":"Payment method ID.\n"},"paymentMethodType":{"type":"string","description":"An enumeration. The possible values are \u003cspan pulumi-lang-nodejs=\"`awsSubscription`\" pulumi-lang-dotnet=\"`AwsSubscription`\" pulumi-lang-go=\"`awsSubscription`\" pulumi-lang-python=\"`aws_subscription`\" pulumi-lang-yaml=\"`awsSubscription`\" pulumi-lang-java=\"`awsSubscription`\"\u003e`aws_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azureSubscription`\" pulumi-lang-dotnet=\"`AzureSubscription`\" pulumi-lang-go=\"`azureSubscription`\" pulumi-lang-python=\"`azure_subscription`\" pulumi-lang-yaml=\"`azureSubscription`\" pulumi-lang-java=\"`azureSubscription`\"\u003e`azure_subscription`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bankTransfer`\" pulumi-lang-dotnet=\"`BankTransfer`\" pulumi-lang-go=\"`bankTransfer`\" pulumi-lang-python=\"`bank_transfer`\" pulumi-lang-yaml=\"`bankTransfer`\" pulumi-lang-java=\"`bankTransfer`\"\u003e`bank_transfer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creditCard`\" pulumi-lang-dotnet=\"`CreditCard`\" pulumi-lang-go=\"`creditCard`\" pulumi-lang-python=\"`credit_card`\" pulumi-lang-yaml=\"`creditCard`\" pulumi-lang-java=\"`creditCard`\"\u003e`credit_card`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`gcpSubscription`\" pulumi-lang-dotnet=\"`GcpSubscription`\" pulumi-lang-go=\"`gcpSubscription`\" pulumi-lang-python=\"`gcp_subscription`\" pulumi-lang-yaml=\"`gcpSubscription`\" pulumi-lang-java=\"`gcpSubscription`\"\u003e`gcp_subscription`\u003c/span\u003e.\n"}},"type":"object","required":["paymentMethodId","paymentMethodType"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationPaymentMethodListTimeouts:getOrganizationPaymentMethodListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationProjectTag:getOrganizationProjectTag":{"properties":{"key":{"type":"string","description":"Project tag key.\n"},"value":{"type":"string","description":"Project tag value.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationProjectTimeouts:getOrganizationProjectTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationTimeouts:getOrganizationTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationUserGroupListTimeouts:getOrganizationUserGroupListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationUserGroupListUserGroup:getOrganizationUserGroupListUserGroup":{"properties":{"createTime":{"type":"string","description":"User group creation time.\n"},"description":{"type":"string","description":"Description.\n"},"managedByScim":{"type":"boolean","description":"Managed By Scim.\n"},"memberCount":{"type":"integer","description":"Member Count.\n"},"updateTime":{"type":"string","description":"User group last update time.\n"},"userGroupId":{"type":"string","description":"User Group ID.\n"},"userGroupName":{"type":"string","description":"User Group Name.\n"}},"type":"object","required":["createTime","description","managedByScim","memberCount","updateTime","userGroupId","userGroupName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationUserGroupMemberListMember:getOrganizationUserGroupMemberListMember":{"properties":{"lastActivityTime":{"type":"string","description":"Last Activity Time.\n"},"userId":{"type":"string","description":"User ID.\n"},"userInfos":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationUserGroupMemberListMemberUserInfo:getOrganizationUserGroupMemberListMemberUserInfo"},"description":"OrganizationUserInfo.\n"}},"type":"object","required":["lastActivityTime","userId"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationUserGroupMemberListMemberUserInfo:getOrganizationUserGroupMemberListMemberUserInfo":{"properties":{"city":{"type":"string","description":"City.\n"},"country":{"type":"string","description":"Country.\n"},"createTime":{"type":"string","description":"Creation time.\n"},"department":{"type":"string","description":"Department.\n"},"isApplicationUser":{"type":"boolean","description":"Is Application User.\n"},"jobTitle":{"type":"string","description":"Job Title.\n"},"managedByScim":{"type":"boolean","description":"Managed By Scim.\n"},"managingOrganizationId":{"type":"string","description":"Managing Organization ID.\n"},"realName":{"type":"string","description":"Real Name.\n"},"state":{"type":"string","description":"State.\n"},"userEmail":{"type":"string","description":"User Email.\n"}},"type":"object","required":["city","country","createTime","department","isApplicationUser","jobTitle","managedByScim","managingOrganizationId","realName","state","userEmail"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationUserGroupMemberListTimeouts:getOrganizationUserGroupMemberListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationUserListTimeouts:getOrganizationUserListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getOrganizationUserListUser:getOrganizationUserListUser":{"properties":{"isSuperAdmin":{"type":"boolean","description":"Super admin state of the organization user.\n"},"joinTime":{"type":"string","description":"Join time.\n"},"lastActivityTime":{"type":"string","description":"Last activity time.\n"},"userId":{"type":"string","description":"User ID.\n"},"userInfos":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationUserListUserUserInfo:getOrganizationUserListUserUserInfo"},"description":"OrganizationUserInfo.\n"}},"type":"object","required":["isSuperAdmin","joinTime","lastActivityTime","userId"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationUserListUserUserInfo:getOrganizationUserListUserUserInfo":{"properties":{"city":{"type":"string","description":"City.\n"},"country":{"type":"string","description":"Country.\n"},"createTime":{"type":"string","description":"Creation time.\n"},"department":{"type":"string","description":"Department.\n"},"isApplicationUser":{"type":"boolean","description":"Is Application User.\n"},"jobTitle":{"type":"string","description":"Job Title.\n"},"managedByScim":{"type":"boolean","description":"Managed By Scim.\n"},"managingOrganizationId":{"type":"string","description":"Managing Organization ID.\n"},"realName":{"type":"string","description":"Real Name.\n"},"state":{"type":"string","description":"State.\n"},"userEmail":{"type":"string","description":"User Email.\n"}},"type":"object","required":["city","country","createTime","department","isApplicationUser","jobTitle","managedByScim","managingOrganizationId","realName","state","userEmail"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getOrganizationalUnitTimeouts:getOrganizationalUnitTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getPgComponent:getPgComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgDatabaseTimeouts:getPgDatabaseTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getPgPg:getPgPg":{"properties":{"bouncer":{"type":"string","description":"PgBouncer connection details for [connection pooling](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling).\n","deprecationMessage":"This field was added by mistake and has never worked. It will be removed in future versions.","secret":true},"dbname":{"type":"string","description":"Primary PostgreSQL database name.\n","secret":true},"host":{"type":"string","description":"PostgreSQL primary node host IP or name.\n","secret":true},"maxConnections":{"type":"integer","description":"The [number of allowed connections](https://aiven.io/docs/products/postgresql/reference/pg-connection-limits). Varies based on the service plan.\n","secret":true},"params":{"type":"array","items":{"$ref":"#/types/aiven:index/getPgPgParam:getPgPgParam"},"description":"PostgreSQL connection parameters.\n","secret":true},"password":{"type":"string","description":"PostgreSQL admin user password.\n","secret":true},"port":{"type":"integer","description":"PostgreSQL port.\n","secret":true},"replicaUri":{"type":"string","description":"PostgreSQL replica URI for services with a replica.\n","secret":true},"sslmode":{"type":"string","description":"PostgreSQL SSL mode setting.\n","secret":true},"standbyUris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL standby connection URIs.\n","secret":true},"syncingUris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL syncing connection URIs.\n","secret":true},"uri":{"type":"string","description":"PostgreSQL primary connection URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"PostgreSQL primary connection URIs.\n","secret":true},"user":{"type":"string","description":"PostgreSQL admin user name.\n","secret":true}},"type":"object","required":["bouncer","dbname","host","maxConnections","params","password","port","replicaUri","sslmode","standbyUris","syncingUris","uri","uris","user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgPgParam:getPgPgParam":{"properties":{"databaseName":{"type":"string","description":"Primary PostgreSQL database name.\n","secret":true},"host":{"type":"string","description":"PostgreSQL host IP or name.\n","secret":true},"password":{"type":"string","description":"PostgreSQL admin user password.\n","secret":true},"port":{"type":"integer","description":"PostgreSQL port.\n","secret":true},"sslmode":{"type":"string","description":"PostgreSQL SSL mode setting.\n","secret":true},"user":{"type":"string","description":"PostgreSQL admin user name.\n","secret":true}},"type":"object","required":["databaseName","host","password","port","sslmode","user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgPgUserConfig:getPgPgUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"adminPassword":{"type":"string","description":"Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.\n","secret":true},"adminUsername":{"type":"string","description":"Custom username for admin user. This must be set only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupIntervalHours":{"type":"integer","description":"Interval in hours between automatic backups. Minimum value is 3 hours. Must be a divisor of 24 (3, 4, 6, 8, 12, 24). (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`24`\" pulumi-lang-dotnet=\"`24`\" pulumi-lang-go=\"`24`\" pulumi-lang-python=\"`24`\" pulumi-lang-yaml=\"`24`\" pulumi-lang-java=\"`24`\"\u003e`24`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"backupRetentionDays":{"type":"integer","description":"Number of days to retain automatic backups. Backups older than this value will be automatically deleted. (Applicable to ACU plans only). Example: \u003cspan pulumi-lang-nodejs=\"`7`\" pulumi-lang-dotnet=\"`7`\" pulumi-lang-go=\"`7`\" pulumi-lang-python=\"`7`\" pulumi-lang-yaml=\"`7`\" pulumi-lang-java=\"`7`\"\u003e`7`\u003c/span\u003e.\n"},"enableHaReplicaDns":{"type":"boolean","description":"Creates a dedicated read-only DNS that automatically falls back to the primary if standby nodes are unavailable. It switches back when a standby recovers. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getPgPgUserConfigIpFilterObject:getPgPgUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/getPgPgUserConfigMigration:getPgPgUserConfigMigration","description":"Migrate data from existing server\n"},"nodeCount":{"type":"integer","description":"Number of nodes for the service. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"pg":{"$ref":"#/types/aiven:index/getPgPgUserConfigPg:getPgPgUserConfigPg","description":"postgresql.conf configuration values\n"},"pgQualstats":{"$ref":"#/types/aiven:index/getPgPgUserConfigPgQualstats:getPgPgUserConfigPgQualstats","description":"System-wide settings for the\u003cspan pulumi-lang-nodejs=\" pgQualstats \" pulumi-lang-dotnet=\" PgQualstats \" pulumi-lang-go=\" pgQualstats \" pulumi-lang-python=\" pg_qualstats \" pulumi-lang-yaml=\" pgQualstats \" pulumi-lang-java=\" pgQualstats \"\u003e pg_qualstats \u003c/span\u003eextension\n","deprecationMessage":"This property is deprecated."},"pgReadReplica":{"type":"boolean","description":"Should the service which is being forked be a read replica (deprecated, use\u003cspan pulumi-lang-nodejs=\" readReplica \" pulumi-lang-dotnet=\" ReadReplica \" pulumi-lang-go=\" readReplica \" pulumi-lang-python=\" read_replica \" pulumi-lang-yaml=\" readReplica \" pulumi-lang-java=\" readReplica \"\u003e read_replica \u003c/span\u003eservice integration instead).\n"},"pgServiceToForkFrom":{"type":"string","description":"Name of the PG Service from which to fork (deprecated, use service_to_fork_from). This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"pgStatMonitorEnable":{"type":"boolean","description":"Enable the\u003cspan pulumi-lang-nodejs=\" pgStatMonitor \" pulumi-lang-dotnet=\" PgStatMonitor \" pulumi-lang-go=\" pgStatMonitor \" pulumi-lang-python=\" pg_stat_monitor \" pulumi-lang-yaml=\" pgStatMonitor \" pulumi-lang-java=\" pgStatMonitor \"\u003e pg_stat_monitor \u003c/span\u003eextension. Changing this parameter causes a service restart. When this extension is enabled,\u003cspan pulumi-lang-nodejs=\" pgStatStatements \" pulumi-lang-dotnet=\" PgStatStatements \" pulumi-lang-go=\" pgStatStatements \" pulumi-lang-python=\" pg_stat_statements \" pulumi-lang-yaml=\" pgStatStatements \" pulumi-lang-java=\" pgStatStatements \"\u003e pg_stat_statements \u003c/span\u003eresults for utility commands are unreliable. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"pgVersion":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`11`\" pulumi-lang-dotnet=\"`11`\" pulumi-lang-go=\"`11`\" pulumi-lang-python=\"`11`\" pulumi-lang-yaml=\"`11`\" pulumi-lang-java=\"`11`\"\u003e`11`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`12`\" pulumi-lang-dotnet=\"`12`\" pulumi-lang-go=\"`12`\" pulumi-lang-python=\"`12`\" pulumi-lang-yaml=\"`12`\" pulumi-lang-java=\"`12`\"\u003e`12`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`13`\" pulumi-lang-dotnet=\"`13`\" pulumi-lang-go=\"`13`\" pulumi-lang-python=\"`13`\" pulumi-lang-yaml=\"`13`\" pulumi-lang-java=\"`13`\"\u003e`13`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`14`\" pulumi-lang-dotnet=\"`14`\" pulumi-lang-go=\"`14`\" pulumi-lang-python=\"`14`\" pulumi-lang-yaml=\"`14`\" pulumi-lang-java=\"`14`\"\u003e`14`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`15`\" pulumi-lang-dotnet=\"`15`\" pulumi-lang-go=\"`15`\" pulumi-lang-python=\"`15`\" pulumi-lang-yaml=\"`15`\" pulumi-lang-java=\"`15`\"\u003e`15`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`17`\" pulumi-lang-dotnet=\"`17`\" pulumi-lang-go=\"`17`\" pulumi-lang-python=\"`17`\" pulumi-lang-yaml=\"`17`\" pulumi-lang-java=\"`17`\"\u003e`17`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e, and newer. PostgreSQL major version.\n"},"pgaudit":{"$ref":"#/types/aiven:index/getPgPgUserConfigPgaudit:getPgPgUserConfigPgaudit","description":"System-wide settings for the pgaudit extension\n"},"pgbouncer":{"$ref":"#/types/aiven:index/getPgPgUserConfigPgbouncer:getPgPgUserConfigPgbouncer","description":"PGBouncer connection pooling settings\n"},"pglookout":{"$ref":"#/types/aiven:index/getPgPgUserConfigPglookout:getPgPgUserConfigPglookout","description":"System-wide settings for pglookout\n"},"privateAccess":{"$ref":"#/types/aiven:index/getPgPgUserConfigPrivateAccess:getPgPgUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getPgPgUserConfigPrivatelinkAccess:getPgPgUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getPgPgUserConfigPublicAccess:getPgPgUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryTargetTime":{"type":"string","description":"Recovery target time when forking a service. This has effect only when a new service is being created. Example: `2019-01-01 23:34:45`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"sharedBuffersPercentage":{"type":"number","description":"Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the\u003cspan pulumi-lang-nodejs=\" sharedBuffers \" pulumi-lang-dotnet=\" SharedBuffers \" pulumi-lang-go=\" sharedBuffers \" pulumi-lang-python=\" shared_buffers \" pulumi-lang-yaml=\" sharedBuffers \" pulumi-lang-java=\" sharedBuffers \"\u003e shared_buffers \u003c/span\u003econfiguration value. Changing this parameter causes a service restart. Example: `41.5`.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"switchoverWindows":{"type":"array","items":{"$ref":"#/types/aiven:index/getPgPgUserConfigSwitchoverWindow:getPgPgUserConfigSwitchoverWindow"}},"synchronousReplication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`quorum`\" pulumi-lang-dotnet=\"`Quorum`\" pulumi-lang-go=\"`quorum`\" pulumi-lang-python=\"`quorum`\" pulumi-lang-yaml=\"`quorum`\" pulumi-lang-java=\"`quorum`\"\u003e`quorum`\u003c/span\u003e. Synchronous replication type. Note that the service plan also needs to support synchronous replication.\n"},"timescaledb":{"$ref":"#/types/aiven:index/getPgPgUserConfigTimescaledb:getPgPgUserConfigTimescaledb","description":"System-wide settings for the timescaledb extension\n"},"variant":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`aiven`\" pulumi-lang-dotnet=\"`Aiven`\" pulumi-lang-go=\"`aiven`\" pulumi-lang-python=\"`aiven`\" pulumi-lang-yaml=\"`aiven`\" pulumi-lang-java=\"`aiven`\"\u003e`aiven`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`timescale`\" pulumi-lang-dotnet=\"`Timescale`\" pulumi-lang-go=\"`timescale`\" pulumi-lang-python=\"`timescale`\" pulumi-lang-yaml=\"`timescale`\" pulumi-lang-java=\"`timescale`\"\u003e`timescale`\u003c/span\u003e. Variant of the PostgreSQL service, may affect the features that are exposed by default.\n"},"workMem":{"type":"integer","description":"Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. The default is 1MB + 0.075% of total RAM (up to 32MB). Example: \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigIpFilterObject:getPgPgUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgPgUserConfigMigration:getPgPgUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgPgUserConfigPg:getPgPgUserConfigPg":{"properties":{"autovacuumAnalyzeScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumAnalyzeThreshold \" pulumi-lang-dotnet=\" AutovacuumAnalyzeThreshold \" pulumi-lang-go=\" autovacuumAnalyzeThreshold \" pulumi-lang-python=\" autovacuum_analyze_threshold \" pulumi-lang-yaml=\" autovacuumAnalyzeThreshold \" pulumi-lang-java=\" autovacuumAnalyzeThreshold \"\u003e autovacuum_analyze_threshold \u003c/span\u003ewhen deciding whether to trigger an ANALYZE (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumAnalyzeThreshold":{"type":"integer","description":"Specifies the minimum number of inserted, updated or deleted tuples needed to trigger an ANALYZE in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"autovacuumFreezeMaxAge":{"type":"integer","description":"Specifies the maximum age (in transactions) that a table's pg_class.relfrozenxid field can attain before a VACUUM operation is forced to prevent transaction ID wraparound within the table. The system launches autovacuum processes to prevent wraparound even when autovacuum is otherwise disabled. Changing this parameter causes a service restart.\n"},"autovacuumMaxWorkers":{"type":"integer","description":"Specifies the maximum number of autovacuum processes (other than the autovacuum launcher) that may be running at any one time. The default is \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"autovacuumNaptime":{"type":"integer","description":"Specifies the minimum delay between autovacuum runs on any given database. The delay is measured in seconds. The default is \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"autovacuumVacuumCostDelay":{"type":"integer","description":"Specifies the cost delay value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostDelay \" pulumi-lang-dotnet=\" VacuumCostDelay \" pulumi-lang-go=\" vacuumCostDelay \" pulumi-lang-python=\" vacuum_cost_delay \" pulumi-lang-yaml=\" vacuumCostDelay \" pulumi-lang-java=\" vacuumCostDelay \"\u003e vacuum_cost_delay \u003c/span\u003evalue will be used. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"autovacuumVacuumCostLimit":{"type":"integer","description":"Specifies the cost limit value that will be used in automatic VACUUM operations. If `-1` is specified, the regular\u003cspan pulumi-lang-nodejs=\" vacuumCostLimit \" pulumi-lang-dotnet=\" VacuumCostLimit \" pulumi-lang-go=\" vacuumCostLimit \" pulumi-lang-python=\" vacuum_cost_limit \" pulumi-lang-yaml=\" vacuumCostLimit \" pulumi-lang-java=\" vacuumCostLimit \"\u003e vacuum_cost_limit \u003c/span\u003evalue will be used. The default is `-1` (upstream default).\n"},"autovacuumVacuumScaleFactor":{"type":"number","description":"Specifies a fraction of the table size to add to\u003cspan pulumi-lang-nodejs=\" autovacuumVacuumThreshold \" pulumi-lang-dotnet=\" AutovacuumVacuumThreshold \" pulumi-lang-go=\" autovacuumVacuumThreshold \" pulumi-lang-python=\" autovacuum_vacuum_threshold \" pulumi-lang-yaml=\" autovacuumVacuumThreshold \" pulumi-lang-java=\" autovacuumVacuumThreshold \"\u003e autovacuum_vacuum_threshold \u003c/span\u003ewhen deciding whether to trigger a VACUUM (e.g. `0.2` for 20% of the table size). The default is `0.2`.\n"},"autovacuumVacuumThreshold":{"type":"integer","description":"Specifies the minimum number of updated or deleted tuples needed to trigger a VACUUM in any one table. The default is \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"},"bgwriterDelay":{"type":"integer","description":"Specifies the delay between activity rounds for the background writer in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e.\n"},"bgwriterFlushAfter":{"type":"integer","description":"Whenever more than\u003cspan pulumi-lang-nodejs=\" bgwriterFlushAfter \" pulumi-lang-dotnet=\" BgwriterFlushAfter \" pulumi-lang-go=\" bgwriterFlushAfter \" pulumi-lang-python=\" bgwriter_flush_after \" pulumi-lang-yaml=\" bgwriterFlushAfter \" pulumi-lang-java=\" bgwriterFlushAfter \"\u003e bgwriter_flush_after \u003c/span\u003ebytes have been written by the background writer, attempt to force the OS to issue these writes to the underlying storage. Specified in kilobytes. Setting of 0 disables forced writeback. The default is \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"bgwriterLruMaxpages":{"type":"integer","description":"In each round, no more than this many buffers will be written by the background writer. Setting this to zero disables background writing. The default is \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"bgwriterLruMultiplier":{"type":"number","description":"The average recent need for new buffers is multiplied by\u003cspan pulumi-lang-nodejs=\" bgwriterLruMultiplier \" pulumi-lang-dotnet=\" BgwriterLruMultiplier \" pulumi-lang-go=\" bgwriterLruMultiplier \" pulumi-lang-python=\" bgwriter_lru_multiplier \" pulumi-lang-yaml=\" bgwriterLruMultiplier \" pulumi-lang-java=\" bgwriterLruMultiplier \"\u003e bgwriter_lru_multiplier \u003c/span\u003eto arrive at an estimate of the number that will be needed during the next round, (up to bgwriter_lru_maxpages). 1.0 represents a “just in time” policy of writing exactly the number of buffers predicted to be needed. Larger values provide some cushion against spikes in demand, while smaller values intentionally leave writes to be done by server processes. The default is `2.0`. Example: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"deadlockTimeout":{"type":"integer","description":"This is the amount of time, in milliseconds, to wait on a lock before checking to see if there is a deadlock condition. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Example: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"defaultToastCompression":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pglz`\" pulumi-lang-dotnet=\"`Pglz`\" pulumi-lang-go=\"`pglz`\" pulumi-lang-python=\"`pglz`\" pulumi-lang-yaml=\"`pglz`\" pulumi-lang-java=\"`pglz`\"\u003e`pglz`\u003c/span\u003e. Specifies the default TOAST compression method for values of compressible columns. The default is \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e. Only available for PostgreSQL 14+.\n"},"idleInTransactionSessionTimeout":{"type":"integer","description":"Time out sessions with open transactions after this number of milliseconds.\n"},"ioCombineLimit":{"type":"integer","description":"EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units. Version 17 and up only. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"ioMaxCombineLimit":{"type":"integer","description":"EXPERIMENTAL: Controls the largest I/O size in operations that combine I/O in 8kB units, and silently limits the user-settable parameter io_combine_limit. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"ioMaxConcurrency":{"type":"integer","description":"EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart. Default: `-1`.\n"},"ioMethod":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`ioUring`\" pulumi-lang-dotnet=\"`IoUring`\" pulumi-lang-go=\"`ioUring`\" pulumi-lang-python=\"`io_uring`\" pulumi-lang-yaml=\"`ioUring`\" pulumi-lang-java=\"`ioUring`\"\u003e`io_uring`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sync`\" pulumi-lang-dotnet=\"`Sync`\" pulumi-lang-go=\"`sync`\" pulumi-lang-python=\"`sync`\" pulumi-lang-yaml=\"`sync`\" pulumi-lang-java=\"`sync`\"\u003e`sync`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`worker`\" pulumi-lang-dotnet=\"`Worker`\" pulumi-lang-go=\"`worker`\" pulumi-lang-python=\"`worker`\" pulumi-lang-yaml=\"`worker`\" pulumi-lang-java=\"`worker`\"\u003e`worker`\u003c/span\u003e. EXPERIMENTAL: Controls the maximum number of I/O operations that one process can execute simultaneously. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`worker`\" pulumi-lang-dotnet=\"`Worker`\" pulumi-lang-go=\"`worker`\" pulumi-lang-python=\"`worker`\" pulumi-lang-yaml=\"`worker`\" pulumi-lang-java=\"`worker`\"\u003e`worker`\u003c/span\u003e.\n"},"ioWorkers":{"type":"integer","description":"EXPERIMENTAL: Number of IO worker processes, for io_method=worker. Version 18 and up only. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"jit":{"type":"boolean","description":"Controls system-wide use of Just-in-Time Compilation (JIT).\n"},"logAutovacuumMinDuration":{"type":"integer","description":"Causes each action executed by autovacuum to be logged if it ran for at least the specified number of milliseconds. Setting this to zero logs all autovacuum actions. Minus-one disables logging autovacuum actions. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"logErrorVerbosity":{"type":"string","description":"Enum: `DEFAULT`, `TERSE`, `VERBOSE`. Controls the amount of detail written in the server log for each message that is logged.\n"},"logLinePrefix":{"type":"string","description":"Enum: `'%m [%p] %q[user=%u,db=%d,app=%a] '`, `'%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h '`, `'pid=%p,user=%u,db=%d,app=%a,client=%h,txid=%x,qid=%Q '`. Choose from one of the available log formats.\n"},"logMinDurationStatement":{"type":"integer","description":"Log statements that take more than this number of milliseconds to run, -1 disables.\n"},"logTempFiles":{"type":"integer","description":"Log statements for each temporary file created larger than this number of kilobytes, -1 disables.\n"},"maxConnections":{"type":"integer","description":"Sets the PostgreSQL maximum number of concurrent connections to the database server. For services with a read replica, first increase the read replica's value. After the change is applied to the replica, you can increase the primary service's value. Changing this parameter causes a service restart.\n"},"maxFilesPerProcess":{"type":"integer","description":"PostgreSQL maximum number of files that can be open per process. The default is \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum locks per transaction. Changing this parameter causes a service restart.\n"},"maxLogicalReplicationWorkers":{"type":"integer","description":"PostgreSQL maximum logical replication workers (taken from the pool defined by max_worker_processes). The default is \u003cspan pulumi-lang-nodejs=\"`4`\" pulumi-lang-dotnet=\"`4`\" pulumi-lang-go=\"`4`\" pulumi-lang-python=\"`4`\" pulumi-lang-yaml=\"`4`\" pulumi-lang-java=\"`4`\"\u003e`4`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxParallelWorkers":{"type":"integer","description":"Sets the maximum number of workers that the system can support for parallel queries. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e (upstream default).\n"},"maxParallelWorkersPerGather":{"type":"integer","description":"Sets the maximum number of workers that can be started by a single Gather or Gather Merge node. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e (upstream default).\n"},"maxPredLocksPerTransaction":{"type":"integer","description":"PostgreSQL maximum predicate locks per transaction. The default is \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e (upstream default). Changing this parameter causes a service restart.\n"},"maxPreparedTransactions":{"type":"integer","description":"PostgreSQL maximum prepared transactions. The default is \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxReplicationSlots":{"type":"integer","description":"PostgreSQL maximum replication slots. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxSlotWalKeepSize":{"type":"integer","description":"PostgreSQL maximum WAL size (MB) reserved for replication slots. If `-1` is specified, replication slots may retain an unlimited amount of WAL files. The default is `-1` (upstream default).\u003cspan pulumi-lang-nodejs=\" walKeepSize \" pulumi-lang-dotnet=\" WalKeepSize \" pulumi-lang-go=\" walKeepSize \" pulumi-lang-python=\" wal_keep_size \" pulumi-lang-yaml=\" walKeepSize \" pulumi-lang-java=\" walKeepSize \"\u003e wal_keep_size \u003c/span\u003eminimum WAL size setting takes precedence over this.\n"},"maxStackDepth":{"type":"integer","description":"Maximum depth of the stack in bytes. The default is \u003cspan pulumi-lang-nodejs=\"`2097152`\" pulumi-lang-dotnet=\"`2097152`\" pulumi-lang-go=\"`2097152`\" pulumi-lang-python=\"`2097152`\" pulumi-lang-yaml=\"`2097152`\" pulumi-lang-java=\"`2097152`\"\u003e`2097152`\u003c/span\u003e (upstream default).\n"},"maxStandbyArchiveDelay":{"type":"integer","description":"Max standby archive delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxStandbyStreamingDelay":{"type":"integer","description":"Max standby streaming delay in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e (upstream default).\n"},"maxSyncWorkersPerSubscription":{"type":"integer","description":"Maximum number of synchronization workers per subscription. The default is \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"maxWalSenders":{"type":"integer","description":"PostgreSQL maximum WAL senders. The default is \u003cspan pulumi-lang-nodejs=\"`20`\" pulumi-lang-dotnet=\"`20`\" pulumi-lang-go=\"`20`\" pulumi-lang-python=\"`20`\" pulumi-lang-yaml=\"`20`\" pulumi-lang-java=\"`20`\"\u003e`20`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"maxWorkerProcesses":{"type":"integer","description":"Sets the maximum number of background processes that the system can support. The default is \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e. Changing this parameter causes a service restart.\n"},"passwordEncryption":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`md5`\" pulumi-lang-dotnet=\"`Md5`\" pulumi-lang-go=\"`md5`\" pulumi-lang-python=\"`md5`\" pulumi-lang-yaml=\"`md5`\" pulumi-lang-java=\"`md5`\"\u003e`md5`\u003c/span\u003e, `scram-sha-256`. Chooses the algorithm for encrypting passwords.\n"},"pgPartmanBgwDotInterval":{"type":"integer","description":"Sets the time interval in seconds to run pg_partman's scheduled tasks. The default is \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e. Example: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"pgPartmanBgwDotRole":{"type":"string","description":"Controls which role to use for pg_partman's scheduled background tasks. Example: \u003cspan pulumi-lang-nodejs=\"`myrolename`\" pulumi-lang-dotnet=\"`Myrolename`\" pulumi-lang-go=\"`myrolename`\" pulumi-lang-python=\"`myrolename`\" pulumi-lang-yaml=\"`myrolename`\" pulumi-lang-java=\"`myrolename`\"\u003e`myrolename`\u003c/span\u003e.\n"},"pgStatMonitorDotPgsmEnableQueryPlan":{"type":"boolean","description":"Enables or disables query plan monitoring. Changing this parameter causes a service restart. Only available for PostgreSQL 13+.\n"},"pgStatMonitorDotPgsmMaxBuckets":{"type":"integer","description":"Sets the maximum number of buckets. Changing this parameter causes a service restart. Only available for PostgreSQL 13+. Example: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"pgStatStatementsDotTrack":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e. Controls which statements are counted. Specify top to track top-level statements (those issued directly by clients), all to also track nested statements (such as statements invoked within functions), or none to disable statement statistics collection. The default is \u003cspan pulumi-lang-nodejs=\"`top`\" pulumi-lang-dotnet=\"`Top`\" pulumi-lang-go=\"`top`\" pulumi-lang-python=\"`top`\" pulumi-lang-yaml=\"`top`\" pulumi-lang-java=\"`top`\"\u003e`top`\u003c/span\u003e.\n"},"tempFileLimit":{"type":"integer","description":"PostgreSQL temporary file limit in KiB, -1 for unlimited.\n"},"timezone":{"type":"string","description":"PostgreSQL service timezone. Example: `Europe/Helsinki`.\n"},"trackActivityQuerySize":{"type":"integer","description":"Specifies the number of bytes reserved to track the currently executing command for each active session. Changing this parameter causes a service restart. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"trackCommitTimestamp":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Record commit time of transactions. Changing this parameter causes a service restart.\n"},"trackFunctions":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`all`\" pulumi-lang-dotnet=\"`All`\" pulumi-lang-go=\"`all`\" pulumi-lang-python=\"`all`\" pulumi-lang-yaml=\"`all`\" pulumi-lang-java=\"`all`\"\u003e`all`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`pl`\" pulumi-lang-dotnet=\"`Pl`\" pulumi-lang-go=\"`pl`\" pulumi-lang-python=\"`pl`\" pulumi-lang-yaml=\"`pl`\" pulumi-lang-java=\"`pl`\"\u003e`pl`\u003c/span\u003e. Enables tracking of function call counts and time used.\n"},"trackIoTiming":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`on`\" pulumi-lang-dotnet=\"`On`\" pulumi-lang-go=\"`on`\" pulumi-lang-python=\"`on`\" pulumi-lang-yaml=\"`on`\" pulumi-lang-java=\"`on`\"\u003e`on`\u003c/span\u003e. Enables timing of database I/O calls. The default is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. When on, it will repeatedly query the operating system for the current time, which may cause significant overhead on some platforms.\n"},"walSenderTimeout":{"type":"integer","description":"Terminate replication connections that are inactive for longer than this amount of time, in milliseconds. Setting this value to zero disables the timeout. Example: \u003cspan pulumi-lang-nodejs=\"`60000`\" pulumi-lang-dotnet=\"`60000`\" pulumi-lang-go=\"`60000`\" pulumi-lang-python=\"`60000`\" pulumi-lang-yaml=\"`60000`\" pulumi-lang-java=\"`60000`\"\u003e`60000`\u003c/span\u003e.\n"},"walWriterDelay":{"type":"integer","description":"WAL flush interval in milliseconds. The default is \u003cspan pulumi-lang-nodejs=\"`200`\" pulumi-lang-dotnet=\"`200`\" pulumi-lang-go=\"`200`\" pulumi-lang-python=\"`200`\" pulumi-lang-yaml=\"`200`\" pulumi-lang-java=\"`200`\"\u003e`200`\u003c/span\u003e. Setting this parameter to a lower value may negatively impact performance. Example: \u003cspan pulumi-lang-nodejs=\"`50`\" pulumi-lang-dotnet=\"`50`\" pulumi-lang-go=\"`50`\" pulumi-lang-python=\"`50`\" pulumi-lang-yaml=\"`50`\" pulumi-lang-java=\"`50`\"\u003e`50`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPgQualstats:getPgPgUserConfigPgQualstats":{"properties":{"enabled":{"type":"boolean","description":"Enable / Disable pg_qualstats. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"minErrEstimateNum":{"type":"integer","description":"Error estimation num threshold to save quals. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"minErrEstimateRatio":{"type":"integer","description":"Error estimation ratio threshold to save quals. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"trackConstants":{"type":"boolean","description":"Enable / Disable\u003cspan pulumi-lang-nodejs=\" pgQualstats \" pulumi-lang-dotnet=\" PgQualstats \" pulumi-lang-go=\" pgQualstats \" pulumi-lang-python=\" pg_qualstats \" pulumi-lang-yaml=\" pgQualstats \" pulumi-lang-java=\" pgQualstats \"\u003e pg_qualstats \u003c/span\u003econstants tracking. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."},"trackPgCatalog":{"type":"boolean","description":"Track quals on system catalogs too. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","deprecationMessage":"This property is deprecated."}},"type":"object"},"aiven:index/getPgPgUserConfigPgaudit:getPgPgUserConfigPgaudit":{"properties":{"featureEnabled":{"type":"boolean","description":"Enable pgaudit extension. When enabled, pgaudit extension will be automatically installed.Otherwise, extension will be uninstalled but auditing configurations will be preserved. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logCatalog":{"type":"boolean","description":"Specifies that session logging should be enabled in the case where all relations in a statement are in pg_catalog. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logClient":{"type":"boolean","description":"Specifies whether log messages will be visible to a client process such as psql. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logLevel":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`debug1`\" pulumi-lang-dotnet=\"`Debug1`\" pulumi-lang-go=\"`debug1`\" pulumi-lang-python=\"`debug1`\" pulumi-lang-yaml=\"`debug1`\" pulumi-lang-java=\"`debug1`\"\u003e`debug1`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug2`\" pulumi-lang-dotnet=\"`Debug2`\" pulumi-lang-go=\"`debug2`\" pulumi-lang-python=\"`debug2`\" pulumi-lang-yaml=\"`debug2`\" pulumi-lang-java=\"`debug2`\"\u003e`debug2`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug3`\" pulumi-lang-dotnet=\"`Debug3`\" pulumi-lang-go=\"`debug3`\" pulumi-lang-python=\"`debug3`\" pulumi-lang-yaml=\"`debug3`\" pulumi-lang-java=\"`debug3`\"\u003e`debug3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug4`\" pulumi-lang-dotnet=\"`Debug4`\" pulumi-lang-go=\"`debug4`\" pulumi-lang-python=\"`debug4`\" pulumi-lang-yaml=\"`debug4`\" pulumi-lang-java=\"`debug4`\"\u003e`debug4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`debug5`\" pulumi-lang-dotnet=\"`Debug5`\" pulumi-lang-go=\"`debug5`\" pulumi-lang-python=\"`debug5`\" pulumi-lang-yaml=\"`debug5`\" pulumi-lang-java=\"`debug5`\"\u003e`debug5`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`info`\" pulumi-lang-dotnet=\"`Info`\" pulumi-lang-go=\"`info`\" pulumi-lang-python=\"`info`\" pulumi-lang-yaml=\"`info`\" pulumi-lang-java=\"`info`\"\u003e`info`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`notice`\" pulumi-lang-dotnet=\"`Notice`\" pulumi-lang-go=\"`notice`\" pulumi-lang-python=\"`notice`\" pulumi-lang-yaml=\"`notice`\" pulumi-lang-java=\"`notice`\"\u003e`notice`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`warning`\" pulumi-lang-dotnet=\"`Warning`\" pulumi-lang-go=\"`warning`\" pulumi-lang-python=\"`warning`\" pulumi-lang-yaml=\"`warning`\" pulumi-lang-java=\"`warning`\"\u003e`warning`\u003c/span\u003e. Specifies the log level that will be used for log entries. Default: \u003cspan pulumi-lang-nodejs=\"`log`\" pulumi-lang-dotnet=\"`Log`\" pulumi-lang-go=\"`log`\" pulumi-lang-python=\"`log`\" pulumi-lang-yaml=\"`log`\" pulumi-lang-java=\"`log`\"\u003e`log`\u003c/span\u003e.\n"},"logMaxStringLength":{"type":"integer","description":"Crop parameters representation and whole statements if they exceed this threshold. A (default) value of -1 disable the truncation. Default: `-1`.\n"},"logNestedStatements":{"type":"boolean","description":"This GUC allows to turn off logging nested statements, that is, statements that are executed as part of another ExecutorRun. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logParameter":{"type":"boolean","description":"Specifies that audit logging should include the parameters that were passed with the statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logParameterMaxSize":{"type":"integer","description":"Specifies that parameter values longer than this setting (in bytes) should not be logged, but replaced with \u003clong param suppressed\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"logRelation":{"type":"boolean","description":"Specifies whether session audit logging should create a separate log entry for each relation (TABLE, VIEW, etc.) referenced in a SELECT or DML statement. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logRows":{"type":"boolean","description":"Log Rows. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logStatement":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters (if enabled). Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"logStatementOnce":{"type":"boolean","description":"Specifies whether logging will include the statement text and parameters with the first log entry for a statement/substatement combination or with every entry. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"logs":{"type":"array","items":{"type":"string"},"description":"Specifies which classes of statements will be logged by session audit logging.\n"},"role":{"type":"string","description":"Specifies the master role to use for object audit logging.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPgbouncer:getPgPgUserConfigPgbouncer":{"properties":{"autodbIdleTimeout":{"type":"integer","description":"If the automatically created database pools have been unused this many seconds, they are freed. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"autodbMaxDbConnections":{"type":"integer","description":"Do not allow more than this many server connections per database (regardless of user). Setting it to 0 means unlimited. Example: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"autodbPoolMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. PGBouncer pool mode. Default: \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"autodbPoolSize":{"type":"integer","description":"If non-zero then create automatically a pool of that size per user when a pool doesn't exist. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"ignoreStartupParameters":{"type":"array","items":{"type":"string"},"description":"List of parameters to ignore when given in startup packet.\n"},"maxPreparedStatements":{"type":"integer","description":"PgBouncer tracks protocol-level named prepared statements related commands sent by the client in transaction and statement pooling modes when\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003eis set to a non-zero value. Setting it to 0 disables prepared statements.\u003cspan pulumi-lang-nodejs=\" maxPreparedStatements \" pulumi-lang-dotnet=\" MaxPreparedStatements \" pulumi-lang-go=\" maxPreparedStatements \" pulumi-lang-python=\" max_prepared_statements \" pulumi-lang-yaml=\" maxPreparedStatements \" pulumi-lang-java=\" maxPreparedStatements \"\u003e max_prepared_statements \u003c/span\u003edefaults to 100, and its maximum is 3000. Default: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"minPoolSize":{"type":"integer","description":"Add more server connections to pool if below this number. Improves behavior when usual load comes suddenly back after period of total inactivity. The value is effectively capped at the pool size. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"serverIdleTimeout":{"type":"integer","description":"If a server connection has been idle more than this many seconds it will be dropped. If 0 then timeout is disabled. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e.\n"},"serverLifetime":{"type":"integer","description":"The pooler will close an unused server connection that has been connected longer than this. (seconds). Default: \u003cspan pulumi-lang-nodejs=\"`3600`\" pulumi-lang-dotnet=\"`3600`\" pulumi-lang-go=\"`3600`\" pulumi-lang-python=\"`3600`\" pulumi-lang-yaml=\"`3600`\" pulumi-lang-java=\"`3600`\"\u003e`3600`\u003c/span\u003e.\n"},"serverResetQueryAlways":{"type":"boolean","description":"Run\u003cspan pulumi-lang-nodejs=\" serverResetQuery \" pulumi-lang-dotnet=\" ServerResetQuery \" pulumi-lang-go=\" serverResetQuery \" pulumi-lang-python=\" server_reset_query \" pulumi-lang-yaml=\" serverResetQuery \" pulumi-lang-java=\" serverResetQuery \"\u003e server_reset_query \u003c/span\u003e(DISCARD ALL) in all pooling modes. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPglookout:getPgPgUserConfigPglookout":{"properties":{"maxFailoverReplicationTimeLag":{"type":"integer","description":"Number of seconds of master unavailability before triggering database failover to standby. Default: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPrivateAccess:getPgPgUserConfigPrivateAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPrivatelinkAccess:getPgPgUserConfigPrivatelinkAccess":{"properties":{"pg":{"type":"boolean","description":"Enable pg.\n"},"pgbouncer":{"type":"boolean","description":"Enable pgbouncer.\n"},"prometheus":{"type":"boolean","description":"Enable prometheus.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigPublicAccess:getPgPgUserConfigPublicAccess":{"properties":{"pg":{"type":"boolean","description":"Allow clients to connect to pg from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"pgbouncer":{"type":"boolean","description":"Allow clients to connect to pgbouncer from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getPgPgUserConfigSwitchoverWindow:getPgPgUserConfigSwitchoverWindow":{"properties":{"dow":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`friday`\" pulumi-lang-dotnet=\"`Friday`\" pulumi-lang-go=\"`friday`\" pulumi-lang-python=\"`friday`\" pulumi-lang-yaml=\"`friday`\" pulumi-lang-java=\"`friday`\"\u003e`friday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`monday`\" pulumi-lang-dotnet=\"`Monday`\" pulumi-lang-go=\"`monday`\" pulumi-lang-python=\"`monday`\" pulumi-lang-yaml=\"`monday`\" pulumi-lang-java=\"`monday`\"\u003e`monday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`saturday`\" pulumi-lang-dotnet=\"`Saturday`\" pulumi-lang-go=\"`saturday`\" pulumi-lang-python=\"`saturday`\" pulumi-lang-yaml=\"`saturday`\" pulumi-lang-java=\"`saturday`\"\u003e`saturday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`sunday`\" pulumi-lang-dotnet=\"`Sunday`\" pulumi-lang-go=\"`sunday`\" pulumi-lang-python=\"`sunday`\" pulumi-lang-yaml=\"`sunday`\" pulumi-lang-java=\"`sunday`\"\u003e`sunday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thursday`\" pulumi-lang-dotnet=\"`Thursday`\" pulumi-lang-go=\"`thursday`\" pulumi-lang-python=\"`thursday`\" pulumi-lang-yaml=\"`thursday`\" pulumi-lang-java=\"`thursday`\"\u003e`thursday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tuesday`\" pulumi-lang-dotnet=\"`Tuesday`\" pulumi-lang-go=\"`tuesday`\" pulumi-lang-python=\"`tuesday`\" pulumi-lang-yaml=\"`tuesday`\" pulumi-lang-java=\"`tuesday`\"\u003e`tuesday`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`wednesday`\" pulumi-lang-dotnet=\"`Wednesday`\" pulumi-lang-go=\"`wednesday`\" pulumi-lang-python=\"`wednesday`\" pulumi-lang-yaml=\"`wednesday`\" pulumi-lang-java=\"`wednesday`\"\u003e`wednesday`\u003c/span\u003e.\n"},"endTime":{"type":"string","description":"Example: `12:30:00`.\n"},"startTime":{"type":"string","description":"Example: `12:30:00`.\n"}},"type":"object","required":["dow","endTime","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgPgUserConfigTimescaledb:getPgPgUserConfigTimescaledb":{"properties":{"maxBackgroundWorkers":{"type":"integer","description":"The number of background workers for timescaledb operations. You should configure this setting to the sum of your number of databases and the total number of concurrent background workers you want running at any given point in time. Changing this parameter causes a service restart. Default: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getPgServiceIntegration:getPgServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgTag:getPgTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgTechEmail:getPgTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getPgUserTimeouts:getPgUserTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getProjectTag:getProjectTag":{"properties":{"key":{"type":"string","description":"Project tag key.\n"},"value":{"type":"string","description":"Project tag value.\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisComponent:getRedisComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisRedi:getRedisRedi":{"properties":{"password":{"type":"string","description":"Redis password.\n","secret":true},"replicaUri":{"type":"string","description":"Redis replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Redis slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Redis server URIs.\n","secret":true}},"type":"object","required":["password","replicaUri","slaveUris","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisRedisUserConfig:getRedisRedisUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getRedisRedisUserConfigIpFilterObject:getRedisRedisUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/getRedisRedisUserConfigMigration:getRedisRedisUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/getRedisRedisUserConfigPrivateAccess:getRedisRedisUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getRedisRedisUserConfigPrivatelinkAccess:getRedisRedisUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getRedisRedisUserConfigPublicAccess:getRedisRedisUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"redisAclChannelsDefault":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allchannels`\" pulumi-lang-dotnet=\"`Allchannels`\" pulumi-lang-go=\"`allchannels`\" pulumi-lang-python=\"`allchannels`\" pulumi-lang-yaml=\"`allchannels`\" pulumi-lang-java=\"`allchannels`\"\u003e`allchannels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resetchannels`\" pulumi-lang-dotnet=\"`Resetchannels`\" pulumi-lang-go=\"`resetchannels`\" pulumi-lang-python=\"`resetchannels`\" pulumi-lang-yaml=\"`resetchannels`\" pulumi-lang-java=\"`resetchannels`\"\u003e`resetchannels`\u003c/span\u003e. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined,\u003cspan pulumi-lang-nodejs=\" allChannels \" pulumi-lang-dotnet=\" AllChannels \" pulumi-lang-go=\" allChannels \" pulumi-lang-python=\" all_channels \" pulumi-lang-yaml=\" allChannels \" pulumi-lang-java=\" allChannels \"\u003e all_channels \u003c/span\u003eis assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.\n"},"redisIoThreads":{"type":"integer","description":"Set Redis IO thread count. Changing this will cause a restart of the Redis service. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"redisLfuDecayTime":{"type":"integer","description":"LFU maxmemory-policy counter decay time in minutes. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"redisLfuLogFactor":{"type":"integer","description":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"redisMaxmemoryPolicy":{"type":"string","description":"Enum: `allkeys-lfu`, `allkeys-lru`, `allkeys-random`, \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e, `volatile-lfu`, `volatile-lru`, `volatile-random`, `volatile-ttl`. Redis maxmemory-policy. Default: \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e.\n"},"redisNotifyKeyspaceEvents":{"type":"string","description":"Set notify-keyspace-events option.\n"},"redisNumberOfDatabases":{"type":"integer","description":"Set number of Redis databases. Changing this will cause a restart of the Redis service. Example: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"redisPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e, Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to the backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB dumps or backups are done, so data can be lost at any moment if the service is restarted for any reason, or if the service is powered off. Also, the service can't be forked.\n"},"redisPubsubClientOutputBufferLimit":{"type":"integer","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Example: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"redisSsl":{"type":"boolean","description":"Require SSL to access Redis. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"redisTimeout":{"type":"integer","description":"Redis idle connection timeout in seconds. Default: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"redisVersion":{"type":"string","description":"Enum: `7.0`, and newer. Redis major version.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"}},"type":"object"},"aiven:index/getRedisRedisUserConfigIpFilterObject:getRedisRedisUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisRedisUserConfigMigration:getRedisRedisUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisRedisUserConfigPrivateAccess:getRedisRedisUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"redis":{"type":"boolean","description":"Allow clients to connect to redis with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getRedisRedisUserConfigPrivatelinkAccess:getRedisRedisUserConfigPrivatelinkAccess":{"properties":{"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"redis":{"type":"boolean","description":"Enable redis.\n"}},"type":"object"},"aiven:index/getRedisRedisUserConfigPublicAccess:getRedisRedisUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"redis":{"type":"boolean","description":"Allow clients to connect to redis from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getRedisServiceIntegration:getRedisServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisTag:getRedisTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getRedisTechEmail:getRedisTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationClickhouseCredentialsUserConfig:getServiceIntegrationClickhouseCredentialsUserConfig":{"properties":{"grants":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseCredentialsUserConfigGrant:getServiceIntegrationClickhouseCredentialsUserConfigGrant"},"description":"Grants to assign\n"}},"type":"object"},"aiven:index/getServiceIntegrationClickhouseCredentialsUserConfigGrant:getServiceIntegrationClickhouseCredentialsUserConfigGrant":{"properties":{"user":{"type":"string","description":"User or role to assign the grant to. Example: \u003cspan pulumi-lang-nodejs=\"`alice`\" pulumi-lang-dotnet=\"`Alice`\" pulumi-lang-go=\"`alice`\" pulumi-lang-python=\"`alice`\" pulumi-lang-yaml=\"`alice`\" pulumi-lang-java=\"`alice`\"\u003e`alice`\u003c/span\u003e.\n"}},"type":"object","required":["user"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationClickhouseKafkaUserConfig:getServiceIntegrationClickhouseKafkaUserConfig":{"properties":{"tables":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTable:getServiceIntegrationClickhouseKafkaUserConfigTable"},"description":"Array of table configurations that define how Kafka topics are mapped to ClickHouse tables. Each table configuration specifies the table structure, associated Kafka topics, and read/write settings\n"}},"type":"object"},"aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTable:getServiceIntegrationClickhouseKafkaUserConfigTable":{"properties":{"autoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`beginning`\" pulumi-lang-dotnet=\"`Beginning`\" pulumi-lang-go=\"`beginning`\" pulumi-lang-python=\"`beginning`\" pulumi-lang-yaml=\"`beginning`\" pulumi-lang-java=\"`beginning`\"\u003e`beginning`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`end`\" pulumi-lang-dotnet=\"`End`\" pulumi-lang-go=\"`end`\" pulumi-lang-python=\"`end`\" pulumi-lang-yaml=\"`end`\" pulumi-lang-java=\"`end`\"\u003e`end`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`largest`\" pulumi-lang-dotnet=\"`Largest`\" pulumi-lang-go=\"`largest`\" pulumi-lang-python=\"`largest`\" pulumi-lang-yaml=\"`largest`\" pulumi-lang-java=\"`largest`\"\u003e`largest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`smallest`\" pulumi-lang-dotnet=\"`Smallest`\" pulumi-lang-go=\"`smallest`\" pulumi-lang-python=\"`smallest`\" pulumi-lang-yaml=\"`smallest`\" pulumi-lang-java=\"`smallest`\"\u003e`smallest`\u003c/span\u003e. Determines where to start reading from Kafka when no offset is stored or the stored offset is out of range. \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e starts from the beginning, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e starts from the end. Default: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e.\n"},"columns":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTableColumn:getServiceIntegrationClickhouseKafkaUserConfigTableColumn"},"description":"Array of column definitions that specify the structure of the ClickHouse table. Each column maps to a field in the Kafka messages\n"},"dataFormat":{"type":"string","description":"Enum: `Avro`, `AvroConfluent`, `CSV`, `JSONAsString`, `JSONCompactEachRow`, `JSONCompactStringsEachRow`, `JSONEachRow`, `JSONStringsEachRow`, `MsgPack`, `Parquet`, `RawBLOB`, `TSKV`, `TSV`, `TabSeparated`. The format of the messages in the Kafka topics. Determines how ClickHouse parses and serializes the data (e.g., JSON, CSV, Avro). Default: `JSONEachRow`.\n"},"dateTimeInputFormat":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\"\u003e`best_effort`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`bestEffortUs`\" pulumi-lang-dotnet=\"`BestEffortUs`\" pulumi-lang-go=\"`bestEffortUs`\" pulumi-lang-python=\"`best_effort_us`\" pulumi-lang-yaml=\"`bestEffortUs`\" pulumi-lang-java=\"`bestEffortUs`\"\u003e`best_effort_us`\u003c/span\u003e. Specifies how ClickHouse should parse DateTime values from text-based input formats. \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e uses simple parsing, \u003cspan pulumi-lang-nodejs=\"`bestEffort`\" pulumi-lang-dotnet=\"`BestEffort`\" pulumi-lang-go=\"`bestEffort`\" pulumi-lang-python=\"`best_effort`\" pulumi-lang-yaml=\"`bestEffort`\" pulumi-lang-java=\"`bestEffort`\"\u003e`best_effort`\u003c/span\u003e attempts more flexible parsing. Default: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e.\n"},"groupName":{"type":"string","description":"The Kafka consumer group name. Multiple consumers with the same group name will share the workload and maintain offset positions. Default: \u003cspan pulumi-lang-nodejs=\"`clickhouse`\" pulumi-lang-dotnet=\"`Clickhouse`\" pulumi-lang-go=\"`clickhouse`\" pulumi-lang-python=\"`clickhouse`\" pulumi-lang-yaml=\"`clickhouse`\" pulumi-lang-java=\"`clickhouse`\"\u003e`clickhouse`\u003c/span\u003e.\n"},"handleErrorMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stream`\" pulumi-lang-dotnet=\"`Stream`\" pulumi-lang-go=\"`stream`\" pulumi-lang-python=\"`stream`\" pulumi-lang-yaml=\"`stream`\" pulumi-lang-java=\"`stream`\"\u003e`stream`\u003c/span\u003e. Defines how ClickHouse should handle errors when processing Kafka messages. \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e stops on errors, \u003cspan pulumi-lang-nodejs=\"`stream`\" pulumi-lang-dotnet=\"`Stream`\" pulumi-lang-go=\"`stream`\" pulumi-lang-python=\"`stream`\" pulumi-lang-yaml=\"`stream`\" pulumi-lang-java=\"`stream`\"\u003e`stream`\u003c/span\u003e continues processing and logs errors. Default: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"},"maxBlockSize":{"type":"integer","description":"Maximum number of rows to collect before flushing data between Kafka and ClickHouse. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"maxRowsPerMessage":{"type":"integer","description":"Maximum number of rows that can be processed from a single Kafka message for row-based formats. Useful for controlling memory usage. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the ClickHouse table to be created. This table can consume data from and write data to the specified Kafka topics. Example: \u003cspan pulumi-lang-nodejs=\"`events`\" pulumi-lang-dotnet=\"`Events`\" pulumi-lang-go=\"`events`\" pulumi-lang-python=\"`events`\" pulumi-lang-yaml=\"`events`\" pulumi-lang-java=\"`events`\"\u003e`events`\u003c/span\u003e.\n"},"numConsumers":{"type":"integer","description":"Number of Kafka consumers to run per table per replica. Increasing this can improve throughput but may increase resource usage. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"pollMaxBatchSize":{"type":"integer","description":"Maximum number of messages to fetch in a single Kafka poll operation for reading. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"pollMaxTimeoutMs":{"type":"integer","description":"Timeout in milliseconds for a single poll from Kafka. Takes the value of the\u003cspan pulumi-lang-nodejs=\" streamFlushIntervalMs \" pulumi-lang-dotnet=\" StreamFlushIntervalMs \" pulumi-lang-go=\" streamFlushIntervalMs \" pulumi-lang-python=\" stream_flush_interval_ms \" pulumi-lang-yaml=\" streamFlushIntervalMs \" pulumi-lang-java=\" streamFlushIntervalMs \"\u003e stream_flush_interval_ms \u003c/span\u003eserver setting by default (500ms). Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"producerBatchNumMessages":{"type":"integer","description":"The maximum number of messages in a batch sent to Kafka. If the number of messages exceeds this value, the batch is sent. Default: \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e.\n"},"producerBatchSize":{"type":"integer","description":"The maximum size in bytes of a batch of messages sent to Kafka. If the batch size is exceeded, the batch is sent.\n"},"producerCompressionCodec":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. The compression codec to use when sending a batch of messages to Kafka. Default: \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e.\n"},"producerCompressionLevel":{"type":"integer","description":"The compression level to use when sending a batch of messages to Kafka. Usable range is algorithm-dependent: [0-9] for gzip; [0-12] for lz4; only 0 for snappy; -1 = codec-dependent default compression level. Default: `-1`.\n"},"producerLingerMs":{"type":"integer","description":"The time in milliseconds to wait for additional messages before sending a batch. If the time is exceeded, the batch is sent. Default: \u003cspan pulumi-lang-nodejs=\"`5`\" pulumi-lang-dotnet=\"`5`\" pulumi-lang-go=\"`5`\" pulumi-lang-python=\"`5`\" pulumi-lang-yaml=\"`5`\" pulumi-lang-java=\"`5`\"\u003e`5`\u003c/span\u003e.\n"},"producerQueueBufferingMaxKbytes":{"type":"integer","description":"The maximum size of the buffer in kilobytes before sending.\n"},"producerQueueBufferingMaxMessages":{"type":"integer","description":"The maximum number of messages to buffer before sending. Default: \u003cspan pulumi-lang-nodejs=\"`100000`\" pulumi-lang-dotnet=\"`100000`\" pulumi-lang-go=\"`100000`\" pulumi-lang-python=\"`100000`\" pulumi-lang-yaml=\"`100000`\" pulumi-lang-java=\"`100000`\"\u003e`100000`\u003c/span\u003e.\n"},"producerRequestRequiredAcks":{"type":"integer","description":"The number of acknowledgements the leader broker must receive from ISR brokers before responding to the request: 0=Broker does not send any response/ack to client, -1 will block until message is committed by all in sync replicas (ISRs). Default: `-1`.\n"},"skipBrokenMessages":{"type":"integer","description":"Number of broken messages to skip before stopping processing when reading from Kafka. Useful for handling corrupted data without failing the entire integration. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"threadPerConsumer":{"type":"boolean","description":"When enabled, each consumer runs in its own thread, providing better isolation and potentially better performance for high-throughput scenarios. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"topics":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTableTopic:getServiceIntegrationClickhouseKafkaUserConfigTableTopic"},"description":"Array of Kafka topics that this table will read data from or write data to. Messages from all specified topics will be inserted into this table, and data inserted into this table will be published to the topics\n"}},"type":"object","required":["columns","dataFormat","groupName","name","topics"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTableColumn:getServiceIntegrationClickhouseKafkaUserConfigTableColumn":{"properties":{"name":{"type":"string","description":"The name of the column in the ClickHouse table. This should match the field names in your Kafka message format. Example: \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\"\u003e`key`\u003c/span\u003e.\n"},"type":{"type":"string","description":"The ClickHouse data type for this column. Must be a valid ClickHouse data type that can handle the data format. Example: `UInt64`.\n"}},"type":"object","required":["name","type"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationClickhouseKafkaUserConfigTableTopic:getServiceIntegrationClickhouseKafkaUserConfigTableTopic":{"properties":{"name":{"type":"string","description":"The name of the Kafka topic to read messages from or write messages to. The topic must exist in the Kafka cluster. Example: \u003cspan pulumi-lang-nodejs=\"`topicName`\" pulumi-lang-dotnet=\"`TopicName`\" pulumi-lang-go=\"`topicName`\" pulumi-lang-python=\"`topic_name`\" pulumi-lang-yaml=\"`topicName`\" pulumi-lang-java=\"`topicName`\"\u003e`topic_name`\u003c/span\u003e.\n"}},"type":"object","required":["name"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationClickhousePostgresqlUserConfig:getServiceIntegrationClickhousePostgresqlUserConfig":{"properties":{"databases":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhousePostgresqlUserConfigDatabase:getServiceIntegrationClickhousePostgresqlUserConfigDatabase"},"description":"Databases to expose\n"}},"type":"object"},"aiven:index/getServiceIntegrationClickhousePostgresqlUserConfigDatabase:getServiceIntegrationClickhousePostgresqlUserConfigDatabase":{"properties":{"database":{"type":"string","description":"PostgreSQL database to expose. Default: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"schema":{"type":"string","description":"PostgreSQL schema to expose. Default: \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceIntegrationDatadogUserConfig:getServiceIntegrationDatadogUserConfig":{"properties":{"datadogDbmEnabled":{"type":"boolean","description":"Enable Datadog Database Monitoring.\n"},"datadogPgbouncerEnabled":{"type":"boolean","description":"Enable Datadog PgBouncer Metric Tracking.\n"},"datadogTags":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationDatadogUserConfigDatadogTag:getServiceIntegrationDatadogUserConfigDatadogTag"},"description":"Custom tags provided by user\n"},"excludeConsumerGroups":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"excludeTopics":{"type":"array","items":{"type":"string"},"description":"List of topics to exclude.\n"},"includeConsumerGroups":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"includeTopics":{"type":"array","items":{"type":"string"},"description":"List of topics to include.\n"},"kafkaCustomMetrics":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"maxJmxMetrics":{"type":"integer","description":"Maximum number of JMX metrics to send. Example: \u003cspan pulumi-lang-nodejs=\"`2000`\" pulumi-lang-dotnet=\"`2000`\" pulumi-lang-go=\"`2000`\" pulumi-lang-python=\"`2000`\" pulumi-lang-yaml=\"`2000`\" pulumi-lang-java=\"`2000`\"\u003e`2000`\u003c/span\u003e.\n"},"mirrormakerCustomMetrics":{"type":"array","items":{"type":"string"},"description":"List of custom metrics.\n"},"opensearch":{"$ref":"#/types/aiven:index/getServiceIntegrationDatadogUserConfigOpensearch:getServiceIntegrationDatadogUserConfigOpensearch","description":"Datadog Opensearch Options\n"},"redis":{"$ref":"#/types/aiven:index/getServiceIntegrationDatadogUserConfigRedis:getServiceIntegrationDatadogUserConfigRedis","description":"Datadog Redis Options\n"}},"type":"object"},"aiven:index/getServiceIntegrationDatadogUserConfigDatadogTag:getServiceIntegrationDatadogUserConfigDatadogTag":{"properties":{"comment":{"type":"string","description":"Optional tag explanation. Example: `Used to tag primary replica metrics`.\n"},"tag":{"type":"string","description":"Tag format and usage are described here: https://docs.datadoghq.com/getting_started/tagging. Tags with prefix `aiven-` are reserved for Aiven. Example: `replica:primary`.\n"}},"type":"object","required":["tag"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationDatadogUserConfigOpensearch:getServiceIntegrationDatadogUserConfigOpensearch":{"properties":{"clusterStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Cluster Monitoring.\n"},"indexStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Index Monitoring.\n"},"pendingTaskStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Pending Task Monitoring.\n"},"pshardStatsEnabled":{"type":"boolean","description":"Enable Datadog Opensearch Primary Shard Monitoring.\n"}},"type":"object"},"aiven:index/getServiceIntegrationDatadogUserConfigRedis:getServiceIntegrationDatadogUserConfigRedis":{"properties":{"commandStatsEnabled":{"type":"boolean","description":"Enable\u003cspan pulumi-lang-nodejs=\" commandStats \" pulumi-lang-dotnet=\" CommandStats \" pulumi-lang-go=\" commandStats \" pulumi-lang-python=\" command_stats \" pulumi-lang-yaml=\" commandStats \" pulumi-lang-java=\" commandStats \"\u003e command_stats \u003c/span\u003eoption in the agent's configuration. Default: \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceIntegrationEndpointAutoscalerUserConfig:getServiceIntegrationEndpointAutoscalerUserConfig":{"properties":{"autoscalings":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointAutoscalerUserConfigAutoscaling:getServiceIntegrationEndpointAutoscalerUserConfigAutoscaling"},"description":"Configure autoscaling thresholds for a service\n"}},"type":"object","required":["autoscalings"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointAutoscalerUserConfigAutoscaling:getServiceIntegrationEndpointAutoscalerUserConfigAutoscaling":{"properties":{"capGb":{"type":"integer","description":"The maximum total disk size (in gb) to allow autoscaler to scale up to. Example: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"type":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`autoscaleDisk`\" pulumi-lang-dotnet=\"`AutoscaleDisk`\" pulumi-lang-go=\"`autoscaleDisk`\" pulumi-lang-python=\"`autoscale_disk`\" pulumi-lang-yaml=\"`autoscaleDisk`\" pulumi-lang-java=\"`autoscaleDisk`\"\u003e`autoscale_disk`\u003c/span\u003e. Type of autoscale event.\n"}},"type":"object","required":["capGb","type"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointDatadogUserConfig:getServiceIntegrationEndpointDatadogUserConfig":{"properties":{"datadogApiKey":{"type":"string","description":"Datadog API key. Example: \u003cspan pulumi-lang-nodejs=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-dotnet=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-go=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-python=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-yaml=\"`848f30907c15c55d601fe45487cce9b6`\" pulumi-lang-java=\"`848f30907c15c55d601fe45487cce9b6`\"\u003e`848f30907c15c55d601fe45487cce9b6`\u003c/span\u003e.\n","secret":true},"datadogTags":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointDatadogUserConfigDatadogTag:getServiceIntegrationEndpointDatadogUserConfigDatadogTag"},"description":"Custom tags provided by user\n"},"disableConsumerStats":{"type":"boolean","description":"Disable consumer group metrics.\n"},"extraTagsPrefix":{"type":"string","description":"Extra tags prefix. Defaults to aiven.\n"},"kafkaConsumerCheckInstances":{"type":"integer","description":"Number of separate instances to fetch kafka consumer statistics with. Example: \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e.\n"},"kafkaConsumerStatsTimeout":{"type":"integer","description":"Number of seconds that datadog will wait to get consumer statistics from brokers. Example: \u003cspan pulumi-lang-nodejs=\"`60`\" pulumi-lang-dotnet=\"`60`\" pulumi-lang-go=\"`60`\" pulumi-lang-python=\"`60`\" pulumi-lang-yaml=\"`60`\" pulumi-lang-java=\"`60`\"\u003e`60`\u003c/span\u003e.\n"},"maxPartitionContexts":{"type":"integer","description":"Maximum number of partition contexts to send. Example: \u003cspan pulumi-lang-nodejs=\"`32000`\" pulumi-lang-dotnet=\"`32000`\" pulumi-lang-go=\"`32000`\" pulumi-lang-python=\"`32000`\" pulumi-lang-yaml=\"`32000`\" pulumi-lang-java=\"`32000`\"\u003e`32000`\u003c/span\u003e.\n"},"site":{"type":"string","description":"Enum: `ap1.datadoghq.com`, `ap2.datadoghq.com`, `datadoghq.com`, `datadoghq.eu`, `ddog-gov.com`, `us3.datadoghq.com`, `us5.datadoghq.com`. Datadog intake site. Defaults to datadoghq.com.\n"}},"type":"object","required":["datadogApiKey"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointDatadogUserConfigDatadogTag:getServiceIntegrationEndpointDatadogUserConfigDatadogTag":{"properties":{"comment":{"type":"string","description":"Optional tag explanation. Example: `Used to tag primary replica metrics`.\n"},"tag":{"type":"string","description":"Tag format and usage are described here: https://docs.datadoghq.com/getting_started/tagging. Tags with prefix `aiven-` are reserved for Aiven. Example: `replica:primary`.\n"}},"type":"object","required":["tag"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:getServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig":{"properties":{"accessKey":{"type":"string","description":"AWS access key. Required permissions are logs:CreateLogGroup, logs:CreateLogStream, logs:PutLogEvents and logs:DescribeLogStreams. Example: `AAAAAAAAAAAAAAAAAAAA`.\n"},"logGroupName":{"type":"string","description":"AWS CloudWatch log group name. Example: `my-log-group`.\n"},"region":{"type":"string","description":"AWS region. Example: `us-east-1`.\n"},"secretKey":{"type":"string","description":"AWS secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","region","secretKey"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:getServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig":{"properties":{"accessKey":{"type":"string","description":"AWS access key. Required permissions are cloudwatch:PutMetricData. Example: `AAAAAAAAAAAAAAAAAAAA`.\n"},"namespace":{"type":"string","description":"AWS CloudWatch Metrics Namespace. Example: `my-metrics-namespace`.\n"},"region":{"type":"string","description":"AWS region. Example: `us-east-1`.\n"},"secretKey":{"type":"string","description":"AWS secret key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true}},"type":"object","required":["accessKey","namespace","region","secretKey"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalAwsS3UserConfig:getServiceIntegrationEndpointExternalAwsS3UserConfig":{"properties":{"accessKeyId":{"type":"string","description":"Access Key Id. Example: `AAAAAAAAAAAAAAAAAAA`.\n"},"secretAccessKey":{"type":"string","description":"Secret Access Key. Example: `AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA`.\n","secret":true},"url":{"type":"string","description":"S3-compatible bucket URL. Example: `https://mybucket.s3-myregion.amazonaws.com/mydataset/`.\n"}},"type":"object","required":["accessKeyId","secretAccessKey","url"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:getServiceIntegrationEndpointExternalAzureBlobStorageUserConfig":{"properties":{"blobPath":{"type":"string","description":"Blob path. Example: `path/to/blob/file.csv`.\n"},"connectionString":{"type":"string","description":"Azure Blob Storage connection string. Example: `AccountName=IDENT;AccountKey=SECRET`.\n","secret":true},"container":{"type":"string","description":"Container. Example: `container-dev`.\n"}},"type":"object","required":["connectionString","container"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalClickhouseUserConfig:getServiceIntegrationEndpointExternalClickhouseUserConfig":{"properties":{"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Secure TCP server port. Example: \u003cspan pulumi-lang-nodejs=\"`9440`\" pulumi-lang-dotnet=\"`9440`\" pulumi-lang-go=\"`9440`\" pulumi-lang-python=\"`9440`\" pulumi-lang-yaml=\"`9440`\" pulumi-lang-java=\"`9440`\"\u003e`9440`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`default`\" pulumi-lang-dotnet=\"`Default`\" pulumi-lang-go=\"`default`\" pulumi-lang-python=\"`default`\" pulumi-lang-yaml=\"`default`\" pulumi-lang-java=\"`default`\"\u003e`default`\u003c/span\u003e.\n"}},"type":"object","required":["host","password","port","username"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:getServiceIntegrationEndpointExternalElasticsearchLogsUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"indexDaysMax":{"type":"integer","description":"Maximum number of days of logs to keep. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"indexPrefix":{"type":"string","description":"Elasticsearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"Elasticsearch request timeout limit. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Elasticsearch connection URL. Example: `https://user:passwd@logs.example.com/`.\n"}},"type":"object","required":["indexPrefix","url"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalGoogleCloudBigquery:getServiceIntegrationEndpointExternalGoogleCloudBigquery":{"properties":{"projectId":{"type":"string","description":"GCP project id. Example: `snappy-photon-12345`.\n"},"serviceAccountCredentials":{"type":"string","description":"This is a JSON object with the fields documented in https://cloud.google.com/iam/docs/creating-managing-service-account-keys. Example: `{\"type\": \u003cspan pulumi-lang-nodejs=\"\"serviceAccount\"\" pulumi-lang-dotnet=\"\"ServiceAccount\"\" pulumi-lang-go=\"\"serviceAccount\"\" pulumi-lang-python=\"\"service_account\"\" pulumi-lang-yaml=\"\"serviceAccount\"\" pulumi-lang-java=\"\"serviceAccount\"\"\u003e\"service_account\"\u003c/span\u003e, ...`.\n","secret":true}},"type":"object","required":["projectId","serviceAccountCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:getServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig":{"properties":{"logId":{"type":"string","description":"Google Cloud Logging log id. Example: \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"},"projectId":{"type":"string","description":"GCP project id. Example: `snappy-photon-12345`.\n"},"serviceAccountCredentials":{"type":"string","description":"This is a JSON object with the fields documented in https://cloud.google.com/iam/docs/creating-managing-service-account-keys. Example: `{\"type\": \u003cspan pulumi-lang-nodejs=\"\"serviceAccount\"\" pulumi-lang-dotnet=\"\"ServiceAccount\"\" pulumi-lang-go=\"\"serviceAccount\"\" pulumi-lang-python=\"\"service_account\"\" pulumi-lang-yaml=\"\"serviceAccount\"\" pulumi-lang-java=\"\"serviceAccount\"\"\u003e\"service_account\"\u003c/span\u003e, ...`.\n","secret":true}},"type":"object","required":["logId","projectId","serviceAccountCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalKafkaUserConfig:getServiceIntegrationEndpointExternalKafkaUserConfig":{"properties":{"bootstrapServers":{"type":"string","description":"Bootstrap servers. Example: `10.0.0.1:9092,10.0.0.2:9092`.\n"},"saslMechanism":{"type":"string","description":"Enum: `PLAIN`, `SCRAM-SHA-256`, `SCRAM-SHA-512`. SASL mechanism used for connections to the Kafka server.\n"},"saslPlainPassword":{"type":"string","description":"Password for SASL PLAIN mechanism in the Kafka server. Example: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e.\n","secret":true},"saslPlainUsername":{"type":"string","description":"Username for SASL PLAIN mechanism in the Kafka server. Example: \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e.\n"},"securityProtocol":{"type":"string","description":"Enum: `PLAINTEXT`, `SASL_PLAINTEXT`, `SASL_SSL`, `SSL`. Security protocol.\n"},"sslCaCert":{"type":"string","description":"PEM-encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientCert":{"type":"string","description":"PEM-encoded client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientKey":{"type":"string","description":"PEM-encoded client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n`.\n","secret":true},"sslEndpointIdentificationAlgorithm":{"type":"string","description":"Enum: \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. The endpoint identification algorithm to validate server hostname using server certificate.\n"}},"type":"object","required":["bootstrapServers","securityProtocol"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalMysqlUserConfig:getServiceIntegrationEndpointExternalMysqlUserConfig":{"properties":{"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server. Example: \u003cspan pulumi-lang-nodejs=\"`5432`\" pulumi-lang-dotnet=\"`5432`\" pulumi-lang-go=\"`5432`\" pulumi-lang-python=\"`5432`\" pulumi-lang-yaml=\"`5432`\" pulumi-lang-java=\"`5432`\"\u003e`5432`\u003c/span\u003e.\n"},"sslMode":{"type":"string","description":"Enum: `verify-full`. SSL Mode. Default: `verify-full`.\n"},"sslRootCert":{"type":"string","description":"SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","password","port","username"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalOpensearchLogsUserConfig:getServiceIntegrationEndpointExternalOpensearchLogsUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"indexDaysMax":{"type":"integer","description":"Maximum number of days of logs to keep. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"indexPrefix":{"type":"string","description":"OpenSearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"timeout":{"type":"number","description":"OpenSearch request timeout limit. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"url":{"type":"string","description":"OpenSearch connection URL. Example: `https://user:passwd@logs.example.com/`.\n"}},"type":"object","required":["indexPrefix","url"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalPostgresql:getServiceIntegrationEndpointExternalPostgresql":{"properties":{"defaultDatabase":{"type":"string","description":"Default database. Example: \u003cspan pulumi-lang-nodejs=\"`testdb`\" pulumi-lang-dotnet=\"`Testdb`\" pulumi-lang-go=\"`testdb`\" pulumi-lang-python=\"`testdb`\" pulumi-lang-yaml=\"`testdb`\" pulumi-lang-java=\"`testdb`\"\u003e`testdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server. Example: `my.server.com`.\n"},"password":{"type":"string","description":"Password. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server. Example: \u003cspan pulumi-lang-nodejs=\"`5432`\" pulumi-lang-dotnet=\"`5432`\" pulumi-lang-go=\"`5432`\" pulumi-lang-python=\"`5432`\" pulumi-lang-yaml=\"`5432`\" pulumi-lang-java=\"`5432`\"\u003e`5432`\u003c/span\u003e.\n"},"sslClientCertificate":{"type":"string","description":"Client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"sslClientKey":{"type":"string","description":"Client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----`.\n","secret":true},"sslMode":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allow`\" pulumi-lang-dotnet=\"`Allow`\" pulumi-lang-go=\"`allow`\" pulumi-lang-python=\"`allow`\" pulumi-lang-yaml=\"`allow`\" pulumi-lang-java=\"`allow`\"\u003e`allow`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disable`\" pulumi-lang-dotnet=\"`Disable`\" pulumi-lang-go=\"`disable`\" pulumi-lang-python=\"`disable`\" pulumi-lang-yaml=\"`disable`\" pulumi-lang-java=\"`disable`\"\u003e`disable`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prefer`\" pulumi-lang-dotnet=\"`Prefer`\" pulumi-lang-go=\"`prefer`\" pulumi-lang-python=\"`prefer`\" pulumi-lang-yaml=\"`prefer`\" pulumi-lang-java=\"`prefer`\"\u003e`prefer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`require`\" pulumi-lang-dotnet=\"`Require`\" pulumi-lang-go=\"`require`\" pulumi-lang-python=\"`require`\" pulumi-lang-yaml=\"`require`\" pulumi-lang-java=\"`require`\"\u003e`require`\u003c/span\u003e, `verify-ca`, `verify-full`. SSL mode to use for the connection. Please note that Aiven requires TLS for all connections to external PostgreSQL services. Default: `verify-full`.\n"},"sslRootCert":{"type":"string","description":"SSL Root Cert. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"username":{"type":"string","description":"User name. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port","username"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointExternalPrometheusUserConfig:getServiceIntegrationEndpointExternalPrometheusUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Prometheus basic authentication password. Example: `fhyFNBjj3R`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Prometheus basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`prom4851`\" pulumi-lang-dotnet=\"`Prom4851`\" pulumi-lang-go=\"`prom4851`\" pulumi-lang-python=\"`prom4851`\" pulumi-lang-yaml=\"`prom4851`\" pulumi-lang-java=\"`prom4851`\"\u003e`prom4851`\u003c/span\u003e.\n"},"serviceUri":{"type":"string","description":"Prometheus enabled write endpoint. Example: `https://write.example.com/`.\n"}},"type":"object"},"aiven:index/getServiceIntegrationEndpointExternalSchemaRegistryUserConfig:getServiceIntegrationEndpointExternalSchemaRegistryUserConfig":{"properties":{"authentication":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e. Authentication method.\n"},"basicAuthPassword":{"type":"string","description":"Basic authentication password. Example: `Zm9vYg==`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Basic authentication user name. Example: \u003cspan pulumi-lang-nodejs=\"`avnadmin`\" pulumi-lang-dotnet=\"`Avnadmin`\" pulumi-lang-go=\"`avnadmin`\" pulumi-lang-python=\"`avnadmin`\" pulumi-lang-yaml=\"`avnadmin`\" pulumi-lang-java=\"`avnadmin`\"\u003e`avnadmin`\u003c/span\u003e.\n"},"url":{"type":"string","description":"Schema Registry URL. Example: `https://schema-registry.kafka.company.com:28419`.\n"}},"type":"object","required":["authentication","url"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationEndpointJolokiaUserConfig:getServiceIntegrationEndpointJolokiaUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Jolokia basic authentication password. Example: `yhfBNFii4C`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Jolokia basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`jol48k51`\" pulumi-lang-dotnet=\"`Jol48k51`\" pulumi-lang-go=\"`jol48k51`\" pulumi-lang-python=\"`jol48k51`\" pulumi-lang-yaml=\"`jol48k51`\" pulumi-lang-java=\"`jol48k51`\"\u003e`jol48k51`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceIntegrationEndpointPrometheusUserConfig:getServiceIntegrationEndpointPrometheusUserConfig":{"properties":{"basicAuthPassword":{"type":"string","description":"Prometheus basic authentication password. Example: `fhyFNBjj3R`.\n","secret":true},"basicAuthUsername":{"type":"string","description":"Prometheus basic authentication username. Example: \u003cspan pulumi-lang-nodejs=\"`prom4851`\" pulumi-lang-dotnet=\"`Prom4851`\" pulumi-lang-go=\"`prom4851`\" pulumi-lang-python=\"`prom4851`\" pulumi-lang-yaml=\"`prom4851`\" pulumi-lang-java=\"`prom4851`\"\u003e`prom4851`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceIntegrationEndpointRsyslogUserConfig:getServiceIntegrationEndpointRsyslogUserConfig":{"properties":{"ca":{"type":"string","description":"PEM encoded CA certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"cert":{"type":"string","description":"PEM encoded client certificate. Example: `-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n`.\n"},"format":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`custom`\" pulumi-lang-dotnet=\"`Custom`\" pulumi-lang-go=\"`custom`\" pulumi-lang-python=\"`custom`\" pulumi-lang-yaml=\"`custom`\" pulumi-lang-java=\"`custom`\"\u003e`custom`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rfc3164`\" pulumi-lang-dotnet=\"`Rfc3164`\" pulumi-lang-go=\"`rfc3164`\" pulumi-lang-python=\"`rfc3164`\" pulumi-lang-yaml=\"`rfc3164`\" pulumi-lang-java=\"`rfc3164`\"\u003e`rfc3164`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rfc5424`\" pulumi-lang-dotnet=\"`Rfc5424`\" pulumi-lang-go=\"`rfc5424`\" pulumi-lang-python=\"`rfc5424`\" pulumi-lang-yaml=\"`rfc5424`\" pulumi-lang-java=\"`rfc5424`\"\u003e`rfc5424`\u003c/span\u003e. Message format. Default: \u003cspan pulumi-lang-nodejs=\"`rfc5424`\" pulumi-lang-dotnet=\"`Rfc5424`\" pulumi-lang-go=\"`rfc5424`\" pulumi-lang-python=\"`rfc5424`\" pulumi-lang-yaml=\"`rfc5424`\" pulumi-lang-java=\"`rfc5424`\"\u003e`rfc5424`\u003c/span\u003e.\n"},"key":{"type":"string","description":"PEM encoded client key. Example: `-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n`.\n","secret":true},"logline":{"type":"string","description":"Custom syslog message format. Example: `\u003c%pri%\u003e%timestamp:::date-rfc3339% %HOSTNAME% %app-name% %msg%`.\n"},"maxMessageSize":{"type":"integer","description":"Rsyslog max message size. Default: \u003cspan pulumi-lang-nodejs=\"`8192`\" pulumi-lang-dotnet=\"`8192`\" pulumi-lang-go=\"`8192`\" pulumi-lang-python=\"`8192`\" pulumi-lang-yaml=\"`8192`\" pulumi-lang-java=\"`8192`\"\u003e`8192`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Rsyslog server port. Default: \u003cspan pulumi-lang-nodejs=\"`514`\" pulumi-lang-dotnet=\"`514`\" pulumi-lang-go=\"`514`\" pulumi-lang-python=\"`514`\" pulumi-lang-yaml=\"`514`\" pulumi-lang-java=\"`514`\"\u003e`514`\u003c/span\u003e.\n"},"sd":{"type":"string","description":"Structured data block for log message. Example: `TOKEN tag=\"LiteralValue\"`.\n"},"server":{"type":"string","description":"Rsyslog server IP address or hostname. Example: `logs.example.com`.\n"},"tls":{"type":"boolean","description":"Require TLS. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object","required":["format","port","server","tls"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationExternalAwsCloudwatchLogsUserConfig:getServiceIntegrationExternalAwsCloudwatchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfig":{"properties":{"droppedMetrics":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric"},"description":"Metrics to not send to AWS CloudWatch (takes precedence over extra_metrics)\n"},"extraMetrics":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric"},"description":"Metrics to allow through to AWS CloudWatch (in addition to default metrics)\n"}},"type":"object"},"aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigDroppedMetric":{"properties":{"field":{"type":"string","description":"Identifier of a value in the metric. Example: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"metric":{"type":"string","description":"Identifier of the metric. Example: `java.lang:Memory`.\n"}},"type":"object","required":["field","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfigExtraMetric":{"properties":{"field":{"type":"string","description":"Identifier of a value in the metric. Example: \u003cspan pulumi-lang-nodejs=\"`used`\" pulumi-lang-dotnet=\"`Used`\" pulumi-lang-go=\"`used`\" pulumi-lang-python=\"`used`\" pulumi-lang-yaml=\"`used`\" pulumi-lang-java=\"`used`\"\u003e`used`\u003c/span\u003e.\n"},"metric":{"type":"string","description":"Identifier of the metric. Example: `java.lang:Memory`.\n"}},"type":"object","required":["field","metric"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationExternalElasticsearchLogsUserConfig:getServiceIntegrationExternalElasticsearchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/getServiceIntegrationExternalOpensearchLogsUserConfig:getServiceIntegrationExternalOpensearchLogsUserConfig":{"properties":{"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/getServiceIntegrationFlinkExternalPostgresqlUserConfig:getServiceIntegrationFlinkExternalPostgresqlUserConfig":{"properties":{"stringtype":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`unspecified`\" pulumi-lang-dotnet=\"`Unspecified`\" pulumi-lang-go=\"`unspecified`\" pulumi-lang-python=\"`unspecified`\" pulumi-lang-yaml=\"`unspecified`\" pulumi-lang-java=\"`unspecified`\"\u003e`unspecified`\u003c/span\u003e. If stringtype is set to unspecified, parameters will be sent to the server as untyped values.\n"}},"type":"object"},"aiven:index/getServiceIntegrationKafkaConnectUserConfig:getServiceIntegrationKafkaConnectUserConfig":{"properties":{"kafkaConnect":{"$ref":"#/types/aiven:index/getServiceIntegrationKafkaConnectUserConfigKafkaConnect:getServiceIntegrationKafkaConnectUserConfigKafkaConnect","description":"Kafka Connect service configuration values\n"}},"type":"object"},"aiven:index/getServiceIntegrationKafkaConnectUserConfigKafkaConnect:getServiceIntegrationKafkaConnectUserConfigKafkaConnect":{"properties":{"configStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration data are stored.This must be the same for all workers with the same group_id. Example: `__connect_configs`.\n"},"groupId":{"type":"string","description":"A unique string that identifies the Connect cluster group this worker belongs to. Example: \u003cspan pulumi-lang-nodejs=\"`connect`\" pulumi-lang-dotnet=\"`Connect`\" pulumi-lang-go=\"`connect`\" pulumi-lang-python=\"`connect`\" pulumi-lang-yaml=\"`connect`\" pulumi-lang-java=\"`connect`\"\u003e`connect`\u003c/span\u003e.\n"},"offsetStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration offsets are stored.This must be the same for all workers with the same group_id. Example: `__connect_offsets`.\n"},"statusStorageTopic":{"type":"string","description":"The name of the topic where connector and task configuration status updates are stored.This must be the same for all workers with the same group_id. Example: `__connect_status`.\n"}},"type":"object"},"aiven:index/getServiceIntegrationKafkaLogsUserConfig:getServiceIntegrationKafkaLogsUserConfig":{"properties":{"kafkaTopic":{"type":"string","description":"Topic name. Example: \u003cspan pulumi-lang-nodejs=\"`mytopic`\" pulumi-lang-dotnet=\"`Mytopic`\" pulumi-lang-go=\"`mytopic`\" pulumi-lang-python=\"`mytopic`\" pulumi-lang-yaml=\"`mytopic`\" pulumi-lang-java=\"`mytopic`\"\u003e`mytopic`\u003c/span\u003e.\n"},"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object","required":["kafkaTopic"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceIntegrationKafkaMirrormakerUserConfig:getServiceIntegrationKafkaMirrormakerUserConfig":{"properties":{"clusterAlias":{"type":"string","description":"The alias under which the Kafka cluster is known to MirrorMaker. Can contain the following symbols: ASCII alphanumerics, `.`, `_`, and `-`. Example: `kafka-abc`.\n"},"kafkaMirrormaker":{"$ref":"#/types/aiven:index/getServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker:getServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker","description":"Kafka MirrorMaker configuration values\n"}},"type":"object"},"aiven:index/getServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker:getServiceIntegrationKafkaMirrormakerUserConfigKafkaMirrormaker":{"properties":{"consumerAutoOffsetReset":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e. Set where consumer starts to consume data. Value \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e: Start replication from the earliest offset. Value \u003cspan pulumi-lang-nodejs=\"`latest`\" pulumi-lang-dotnet=\"`Latest`\" pulumi-lang-go=\"`latest`\" pulumi-lang-python=\"`latest`\" pulumi-lang-yaml=\"`latest`\" pulumi-lang-java=\"`latest`\"\u003e`latest`\u003c/span\u003e: Start replication from the latest offset. Default is \u003cspan pulumi-lang-nodejs=\"`earliest`\" pulumi-lang-dotnet=\"`Earliest`\" pulumi-lang-go=\"`earliest`\" pulumi-lang-python=\"`earliest`\" pulumi-lang-yaml=\"`earliest`\" pulumi-lang-java=\"`earliest`\"\u003e`earliest`\u003c/span\u003e.\n"},"consumerFetchMinBytes":{"type":"integer","description":"The minimum amount of data the server should return for a fetch request. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"consumerMaxPollRecords":{"type":"integer","description":"Set consumer max.poll.records. The default is 500. Example: \u003cspan pulumi-lang-nodejs=\"`500`\" pulumi-lang-dotnet=\"`500`\" pulumi-lang-go=\"`500`\" pulumi-lang-python=\"`500`\" pulumi-lang-yaml=\"`500`\" pulumi-lang-java=\"`500`\"\u003e`500`\u003c/span\u003e.\n"},"producerBatchSize":{"type":"integer","description":"The batch size in bytes producer will attempt to collect before publishing to broker. Example: \u003cspan pulumi-lang-nodejs=\"`1024`\" pulumi-lang-dotnet=\"`1024`\" pulumi-lang-go=\"`1024`\" pulumi-lang-python=\"`1024`\" pulumi-lang-yaml=\"`1024`\" pulumi-lang-java=\"`1024`\"\u003e`1024`\u003c/span\u003e.\n"},"producerBufferMemory":{"type":"integer","description":"The amount of bytes producer can use for buffering data before publishing to broker.\n"},"producerCompressionType":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e. Specify the default compression type for producers. This configuration accepts the standard compression codecs (\u003cspan pulumi-lang-nodejs=\"`gzip`\" pulumi-lang-dotnet=\"`Gzip`\" pulumi-lang-go=\"`gzip`\" pulumi-lang-python=\"`gzip`\" pulumi-lang-yaml=\"`gzip`\" pulumi-lang-java=\"`gzip`\"\u003e`gzip`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`snappy`\" pulumi-lang-dotnet=\"`Snappy`\" pulumi-lang-go=\"`snappy`\" pulumi-lang-python=\"`snappy`\" pulumi-lang-yaml=\"`snappy`\" pulumi-lang-java=\"`snappy`\"\u003e`snappy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`lz4`\" pulumi-lang-dotnet=\"`Lz4`\" pulumi-lang-go=\"`lz4`\" pulumi-lang-python=\"`lz4`\" pulumi-lang-yaml=\"`lz4`\" pulumi-lang-java=\"`lz4`\"\u003e`lz4`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`zstd`\" pulumi-lang-dotnet=\"`Zstd`\" pulumi-lang-go=\"`zstd`\" pulumi-lang-python=\"`zstd`\" pulumi-lang-yaml=\"`zstd`\" pulumi-lang-java=\"`zstd`\"\u003e`zstd`\u003c/span\u003e). It additionally accepts \u003cspan pulumi-lang-nodejs=\"`none`\" pulumi-lang-dotnet=\"`None`\" pulumi-lang-go=\"`none`\" pulumi-lang-python=\"`none`\" pulumi-lang-yaml=\"`none`\" pulumi-lang-java=\"`none`\"\u003e`none`\u003c/span\u003e which is the default and equivalent to no compression.\n"},"producerLingerMs":{"type":"integer","description":"The linger time (ms) for waiting new data to arrive for publishing. Example: \u003cspan pulumi-lang-nodejs=\"`100`\" pulumi-lang-dotnet=\"`100`\" pulumi-lang-go=\"`100`\" pulumi-lang-python=\"`100`\" pulumi-lang-yaml=\"`100`\" pulumi-lang-java=\"`100`\"\u003e`100`\u003c/span\u003e.\n"},"producerMaxRequestSize":{"type":"integer","description":"The maximum request size in bytes.\n"}},"type":"object"},"aiven:index/getServiceIntegrationLogsUserConfig:getServiceIntegrationLogsUserConfig":{"properties":{"elasticsearchIndexDaysMax":{"type":"integer","description":"Elasticsearch index retention limit. Default: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"elasticsearchIndexPrefix":{"type":"string","description":"Elasticsearch index prefix. Default: \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e.\n"},"selectedLogFields":{"type":"array","items":{"type":"string"},"description":"The list of logging fields that will be sent to the integration logging service. The MESSAGE and timestamp fields are always sent.\n"}},"type":"object"},"aiven:index/getServiceIntegrationMetricsUserConfig:getServiceIntegrationMetricsUserConfig":{"properties":{"database":{"type":"string","description":"Name of the database where to store metric datapoints. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"},"retentionDays":{"type":"integer","description":"Number of days to keep old metrics. Only affects PostgreSQL destinations. Set to 0 for no automatic cleanup. Defaults to 30 days.\n"},"roUsername":{"type":"string","description":"Name of a user that can be used to read metrics. This will be used for Grafana integration (if enabled) to prevent Grafana users from making undesired changes. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metricsReader`\" pulumi-lang-dotnet=\"`MetricsReader`\" pulumi-lang-go=\"`metricsReader`\" pulumi-lang-python=\"`metrics_reader`\" pulumi-lang-yaml=\"`metricsReader`\" pulumi-lang-java=\"`metricsReader`\"\u003e`metrics_reader`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"},"sourceMysql":{"$ref":"#/types/aiven:index/getServiceIntegrationMetricsUserConfigSourceMysql:getServiceIntegrationMetricsUserConfigSourceMysql","description":"Configuration options for metrics where source service is MySQL\n"},"username":{"type":"string","description":"Name of the user used to write metrics. Only affects PostgreSQL destinations. Defaults to \u003cspan pulumi-lang-nodejs=\"`metricsWriter`\" pulumi-lang-dotnet=\"`MetricsWriter`\" pulumi-lang-go=\"`metricsWriter`\" pulumi-lang-python=\"`metrics_writer`\" pulumi-lang-yaml=\"`metricsWriter`\" pulumi-lang-java=\"`metricsWriter`\"\u003e`metrics_writer`\u003c/span\u003e. Note that this must be the same for all metrics integrations that write data to the same PostgreSQL service.\n"}},"type":"object"},"aiven:index/getServiceIntegrationMetricsUserConfigSourceMysql:getServiceIntegrationMetricsUserConfigSourceMysql":{"properties":{"telegraf":{"$ref":"#/types/aiven:index/getServiceIntegrationMetricsUserConfigSourceMysqlTelegraf:getServiceIntegrationMetricsUserConfigSourceMysqlTelegraf","description":"Configuration options for Telegraf MySQL input plugin\n"}},"type":"object"},"aiven:index/getServiceIntegrationMetricsUserConfigSourceMysqlTelegraf:getServiceIntegrationMetricsUserConfigSourceMysqlTelegraf":{"properties":{"gatherEventWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS.\n"},"gatherFileEventsStats":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME.\n"},"gatherIndexIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE.\n"},"gatherInfoSchemaAutoInc":{"type":"boolean","description":"Gather\u003cspan pulumi-lang-nodejs=\" autoIncrement \" pulumi-lang-dotnet=\" AutoIncrement \" pulumi-lang-go=\" autoIncrement \" pulumi-lang-python=\" auto_increment \" pulumi-lang-yaml=\" autoIncrement \" pulumi-lang-java=\" autoIncrement \"\u003e auto_increment \u003c/span\u003ecolumns and max values from information schema.\n"},"gatherInnodbMetrics":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.INNODB_METRICS.\n"},"gatherPerfEventsStatements":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.\n"},"gatherProcessList":{"type":"boolean","description":"Gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST.\n"},"gatherReplicaStatus":{"type":"boolean","description":"Gather metrics from SHOW REPLICA STATUS command output.\n"},"gatherSlaveStatus":{"type":"boolean","description":"Gather metrics from SHOW SLAVE STATUS command output.\n"},"gatherTableIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE.\n"},"gatherTableLockWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS.\n"},"gatherTableSchema":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.TABLES.\n"},"perfEventsStatementsDigestTextLimit":{"type":"integer","description":"Truncates digest text from\u003cspan pulumi-lang-nodejs=\" perfEventsStatements \" pulumi-lang-dotnet=\" PerfEventsStatements \" pulumi-lang-go=\" perfEventsStatements \" pulumi-lang-python=\" perf_events_statements \" pulumi-lang-yaml=\" perfEventsStatements \" pulumi-lang-java=\" perfEventsStatements \"\u003e perf_events_statements \u003c/span\u003einto this many characters. Example: \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"perfEventsStatementsLimit":{"type":"integer","description":"Limits metrics from perf_events_statements. Example: \u003cspan pulumi-lang-nodejs=\"`250`\" pulumi-lang-dotnet=\"`250`\" pulumi-lang-go=\"`250`\" pulumi-lang-python=\"`250`\" pulumi-lang-yaml=\"`250`\" pulumi-lang-java=\"`250`\"\u003e`250`\u003c/span\u003e.\n"},"perfEventsStatementsTimeLimit":{"type":"integer","description":"Only include\u003cspan pulumi-lang-nodejs=\" perfEventsStatements \" pulumi-lang-dotnet=\" PerfEventsStatements \" pulumi-lang-go=\" perfEventsStatements \" pulumi-lang-python=\" perf_events_statements \" pulumi-lang-yaml=\" perfEventsStatements \" pulumi-lang-java=\" perfEventsStatements \"\u003e perf_events_statements \u003c/span\u003ewhose last seen is less than this many seconds. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceIntegrationPrometheusUserConfig:getServiceIntegrationPrometheusUserConfig":{"properties":{"sourceMysql":{"$ref":"#/types/aiven:index/getServiceIntegrationPrometheusUserConfigSourceMysql:getServiceIntegrationPrometheusUserConfigSourceMysql","description":"Configuration options for metrics where source service is MySQL\n"}},"type":"object"},"aiven:index/getServiceIntegrationPrometheusUserConfigSourceMysql:getServiceIntegrationPrometheusUserConfigSourceMysql":{"properties":{"telegraf":{"$ref":"#/types/aiven:index/getServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf:getServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf","description":"Configuration options for Telegraf MySQL input plugin\n"}},"type":"object"},"aiven:index/getServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf:getServiceIntegrationPrometheusUserConfigSourceMysqlTelegraf":{"properties":{"gatherEventWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.EVENT_WAITS.\n"},"gatherFileEventsStats":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.FILE_SUMMARY_BY_EVENT_NAME.\n"},"gatherIndexIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_INDEX_USAGE.\n"},"gatherInfoSchemaAutoInc":{"type":"boolean","description":"Gather\u003cspan pulumi-lang-nodejs=\" autoIncrement \" pulumi-lang-dotnet=\" AutoIncrement \" pulumi-lang-go=\" autoIncrement \" pulumi-lang-python=\" auto_increment \" pulumi-lang-yaml=\" autoIncrement \" pulumi-lang-java=\" autoIncrement \"\u003e auto_increment \u003c/span\u003ecolumns and max values from information schema.\n"},"gatherInnodbMetrics":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.INNODB_METRICS.\n"},"gatherPerfEventsStatements":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.EVENTS_STATEMENTS_SUMMARY_BY_DIGEST.\n"},"gatherProcessList":{"type":"boolean","description":"Gather thread state counts from INFORMATION_SCHEMA.PROCESSLIST.\n"},"gatherReplicaStatus":{"type":"boolean","description":"Gather metrics from SHOW REPLICA STATUS command output.\n"},"gatherSlaveStatus":{"type":"boolean","description":"Gather metrics from SHOW SLAVE STATUS command output.\n"},"gatherTableIoWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_IO_WAITS_SUMMARY_BY_TABLE.\n"},"gatherTableLockWaits":{"type":"boolean","description":"Gather metrics from PERFORMANCE_SCHEMA.TABLE_LOCK_WAITS.\n"},"gatherTableSchema":{"type":"boolean","description":"Gather metrics from INFORMATION_SCHEMA.TABLES.\n"},"perfEventsStatementsDigestTextLimit":{"type":"integer","description":"Truncates digest text from\u003cspan pulumi-lang-nodejs=\" perfEventsStatements \" pulumi-lang-dotnet=\" PerfEventsStatements \" pulumi-lang-go=\" perfEventsStatements \" pulumi-lang-python=\" perf_events_statements \" pulumi-lang-yaml=\" perfEventsStatements \" pulumi-lang-java=\" perfEventsStatements \"\u003e perf_events_statements \u003c/span\u003einto this many characters. Example: \u003cspan pulumi-lang-nodejs=\"`120`\" pulumi-lang-dotnet=\"`120`\" pulumi-lang-go=\"`120`\" pulumi-lang-python=\"`120`\" pulumi-lang-yaml=\"`120`\" pulumi-lang-java=\"`120`\"\u003e`120`\u003c/span\u003e.\n"},"perfEventsStatementsLimit":{"type":"integer","description":"Limits metrics from perf_events_statements. Example: \u003cspan pulumi-lang-nodejs=\"`250`\" pulumi-lang-dotnet=\"`250`\" pulumi-lang-go=\"`250`\" pulumi-lang-python=\"`250`\" pulumi-lang-yaml=\"`250`\" pulumi-lang-java=\"`250`\"\u003e`250`\u003c/span\u003e.\n"},"perfEventsStatementsTimeLimit":{"type":"integer","description":"Only include\u003cspan pulumi-lang-nodejs=\" perfEventsStatements \" pulumi-lang-dotnet=\" PerfEventsStatements \" pulumi-lang-go=\" perfEventsStatements \" pulumi-lang-python=\" perf_events_statements \" pulumi-lang-yaml=\" perfEventsStatements \" pulumi-lang-java=\" perfEventsStatements \"\u003e perf_events_statements \u003c/span\u003ewhose last seen is less than this many seconds. Example: \u003cspan pulumi-lang-nodejs=\"`86400`\" pulumi-lang-dotnet=\"`86400`\" pulumi-lang-go=\"`86400`\" pulumi-lang-python=\"`86400`\" pulumi-lang-yaml=\"`86400`\" pulumi-lang-java=\"`86400`\"\u003e`86400`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getServiceListService:getServiceListService":{"properties":{"cloudDescription":{"type":"string","description":"Cloud provider and location.\n"},"cloudName":{"type":"string","description":"Target cloud.\n"},"createTime":{"type":"string","description":"Service creation timestamp (ISO 8601).\n"},"diskSpaceMb":{"type":"integer","description":"Megabytes of disk space for data storage.\n"},"nodeCount":{"type":"integer","description":"Number of service nodes in the active plan.\n"},"nodeCpuCount":{"type":"integer","description":"Number of CPUs for each node.\n"},"nodeMemoryMb":{"type":"number","description":"Megabytes of memory for each node.\n"},"plan":{"type":"string","description":"Subscription plan.\n"},"projectVpcId":{"type":"string","description":"Project VPC ID.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"serviceType":{"type":"string","description":"Service type code.\n"},"serviceTypeDescription":{"type":"string","description":"Single line description of the service.\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service (may be null).\n","secret":true},"state":{"type":"string","description":"State of the service. The possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` and `RUNNING`.\n"},"terminationProtection":{"type":"boolean","description":"Service is protected against termination and powering off.\n"},"updateTime":{"type":"string","description":"Service last update timestamp (ISO 8601).\n"}},"type":"object","required":["cloudDescription","cloudName","createTime","diskSpaceMb","nodeCount","nodeCpuCount","nodeMemoryMb","plan","projectVpcId","serviceName","serviceType","serviceTypeDescription","serviceUri","state","terminationProtection","updateTime"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServiceListTimeouts:getServiceListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getServicePlanBackupConfig:getServicePlanBackupConfig":{"properties":{"frequentIntervalMinutes":{"type":"integer","description":"Interval of taking a frequent backup in service types supporting different backup schedules.\n"},"frequentOldestAgeMinutes":{"type":"integer","description":"Maximum age of the oldest frequent backup in service types supporting different backup schedules.\n"},"infrequentIntervalMinutes":{"type":"integer","description":"Interval of taking an infrequent backup in service types supporting different backup schedules.\n"},"infrequentOldestAgeMinutes":{"type":"integer","description":"Maximum age of the oldest infrequent backup in service types supporting different backup schedules.\n"},"interval":{"type":"integer","description":"The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that.\n"},"maxCount":{"type":"integer","description":"Maximum number of backups to keep. Zero when no backups are created.\n"},"recoveryMode":{"type":"string","description":"Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot. The possible values are \u003cspan pulumi-lang-nodejs=\"`basic`\" pulumi-lang-dotnet=\"`Basic`\" pulumi-lang-go=\"`basic`\" pulumi-lang-python=\"`basic`\" pulumi-lang-yaml=\"`basic`\" pulumi-lang-java=\"`basic`\"\u003e`basic`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`pitr`\" pulumi-lang-dotnet=\"`Pitr`\" pulumi-lang-go=\"`pitr`\" pulumi-lang-python=\"`pitr`\" pulumi-lang-yaml=\"`pitr`\" pulumi-lang-java=\"`pitr`\"\u003e`pitr`\u003c/span\u003e.\n"}},"type":"object","required":["frequentIntervalMinutes","frequentOldestAgeMinutes","infrequentIntervalMinutes","infrequentOldestAgeMinutes","interval","maxCount","recoveryMode"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServicePlanListServicePlan:getServicePlanListServicePlan":{"properties":{"maxMemoryPercent":{"type":"integer","description":"Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load.\n"},"nodeCount":{"type":"integer","description":"Number of nodes in this service plan.\n"},"regions":{"type":"object","additionalProperties":{"$ref":"#/types/aiven:index/getServicePlanListServicePlanRegions:getServicePlanListServicePlanRegions"},"description":"Service plan hourly price per cloud region.\n"},"servicePlan":{"type":"string","description":"Subscription plan.\n"},"serviceType":{"type":"string","description":"Service type code.\n"},"shardCount":{"type":"integer","description":"Number of shards in this service plan.\n"}},"type":"object","required":["maxMemoryPercent","nodeCount","regions","servicePlan","serviceType","shardCount"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServicePlanListServicePlanRegions:getServicePlanListServicePlanRegions":{"properties":{"diskSpaceCapMb":{"type":"integer","description":"Maximum amount of disk space possible for the plan in the given region.\n"},"diskSpaceGbPriceUsd":{"type":"string","description":"Hourly additional disk space price per GiB in this region.\n"},"diskSpaceMb":{"type":"integer","description":"Combined amount of service disk space of all service nodes in megabytes.\n"},"diskSpaceStepMb":{"type":"integer","description":"Disk space change step size.\n"},"nodeCpuCount":{"type":"integer","description":"Number of CPU cores on each service node.\n"},"nodeMemoryMb":{"type":"integer","description":"Amount of memory on each service node in megabytes.\n"},"objectStorageGbPriceUsd":{"type":"string","description":"Hourly object storage price per GiB in this region.\n"},"priceUsd":{"type":"string","description":"Hourly service price in this region.\n"}},"type":"object","required":["diskSpaceCapMb","diskSpaceGbPriceUsd","diskSpaceMb","diskSpaceStepMb","nodeCpuCount","nodeMemoryMb","objectStorageGbPriceUsd","priceUsd"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getServicePlanListTimeouts:getServicePlanListTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getServicePlanTimeouts:getServicePlanTimeouts":{"properties":{"read":{"type":"string","description":"A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as \"30s\" or \"2h45m\". Valid time units are \"s\" (seconds), \"m\" (minutes), \"h\" (hours).\n"}},"type":"object"},"aiven:index/getThanosComponent:getThanosComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosServiceIntegration:getThanosServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosTag:getThanosTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosTechEmail:getThanosTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosThano:getThanosThano":{"properties":{"queryFrontendUri":{"type":"string","description":"Query frontend URI.\n","secret":true},"queryUri":{"type":"string","description":"Query URI.\n","secret":true},"receiverRemoteWriteUri":{"type":"string","description":"Receiver remote write URI.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Thanos server URIs.\n","secret":true}},"type":"object","required":["queryFrontendUri","queryUri","receiverRemoteWriteUri","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosThanosUserConfig:getThanosThanosUserConfig":{"properties":{"compactor":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigCompactor:getThanosThanosUserConfigCompactor","description":"Configuration options for Thanos Compactor\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"Environmental variables.\n","deprecationMessage":"This property is deprecated."},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigIpFilterObject:getThanosThanosUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"objectStorageUsageAlertThresholdGb":{"type":"integer","description":"After exceeding the limit a service alert is going to be raised (0 means not set).\n"},"privateAccess":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigPrivateAccess:getThanosThanosUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigPrivatelinkAccess:getThanosThanosUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"publicAccess":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigPublicAccess:getThanosThanosUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"query":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigQuery:getThanosThanosUserConfigQuery","description":"Configuration options for Thanos Query\n"},"queryFrontend":{"$ref":"#/types/aiven:index/getThanosThanosUserConfigQueryFrontend:getThanosThanosUserConfigQueryFrontend","description":"Configuration options for Thanos Query Frontend\n"},"receiverIngesting":{"type":"object","additionalProperties":{"type":"string"},"description":"Common configuration options for Thanos Receive.\n"},"receiverRouting":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Receive Routing.\n"},"ruler":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Ruler.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"store":{"type":"object","additionalProperties":{"type":"string"},"description":"Configuration options for Thanos Store.\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigCompactor:getThanosThanosUserConfigCompactor":{"properties":{"retentionDays":{"type":"integer","description":"Retention time for data in days for each resolution (5m, 1h, raw).\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigIpFilterObject:getThanosThanosUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getThanosThanosUserConfigPrivateAccess:getThanosThanosUserConfigPrivateAccess":{"properties":{"queryFrontend":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" queryFrontend \" pulumi-lang-dotnet=\" QueryFrontend \" pulumi-lang-go=\" queryFrontend \" pulumi-lang-python=\" query_frontend \" pulumi-lang-yaml=\" queryFrontend \" pulumi-lang-java=\" queryFrontend \"\u003e query_frontend \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"receiverRouting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverRouting \" pulumi-lang-dotnet=\" ReceiverRouting \" pulumi-lang-go=\" receiverRouting \" pulumi-lang-python=\" receiver_routing \" pulumi-lang-yaml=\" receiverRouting \" pulumi-lang-java=\" receiverRouting \"\u003e receiver_routing \u003c/span\u003ewith a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigPrivatelinkAccess:getThanosThanosUserConfigPrivatelinkAccess":{"properties":{"queryFrontend":{"type":"boolean","description":"Enable query_frontend.\n"},"receiverRouting":{"type":"boolean","description":"Enable receiver_routing.\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigPublicAccess:getThanosThanosUserConfigPublicAccess":{"properties":{"compactor":{"type":"boolean","description":"Allow clients to connect to compactor from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"query":{"type":"boolean","description":"Allow clients to connect to query from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"queryFrontend":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" queryFrontend \" pulumi-lang-dotnet=\" QueryFrontend \" pulumi-lang-go=\" queryFrontend \" pulumi-lang-python=\" query_frontend \" pulumi-lang-yaml=\" queryFrontend \" pulumi-lang-java=\" queryFrontend \"\u003e query_frontend \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"receiverIngesting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverIngesting \" pulumi-lang-dotnet=\" ReceiverIngesting \" pulumi-lang-go=\" receiverIngesting \" pulumi-lang-python=\" receiver_ingesting \" pulumi-lang-yaml=\" receiverIngesting \" pulumi-lang-java=\" receiverIngesting \"\u003e receiver_ingesting \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"receiverRouting":{"type":"boolean","description":"Allow clients to connect to\u003cspan pulumi-lang-nodejs=\" receiverRouting \" pulumi-lang-dotnet=\" ReceiverRouting \" pulumi-lang-go=\" receiverRouting \" pulumi-lang-python=\" receiver_routing \" pulumi-lang-yaml=\" receiverRouting \" pulumi-lang-java=\" receiverRouting \"\u003e receiver_routing \u003c/span\u003efrom the public internet for service nodes that are in a project VPC or another type of private network.\n"},"ruler":{"type":"boolean","description":"Allow clients to connect to ruler from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"store":{"type":"boolean","description":"Allow clients to connect to store from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigQuery:getThanosThanosUserConfigQuery":{"properties":{"queryDefaultEvaluationInterval":{"type":"string","description":"Set the default evaluation interval for subqueries. Default: \u003cspan pulumi-lang-nodejs=\"`1m`\" pulumi-lang-dotnet=\"`1m`\" pulumi-lang-go=\"`1m`\" pulumi-lang-python=\"`1m`\" pulumi-lang-yaml=\"`1m`\" pulumi-lang-java=\"`1m`\"\u003e`1m`\u003c/span\u003e.\n"},"queryLookbackDelta":{"type":"string","description":"The maximum lookback duration for retrieving metrics during expression evaluations in PromQL. PromQL always evaluates the query for a certain timestamp, and it looks back for the given amount of time to get the latest sample. If it exceeds the maximum lookback delta, it assumes the series is stale and returns none (a gap). The lookback delta should be set to at least 2 times the slowest scrape interval. If unset, it will use the promql default of 5m. Default: \u003cspan pulumi-lang-nodejs=\"`5m`\" pulumi-lang-dotnet=\"`5m`\" pulumi-lang-go=\"`5m`\" pulumi-lang-python=\"`5m`\" pulumi-lang-yaml=\"`5m`\" pulumi-lang-java=\"`5m`\"\u003e`5m`\u003c/span\u003e.\n"},"queryMetadataDefaultTimeRange":{"type":"string","description":"The default metadata time range duration for retrieving labels through Labels and Series API when the range parameters are not specified. The zero value means the range covers the time since the beginning. Default: \u003cspan pulumi-lang-nodejs=\"`0s`\" pulumi-lang-dotnet=\"`0s`\" pulumi-lang-go=\"`0s`\" pulumi-lang-python=\"`0s`\" pulumi-lang-yaml=\"`0s`\" pulumi-lang-java=\"`0s`\"\u003e`0s`\u003c/span\u003e.\n"},"queryTimeout":{"type":"string","description":"Maximum time to process a query by the query node. Default: \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e.\n"},"storeLimitsRequestSamples":{"type":"integer","description":"The maximum samples allowed for a single Series request. The Series call fails if this limit is exceeded. Set to 0 for no limit. NOTE: For efficiency, the limit is internally implemented as 'chunks limit' considering each chunk contains a maximum of 120 samples. The default value is 100 * store.limits.request-series. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"},"storeLimitsRequestSeries":{"type":"integer","description":"The maximum series allowed for a single Series request. The Series call fails if this limit is exceeded. Set to 0 for no limit. The default value is 1000 * cpu_count. Default: \u003cspan pulumi-lang-nodejs=\"`0`\" pulumi-lang-dotnet=\"`0`\" pulumi-lang-go=\"`0`\" pulumi-lang-python=\"`0`\" pulumi-lang-yaml=\"`0`\" pulumi-lang-java=\"`0`\"\u003e`0`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getThanosThanosUserConfigQueryFrontend:getThanosThanosUserConfigQueryFrontend":{"properties":{"queryRangeAlignRangeWithStep":{"type":"boolean","description":"Whether to align the query range boundaries with the step. If enabled, the query range boundaries will be aligned to the step, providing more accurate results for queries with high-resolution data. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"}},"type":"object"},"aiven:index/getValkeyComponent:getValkeyComponent":{"properties":{"component":{"type":"string","description":"Service component name\n"},"connectionUri":{"type":"string","description":"Connection info for connecting to the service component. This is a combination of host and port.\n"},"host":{"type":"string","description":"Host name for connecting to the service component\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"port":{"type":"integer","description":"Port number for connecting to the service component\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"route":{"type":"string","description":"Network access route\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components they may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name\n"}},"type":"object","required":["component","connectionUri","host","kafkaAuthenticationMethod","kafkaSslCa","port","privatelinkConnectionId","route","ssl","usage"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyServiceIntegration:getValkeyServiceIntegration":{"properties":{"integrationType":{"type":"string","description":"Type of the service integration. The possible value is \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e.\n"},"sourceServiceName":{"type":"string","description":"Name of the source service\n"}},"type":"object","required":["integrationType","sourceServiceName"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyTag:getValkeyTag":{"properties":{"key":{"type":"string","description":"Service tag key\n"},"value":{"type":"string","description":"Service tag value\n"}},"type":"object","required":["key","value"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyTechEmail:getValkeyTechEmail":{"properties":{"email":{"type":"string","description":"An email address to contact for technical issues\n"}},"type":"object","required":["email"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyValkey:getValkeyValkey":{"properties":{"password":{"type":"string","description":"Valkey password.\n","secret":true},"replicaUri":{"type":"string","description":"Valkey replica server URI.\n","secret":true},"slaveUris":{"type":"array","items":{"type":"string"},"description":"Valkey slave server URIs.\n","secret":true},"uris":{"type":"array","items":{"type":"string"},"description":"Valkey server URIs.\n","secret":true}},"type":"object","required":["password","replicaUri","slaveUris","uris"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyValkeyUserConfig:getValkeyValkeyUserConfig":{"properties":{"additionalBackupRegions":{"type":"string","description":"Additional Cloud Regions for Backup Replication.\n"},"backupHour":{"type":"integer","description":"The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`3`\" pulumi-lang-dotnet=\"`3`\" pulumi-lang-go=\"`3`\" pulumi-lang-python=\"`3`\" pulumi-lang-yaml=\"`3`\" pulumi-lang-java=\"`3`\"\u003e`3`\u003c/span\u003e.\n"},"backupMinute":{"type":"integer","description":"The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed. Example: \u003cspan pulumi-lang-nodejs=\"`30`\" pulumi-lang-dotnet=\"`30`\" pulumi-lang-go=\"`30`\" pulumi-lang-python=\"`30`\" pulumi-lang-yaml=\"`30`\" pulumi-lang-java=\"`30`\"\u003e`30`\u003c/span\u003e.\n"},"enableIpv6":{"type":"boolean","description":"Register AAAA DNS records for the service, and allow IPv6 packets to service ports.\n"},"frequentSnapshots":{"type":"boolean","description":"When enabled, Valkey will create frequent local RDB snapshots. When disabled, Valkey will only take RDB snapshots when a backup is created, based on the backup schedule. This setting is ignored when \u003cspan pulumi-lang-nodejs=\"`valkeyPersistence`\" pulumi-lang-dotnet=\"`ValkeyPersistence`\" pulumi-lang-go=\"`valkeyPersistence`\" pulumi-lang-python=\"`valkey_persistence`\" pulumi-lang-yaml=\"`valkeyPersistence`\" pulumi-lang-java=\"`valkeyPersistence`\"\u003e`valkey_persistence`\u003c/span\u003e is set to \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"ipFilterObjects":{"type":"array","items":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfigIpFilterObject:getValkeyValkeyUserConfigIpFilterObject"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`\n"},"ipFilterStrings":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n"},"ipFilters":{"type":"array","items":{"type":"string"},"description":"Allow incoming connections from CIDR address block, e.g. `10.20.0.0/16`.\n","deprecationMessage":"Deprecated. Use \u003cspan pulumi-lang-nodejs=\"`ipFilterString`\" pulumi-lang-dotnet=\"`IpFilterString`\" pulumi-lang-go=\"`ipFilterString`\" pulumi-lang-python=\"`ip_filter_string`\" pulumi-lang-yaml=\"`ipFilterString`\" pulumi-lang-java=\"`ipFilterString`\"\u003e`ip_filter_string`\u003c/span\u003e instead."},"migration":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfigMigration:getValkeyValkeyUserConfigMigration","description":"Migrate data from existing server\n"},"privateAccess":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfigPrivateAccess:getValkeyValkeyUserConfigPrivateAccess","description":"Allow access to selected service ports from private networks\n"},"privatelinkAccess":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfigPrivatelinkAccess:getValkeyValkeyUserConfigPrivatelinkAccess","description":"Allow access to selected service components through Privatelink\n"},"projectToForkFrom":{"type":"string","description":"Name of another project to fork a service from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherprojectname`\" pulumi-lang-dotnet=\"`Anotherprojectname`\" pulumi-lang-go=\"`anotherprojectname`\" pulumi-lang-python=\"`anotherprojectname`\" pulumi-lang-yaml=\"`anotherprojectname`\" pulumi-lang-java=\"`anotherprojectname`\"\u003e`anotherprojectname`\u003c/span\u003e.\n"},"publicAccess":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfigPublicAccess:getValkeyValkeyUserConfigPublicAccess","description":"Allow access to selected service ports from the public Internet\n"},"recoveryBasebackupName":{"type":"string","description":"Name of the basebackup to restore in forked service. Example: `backup-20191112t091354293891z`.\n"},"serviceLog":{"type":"boolean","description":"Store logs for the service so that they are available in the HTTP API and console.\n"},"serviceToForkFrom":{"type":"string","description":"Name of another service to fork from. This has effect only when a new service is being created. Example: \u003cspan pulumi-lang-nodejs=\"`anotherservicename`\" pulumi-lang-dotnet=\"`Anotherservicename`\" pulumi-lang-go=\"`anotherservicename`\" pulumi-lang-python=\"`anotherservicename`\" pulumi-lang-yaml=\"`anotherservicename`\" pulumi-lang-java=\"`anotherservicename`\"\u003e`anotherservicename`\u003c/span\u003e.\n"},"staticIps":{"type":"boolean","description":"Use static public IP addresses.\n"},"valkeyAclChannelsDefault":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`allchannels`\" pulumi-lang-dotnet=\"`Allchannels`\" pulumi-lang-go=\"`allchannels`\" pulumi-lang-python=\"`allchannels`\" pulumi-lang-yaml=\"`allchannels`\" pulumi-lang-java=\"`allchannels`\"\u003e`allchannels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`resetchannels`\" pulumi-lang-dotnet=\"`Resetchannels`\" pulumi-lang-go=\"`resetchannels`\" pulumi-lang-python=\"`resetchannels`\" pulumi-lang-yaml=\"`resetchannels`\" pulumi-lang-java=\"`resetchannels`\"\u003e`resetchannels`\u003c/span\u003e. Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined,\u003cspan pulumi-lang-nodejs=\" allChannels \" pulumi-lang-dotnet=\" AllChannels \" pulumi-lang-go=\" allChannels \" pulumi-lang-python=\" all_channels \" pulumi-lang-yaml=\" allChannels \" pulumi-lang-java=\" allChannels \"\u003e all_channels \u003c/span\u003eis assumed to keep backward compatibility. This option doesn't affect Valkey configuration acl-pubsub-default.\n"},"valkeyActiveExpireEffort":{"type":"integer","description":"Valkey reclaims expired keys both when accessed and in the background. The background process scans for expired keys to free memory. Increasing the active-expire-effort setting (default 1, max 10) uses more CPU to reclaim expired keys faster, reducing memory usage but potentially increasing latency. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyIoThreads":{"type":"integer","description":"Set Valkey IO thread count. Changing this will cause a restart of the Valkey service. Example: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyLfuDecayTime":{"type":"integer","description":"LFU maxmemory-policy counter decay time in minutes. Default: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"valkeyLfuLogFactor":{"type":"integer","description":"Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies. Default: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"valkeyMaxmemoryPolicy":{"type":"string","description":"Enum: `allkeys-lfu`, `allkeys-lru`, `allkeys-random`, \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e, `volatile-lfu`, `volatile-lru`, `volatile-random`, `volatile-ttl`. Valkey maxmemory-policy. Default: \u003cspan pulumi-lang-nodejs=\"`noeviction`\" pulumi-lang-dotnet=\"`Noeviction`\" pulumi-lang-go=\"`noeviction`\" pulumi-lang-python=\"`noeviction`\" pulumi-lang-yaml=\"`noeviction`\" pulumi-lang-java=\"`noeviction`\"\u003e`noeviction`\u003c/span\u003e.\n"},"valkeyNotifyKeyspaceEvents":{"type":"string","description":"Set notify-keyspace-events option.\n"},"valkeyNumberOfDatabases":{"type":"integer","description":"Set number of Valkey databases. Changing this will cause a restart of the Valkey service. Example: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"},"valkeyPersistence":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e. When persistence is \u003cspan pulumi-lang-nodejs=\"`rdb`\" pulumi-lang-dotnet=\"`Rdb`\" pulumi-lang-go=\"`rdb`\" pulumi-lang-python=\"`rdb`\" pulumi-lang-yaml=\"`rdb`\" pulumi-lang-java=\"`rdb`\"\u003e`rdb`\u003c/span\u003e, Valkey does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is \u003cspan pulumi-lang-nodejs=\"`off`\" pulumi-lang-dotnet=\"`Off`\" pulumi-lang-go=\"`off`\" pulumi-lang-python=\"`off`\" pulumi-lang-yaml=\"`off`\" pulumi-lang-java=\"`off`\"\u003e`off`\u003c/span\u003e, no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.\n"},"valkeyPubsubClientOutputBufferLimit":{"type":"integer","description":"Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan. Example: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"valkeySsl":{"type":"boolean","description":"Require SSL to access Valkey. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"valkeyTimeout":{"type":"integer","description":"Valkey idle connection timeout in seconds. Default: \u003cspan pulumi-lang-nodejs=\"`300`\" pulumi-lang-dotnet=\"`300`\" pulumi-lang-go=\"`300`\" pulumi-lang-python=\"`300`\" pulumi-lang-yaml=\"`300`\" pulumi-lang-java=\"`300`\"\u003e`300`\u003c/span\u003e.\n"},"valkeyVersion":{"type":"string","description":"Enum: `8.1`, `9.0`, and newer. Valkey major version.\n"}},"type":"object"},"aiven:index/getValkeyValkeyUserConfigIpFilterObject:getValkeyValkeyUserConfigIpFilterObject":{"properties":{"description":{"type":"string","description":"Description for IP filter list entry. Example: `Production service IP range`.\n"},"network":{"type":"string","description":"CIDR address block. Example: `10.20.0.0/16`.\n"}},"type":"object","required":["network"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyValkeyUserConfigMigration:getValkeyValkeyUserConfigMigration":{"properties":{"dbname":{"type":"string","description":"Database name for bootstrapping the initial connection. Example: \u003cspan pulumi-lang-nodejs=\"`defaultdb`\" pulumi-lang-dotnet=\"`Defaultdb`\" pulumi-lang-go=\"`defaultdb`\" pulumi-lang-python=\"`defaultdb`\" pulumi-lang-yaml=\"`defaultdb`\" pulumi-lang-java=\"`defaultdb`\"\u003e`defaultdb`\u003c/span\u003e.\n"},"host":{"type":"string","description":"Hostname or IP address of the server where to migrate data from. Example: `my.server.com`.\n"},"ignoreDbs":{"type":"string","description":"Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment). Example: `db1,db2`.\n"},"ignoreRoles":{"type":"string","description":"Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment). Example: `role1,role2`.\n"},"method":{"type":"string","description":"Enum: \u003cspan pulumi-lang-nodejs=\"`dump`\" pulumi-lang-dotnet=\"`Dump`\" pulumi-lang-go=\"`dump`\" pulumi-lang-python=\"`dump`\" pulumi-lang-yaml=\"`dump`\" pulumi-lang-java=\"`dump`\"\u003e`dump`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`replication`\" pulumi-lang-dotnet=\"`Replication`\" pulumi-lang-go=\"`replication`\" pulumi-lang-python=\"`replication`\" pulumi-lang-yaml=\"`replication`\" pulumi-lang-java=\"`replication`\"\u003e`replication`\u003c/span\u003e. The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types).\n"},"password":{"type":"string","description":"Password for authentication with the server where to migrate data from. Example: `jjKk45Nnd`.\n","secret":true},"port":{"type":"integer","description":"Port number of the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`1234`\" pulumi-lang-dotnet=\"`1234`\" pulumi-lang-go=\"`1234`\" pulumi-lang-python=\"`1234`\" pulumi-lang-yaml=\"`1234`\" pulumi-lang-java=\"`1234`\"\u003e`1234`\u003c/span\u003e.\n"},"ssl":{"type":"boolean","description":"The server where to migrate data from is secured with SSL. Default: \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"username":{"type":"string","description":"User name for authentication with the server where to migrate data from. Example: \u003cspan pulumi-lang-nodejs=\"`myname`\" pulumi-lang-dotnet=\"`Myname`\" pulumi-lang-go=\"`myname`\" pulumi-lang-python=\"`myname`\" pulumi-lang-yaml=\"`myname`\" pulumi-lang-java=\"`myname`\"\u003e`myname`\u003c/span\u003e.\n"}},"type":"object","required":["host","port"],"language":{"nodejs":{"requiredInputs":[]}}},"aiven:index/getValkeyValkeyUserConfigPrivateAccess:getValkeyValkeyUserConfigPrivateAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"},"valkey":{"type":"boolean","description":"Allow clients to connect to valkey with a DNS name that always resolves to the service's private IP addresses. Only available in certain network locations.\n"}},"type":"object"},"aiven:index/getValkeyValkeyUserConfigPrivatelinkAccess:getValkeyValkeyUserConfigPrivatelinkAccess":{"properties":{"prometheus":{"type":"boolean","description":"Enable prometheus.\n"},"valkey":{"type":"boolean","description":"Enable valkey.\n"}},"type":"object"},"aiven:index/getValkeyValkeyUserConfigPublicAccess:getValkeyValkeyUserConfigPublicAccess":{"properties":{"prometheus":{"type":"boolean","description":"Allow clients to connect to prometheus from the public internet for service nodes that are in a project VPC or another type of private network.\n"},"valkey":{"type":"boolean","description":"Allow clients to connect to valkey from the public internet for service nodes that are in a project VPC or another type of private network.\n"}},"type":"object"}},"provider":{"description":"The provider type for the aiven 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":{"apiToken":{"type":"string","description":"Aiven authentication token. Can also be set with the AIVEN_TOKEN environment variable.","secret":true}},"inputProperties":{"apiToken":{"type":"string","description":"Aiven authentication token. Can also be set with the AIVEN_TOKEN environment variable.","secret":true}},"methods":{"terraformConfig":"pulumi:providers:aiven/terraformConfig"}},"resources":{"aiven:index/account:Account":{"description":"Creates and manages an Aiven account.\n\n\u003e **This resource is deprecated**\nThis resource will be removed in v5.0.0. Use \u003cspan pulumi-lang-nodejs=\"`aiven.Organization`\" pulumi-lang-dotnet=\"`aiven.Organization`\" pulumi-lang-go=\"`Organization`\" pulumi-lang-python=\"`Organization`\" pulumi-lang-yaml=\"`aiven.Organization`\" pulumi-lang-java=\"`aiven.Organization`\"\u003e`aiven.Organization`\u003c/span\u003e instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst account1 = new aiven.Account(\"account1\", {name: \"\u003cACCOUNT_NAME\u003e\"});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\naccount1 = aiven.Account(\"account1\", name=\"\u003cACCOUNT_NAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account1 = new Aiven.Account(\"account1\", new()\n    {\n        Name = \"\u003cACCOUNT_NAME\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewAccount(ctx, \"account1\", \u0026aiven.AccountArgs{\n\t\t\tName: pulumi.String(\"\u003cACCOUNT_NAME\u003e\"),\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.aiven.Account;\nimport com.pulumi.aiven.AccountArgs;\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 account1 = new Account(\"account1\", AccountArgs.builder()\n            .name(\"\u003cACCOUNT_NAME\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  account1:\n    type: aiven:Account\n    properties:\n      name: \u003cACCOUNT_NAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/account:Account account1 account_id\n```\n\n","properties":{"accountId":{"type":"string","description":"Account id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, use the built-in ID field instead."},"createTime":{"type":"string","description":"Time of creation\n"},"isAccountOwner":{"type":"boolean","description":"If true, user is part of the owners team for this account\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement."},"name":{"type":"string","description":"Account name\n"},"ownerTeamId":{"type":"string","description":"Owner team id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement."},"primaryBillingGroupId":{"type":"string","description":"Billing group id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement."},"tenantId":{"type":"string","description":"Tenant id\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"required":["accountId","createTime","isAccountOwner","name","ownerTeamId","tenantId","updateTime"],"inputProperties":{"name":{"type":"string","description":"Account name\n"},"primaryBillingGroupId":{"type":"string","description":"Billing group id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement.","willReplaceOnChanges":true}},"stateInputs":{"description":"Input properties used for looking up and filtering Account resources.\n","properties":{"accountId":{"type":"string","description":"Account id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, use the built-in ID field instead."},"createTime":{"type":"string","description":"Time of creation\n"},"isAccountOwner":{"type":"boolean","description":"If true, user is part of the owners team for this account\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement."},"name":{"type":"string","description":"Account name\n"},"ownerTeamId":{"type":"string","description":"Owner team id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement."},"primaryBillingGroupId":{"type":"string","description":"Billing group id\n","deprecationMessage":"The new\u003cspan pulumi-lang-nodejs=\" aiven.Organization \" pulumi-lang-dotnet=\" aiven.Organization \" pulumi-lang-go=\" Organization \" pulumi-lang-python=\" Organization \" pulumi-lang-yaml=\" aiven.Organization \" pulumi-lang-java=\" aiven.Organization \"\u003e aiven.Organization \u003c/span\u003eresource won't have it, and will not have a replacement.","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"Tenant id\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"type":"object"}},"aiven:index/accountAuthentication:AccountAuthentication":{"description":"Creates and manages an authentication method.\n\n\u003e **This resource is deprecated**\nTo set up an identity provider as an authentication method for your organization,\n[use the Aiven Console](https://aiven.io/docs/platform/howto/saml/add-identity-providers).\nIt guides you through the steps and explains the settings.\n\n## Import\n\n```sh\n$ pulumi import aiven:index/accountAuthentication:AccountAuthentication foo ACCOUNT_ID/AUTHENTICATION_ID\n```\n\n","properties":{"accountId":{"type":"string","description":"The unique id of the account.\n"},"authenticationId":{"type":"string","description":"Account authentication id\n"},"autoJoinTeamId":{"type":"string","description":"Team ID\n"},"createTime":{"type":"string","description":"Time of creation\n"},"enabled":{"type":"boolean","description":"Status of account authentication method. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the account authentication.\n"},"samlAcsUrl":{"type":"string","description":"SAML Assertion Consumer Service URL\n"},"samlCertificate":{"type":"string","description":"SAML Certificate\n"},"samlDigestAlgorithm":{"type":"string","description":"Digest algorithm. This is an advanced option that typically does not need to be set.\n"},"samlEntityId":{"type":"string","description":"SAML Entity id\n"},"samlFieldMapping":{"$ref":"#/types/aiven:index/AccountAuthenticationSamlFieldMapping:AccountAuthenticationSamlFieldMapping","description":"Map IdP fields\n"},"samlIdpLoginAllowed":{"type":"boolean","description":"Set to 'true' to enable IdP initiated login\n"},"samlIdpUrl":{"type":"string","description":"SAML Idp URL\n"},"samlMetadataUrl":{"type":"string","description":"SAML Metadata URL\n"},"samlSignatureAlgorithm":{"type":"string","description":"Signature algorithm. This is an advanced option that typically does not need to be set.\n"},"samlVariant":{"type":"string","description":"SAML server variant\n"},"type":{"type":"string","description":"The account authentication type. The possible values are \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\"\u003e`saml`\u003c/span\u003e.\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"required":["accountId","authenticationId","createTime","name","samlAcsUrl","samlMetadataUrl","type","updateTime"],"inputProperties":{"accountId":{"type":"string","description":"The unique id of the account.\n"},"autoJoinTeamId":{"type":"string","description":"Team ID\n"},"enabled":{"type":"boolean","description":"Status of account authentication method. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the account authentication.\n"},"samlCertificate":{"type":"string","description":"SAML Certificate\n"},"samlDigestAlgorithm":{"type":"string","description":"Digest algorithm. This is an advanced option that typically does not need to be set.\n"},"samlEntityId":{"type":"string","description":"SAML Entity id\n"},"samlFieldMapping":{"$ref":"#/types/aiven:index/AccountAuthenticationSamlFieldMapping:AccountAuthenticationSamlFieldMapping","description":"Map IdP fields\n"},"samlIdpLoginAllowed":{"type":"boolean","description":"Set to 'true' to enable IdP initiated login\n"},"samlIdpUrl":{"type":"string","description":"SAML Idp URL\n"},"samlSignatureAlgorithm":{"type":"string","description":"Signature algorithm. This is an advanced option that typically does not need to be set.\n"},"samlVariant":{"type":"string","description":"SAML server variant\n"},"type":{"type":"string","description":"The account authentication type. The possible values are \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\"\u003e`saml`\u003c/span\u003e.\n"}},"requiredInputs":["accountId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountAuthentication resources.\n","properties":{"accountId":{"type":"string","description":"The unique id of the account.\n"},"authenticationId":{"type":"string","description":"Account authentication id\n"},"autoJoinTeamId":{"type":"string","description":"Team ID\n"},"createTime":{"type":"string","description":"Time of creation\n"},"enabled":{"type":"boolean","description":"Status of account authentication method. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the account authentication.\n"},"samlAcsUrl":{"type":"string","description":"SAML Assertion Consumer Service URL\n"},"samlCertificate":{"type":"string","description":"SAML Certificate\n"},"samlDigestAlgorithm":{"type":"string","description":"Digest algorithm. This is an advanced option that typically does not need to be set.\n"},"samlEntityId":{"type":"string","description":"SAML Entity id\n"},"samlFieldMapping":{"$ref":"#/types/aiven:index/AccountAuthenticationSamlFieldMapping:AccountAuthenticationSamlFieldMapping","description":"Map IdP fields\n"},"samlIdpLoginAllowed":{"type":"boolean","description":"Set to 'true' to enable IdP initiated login\n"},"samlIdpUrl":{"type":"string","description":"SAML Idp URL\n"},"samlMetadataUrl":{"type":"string","description":"SAML Metadata URL\n"},"samlSignatureAlgorithm":{"type":"string","description":"Signature algorithm. This is an advanced option that typically does not need to be set.\n"},"samlVariant":{"type":"string","description":"SAML server variant\n"},"type":{"type":"string","description":"The account authentication type. The possible values are \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\"\u003e`saml`\u003c/span\u003e.\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"type":"object"}},"aiven:index/accountTeam:AccountTeam":{"description":"Creates and manages a team.\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleTeam = new aiven.AccountTeam(\"example_team\", {\n    accountId: ACCOUNT_RESOURCE_NAME.accountId,\n    name: \"Example team\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_team = aiven.AccountTeam(\"example_team\",\n    account_id=accoun_t__resourc_e__name[\"accountId\"],\n    name=\"Example team\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleTeam = new Aiven.AccountTeam(\"example_team\", new()\n    {\n        AccountId = ACCOUNT_RESOURCE_NAME.AccountId,\n        Name = \"Example team\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewAccountTeam(ctx, \"example_team\", \u0026aiven.AccountTeamArgs{\n\t\t\tAccountId: pulumi.Any(ACCOUNT_RESOURCE_NAME.AccountId),\n\t\t\tName:      pulumi.String(\"Example team\"),\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.aiven.AccountTeam;\nimport com.pulumi.aiven.AccountTeamArgs;\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 exampleTeam = new AccountTeam(\"exampleTeam\", AccountTeamArgs.builder()\n            .accountId(ACCOUNT_RESOURCE_NAME.accountId())\n            .name(\"Example team\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleTeam:\n    type: aiven:AccountTeam\n    name: example_team\n    properties:\n      accountId: ${ACCOUNT_RESOURCE_NAME.accountId}\n      name: Example team\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/accountTeam:AccountTeam account_team1 account_id/team_id\n```\n\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"createTime":{"type":"string","description":"Time of creation\n"},"name":{"type":"string","description":"The account team name\n"},"teamId":{"type":"string","description":"The auto-generated unique account team id\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"required":["accountId","createTime","name","teamId","updateTime"],"inputProperties":{"accountId":{"type":"string","description":"The unique account id\n"},"name":{"type":"string","description":"The account team name\n"}},"requiredInputs":["accountId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountTeam resources.\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"createTime":{"type":"string","description":"Time of creation\n"},"name":{"type":"string","description":"The account team name\n"},"teamId":{"type":"string","description":"The auto-generated unique account team id\n"},"updateTime":{"type":"string","description":"Time of last update\n"}},"type":"object"}},"aiven:index/accountTeamMember:AccountTeamMember":{"description":"Adds a user as a team member.\n\nDuring the creation of this resource, an invite is sent to the address specified in \u003cspan pulumi-lang-nodejs=\"`userEmail`\" pulumi-lang-dotnet=\"`UserEmail`\" pulumi-lang-go=\"`userEmail`\" pulumi-lang-python=\"`user_email`\" pulumi-lang-yaml=\"`userEmail`\" pulumi-lang-java=\"`userEmail`\"\u003e`user_email`\u003c/span\u003e.\nThe user is added to the team after they accept the invite. Deleting \u003cspan pulumi-lang-nodejs=\"`aiven.AccountTeamMember`\" pulumi-lang-dotnet=\"`aiven.AccountTeamMember`\" pulumi-lang-go=\"`AccountTeamMember`\" pulumi-lang-python=\"`AccountTeamMember`\" pulumi-lang-yaml=\"`aiven.AccountTeamMember`\" pulumi-lang-java=\"`aiven.AccountTeamMember`\"\u003e`aiven.AccountTeamMember`\u003c/span\u003e\ndeletes the pending invite if not accepted or removes the user from the team if they already accepted the invite.\n\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.AccountTeamMember(\"main\", {\n    accountId: ACCOUNT_RESOURCE_NAME.accountId,\n    teamId: TEAM_RESOURCE_NAME.teamId,\n    userEmail: \"user+1@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.AccountTeamMember(\"main\",\n    account_id=accoun_t__resourc_e__name[\"accountId\"],\n    team_id=tea_m__resourc_e__name[\"teamId\"],\n    user_email=\"user+1@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.AccountTeamMember(\"main\", new()\n    {\n        AccountId = ACCOUNT_RESOURCE_NAME.AccountId,\n        TeamId = TEAM_RESOURCE_NAME.TeamId,\n        UserEmail = \"user+1@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewAccountTeamMember(ctx, \"main\", \u0026aiven.AccountTeamMemberArgs{\n\t\t\tAccountId: pulumi.Any(ACCOUNT_RESOURCE_NAME.AccountId),\n\t\t\tTeamId:    pulumi.Any(TEAM_RESOURCE_NAME.TeamId),\n\t\t\tUserEmail: pulumi.String(\"user+1@example.com\"),\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.aiven.AccountTeamMember;\nimport com.pulumi.aiven.AccountTeamMemberArgs;\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 main = new AccountTeamMember(\"main\", AccountTeamMemberArgs.builder()\n            .accountId(ACCOUNT_RESOURCE_NAME.accountId())\n            .teamId(TEAM_RESOURCE_NAME.teamId())\n            .userEmail(\"user+1@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:AccountTeamMember\n    properties:\n      accountId: ${ACCOUNT_RESOURCE_NAME.accountId}\n      teamId: ${TEAM_RESOURCE_NAME.teamId}\n      userEmail: user+1@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/accountTeamMember:AccountTeamMember foo ACCOUNT_ID/TEAM_ID/USER_EMAIL\n```\n\n","properties":{"accepted":{"type":"boolean","description":"is a boolean flag that determines whether an invitation was accepted or not by the user. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e value means that the invitation was sent to the user but not yet accepted. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means that the user accepted the invitation and now a member of an account team.\n"},"accountId":{"type":"string","description":"The unique account id. Changing this property forces recreation of the resource.\n"},"createTime":{"type":"string","description":"Time of creation\n"},"invitedByUserEmail":{"type":"string","description":"The email address that invited this user.\n"},"teamId":{"type":"string","description":"An account team id. Changing this property forces recreation of the resource.\n"},"userEmail":{"type":"string","description":"Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. Changing this property forces recreation of the resource.\n"}},"required":["accepted","accountId","createTime","invitedByUserEmail","teamId","userEmail"],"inputProperties":{"accountId":{"type":"string","description":"The unique account id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"teamId":{"type":"string","description":"An account team id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userEmail":{"type":"string","description":"Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["accountId","teamId","userEmail"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountTeamMember resources.\n","properties":{"accepted":{"type":"boolean","description":"is a boolean flag that determines whether an invitation was accepted or not by the user. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e value means that the invitation was sent to the user but not yet accepted. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means that the user accepted the invitation and now a member of an account team.\n"},"accountId":{"type":"string","description":"The unique account id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"createTime":{"type":"string","description":"Time of creation\n"},"invitedByUserEmail":{"type":"string","description":"The email address that invited this user.\n"},"teamId":{"type":"string","description":"An account team id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userEmail":{"type":"string","description":"Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/accountTeamProject:AccountTeamProject":{"description":"Links an existing project to an existing team. Both the project and team should have the same \u003cspan pulumi-lang-nodejs=\"`accountId`\" pulumi-lang-dotnet=\"`AccountId`\" pulumi-lang-go=\"`accountId`\" pulumi-lang-python=\"`account_id`\" pulumi-lang-yaml=\"`accountId`\" pulumi-lang-java=\"`accountId`\"\u003e`account_id`\u003c/span\u003e.\n\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleProject = new aiven.Project(\"example_project\", {\n    project: \"project-1\",\n    accountId: ACCOUNT_RESOURCE_NAME.accountId,\n});\nconst exampleTeam = new aiven.AccountTeam(\"example_team\", {\n    accountId: ACCOUNT_RESOURCE_NAMEAivenAccount.accountId,\n    name: \"Example team\",\n});\nconst main = new aiven.AccountTeamProject(\"main\", {\n    accountId: ACCOUNT_RESOURCE_NAMEAivenAccount.accountId,\n    teamId: exampleTeam.teamId,\n    projectName: exampleProject.project,\n    teamType: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_project = aiven.Project(\"example_project\",\n    project=\"project-1\",\n    account_id=accoun_t__resourc_e__name[\"accountId\"])\nexample_team = aiven.AccountTeam(\"example_team\",\n    account_id=accoun_t__resourc_e__name_aiven_account[\"accountId\"],\n    name=\"Example team\")\nmain = aiven.AccountTeamProject(\"main\",\n    account_id=accoun_t__resourc_e__name_aiven_account[\"accountId\"],\n    team_id=example_team.team_id,\n    project_name=example_project.project,\n    team_type=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleProject = new Aiven.Project(\"example_project\", new()\n    {\n        ProjectName = \"project-1\",\n        AccountId = ACCOUNT_RESOURCE_NAME.AccountId,\n    });\n\n    var exampleTeam = new Aiven.AccountTeam(\"example_team\", new()\n    {\n        AccountId = ACCOUNT_RESOURCE_NAMEAivenAccount.AccountId,\n        Name = \"Example team\",\n    });\n\n    var main = new Aiven.AccountTeamProject(\"main\", new()\n    {\n        AccountId = ACCOUNT_RESOURCE_NAMEAivenAccount.AccountId,\n        TeamId = exampleTeam.TeamId,\n        ProjectName = exampleProject.ProjectName,\n        TeamType = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleProject, err := aiven.NewProject(ctx, \"example_project\", \u0026aiven.ProjectArgs{\n\t\t\tProject:   pulumi.String(\"project-1\"),\n\t\t\tAccountId: pulumi.Any(ACCOUNT_RESOURCE_NAME.AccountId),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleTeam, err := aiven.NewAccountTeam(ctx, \"example_team\", \u0026aiven.AccountTeamArgs{\n\t\t\tAccountId: pulumi.Any(ACCOUNT_RESOURCE_NAMEAivenAccount.AccountId),\n\t\t\tName:      pulumi.String(\"Example team\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewAccountTeamProject(ctx, \"main\", \u0026aiven.AccountTeamProjectArgs{\n\t\t\tAccountId:   pulumi.Any(ACCOUNT_RESOURCE_NAMEAivenAccount.AccountId),\n\t\t\tTeamId:      exampleTeam.TeamId,\n\t\t\tProjectName: exampleProject.Project,\n\t\t\tTeamType:    pulumi.String(\"admin\"),\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.aiven.Project;\nimport com.pulumi.aiven.ProjectArgs;\nimport com.pulumi.aiven.AccountTeam;\nimport com.pulumi.aiven.AccountTeamArgs;\nimport com.pulumi.aiven.AccountTeamProject;\nimport com.pulumi.aiven.AccountTeamProjectArgs;\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 exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .project(\"project-1\")\n            .accountId(ACCOUNT_RESOURCE_NAME.accountId())\n            .build());\n\n        var exampleTeam = new AccountTeam(\"exampleTeam\", AccountTeamArgs.builder()\n            .accountId(ACCOUNT_RESOURCE_NAMEAivenAccount.accountId())\n            .name(\"Example team\")\n            .build());\n\n        var main = new AccountTeamProject(\"main\", AccountTeamProjectArgs.builder()\n            .accountId(ACCOUNT_RESOURCE_NAMEAivenAccount.accountId())\n            .teamId(exampleTeam.teamId())\n            .projectName(exampleProject.project())\n            .teamType(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProject:\n    type: aiven:Project\n    name: example_project\n    properties:\n      project: project-1\n      accountId: ${ACCOUNT_RESOURCE_NAME.accountId}\n  exampleTeam:\n    type: aiven:AccountTeam\n    name: example_team\n    properties:\n      accountId: ${ACCOUNT_RESOURCE_NAMEAivenAccount.accountId}\n      name: Example team\n  main:\n    type: aiven:AccountTeamProject\n    properties:\n      accountId: ${ACCOUNT_RESOURCE_NAMEAivenAccount.accountId}\n      teamId: ${exampleTeam.teamId}\n      projectName: ${exampleProject.project}\n      teamType: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/accountTeamProject:AccountTeamProject account_team_project1 account_id/team_id/project_name\n```\n\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"projectName":{"type":"string","description":"The name of an already existing project\n"},"teamId":{"type":"string","description":"An account team id\n"},"teamType":{"type":"string","description":"The Account team project type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"}},"required":["accountId","teamId"],"inputProperties":{"accountId":{"type":"string","description":"The unique account id\n"},"projectName":{"type":"string","description":"The name of an already existing project\n"},"teamId":{"type":"string","description":"An account team id\n"},"teamType":{"type":"string","description":"The Account team project type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"}},"requiredInputs":["accountId","teamId"],"stateInputs":{"description":"Input properties used for looking up and filtering AccountTeamProject resources.\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"projectName":{"type":"string","description":"The name of an already existing project\n"},"teamId":{"type":"string","description":"An account team id\n"},"teamType":{"type":"string","description":"The Account team project type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"}},"type":"object"}},"aiven:index/alloydbomni:Alloydbomni":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"alloydbomni":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomni:AlloydbomniAlloydbomni","description":"Values provided by the AlloyDB Omni server.","language":{"csharp":{"name":"AlloydbomniServer"}},"secret":true},"alloydbomniUserConfig":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfig:AlloydbomniAlloydbomniUserConfig","description":"Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniComponent:AlloydbomniComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceAccountCredentials":{"type":"string","description":"Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.","secret":true},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniServiceIntegration:AlloydbomniServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTag:AlloydbomniTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTechEmail:AlloydbomniTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","alloydbomni","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"alloydbomni":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomni:AlloydbomniAlloydbomni","description":"Values provided by the AlloyDB Omni server.","language":{"csharp":{"name":"AlloydbomniServer"}},"secret":true},"alloydbomniUserConfig":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfig:AlloydbomniAlloydbomniUserConfig","description":"Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceAccountCredentials":{"type":"string","description":"Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.","secret":true},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniServiceIntegration:AlloydbomniServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTag:AlloydbomniTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTechEmail:AlloydbomniTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Alloydbomni resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"alloydbomni":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomni:AlloydbomniAlloydbomni","description":"Values provided by the AlloyDB Omni server.","language":{"csharp":{"name":"AlloydbomniServer"}},"secret":true},"alloydbomniUserConfig":{"$ref":"#/types/aiven:index/AlloydbomniAlloydbomniUserConfig:AlloydbomniAlloydbomniUserConfig","description":"Alloydbomni user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniComponent:AlloydbomniComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceAccountCredentials":{"type":"string","description":"Your [Google service account key](https://cloud.google.com/iam/docs/service-account-creds#key-types) in JSON format.","secret":true},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniServiceIntegration:AlloydbomniServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTag:AlloydbomniTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/AlloydbomniTechEmail:AlloydbomniTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/alloydbomniDatabase:AlloydbomniDatabase":{"properties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource."},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource."},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["databaseName","project","serviceName"],"inputProperties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["databaseName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering AlloydbomniDatabase resources.\n","properties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/alloydbomniUser:AlloydbomniUser":{"properties":{"accessCert":{"type":"string","description":"The access certificate for the servie user.","secret":true},"accessKey":{"type":"string","description":"The access certificate key for the service user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"type":{"type":"string","description":"The service user account type, either primary or regular."},"username":{"type":"string","description":"The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["accessCert","accessKey","password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"username":{"type":"string","description":"The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering AlloydbomniUser resources.\n","properties":{"accessCert":{"type":"string","description":"The access certificate for the servie user.","secret":true},"accessKey":{"type":"string","description":"The access certificate key for the service user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"type":{"type":"string","description":"The service user account type, either primary or regular."},"username":{"type":"string","description":"The name of the service user for this service. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/awsOrgVpcPeeringConnection:AwsOrgVpcPeeringConnection":{"description":"Creates and manages an AWS VPC peering connection with an Aiven Organization VPC.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.OrganizationVpc(\"example_vpc\", {\n    organizationId: example.id,\n    cloudName: \"aws-eu-central-1\",\n    networkCidr: \"10.0.0.0/24\",\n});\nconst examplePeering = new aiven.AwsOrgVpcPeeringConnection(\"example_peering\", {\n    organizationId: exampleVpc.organizationId,\n    organizationVpcId: exampleVpc.organizationVpcId,\n    awsAccountId: awsId,\n    awsVpcId: \"vpc-1a2b3c4d5e6f7g8h9\",\n    awsVpcRegion: \"aws-us-east-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.OrganizationVpc(\"example_vpc\",\n    organization_id=example[\"id\"],\n    cloud_name=\"aws-eu-central-1\",\n    network_cidr=\"10.0.0.0/24\")\nexample_peering = aiven.AwsOrgVpcPeeringConnection(\"example_peering\",\n    organization_id=example_vpc.organization_id,\n    organization_vpc_id=example_vpc.organization_vpc_id,\n    aws_account_id=aws_id,\n    aws_vpc_id=\"vpc-1a2b3c4d5e6f7g8h9\",\n    aws_vpc_region=\"aws-us-east-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.OrganizationVpc(\"example_vpc\", new()\n    {\n        OrganizationId = example.Id,\n        CloudName = \"aws-eu-central-1\",\n        NetworkCidr = \"10.0.0.0/24\",\n    });\n\n    var examplePeering = new Aiven.AwsOrgVpcPeeringConnection(\"example_peering\", new()\n    {\n        OrganizationId = exampleVpc.OrganizationId,\n        OrganizationVpcId = exampleVpc.OrganizationVpcId,\n        AwsAccountId = awsId,\n        AwsVpcId = \"vpc-1a2b3c4d5e6f7g8h9\",\n        AwsVpcRegion = \"aws-us-east-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewOrganizationVpc(ctx, \"example_vpc\", \u0026aiven.OrganizationVpcArgs{\n\t\t\tOrganizationId: pulumi.Any(example.Id),\n\t\t\tCloudName:      pulumi.String(\"aws-eu-central-1\"),\n\t\t\tNetworkCidr:    pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewAwsOrgVpcPeeringConnection(ctx, \"example_peering\", \u0026aiven.AwsOrgVpcPeeringConnectionArgs{\n\t\t\tOrganizationId:    exampleVpc.OrganizationId,\n\t\t\tOrganizationVpcId: exampleVpc.OrganizationVpcId,\n\t\t\tAwsAccountId:      pulumi.Any(awsId),\n\t\t\tAwsVpcId:          pulumi.String(\"vpc-1a2b3c4d5e6f7g8h9\"),\n\t\t\tAwsVpcRegion:      pulumi.String(\"aws-us-east-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.aiven.OrganizationVpc;\nimport com.pulumi.aiven.OrganizationVpcArgs;\nimport com.pulumi.aiven.AwsOrgVpcPeeringConnection;\nimport com.pulumi.aiven.AwsOrgVpcPeeringConnectionArgs;\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 exampleVpc = new OrganizationVpc(\"exampleVpc\", OrganizationVpcArgs.builder()\n            .organizationId(example.id())\n            .cloudName(\"aws-eu-central-1\")\n            .networkCidr(\"10.0.0.0/24\")\n            .build());\n\n        var examplePeering = new AwsOrgVpcPeeringConnection(\"examplePeering\", AwsOrgVpcPeeringConnectionArgs.builder()\n            .organizationId(exampleVpc.organizationId())\n            .organizationVpcId(exampleVpc.organizationVpcId())\n            .awsAccountId(awsId)\n            .awsVpcId(\"vpc-1a2b3c4d5e6f7g8h9\")\n            .awsVpcRegion(\"aws-us-east-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:OrganizationVpc\n    name: example_vpc\n    properties:\n      organizationId: ${example.id}\n      cloudName: aws-eu-central-1\n      networkCidr: 10.0.0.0/24\n  examplePeering:\n    type: aiven:AwsOrgVpcPeeringConnection\n    name: example_peering\n    properties:\n      organizationId: ${exampleVpc.organizationId}\n      organizationVpcId: ${exampleVpc.organizationVpcId}\n      awsAccountId: ${awsId}\n      awsVpcId: vpc-1a2b3c4d5e6f7g8h9\n      awsVpcRegion: aws-us-east-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/awsOrgVpcPeeringConnection:AwsOrgVpcPeeringConnection example ORGANIZATION_ID/ORGANIZATION_VPC_ID/AWS_ACCOUNT_ID/AWS_VPC_ID/AWS_REGION\n```\n\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n"},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n"},"awsVpcPeeringConnectionId":{"type":"string","description":"The ID of the AWS VPC peering connection.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC. For example, `eu-central-1`.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"},"peeringConnectionId":{"type":"string","description":"The ID of the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection. The possible values are `ACTIVE`, `APPROVED`, `APPROVED_PEER_REQUESTED`, `DELETED`, `DELETED_BY_PEER`, `DELETING`, `ERROR`, `INVALID_SPECIFICATION`, `PENDING_PEER` and `REJECTED_BY_PEER`.\n"}},"required":["awsAccountId","awsVpcId","awsVpcPeeringConnectionId","awsVpcRegion","organizationId","organizationVpcId","peeringConnectionId","state"],"inputProperties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC. For example, `eu-central-1`.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true}},"requiredInputs":["awsAccountId","awsVpcId","awsVpcRegion","organizationId","organizationVpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsOrgVpcPeeringConnection resources.\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcPeeringConnectionId":{"type":"string","description":"The ID of the AWS VPC peering connection.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC. For example, `eu-central-1`.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true},"peeringConnectionId":{"type":"string","description":"The ID of the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection. The possible values are `ACTIVE`, `APPROVED`, `APPROVED_PEER_REQUESTED`, `DELETED`, `DELETED_BY_PEER`, `DELETING`, `ERROR`, `INVALID_SPECIFICATION`, `PENDING_PEER` and `REJECTED_BY_PEER`.\n"}},"type":"object"}},"aiven:index/awsPrivatelink:AwsPrivatelink":{"description":"Creates and manages an [AWS PrivateLink for Aiven services](https://aiven.io/docs/platform/howto/use-aws-privatelinks) in a VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.AwsPrivatelink(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    principals: [\"arn:aws:iam::012345678901:user/mwf\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.AwsPrivatelink(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    principals=[\"arn:aws:iam::012345678901:user/mwf\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.AwsPrivatelink(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        Principals = new[]\n        {\n            \"arn:aws:iam::012345678901:user/mwf\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewAwsPrivatelink(ctx, \"main\", \u0026aiven.AwsPrivatelinkArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\n\t\t\tPrincipals: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"arn:aws:iam::012345678901:user/mwf\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.AwsPrivatelink;\nimport com.pulumi.aiven.AwsPrivatelinkArgs;\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 main = new AwsPrivatelink(\"main\", AwsPrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .principals(\"arn:aws:iam::012345678901:user/mwf\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:AwsPrivatelink\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      principals:\n        - arn:aws:iam::012345678901:user/mwf\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/awsPrivatelink:AwsPrivatelink main PROJECT/SERVICE_NAME\n```\n\n","properties":{"awsServiceId":{"type":"string","description":"AWS service ID.\n"},"awsServiceName":{"type":"string","description":"AWS service name.\n"},"principals":{"type":"array","items":{"type":"string"},"description":"List of the ARNs of the AWS accounts or IAM users allowed to connect to the VPC endpoint.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["awsServiceId","awsServiceName","principals","project","serviceName"],"inputProperties":{"principals":{"type":"array","items":{"type":"string"},"description":"List of the ARNs of the AWS accounts or IAM users allowed to connect to the VPC endpoint.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["principals","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsPrivatelink resources.\n","properties":{"awsServiceId":{"type":"string","description":"AWS service ID.\n"},"awsServiceName":{"type":"string","description":"AWS service name.\n"},"principals":{"type":"array","items":{"type":"string"},"description":"List of the ARNs of the AWS accounts or IAM users allowed to connect to the VPC endpoint.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/awsVpcPeeringConnection:AwsVpcPeeringConnection":{"description":"Creates and manages an AWS VPC peering connection with an Aiven VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.ProjectVpc(\"example_vpc\", {\n    project: exampleProject.project,\n    cloudName: \"aws-us-east-2\",\n    networkCidr: \"192.168.1.0/24\",\n});\nconst awsToAivenPeering = new aiven.AwsVpcPeeringConnection(\"aws_to_aiven_peering\", {\n    vpcId: exampleVpc.id,\n    awsAccountId: awsId,\n    awsVpcId: \"vpc-1a2b3c4d5e6f7g8h9\",\n    awsVpcRegion: \"aws-us-east-2\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.ProjectVpc(\"example_vpc\",\n    project=example_project[\"project\"],\n    cloud_name=\"aws-us-east-2\",\n    network_cidr=\"192.168.1.0/24\")\naws_to_aiven_peering = aiven.AwsVpcPeeringConnection(\"aws_to_aiven_peering\",\n    vpc_id=example_vpc.id,\n    aws_account_id=aws_id,\n    aws_vpc_id=\"vpc-1a2b3c4d5e6f7g8h9\",\n    aws_vpc_region=\"aws-us-east-2\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.ProjectVpc(\"example_vpc\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"aws-us-east-2\",\n        NetworkCidr = \"192.168.1.0/24\",\n    });\n\n    var awsToAivenPeering = new Aiven.AwsVpcPeeringConnection(\"aws_to_aiven_peering\", new()\n    {\n        VpcId = exampleVpc.Id,\n        AwsAccountId = awsId,\n        AwsVpcId = \"vpc-1a2b3c4d5e6f7g8h9\",\n        AwsVpcRegion = \"aws-us-east-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewProjectVpc(ctx, \"example_vpc\", \u0026aiven.ProjectVpcArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"aws-us-east-2\"),\n\t\t\tNetworkCidr: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewAwsVpcPeeringConnection(ctx, \"aws_to_aiven_peering\", \u0026aiven.AwsVpcPeeringConnectionArgs{\n\t\t\tVpcId:        exampleVpc.ID(),\n\t\t\tAwsAccountId: pulumi.Any(awsId),\n\t\t\tAwsVpcId:     pulumi.String(\"vpc-1a2b3c4d5e6f7g8h9\"),\n\t\t\tAwsVpcRegion: pulumi.String(\"aws-us-east-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.aiven.ProjectVpc;\nimport com.pulumi.aiven.ProjectVpcArgs;\nimport com.pulumi.aiven.AwsVpcPeeringConnection;\nimport com.pulumi.aiven.AwsVpcPeeringConnectionArgs;\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 exampleVpc = new ProjectVpc(\"exampleVpc\", ProjectVpcArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"aws-us-east-2\")\n            .networkCidr(\"192.168.1.0/24\")\n            .build());\n\n        var awsToAivenPeering = new AwsVpcPeeringConnection(\"awsToAivenPeering\", AwsVpcPeeringConnectionArgs.builder()\n            .vpcId(exampleVpc.id())\n            .awsAccountId(awsId)\n            .awsVpcId(\"vpc-1a2b3c4d5e6f7g8h9\")\n            .awsVpcRegion(\"aws-us-east-2\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:ProjectVpc\n    name: example_vpc\n    properties:\n      project: ${exampleProject.project}\n      cloudName: aws-us-east-2\n      networkCidr: 192.168.1.0/24\n  awsToAivenPeering:\n    type: aiven:AwsVpcPeeringConnection\n    name: aws_to_aiven_peering\n    properties:\n      vpcId: ${exampleVpc.id}\n      awsAccountId: ${awsId}\n      awsVpcId: vpc-1a2b3c4d5e6f7g8h9\n      awsVpcRegion: aws-us-east-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/awsVpcPeeringConnection:AwsVpcPeeringConnection aws_to_aiven_peering PROJECT/VPC_ID/AWS_ACCOUNT_ID/AWS_VPC_ID/AWS_VPC_REGION\n```\n\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n"},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n"},"awsVpcPeeringConnectionId":{"type":"string","description":"The ID of the AWS VPC peering connection.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC, if different from the Aiven VPC region. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"The state of the peering connection.\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n"}},"required":["awsAccountId","awsVpcId","awsVpcPeeringConnectionId","awsVpcRegion","state","stateInfo","vpcId"],"inputProperties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC, if different from the Aiven VPC region. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["awsAccountId","awsVpcId","awsVpcRegion","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsVpcPeeringConnection resources.\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"awsVpcPeeringConnectionId":{"type":"string","description":"The ID of the AWS VPC peering connection.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC, if different from the Aiven VPC region. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of the peering connection.\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/azureOrgVpcPeeringConnection:AzureOrgVpcPeeringConnection":{"description":"Creates and manages an Azure VPC peering connection with an Aiven VPC.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.OrganizationVpc(\"example_vpc\", {\n    organizationId: example.id,\n    cloudName: \"azure-germany-westcentral\",\n    networkCidr: \"10.0.0.0/24\",\n});\nconst examplePeering = new aiven.AzureOrgVpcPeeringConnection(\"example_peering\", {\n    organizationId: exampleVpc.organizationId,\n    organizationVpcId: exampleVpc.organizationVpcId,\n    azureSubscriptionId: \"12345678-1234-1234-1234-123456789012\",\n    vnetName: \"my-vnet\",\n    peerResourceGroup: \"my-resource-group\",\n    peerAzureAppId: \"87654321-4321-4321-4321-210987654321\",\n    peerAzureTenantId: \"11111111-2222-3333-4444-555555555555\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.OrganizationVpc(\"example_vpc\",\n    organization_id=example[\"id\"],\n    cloud_name=\"azure-germany-westcentral\",\n    network_cidr=\"10.0.0.0/24\")\nexample_peering = aiven.AzureOrgVpcPeeringConnection(\"example_peering\",\n    organization_id=example_vpc.organization_id,\n    organization_vpc_id=example_vpc.organization_vpc_id,\n    azure_subscription_id=\"12345678-1234-1234-1234-123456789012\",\n    vnet_name=\"my-vnet\",\n    peer_resource_group=\"my-resource-group\",\n    peer_azure_app_id=\"87654321-4321-4321-4321-210987654321\",\n    peer_azure_tenant_id=\"11111111-2222-3333-4444-555555555555\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.OrganizationVpc(\"example_vpc\", new()\n    {\n        OrganizationId = example.Id,\n        CloudName = \"azure-germany-westcentral\",\n        NetworkCidr = \"10.0.0.0/24\",\n    });\n\n    var examplePeering = new Aiven.AzureOrgVpcPeeringConnection(\"example_peering\", new()\n    {\n        OrganizationId = exampleVpc.OrganizationId,\n        OrganizationVpcId = exampleVpc.OrganizationVpcId,\n        AzureSubscriptionId = \"12345678-1234-1234-1234-123456789012\",\n        VnetName = \"my-vnet\",\n        PeerResourceGroup = \"my-resource-group\",\n        PeerAzureAppId = \"87654321-4321-4321-4321-210987654321\",\n        PeerAzureTenantId = \"11111111-2222-3333-4444-555555555555\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewOrganizationVpc(ctx, \"example_vpc\", \u0026aiven.OrganizationVpcArgs{\n\t\t\tOrganizationId: pulumi.Any(example.Id),\n\t\t\tCloudName:      pulumi.String(\"azure-germany-westcentral\"),\n\t\t\tNetworkCidr:    pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewAzureOrgVpcPeeringConnection(ctx, \"example_peering\", \u0026aiven.AzureOrgVpcPeeringConnectionArgs{\n\t\t\tOrganizationId:      exampleVpc.OrganizationId,\n\t\t\tOrganizationVpcId:   exampleVpc.OrganizationVpcId,\n\t\t\tAzureSubscriptionId: pulumi.String(\"12345678-1234-1234-1234-123456789012\"),\n\t\t\tVnetName:            pulumi.String(\"my-vnet\"),\n\t\t\tPeerResourceGroup:   pulumi.String(\"my-resource-group\"),\n\t\t\tPeerAzureAppId:      pulumi.String(\"87654321-4321-4321-4321-210987654321\"),\n\t\t\tPeerAzureTenantId:   pulumi.String(\"11111111-2222-3333-4444-555555555555\"),\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.aiven.OrganizationVpc;\nimport com.pulumi.aiven.OrganizationVpcArgs;\nimport com.pulumi.aiven.AzureOrgVpcPeeringConnection;\nimport com.pulumi.aiven.AzureOrgVpcPeeringConnectionArgs;\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 exampleVpc = new OrganizationVpc(\"exampleVpc\", OrganizationVpcArgs.builder()\n            .organizationId(example.id())\n            .cloudName(\"azure-germany-westcentral\")\n            .networkCidr(\"10.0.0.0/24\")\n            .build());\n\n        var examplePeering = new AzureOrgVpcPeeringConnection(\"examplePeering\", AzureOrgVpcPeeringConnectionArgs.builder()\n            .organizationId(exampleVpc.organizationId())\n            .organizationVpcId(exampleVpc.organizationVpcId())\n            .azureSubscriptionId(\"12345678-1234-1234-1234-123456789012\")\n            .vnetName(\"my-vnet\")\n            .peerResourceGroup(\"my-resource-group\")\n            .peerAzureAppId(\"87654321-4321-4321-4321-210987654321\")\n            .peerAzureTenantId(\"11111111-2222-3333-4444-555555555555\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:OrganizationVpc\n    name: example_vpc\n    properties:\n      organizationId: ${example.id}\n      cloudName: azure-germany-westcentral\n      networkCidr: 10.0.0.0/24\n  examplePeering:\n    type: aiven:AzureOrgVpcPeeringConnection\n    name: example_peering\n    properties:\n      organizationId: ${exampleVpc.organizationId}\n      organizationVpcId: ${exampleVpc.organizationVpcId}\n      azureSubscriptionId: 12345678-1234-1234-1234-123456789012\n      vnetName: my-vnet\n      peerResourceGroup: my-resource-group\n      peerAzureAppId: 87654321-4321-4321-4321-210987654321\n      peerAzureTenantId: 11111111-2222-3333-4444-555555555555\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/azureOrgVpcPeeringConnection:AzureOrgVpcPeeringConnection example ORGANIZATION_ID/ORGANIZATION_VPC_ID/AZURE_SUBSCRIPTION_ID/VNET_NAME/RESOURCE_GROUP\n```\n\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n"},"peeringConnectionId":{"type":"string","description":"The ID of the cloud provider for the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n"}},"required":["azureSubscriptionId","organizationId","organizationVpcId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","peeringConnectionId","state","vnetName"],"inputProperties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["azureSubscriptionId","organizationId","organizationVpcId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","vnetName"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureOrgVpcPeeringConnection resources.\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peeringConnectionId":{"type":"string","description":"The ID of the cloud provider for the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/azurePrivatelink:AzurePrivatelink":{"description":"Creates and manages an Azure Private Link for [selected Aiven services](https://aiven.io/docs/platform/howto/use-azure-privatelink) in a VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.AzurePrivatelink(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    userSubscriptionIds: [\"00000000-0000-0000-0000-000000000000\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.AzurePrivatelink(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    user_subscription_ids=[\"00000000-0000-0000-0000-000000000000\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.AzurePrivatelink(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        UserSubscriptionIds = new[]\n        {\n            \"00000000-0000-0000-0000-000000000000\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewAzurePrivatelink(ctx, \"main\", \u0026aiven.AzurePrivatelinkArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\n\t\t\tUserSubscriptionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.AzurePrivatelink;\nimport com.pulumi.aiven.AzurePrivatelinkArgs;\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 main = new AzurePrivatelink(\"main\", AzurePrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .userSubscriptionIds(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:AzurePrivatelink\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      userSubscriptionIds:\n        - 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/azurePrivatelink:AzurePrivatelink main PROJECT/SERVICE_NAME\n```\n\n","properties":{"azureServiceAlias":{"type":"string","description":"The Azure Private Link service alias.\n"},"azureServiceId":{"type":"string","description":"The Azure Private Link service ID.\n"},"message":{"type":"string","description":"Printable result of the Azure Private Link request.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"The state of the Private Link resource.\n"},"userSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of allowed subscription IDs. Maximum length: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"}},"required":["azureServiceAlias","azureServiceId","message","project","serviceName","state","userSubscriptionIds"],"inputProperties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of allowed subscription IDs. Maximum length: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"}},"requiredInputs":["project","serviceName","userSubscriptionIds"],"stateInputs":{"description":"Input properties used for looking up and filtering AzurePrivatelink resources.\n","properties":{"azureServiceAlias":{"type":"string","description":"The Azure Private Link service alias.\n"},"azureServiceId":{"type":"string","description":"The Azure Private Link service ID.\n"},"message":{"type":"string","description":"Printable result of the Azure Private Link request.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of the Private Link resource.\n"},"userSubscriptionIds":{"type":"array","items":{"type":"string"},"description":"A list of allowed subscription IDs. Maximum length: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n"}},"type":"object"}},"aiven:index/azurePrivatelinkConnectionApproval:AzurePrivatelinkConnectionApproval":{"description":"Approves an Azure Private Link connection to an Aiven service with an associated endpoint IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\nimport * as azurerm from \"@pulumi/azurerm\";\n\nconst staticIps: aiven.StaticIp[] = [];\nfor (const range = {value: 0}; range.value \u003c 2; range.value++) {\n    staticIps.push(new aiven.StaticIp(`static_ips-${range.value}`, {\n        project: projectId,\n        cloudName: region,\n    }));\n}\nconst _default = new aiven.Pg(\"default\", {\n    serviceName: \"postgres\",\n    project: aivenProjectId,\n    projectVpcId: aivenProjectVpcId,\n    cloudName: region,\n    plan: plan,\n    staticIps: staticIps.map(sip =\u003e (sip.staticIpAddressId)),\n    pgUserConfig: {\n        pgVersion: \"13\",\n        staticIps: true,\n        privatelinkAccess: {\n            pg: true,\n            pgbouncer: true,\n        },\n    },\n});\nconst privatelink = new aiven.AzurePrivatelink(\"privatelink\", {\n    project: aivenProjectId,\n    serviceName: _default.name,\n    userSubscriptionIds: [azureSubscriptionId],\n});\nconst endpoint = new azurerm.index.PrivateEndpoint(\"endpoint\", {\n    name: \"postgres-endpoint\",\n    location: region,\n    resourceGroupName: azureResourceGroup.name,\n    subnetId: azureSubnetId,\n    privateServiceConnection: [{\n        name: _default.name,\n        privateConnectionResourceId: privatelink.azureServiceId,\n        isManualConnection: true,\n        requestMessage: _default.name,\n    }],\n}, {\n    dependsOn: [privatelink],\n});\nconst approval = new aiven.AzurePrivatelinkConnectionApproval(\"approval\", {\n    project: aivenProjectId,\n    serviceName: _default.serviceName,\n    endpointIpAddress: endpoint.privateServiceConnection[0].privateIpAddress,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\nimport pulumi_azurerm as azurerm\n\nstatic_ips = []\nfor range in [{\"value\": i} for i in range(0, 2)]:\n    static_ips.append(aiven.StaticIp(f\"static_ips-{range['value']}\",\n        project=project_id,\n        cloud_name=region))\ndefault = aiven.Pg(\"default\",\n    service_name=\"postgres\",\n    project=aiven_project_id,\n    project_vpc_id=aiven_project_vpc_id,\n    cloud_name=region,\n    plan=plan,\n    static_ips=[sip.static_ip_address_id for sip in static_ips],\n    pg_user_config={\n        \"pg_version\": \"13\",\n        \"static_ips\": True,\n        \"privatelink_access\": {\n            \"pg\": True,\n            \"pgbouncer\": True,\n        },\n    })\nprivatelink = aiven.AzurePrivatelink(\"privatelink\",\n    project=aiven_project_id,\n    service_name=default.name,\n    user_subscription_ids=[azure_subscription_id])\nendpoint = azurerm.index.PrivateEndpoint(\"endpoint\",\n    name=postgres-endpoint,\n    location=region,\n    resource_group_name=azure_resource_group.name,\n    subnet_id=azure_subnet_id,\n    private_service_connection=[{\n        name: default.name,\n        privateConnectionResourceId: privatelink.azure_service_id,\n        isManualConnection: True,\n        requestMessage: default.name,\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[privatelink]))\napproval = aiven.AzurePrivatelinkConnectionApproval(\"approval\",\n    project=aiven_project_id,\n    service_name=default.service_name,\n    endpoint_ip_address=endpoint[\"privateServiceConnection\"][0][\"privateIpAddress\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\nusing Azurerm = Pulumi.Azurerm;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var staticIps = new List\u003cAiven.StaticIp\u003e();\n    for (var rangeIndex = 0; rangeIndex \u003c 2; rangeIndex++)\n    {\n        var range = new { Value = rangeIndex };\n        staticIps.Add(new Aiven.StaticIp($\"static_ips-{range.Value}\", new()\n        {\n            Project = projectId,\n            CloudName = region,\n        }));\n    }\n    var @default = new Aiven.Pg(\"default\", new()\n    {\n        ServiceName = \"postgres\",\n        Project = aivenProjectId,\n        ProjectVpcId = aivenProjectVpcId,\n        CloudName = region,\n        Plan = plan,\n        StaticIps = staticIps.Select(sip =\u003e \n        {\n            return sip.StaticIpAddressId;\n        }).ToList(),\n        PgUserConfig = new Aiven.Inputs.PgPgUserConfigArgs\n        {\n            PgVersion = \"13\",\n            StaticIps = true,\n            PrivatelinkAccess = new Aiven.Inputs.PgPgUserConfigPrivatelinkAccessArgs\n            {\n                Pg = true,\n                Pgbouncer = true,\n            },\n        },\n    });\n\n    var privatelink = new Aiven.AzurePrivatelink(\"privatelink\", new()\n    {\n        Project = aivenProjectId,\n        ServiceName = @default.Name,\n        UserSubscriptionIds = new[]\n        {\n            azureSubscriptionId,\n        },\n    });\n\n    var endpoint = new Azurerm.Index.PrivateEndpoint(\"endpoint\", new()\n    {\n        Name = \"postgres-endpoint\",\n        Location = region,\n        ResourceGroupName = azureResourceGroup.Name,\n        SubnetId = azureSubnetId,\n        PrivateServiceConnection = new[]\n        {\n            \n            {\n                { \"name\", @default.Name },\n                { \"privateConnectionResourceId\", privatelink.AzureServiceId },\n                { \"isManualConnection\", true },\n                { \"requestMessage\", @default.Name },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            privatelink,\n        },\n    });\n\n    var approval = new Aiven.AzurePrivatelinkConnectionApproval(\"approval\", new()\n    {\n        Project = aivenProjectId,\n        ServiceName = @default.ServiceName,\n        EndpointIpAddress = endpoint.PrivateServiceConnection[0].PrivateIpAddress,\n    });\n\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/azurePrivatelinkConnectionApproval:AzurePrivatelinkConnectionApproval approval PROJECT/SERVICE_NAME\n```\n\n","properties":{"endpointIpAddress":{"type":"string","description":"IP address of Azure private endpoint.\n"},"privatelinkConnectionId":{"type":"string","description":"The ID of the Private Link connection.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"The state of the Private Link connection.\n"}},"required":["privatelinkConnectionId","project","serviceName","state"],"inputProperties":{"endpointIpAddress":{"type":"string","description":"IP address of Azure private endpoint.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering AzurePrivatelinkConnectionApproval resources.\n","properties":{"endpointIpAddress":{"type":"string","description":"IP address of Azure private endpoint.\n"},"privatelinkConnectionId":{"type":"string","description":"The ID of the Private Link connection.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of the Private Link connection.\n"}},"type":"object"}},"aiven:index/azureVpcPeeringConnection:AzureVpcPeeringConnection":{"description":"Creates and manages an Azure VPC peering connection with an Aiven VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.ProjectVpc(\"example_vpc\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    networkCidr: \"192.168.1.0/24\",\n});\nconst azureToAivenPeering = new aiven.AzureVpcPeeringConnection(\"azure_to_aiven_peering\", {\n    vpcId: exampleVpc.id,\n    azureSubscriptionId: \"00000000-0000-0000-0000-000000000000\",\n    peerResourceGroup: \"example-resource-group\",\n    vnetName: \"example-vnet\",\n    peerAzureAppId: \"00000000-0000-0000-0000-000000000000\",\n    peerAzureTenantId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.ProjectVpc(\"example_vpc\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    network_cidr=\"192.168.1.0/24\")\nazure_to_aiven_peering = aiven.AzureVpcPeeringConnection(\"azure_to_aiven_peering\",\n    vpc_id=example_vpc.id,\n    azure_subscription_id=\"00000000-0000-0000-0000-000000000000\",\n    peer_resource_group=\"example-resource-group\",\n    vnet_name=\"example-vnet\",\n    peer_azure_app_id=\"00000000-0000-0000-0000-000000000000\",\n    peer_azure_tenant_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.ProjectVpc(\"example_vpc\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        NetworkCidr = \"192.168.1.0/24\",\n    });\n\n    var azureToAivenPeering = new Aiven.AzureVpcPeeringConnection(\"azure_to_aiven_peering\", new()\n    {\n        VpcId = exampleVpc.Id,\n        AzureSubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n        PeerResourceGroup = \"example-resource-group\",\n        VnetName = \"example-vnet\",\n        PeerAzureAppId = \"00000000-0000-0000-0000-000000000000\",\n        PeerAzureTenantId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewProjectVpc(ctx, \"example_vpc\", \u0026aiven.ProjectVpcArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tNetworkCidr: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewAzureVpcPeeringConnection(ctx, \"azure_to_aiven_peering\", \u0026aiven.AzureVpcPeeringConnectionArgs{\n\t\t\tVpcId:               exampleVpc.ID(),\n\t\t\tAzureSubscriptionId: pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tPeerResourceGroup:   pulumi.String(\"example-resource-group\"),\n\t\t\tVnetName:            pulumi.String(\"example-vnet\"),\n\t\t\tPeerAzureAppId:      pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\n\t\t\tPeerAzureTenantId:   pulumi.String(\"00000000-0000-0000-0000-000000000000\"),\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.aiven.ProjectVpc;\nimport com.pulumi.aiven.ProjectVpcArgs;\nimport com.pulumi.aiven.AzureVpcPeeringConnection;\nimport com.pulumi.aiven.AzureVpcPeeringConnectionArgs;\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 exampleVpc = new ProjectVpc(\"exampleVpc\", ProjectVpcArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .networkCidr(\"192.168.1.0/24\")\n            .build());\n\n        var azureToAivenPeering = new AzureVpcPeeringConnection(\"azureToAivenPeering\", AzureVpcPeeringConnectionArgs.builder()\n            .vpcId(exampleVpc.id())\n            .azureSubscriptionId(\"00000000-0000-0000-0000-000000000000\")\n            .peerResourceGroup(\"example-resource-group\")\n            .vnetName(\"example-vnet\")\n            .peerAzureAppId(\"00000000-0000-0000-0000-000000000000\")\n            .peerAzureTenantId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:ProjectVpc\n    name: example_vpc\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      networkCidr: 192.168.1.0/24\n  azureToAivenPeering:\n    type: aiven:AzureVpcPeeringConnection\n    name: azure_to_aiven_peering\n    properties:\n      vpcId: ${exampleVpc.id}\n      azureSubscriptionId: 00000000-0000-0000-0000-000000000000\n      peerResourceGroup: example-resource-group\n      vnetName: example-vnet\n      peerAzureAppId: 00000000-0000-0000-0000-000000000000\n      peerAzureTenantId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/azureVpcPeeringConnection:AzureVpcPeeringConnection azure_to_aiven_peering PROJECT/VPC_ID/AZURE_SUBSCRIPTION_ID/VNET_NAME\n```\n\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n"},"peeringConnectionId":{"type":"string","description":"The ID of the cloud provider for the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n"},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n"}},"required":["azureSubscriptionId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","peeringConnectionId","state","stateInfo","vnetName","vpcId"],"inputProperties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["azureSubscriptionId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","vnetName","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureVpcPeeringConnection resources.\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peeringConnectionId":{"type":"string","description":"The ID of the cloud provider for the peering connection.\n"},"state":{"type":"string","description":"State of the peering connection\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/billingGroup:BillingGroup":{"description":"Creates and manages [billing groups](https://aiven.io/docs/platform/concepts/billing-groups) and assigns them to projects.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleBillingGroup = new aiven.BillingGroup(\"example_billing_group\", {\n    name: \"example-billing-group\",\n    billingCurrency: \"USD\",\n    vatId: \"123ABC\",\n    parentId: main.id,\n});\nconst exampleProject = new aiven.Project(\"example_project\", {\n    project: \"example-project\",\n    billingGroup: exampleBillingGroup.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_billing_group = aiven.BillingGroup(\"example_billing_group\",\n    name=\"example-billing-group\",\n    billing_currency=\"USD\",\n    vat_id=\"123ABC\",\n    parent_id=main[\"id\"])\nexample_project = aiven.Project(\"example_project\",\n    project=\"example-project\",\n    billing_group=example_billing_group.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBillingGroup = new Aiven.BillingGroup(\"example_billing_group\", new()\n    {\n        Name = \"example-billing-group\",\n        BillingCurrency = \"USD\",\n        VatId = \"123ABC\",\n        ParentId = main.Id,\n    });\n\n    var exampleProject = new Aiven.Project(\"example_project\", new()\n    {\n        ProjectName = \"example-project\",\n        BillingGroup = exampleBillingGroup.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleBillingGroup, err := aiven.NewBillingGroup(ctx, \"example_billing_group\", \u0026aiven.BillingGroupArgs{\n\t\t\tName:            pulumi.String(\"example-billing-group\"),\n\t\t\tBillingCurrency: pulumi.String(\"USD\"),\n\t\t\tVatId:           pulumi.String(\"123ABC\"),\n\t\t\tParentId:        pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewProject(ctx, \"example_project\", \u0026aiven.ProjectArgs{\n\t\t\tProject:      pulumi.String(\"example-project\"),\n\t\t\tBillingGroup: exampleBillingGroup.ID(),\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.aiven.BillingGroup;\nimport com.pulumi.aiven.BillingGroupArgs;\nimport com.pulumi.aiven.Project;\nimport com.pulumi.aiven.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var exampleBillingGroup = new BillingGroup(\"exampleBillingGroup\", BillingGroupArgs.builder()\n            .name(\"example-billing-group\")\n            .billingCurrency(\"USD\")\n            .vatId(\"123ABC\")\n            .parentId(main.id())\n            .build());\n\n        var exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .project(\"example-project\")\n            .billingGroup(exampleBillingGroup.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleBillingGroup:\n    type: aiven:BillingGroup\n    name: example_billing_group\n    properties:\n      name: example-billing-group\n      billingCurrency: USD\n      vatId: 123ABC\n      parentId: ${main.id}\n  exampleProject:\n    type: aiven:Project\n    name: example_project\n    properties:\n      project: example-project\n      billingGroup: ${exampleBillingGroup.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/billingGroup:BillingGroup example BILLING_GROUP_ID\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. **Deprecated**: Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release.\n","deprecationMessage":"Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release."},"addressLines":{"type":"array","items":{"type":"string"},"description":"Address lines 1 and 2. For example, street, PO box, or building.\n"},"billingContactEmails":{"type":"array","items":{"type":"string"},"description":"List of billing groups contact email addresses.\n"},"billingCurrency":{"type":"string","description":"Billing currency. The possible values are `AUD`, `CAD`, `CHF`, `DKK`, `EUR`, `GBP`, `JPY`, `NOK`, `NZD`, `SEK`, `SGD` and `USD`.\n"},"billingEmails":{"type":"array","items":{"type":"string"},"description":"List of project billing email addresses.\n"},"billingExtraText":{"type":"string","description":"Extra text to be included in all project invoices, e.g. purchase order or cost center number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"billingGroupId":{"type":"string","description":"The [ID of the billing group](https://aiven.io/docs/platform/reference/get-resource-IDs#get-a-billing-group-id). To set up proper dependencies please refer to this variable as a reference.\n"},"cardId":{"type":"string","description":"Credit card ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"city":{"type":"string","description":"Address city. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"company":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"copyFromBillingGroup":{"type":"string","description":"Billing group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"countryCode":{"type":"string","description":"Two letter country code for billing country. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Billing group name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a billing group to an existing organization by using its ID.\n"},"state":{"type":"string","description":"Address state or province. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/BillingGroupTimeouts:BillingGroupTimeouts"},"vatId":{"type":"string","description":"EU VAT Identification Number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"zipCode":{"type":"string","description":"Address zip code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"}},"required":["accountId","billingCurrency","billingGroupId","city","company","countryCode","name","parentId","vatId"],"inputProperties":{"accountId":{"type":"string","description":"Account ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. **Deprecated**: Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release.\n","deprecationMessage":"Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release."},"addressLines":{"type":"array","items":{"type":"string"},"description":"Address lines 1 and 2. For example, street, PO box, or building.\n"},"billingContactEmails":{"type":"array","items":{"type":"string"},"description":"List of billing groups contact email addresses.\n"},"billingCurrency":{"type":"string","description":"Billing currency. The possible values are `AUD`, `CAD`, `CHF`, `DKK`, `EUR`, `GBP`, `JPY`, `NOK`, `NZD`, `SEK`, `SGD` and `USD`.\n"},"billingEmails":{"type":"array","items":{"type":"string"},"description":"List of project billing email addresses.\n"},"billingExtraText":{"type":"string","description":"Extra text to be included in all project invoices, e.g. purchase order or cost center number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"cardId":{"type":"string","description":"Credit card ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"city":{"type":"string","description":"Address city. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"company":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"copyFromBillingGroup":{"type":"string","description":"Billing group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"countryCode":{"type":"string","description":"Two letter country code for billing country. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Billing group name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a billing group to an existing organization by using its ID.\n"},"state":{"type":"string","description":"Address state or province. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/BillingGroupTimeouts:BillingGroupTimeouts"},"vatId":{"type":"string","description":"EU VAT Identification Number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"zipCode":{"type":"string","description":"Address zip code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"}},"requiredInputs":["parentId"],"stateInputs":{"description":"Input properties used for looking up and filtering BillingGroup resources.\n","properties":{"accountId":{"type":"string","description":"Account ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. **Deprecated**: Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release.\n","deprecationMessage":"Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release."},"addressLines":{"type":"array","items":{"type":"string"},"description":"Address lines 1 and 2. For example, street, PO box, or building.\n"},"billingContactEmails":{"type":"array","items":{"type":"string"},"description":"List of billing groups contact email addresses.\n"},"billingCurrency":{"type":"string","description":"Billing currency. The possible values are `AUD`, `CAD`, `CHF`, `DKK`, `EUR`, `GBP`, `JPY`, `NOK`, `NZD`, `SEK`, `SGD` and `USD`.\n"},"billingEmails":{"type":"array","items":{"type":"string"},"description":"List of project billing email addresses.\n"},"billingExtraText":{"type":"string","description":"Extra text to be included in all project invoices, e.g. purchase order or cost center number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e.\n"},"billingGroupId":{"type":"string","description":"The [ID of the billing group](https://aiven.io/docs/platform/reference/get-resource-IDs#get-a-billing-group-id). To set up proper dependencies please refer to this variable as a reference.\n"},"cardId":{"type":"string","description":"Credit card ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"city":{"type":"string","description":"Address city. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e.\n"},"company":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"copyFromBillingGroup":{"type":"string","description":"Billing group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"countryCode":{"type":"string","description":"Two letter country code for billing country. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Billing group name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a billing group to an existing organization by using its ID.\n"},"state":{"type":"string","description":"Address state or province. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/BillingGroupTimeouts:BillingGroupTimeouts"},"vatId":{"type":"string","description":"EU VAT Identification Number. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"zipCode":{"type":"string","description":"Address zip code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"}},"type":"object"}},"aiven:index/byocAwsEntity:ByocAwsEntity":{"description":"Creates and manages a BYOC custom cloud environment on AWS.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = new aiven.ByocAwsEntity(\"example\", {\n    organizationId: main.id,\n    displayName: \"my-byoc-cloud\",\n    cloudProvider: \"aws\",\n    cloudRegion: \"aws-eu-west-1\",\n    deploymentModel: \"standard\",\n    reservedCidr: \"10.0.0.0/16\",\n    awsIamRoleArn: \"arn:aws:iam::123456789012:role/my-aiven-byoc-role\",\n    contactEmails: [{\n        email: \"ops@example.com\",\n        realName: \"Ops Team\",\n        role: \"admin\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.ByocAwsEntity(\"example\",\n    organization_id=main[\"id\"],\n    display_name=\"my-byoc-cloud\",\n    cloud_provider=\"aws\",\n    cloud_region=\"aws-eu-west-1\",\n    deployment_model=\"standard\",\n    reserved_cidr=\"10.0.0.0/16\",\n    aws_iam_role_arn=\"arn:aws:iam::123456789012:role/my-aiven-byoc-role\",\n    contact_emails=[{\n        \"email\": \"ops@example.com\",\n        \"real_name\": \"Ops Team\",\n        \"role\": \"admin\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Aiven.ByocAwsEntity(\"example\", new()\n    {\n        OrganizationId = main.Id,\n        DisplayName = \"my-byoc-cloud\",\n        CloudProvider = \"aws\",\n        CloudRegion = \"aws-eu-west-1\",\n        DeploymentModel = \"standard\",\n        ReservedCidr = \"10.0.0.0/16\",\n        AwsIamRoleArn = \"arn:aws:iam::123456789012:role/my-aiven-byoc-role\",\n        ContactEmails = new[]\n        {\n            new Aiven.Inputs.ByocAwsEntityContactEmailArgs\n            {\n                Email = \"ops@example.com\",\n                RealName = \"Ops Team\",\n                Role = \"admin\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewByocAwsEntity(ctx, \"example\", \u0026aiven.ByocAwsEntityArgs{\n\t\t\tOrganizationId:  pulumi.Any(main.Id),\n\t\t\tDisplayName:     pulumi.String(\"my-byoc-cloud\"),\n\t\t\tCloudProvider:   pulumi.String(\"aws\"),\n\t\t\tCloudRegion:     pulumi.String(\"aws-eu-west-1\"),\n\t\t\tDeploymentModel: pulumi.String(\"standard\"),\n\t\t\tReservedCidr:    pulumi.String(\"10.0.0.0/16\"),\n\t\t\tAwsIamRoleArn:   pulumi.String(\"arn:aws:iam::123456789012:role/my-aiven-byoc-role\"),\n\t\t\tContactEmails: aiven.ByocAwsEntityContactEmailArray{\n\t\t\t\t\u0026aiven.ByocAwsEntityContactEmailArgs{\n\t\t\t\t\tEmail:    pulumi.String(\"ops@example.com\"),\n\t\t\t\t\tRealName: pulumi.String(\"Ops Team\"),\n\t\t\t\t\tRole:     pulumi.String(\"admin\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.ByocAwsEntity;\nimport com.pulumi.aiven.ByocAwsEntityArgs;\nimport com.pulumi.aiven.inputs.ByocAwsEntityContactEmailArgs;\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 ByocAwsEntity(\"example\", ByocAwsEntityArgs.builder()\n            .organizationId(main.id())\n            .displayName(\"my-byoc-cloud\")\n            .cloudProvider(\"aws\")\n            .cloudRegion(\"aws-eu-west-1\")\n            .deploymentModel(\"standard\")\n            .reservedCidr(\"10.0.0.0/16\")\n            .awsIamRoleArn(\"arn:aws:iam::123456789012:role/my-aiven-byoc-role\")\n            .contactEmails(ByocAwsEntityContactEmailArgs.builder()\n                .email(\"ops@example.com\")\n                .realName(\"Ops Team\")\n                .role(\"admin\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aiven:ByocAwsEntity\n    properties:\n      organizationId: ${main.id}\n      displayName: my-byoc-cloud\n      cloudProvider: aws\n      cloudRegion: aws-eu-west-1\n      deploymentModel: standard\n      reservedCidr: 10.0.0.0/16\n      awsIamRoleArn: arn:aws:iam::123456789012:role/my-aiven-byoc-role\n      contactEmails:\n        - email: ops@example.com\n          realName: Ops Team\n          role: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/byocAwsEntity:ByocAwsEntity example ORGANIZATION_ID/CUSTOM_CLOUD_ENVIRONMENT_ID\n```\n\n","properties":{"aivenAwsAccountPrincipal":{"type":"string","description":"Entity that assumes the IAM role for controlling the BYOC account.\n"},"aivenAwsAssumeRoleExternalId":{"type":"string","description":"External ID for assuming the IAM role for controlling the BYOC account.\n"},"aivenAwsObjectStorageCredentialsCreatorArn":{"type":"string","description":"Amazon Resource Name.\n"},"aivenAwsObjectStorageUserArn":{"type":"string","description":"Amazon Resource Name.\n"},"aivenManagementCidrBlocks":{"type":"array","items":{"type":"string"},"description":"IP address ranges for incoming connections to the bastion host from the Aiven management plane.\n"},"aivenObjectStorageCredentialsCreatorUser":{"type":"string","description":"Google account identifier.\n"},"awsIamRoleArn":{"type":"string","description":"Amazon Resource Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"awsSubnetsBastion":{"type":"object","additionalProperties":{"type":"string"},"description":"Subnets to build in the bastion VPC.\n"},"awsSubnetsWorkload":{"type":"object","additionalProperties":{"type":"string"},"description":"Subnets to build in the workload VPC.\n"},"bucketNames":{"type":"object","additionalProperties":{"type":"string"},"description":"Names and usages of buckets required for workloads.\n"},"byocResourceTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of tags for the resources provisioned on the BYOC account.\n"},"byocUniqueName":{"type":"string","description":"Name for all the resources created for the custom cloud environment.\n"},"cloudProvider":{"type":"string","description":"Cloud provider for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oracle`\" pulumi-lang-dotnet=\"`Oracle`\" pulumi-lang-go=\"`oracle`\" pulumi-lang-python=\"`oracle`\" pulumi-lang-yaml=\"`oracle`\" pulumi-lang-java=\"`oracle`\"\u003e`oracle`\u003c/span\u003e.\n"},"cloudRegion":{"type":"string","description":"Cloud region for the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"contactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityContactEmail:ByocAwsEntityContactEmail"},"description":"Email addresses for notifications and alerts for this BYOC cloud.\n"},"customCloudEnvironmentId":{"type":"string","description":"ID of a custom cloud environment.\n"},"customCloudNames":{"type":"array","items":{"type":"string"},"description":"Cloud names that can be used to provision a service on this BYOC.\n"},"deploymentModel":{"type":"string","description":"Deployment model for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`directIpsecIngress`\" pulumi-lang-dotnet=\"`DirectIpsecIngress`\" pulumi-lang-go=\"`directIpsecIngress`\" pulumi-lang-python=\"`direct_ipsec_ingress`\" pulumi-lang-yaml=\"`directIpsecIngress`\" pulumi-lang-java=\"`directIpsecIngress`\"\u003e`direct_ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipsecIngress`\" pulumi-lang-dotnet=\"`IpsecIngress`\" pulumi-lang-go=\"`ipsecIngress`\" pulumi-lang-python=\"`ipsec_ingress`\" pulumi-lang-yaml=\"`ipsecIngress`\" pulumi-lang-java=\"`ipsecIngress`\"\u003e`ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standardPublic`\" pulumi-lang-dotnet=\"`StandardPublic`\" pulumi-lang-go=\"`standardPublic`\" pulumi-lang-python=\"`standard_public`\" pulumi-lang-yaml=\"`standardPublic`\" pulumi-lang-java=\"`standardPublic`\"\u003e`standard_public`\u003c/span\u003e.\n"},"displayName":{"type":"string","description":"Short name for this BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"errors":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityError:ByocAwsEntityError"},"description":"List of errors for this custom cloud environment.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"reservedCidr":{"type":"string","description":"CIDR range reserved for Aiven provisioned networks in the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e.\n"},"state":{"type":"string","description":"State of this BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creationFailed`\" pulumi-lang-dotnet=\"`CreationFailed`\" pulumi-lang-go=\"`creationFailed`\" pulumi-lang-python=\"`creation_failed`\" pulumi-lang-yaml=\"`creationFailed`\" pulumi-lang-java=\"`creationFailed`\"\u003e`creation_failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deletionFailed`\" pulumi-lang-dotnet=\"`DeletionFailed`\" pulumi-lang-go=\"`deletionFailed`\" pulumi-lang-python=\"`deletion_failed`\" pulumi-lang-yaml=\"`deletionFailed`\" pulumi-lang-java=\"`deletionFailed`\"\u003e`deletion_failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconnecting`\" pulumi-lang-dotnet=\"`Reconnecting`\" pulumi-lang-go=\"`reconnecting`\" pulumi-lang-python=\"`reconnecting`\" pulumi-lang-yaml=\"`reconnecting`\" pulumi-lang-java=\"`reconnecting`\"\u003e`reconnecting`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`validating`\" pulumi-lang-dotnet=\"`Validating`\" pulumi-lang-go=\"`validating`\" pulumi-lang-python=\"`validating`\" pulumi-lang-yaml=\"`validating`\" pulumi-lang-java=\"`validating`\"\u003e`validating`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of resource tags.\n"},"timeouts":{"$ref":"#/types/aiven:index/ByocAwsEntityTimeouts:ByocAwsEntityTimeouts"},"updateTime":{"type":"string","description":"Custom cloud environment last update timestamp (ISO 8601).\n"},"useCustomerOwnedStorage":{"type":"boolean","description":"True if this BYOC cloud is using customer owned storage.\n"}},"required":["aivenAwsAccountPrincipal","aivenAwsAssumeRoleExternalId","aivenAwsObjectStorageCredentialsCreatorArn","aivenAwsObjectStorageUserArn","aivenManagementCidrBlocks","aivenObjectStorageCredentialsCreatorUser","awsSubnetsBastion","awsSubnetsWorkload","bucketNames","byocResourceTags","byocUniqueName","cloudProvider","cloudRegion","customCloudEnvironmentId","customCloudNames","deploymentModel","displayName","organizationId","reservedCidr","state","updateTime","useCustomerOwnedStorage"],"inputProperties":{"awsIamRoleArn":{"type":"string","description":"Amazon Resource Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"cloudProvider":{"type":"string","description":"Cloud provider for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oracle`\" pulumi-lang-dotnet=\"`Oracle`\" pulumi-lang-go=\"`oracle`\" pulumi-lang-python=\"`oracle`\" pulumi-lang-yaml=\"`oracle`\" pulumi-lang-java=\"`oracle`\"\u003e`oracle`\u003c/span\u003e.\n"},"cloudRegion":{"type":"string","description":"Cloud region for the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"contactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityContactEmail:ByocAwsEntityContactEmail"},"description":"Email addresses for notifications and alerts for this BYOC cloud.\n"},"deploymentModel":{"type":"string","description":"Deployment model for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`directIpsecIngress`\" pulumi-lang-dotnet=\"`DirectIpsecIngress`\" pulumi-lang-go=\"`directIpsecIngress`\" pulumi-lang-python=\"`direct_ipsec_ingress`\" pulumi-lang-yaml=\"`directIpsecIngress`\" pulumi-lang-java=\"`directIpsecIngress`\"\u003e`direct_ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipsecIngress`\" pulumi-lang-dotnet=\"`IpsecIngress`\" pulumi-lang-go=\"`ipsecIngress`\" pulumi-lang-python=\"`ipsec_ingress`\" pulumi-lang-yaml=\"`ipsecIngress`\" pulumi-lang-java=\"`ipsecIngress`\"\u003e`ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standardPublic`\" pulumi-lang-dotnet=\"`StandardPublic`\" pulumi-lang-go=\"`standardPublic`\" pulumi-lang-python=\"`standard_public`\" pulumi-lang-yaml=\"`standardPublic`\" pulumi-lang-java=\"`standardPublic`\"\u003e`standard_public`\u003c/span\u003e.\n"},"displayName":{"type":"string","description":"Short name for this BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"errors":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityError:ByocAwsEntityError"},"description":"List of errors for this custom cloud environment.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"reservedCidr":{"type":"string","description":"CIDR range reserved for Aiven provisioned networks in the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of resource tags.\n"},"timeouts":{"$ref":"#/types/aiven:index/ByocAwsEntityTimeouts:ByocAwsEntityTimeouts"}},"requiredInputs":["cloudProvider","cloudRegion","deploymentModel","displayName","organizationId","reservedCidr"],"stateInputs":{"description":"Input properties used for looking up and filtering ByocAwsEntity resources.\n","properties":{"aivenAwsAccountPrincipal":{"type":"string","description":"Entity that assumes the IAM role for controlling the BYOC account.\n"},"aivenAwsAssumeRoleExternalId":{"type":"string","description":"External ID for assuming the IAM role for controlling the BYOC account.\n"},"aivenAwsObjectStorageCredentialsCreatorArn":{"type":"string","description":"Amazon Resource Name.\n"},"aivenAwsObjectStorageUserArn":{"type":"string","description":"Amazon Resource Name.\n"},"aivenManagementCidrBlocks":{"type":"array","items":{"type":"string"},"description":"IP address ranges for incoming connections to the bastion host from the Aiven management plane.\n"},"aivenObjectStorageCredentialsCreatorUser":{"type":"string","description":"Google account identifier.\n"},"awsIamRoleArn":{"type":"string","description":"Amazon Resource Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"awsSubnetsBastion":{"type":"object","additionalProperties":{"type":"string"},"description":"Subnets to build in the bastion VPC.\n"},"awsSubnetsWorkload":{"type":"object","additionalProperties":{"type":"string"},"description":"Subnets to build in the workload VPC.\n"},"bucketNames":{"type":"object","additionalProperties":{"type":"string"},"description":"Names and usages of buckets required for workloads.\n"},"byocResourceTags":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of tags for the resources provisioned on the BYOC account.\n"},"byocUniqueName":{"type":"string","description":"Name for all the resources created for the custom cloud environment.\n"},"cloudProvider":{"type":"string","description":"Cloud provider for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`azure`\" pulumi-lang-dotnet=\"`Azure`\" pulumi-lang-go=\"`azure`\" pulumi-lang-python=\"`azure`\" pulumi-lang-yaml=\"`azure`\" pulumi-lang-java=\"`azure`\"\u003e`azure`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`google`\" pulumi-lang-dotnet=\"`Google`\" pulumi-lang-go=\"`google`\" pulumi-lang-python=\"`google`\" pulumi-lang-yaml=\"`google`\" pulumi-lang-java=\"`google`\"\u003e`google`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oracle`\" pulumi-lang-dotnet=\"`Oracle`\" pulumi-lang-go=\"`oracle`\" pulumi-lang-python=\"`oracle`\" pulumi-lang-yaml=\"`oracle`\" pulumi-lang-java=\"`oracle`\"\u003e`oracle`\u003c/span\u003e.\n"},"cloudRegion":{"type":"string","description":"Cloud region for the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`32`\" pulumi-lang-dotnet=\"`32`\" pulumi-lang-go=\"`32`\" pulumi-lang-python=\"`32`\" pulumi-lang-yaml=\"`32`\" pulumi-lang-java=\"`32`\"\u003e`32`\u003c/span\u003e.\n"},"contactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityContactEmail:ByocAwsEntityContactEmail"},"description":"Email addresses for notifications and alerts for this BYOC cloud.\n"},"customCloudEnvironmentId":{"type":"string","description":"ID of a custom cloud environment.\n"},"customCloudNames":{"type":"array","items":{"type":"string"},"description":"Cloud names that can be used to provision a service on this BYOC.\n"},"deploymentModel":{"type":"string","description":"Deployment model for the BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`directIpsecIngress`\" pulumi-lang-dotnet=\"`DirectIpsecIngress`\" pulumi-lang-go=\"`directIpsecIngress`\" pulumi-lang-python=\"`direct_ipsec_ingress`\" pulumi-lang-yaml=\"`directIpsecIngress`\" pulumi-lang-java=\"`directIpsecIngress`\"\u003e`direct_ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`ipsecIngress`\" pulumi-lang-dotnet=\"`IpsecIngress`\" pulumi-lang-go=\"`ipsecIngress`\" pulumi-lang-python=\"`ipsec_ingress`\" pulumi-lang-yaml=\"`ipsecIngress`\" pulumi-lang-java=\"`ipsecIngress`\"\u003e`ipsec_ingress`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`standard`\" pulumi-lang-dotnet=\"`Standard`\" pulumi-lang-go=\"`standard`\" pulumi-lang-python=\"`standard`\" pulumi-lang-yaml=\"`standard`\" pulumi-lang-java=\"`standard`\"\u003e`standard`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`standardPublic`\" pulumi-lang-dotnet=\"`StandardPublic`\" pulumi-lang-go=\"`standardPublic`\" pulumi-lang-python=\"`standard_public`\" pulumi-lang-yaml=\"`standardPublic`\" pulumi-lang-java=\"`standardPublic`\"\u003e`standard_public`\u003c/span\u003e.\n"},"displayName":{"type":"string","description":"Short name for this BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e.\n"},"errors":{"type":"array","items":{"$ref":"#/types/aiven:index/ByocAwsEntityError:ByocAwsEntityError"},"description":"List of errors for this custom cloud environment.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"reservedCidr":{"type":"string","description":"CIDR range reserved for Aiven provisioned networks in the BYOC cloud. Maximum length: \u003cspan pulumi-lang-nodejs=\"`18`\" pulumi-lang-dotnet=\"`18`\" pulumi-lang-go=\"`18`\" pulumi-lang-python=\"`18`\" pulumi-lang-yaml=\"`18`\" pulumi-lang-java=\"`18`\"\u003e`18`\u003c/span\u003e.\n"},"state":{"type":"string","description":"State of this BYOC cloud. The possible values are \u003cspan pulumi-lang-nodejs=\"`active`\" pulumi-lang-dotnet=\"`Active`\" pulumi-lang-go=\"`active`\" pulumi-lang-python=\"`active`\" pulumi-lang-yaml=\"`active`\" pulumi-lang-java=\"`active`\"\u003e`active`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creating`\" pulumi-lang-dotnet=\"`Creating`\" pulumi-lang-go=\"`creating`\" pulumi-lang-python=\"`creating`\" pulumi-lang-yaml=\"`creating`\" pulumi-lang-java=\"`creating`\"\u003e`creating`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`creationFailed`\" pulumi-lang-dotnet=\"`CreationFailed`\" pulumi-lang-go=\"`creationFailed`\" pulumi-lang-python=\"`creation_failed`\" pulumi-lang-yaml=\"`creationFailed`\" pulumi-lang-java=\"`creationFailed`\"\u003e`creation_failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleting`\" pulumi-lang-dotnet=\"`Deleting`\" pulumi-lang-go=\"`deleting`\" pulumi-lang-python=\"`deleting`\" pulumi-lang-yaml=\"`deleting`\" pulumi-lang-java=\"`deleting`\"\u003e`deleting`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deletionFailed`\" pulumi-lang-dotnet=\"`DeletionFailed`\" pulumi-lang-go=\"`deletionFailed`\" pulumi-lang-python=\"`deletion_failed`\" pulumi-lang-yaml=\"`deletionFailed`\" pulumi-lang-java=\"`deletionFailed`\"\u003e`deletion_failed`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disconnected`\" pulumi-lang-dotnet=\"`Disconnected`\" pulumi-lang-go=\"`disconnected`\" pulumi-lang-python=\"`disconnected`\" pulumi-lang-yaml=\"`disconnected`\" pulumi-lang-java=\"`disconnected`\"\u003e`disconnected`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`draft`\" pulumi-lang-dotnet=\"`Draft`\" pulumi-lang-go=\"`draft`\" pulumi-lang-python=\"`draft`\" pulumi-lang-yaml=\"`draft`\" pulumi-lang-java=\"`draft`\"\u003e`draft`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`reconnecting`\" pulumi-lang-dotnet=\"`Reconnecting`\" pulumi-lang-go=\"`reconnecting`\" pulumi-lang-python=\"`reconnecting`\" pulumi-lang-yaml=\"`reconnecting`\" pulumi-lang-java=\"`reconnecting`\"\u003e`reconnecting`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`validating`\" pulumi-lang-dotnet=\"`Validating`\" pulumi-lang-go=\"`validating`\" pulumi-lang-python=\"`validating`\" pulumi-lang-yaml=\"`validating`\" pulumi-lang-java=\"`validating`\"\u003e`validating`\u003c/span\u003e.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Set of resource tags.\n"},"timeouts":{"$ref":"#/types/aiven:index/ByocAwsEntityTimeouts:ByocAwsEntityTimeouts"},"updateTime":{"type":"string","description":"Custom cloud environment last update timestamp (ISO 8601).\n"},"useCustomerOwnedStorage":{"type":"boolean","description":"True if this BYOC cloud is using customer owned storage.\n"}},"type":"object"}},"aiven:index/cassandra:Cassandra":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cassandra":{"$ref":"#/types/aiven:index/CassandraCassandra:CassandraCassandra","description":"Values provided by the Cassandra server.","language":{"csharp":{"name":"CassandraServer"}},"secret":true},"cassandraUserConfig":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfig:CassandraCassandraUserConfig","description":"Cassandra user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraComponent:CassandraComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraServiceIntegration:CassandraServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTag:CassandraTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTechEmail:CassandraTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","cassandra","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cassandra":{"$ref":"#/types/aiven:index/CassandraCassandra:CassandraCassandra","description":"Values provided by the Cassandra server.","language":{"csharp":{"name":"CassandraServer"}},"secret":true},"cassandraUserConfig":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfig:CassandraCassandraUserConfig","description":"Cassandra user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraServiceIntegration:CassandraServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTag:CassandraTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTechEmail:CassandraTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Cassandra resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cassandra":{"$ref":"#/types/aiven:index/CassandraCassandra:CassandraCassandra","description":"Values provided by the Cassandra server.","language":{"csharp":{"name":"CassandraServer"}},"secret":true},"cassandraUserConfig":{"$ref":"#/types/aiven:index/CassandraCassandraUserConfig:CassandraCassandraUserConfig","description":"Cassandra user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraComponent:CassandraComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraServiceIntegration:CassandraServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTag:CassandraTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/CassandraTechEmail:CassandraTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/cassandraUser:CassandraUser":{"properties":{"accessCert":{"type":"string","description":"Access certificate for the user.","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Cassandra service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["accessCert","accessKey","password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"username":{"type":"string","description":"Name of the Cassandra service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering CassandraUser resources.\n","properties":{"accessCert":{"type":"string","description":"Access certificate for the user.","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Cassandra service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/clickhouse:Clickhouse":{"description":"Creates and manages an [Aiven for ClickHouse®](https://aiven.io/docs/products/clickhouse/concepts/features-overview) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleClickhouse = new aiven.Clickhouse(\"example_clickhouse\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    serviceName: \"example-clickhouse-service\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_clickhouse = aiven.Clickhouse(\"example_clickhouse\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    service_name=\"example-clickhouse-service\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickhouse = new Aiven.Clickhouse(\"example_clickhouse\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        ServiceName = \"example-clickhouse-service\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewClickhouse(ctx, \"example_clickhouse\", \u0026aiven.ClickhouseArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-clickhouse-service\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\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.aiven.Clickhouse;\nimport com.pulumi.aiven.ClickhouseArgs;\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 exampleClickhouse = new Clickhouse(\"exampleClickhouse\", ClickhouseArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .serviceName(\"example-clickhouse-service\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleClickhouse:\n    type: aiven:Clickhouse\n    name: example_clickhouse\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: business-4\n      serviceName: example-clickhouse-service\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/clickhouse:Clickhouse clickhouse PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"clickhouse":{"$ref":"#/types/aiven:index/ClickhouseClickhouse:ClickhouseClickhouse","description":"Values provided by the ClickHouse server.\n","language":{"csharp":{"name":"ClickhouseServer"}},"secret":true},"clickhouseUserConfig":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfig:ClickhouseClickhouseUserConfig","description":"Clickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseComponent:ClickhouseComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseServiceIntegration:ClickhouseServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"The service URI for the ClickHouse service, which contains the hostname and port (e.g., 'service-name.h.aivencloud.com:16539') used to connect to the service. For protocol-specific connections, see the ClickHouse service example.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTag:ClickhouseTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTechEmail:ClickhouseTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","clickhouse","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"clickhouse":{"$ref":"#/types/aiven:index/ClickhouseClickhouse:ClickhouseClickhouse","description":"Values provided by the ClickHouse server.\n","language":{"csharp":{"name":"ClickhouseServer"}},"secret":true},"clickhouseUserConfig":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfig:ClickhouseClickhouseUserConfig","description":"Clickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseServiceIntegration:ClickhouseServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTag:ClickhouseTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTechEmail:ClickhouseTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Clickhouse resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"clickhouse":{"$ref":"#/types/aiven:index/ClickhouseClickhouse:ClickhouseClickhouse","description":"Values provided by the ClickHouse server.\n","language":{"csharp":{"name":"ClickhouseServer"}},"secret":true},"clickhouseUserConfig":{"$ref":"#/types/aiven:index/ClickhouseClickhouseUserConfig:ClickhouseClickhouseUserConfig","description":"Clickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseComponent:ClickhouseComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseServiceIntegration:ClickhouseServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"The service URI for the ClickHouse service, which contains the hostname and port (e.g., 'service-name.h.aivencloud.com:16539') used to connect to the service. For protocol-specific connections, see the ClickHouse service example.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTag:ClickhouseTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseTechEmail:ClickhouseTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/clickhouseDatabase:ClickhouseDatabase":{"description":"Creates and manages an [Aiven for ClickHouse](https://aiven.io/docs/products/clickhouse) database. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n\u003e Tables cannot be created using Aiven Terraform Provider. To create a table, use the [Aiven Console or CLI](https://aiven.io/docs/products/clickhouse/howto/manage-databases-tables#create-a-table).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleClickhouse = new aiven.Clickhouse(\"example_clickhouse\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    serviceName: \"example-clickhouse-service\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n});\nconst exampleDb = new aiven.ClickhouseDatabase(\"example_db\", {\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    name: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_clickhouse = aiven.Clickhouse(\"example_clickhouse\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    service_name=\"example-clickhouse-service\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\")\nexample_db = aiven.ClickhouseDatabase(\"example_db\",\n    project=example_project[\"project\"],\n    service_name=example_clickhouse.service_name,\n    name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickhouse = new Aiven.Clickhouse(\"example_clickhouse\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        ServiceName = \"example-clickhouse-service\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n    });\n\n    var exampleDb = new Aiven.ClickhouseDatabase(\"example_db\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Name = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleClickhouse, err := aiven.NewClickhouse(ctx, \"example_clickhouse\", \u0026aiven.ClickhouseArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-clickhouse-service\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseDatabase(ctx, \"example_db\", \u0026aiven.ClickhouseDatabaseArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: exampleClickhouse.ServiceName,\n\t\t\tName:        pulumi.String(\"example-database\"),\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.aiven.Clickhouse;\nimport com.pulumi.aiven.ClickhouseArgs;\nimport com.pulumi.aiven.ClickhouseDatabase;\nimport com.pulumi.aiven.ClickhouseDatabaseArgs;\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 exampleClickhouse = new Clickhouse(\"exampleClickhouse\", ClickhouseArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .serviceName(\"example-clickhouse-service\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .build());\n\n        var exampleDb = new ClickhouseDatabase(\"exampleDb\", ClickhouseDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .name(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleClickhouse:\n    type: aiven:Clickhouse\n    name: example_clickhouse\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: business-4\n      serviceName: example-clickhouse-service\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n  exampleDb:\n    type: aiven:ClickhouseDatabase\n    name: example_db\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleClickhouse.serviceName}\n      name: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/clickhouseDatabase:ClickhouseDatabase example PROJECT/SERVICE_NAME/NAME\n```\n\n","properties":{"name":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/ClickhouseDatabaseTimeouts:ClickhouseDatabaseTimeouts"}},"required":["name","project","serviceName","terminationProtection"],"inputProperties":{"name":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/ClickhouseDatabaseTimeouts:ClickhouseDatabaseTimeouts"}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering ClickhouseDatabase resources.\n","properties":{"name":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/ClickhouseDatabaseTimeouts:ClickhouseDatabaseTimeouts"}},"type":"object"}},"aiven:index/clickhouseGrant:ClickhouseGrant":{"description":"Creates and manages ClickHouse grants to give users and roles privileges to a ClickHouse service.\n\nThere are some limitations and considerations to be aware of when using this resource:\n* Users cannot have the same name as roles.\n* Global privileges cannot be granted on the database level. To grant global privileges, use `database=\"*\"`.\n* To grant a privilege on all tables of a database, omit the table and only keep the database. Don't use `table=\"*\"`.\n* Privileges granted on ClickHouse Named Collections are not currently managed by this resource and will be ignored. If you have grants on Named Collections managed outside of Terraform, this resource will not attempt to alter them. For an example showing how to set up Named Collection access with S3 integration, see the ClickHouse S3 Integration example.\n* Changes first revoke all grants and then reissue the remaining grants for convergence.\n* Some grants overlap, which can cause the Aiven Terraform Provider to detect a change even if you haven't made modifications. For example, using both `DELETE` and `ALTER DELETE` together might cause this issue.\n  The [ClickHouse grant privileges documentation](https://clickhouse.com/docs/sql-reference/statements/grant) has a list of ClickHouse privileges.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleRole = new aiven.ClickhouseRole(\"example_role\", {\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    role: \"example-role\",\n});\n// Grant privileges to the example role.\nconst rolePrivileges = new aiven.ClickhouseGrant(\"role_privileges\", {\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    role: exampleRole.role,\n    privilegeGrants: [\n        {\n            privilege: \"INSERT\",\n            database: exampleDb.name,\n            table: \"example-table\",\n        },\n        {\n            privilege: \"SELECT\",\n            database: exampleDb.name,\n        },\n        {\n            privilege: \"CREATE TEMPORARY TABLE\",\n            database: \"*\",\n        },\n        {\n            privilege: \"SYSTEM DROP CACHE\",\n            database: \"*\",\n        },\n    ],\n});\n// Grant the role to the user.\nconst exampleUser = new aiven.ClickhouseUser(\"example_user\", {\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    username: \"example-user\",\n});\nconst userRoleAssignment = new aiven.ClickhouseGrant(\"user_role_assignment\", {\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    user: exampleUser.username,\n    roleGrants: [{\n        role: exampleRole.role,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_role = aiven.ClickhouseRole(\"example_role\",\n    project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    role=\"example-role\")\n# Grant privileges to the example role.\nrole_privileges = aiven.ClickhouseGrant(\"role_privileges\",\n    project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    role=example_role.role,\n    privilege_grants=[\n        {\n            \"privilege\": \"INSERT\",\n            \"database\": example_db[\"name\"],\n            \"table\": \"example-table\",\n        },\n        {\n            \"privilege\": \"SELECT\",\n            \"database\": example_db[\"name\"],\n        },\n        {\n            \"privilege\": \"CREATE TEMPORARY TABLE\",\n            \"database\": \"*\",\n        },\n        {\n            \"privilege\": \"SYSTEM DROP CACHE\",\n            \"database\": \"*\",\n        },\n    ])\n# Grant the role to the user.\nexample_user = aiven.ClickhouseUser(\"example_user\",\n    project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    username=\"example-user\")\nuser_role_assignment = aiven.ClickhouseGrant(\"user_role_assignment\",\n    project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    user=example_user.username,\n    role_grants=[{\n        \"role\": example_role.role,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRole = new Aiven.ClickhouseRole(\"example_role\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Role = \"example-role\",\n    });\n\n    // Grant privileges to the example role.\n    var rolePrivileges = new Aiven.ClickhouseGrant(\"role_privileges\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Role = exampleRole.Role,\n        PrivilegeGrants = new[]\n        {\n            new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n            {\n                Privilege = \"INSERT\",\n                Database = exampleDb.Name,\n                Table = \"example-table\",\n            },\n            new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n            {\n                Privilege = \"SELECT\",\n                Database = exampleDb.Name,\n            },\n            new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n            {\n                Privilege = \"CREATE TEMPORARY TABLE\",\n                Database = \"*\",\n            },\n            new Aiven.Inputs.ClickhouseGrantPrivilegeGrantArgs\n            {\n                Privilege = \"SYSTEM DROP CACHE\",\n                Database = \"*\",\n            },\n        },\n    });\n\n    // Grant the role to the user.\n    var exampleUser = new Aiven.ClickhouseUser(\"example_user\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Username = \"example-user\",\n    });\n\n    var userRoleAssignment = new Aiven.ClickhouseGrant(\"user_role_assignment\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        User = exampleUser.Username,\n        RoleGrants = new[]\n        {\n            new Aiven.Inputs.ClickhouseGrantRoleGrantArgs\n            {\n                Role = exampleRole.Role,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleRole, err := aiven.NewClickhouseRole(ctx, \"example_role\", \u0026aiven.ClickhouseRoleArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleClickhouse.ServiceName),\n\t\t\tRole:        pulumi.String(\"example-role\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Grant privileges to the example role.\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"role_privileges\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleClickhouse.ServiceName),\n\t\t\tRole:        exampleRole.Role,\n\t\t\tPrivilegeGrants: aiven.ClickhouseGrantPrivilegeGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"INSERT\"),\n\t\t\t\t\tDatabase:  pulumi.Any(exampleDb.Name),\n\t\t\t\t\tTable:     pulumi.String(\"example-table\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"SELECT\"),\n\t\t\t\t\tDatabase:  pulumi.Any(exampleDb.Name),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"CREATE TEMPORARY TABLE\"),\n\t\t\t\t\tDatabase:  pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.ClickhouseGrantPrivilegeGrantArgs{\n\t\t\t\t\tPrivilege: pulumi.String(\"SYSTEM DROP CACHE\"),\n\t\t\t\t\tDatabase:  pulumi.String(\"*\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Grant the role to the user.\n\t\texampleUser, err := aiven.NewClickhouseUser(ctx, \"example_user\", \u0026aiven.ClickhouseUserArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleClickhouse.ServiceName),\n\t\t\tUsername:    pulumi.String(\"example-user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewClickhouseGrant(ctx, \"user_role_assignment\", \u0026aiven.ClickhouseGrantArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleClickhouse.ServiceName),\n\t\t\tUser:        exampleUser.Username,\n\t\t\tRoleGrants: aiven.ClickhouseGrantRoleGrantArray{\n\t\t\t\t\u0026aiven.ClickhouseGrantRoleGrantArgs{\n\t\t\t\t\tRole: exampleRole.Role,\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.ClickhouseRole;\nimport com.pulumi.aiven.ClickhouseRoleArgs;\nimport com.pulumi.aiven.ClickhouseGrant;\nimport com.pulumi.aiven.ClickhouseGrantArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantPrivilegeGrantArgs;\nimport com.pulumi.aiven.ClickhouseUser;\nimport com.pulumi.aiven.ClickhouseUserArgs;\nimport com.pulumi.aiven.inputs.ClickhouseGrantRoleGrantArgs;\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 exampleRole = new ClickhouseRole(\"exampleRole\", ClickhouseRoleArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .role(\"example-role\")\n            .build());\n\n        // Grant privileges to the example role.\n        var rolePrivileges = new ClickhouseGrant(\"rolePrivileges\", ClickhouseGrantArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .role(exampleRole.role())\n            .privilegeGrants(            \n                ClickhouseGrantPrivilegeGrantArgs.builder()\n                    .privilege(\"INSERT\")\n                    .database(exampleDb.name())\n                    .table(\"example-table\")\n                    .build(),\n                ClickhouseGrantPrivilegeGrantArgs.builder()\n                    .privilege(\"SELECT\")\n                    .database(exampleDb.name())\n                    .build(),\n                ClickhouseGrantPrivilegeGrantArgs.builder()\n                    .privilege(\"CREATE TEMPORARY TABLE\")\n                    .database(\"*\")\n                    .build(),\n                ClickhouseGrantPrivilegeGrantArgs.builder()\n                    .privilege(\"SYSTEM DROP CACHE\")\n                    .database(\"*\")\n                    .build())\n            .build());\n\n        // Grant the role to the user.\n        var exampleUser = new ClickhouseUser(\"exampleUser\", ClickhouseUserArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .username(\"example-user\")\n            .build());\n\n        var userRoleAssignment = new ClickhouseGrant(\"userRoleAssignment\", ClickhouseGrantArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .user(exampleUser.username())\n            .roleGrants(ClickhouseGrantRoleGrantArgs.builder()\n                .role(exampleRole.role())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRole:\n    type: aiven:ClickhouseRole\n    name: example_role\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleClickhouse.serviceName}\n      role: example-role\n  # Grant privileges to the example role.\n  rolePrivileges:\n    type: aiven:ClickhouseGrant\n    name: role_privileges\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleClickhouse.serviceName}\n      role: ${exampleRole.role}\n      privilegeGrants:\n        - privilege: INSERT\n          database: ${exampleDb.name}\n          table: example-table\n        - privilege: SELECT\n          database: ${exampleDb.name}\n        - privilege: CREATE TEMPORARY TABLE\n          database: '*'\n        - privilege: SYSTEM DROP CACHE\n          database: '*'\n  # Grant the role to the user.\n  exampleUser:\n    type: aiven:ClickhouseUser\n    name: example_user\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleClickhouse.serviceName}\n      username: example-user\n  userRoleAssignment:\n    type: aiven:ClickhouseGrant\n    name: user_role_assignment\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleClickhouse.serviceName}\n      user: ${exampleUser.username}\n      roleGrants:\n        - role: ${exampleRole.role}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/clickhouseGrant:ClickhouseGrant example_grant PROJECT/SERVICE_NAME/ID\n```\n\n","properties":{"privilegeGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantPrivilegeGrant:ClickhouseGrantPrivilegeGrant"},"description":"Grant privileges. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"role":{"type":"string","description":"The role to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"roleGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantRoleGrant:ClickhouseGrantRoleGrant"},"description":"Grant roles. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"user":{"type":"string","description":"The user to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["project","serviceName"],"inputProperties":{"privilegeGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantPrivilegeGrant:ClickhouseGrantPrivilegeGrant"},"description":"Grant privileges. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The role to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"roleGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantRoleGrant:ClickhouseGrantRoleGrant"},"description":"Grant roles. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"The user to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering ClickhouseGrant resources.\n","properties":{"privilegeGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantPrivilegeGrant:ClickhouseGrantPrivilegeGrant"},"description":"Grant privileges. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The role to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"roleGrants":{"type":"array","items":{"$ref":"#/types/aiven:index/ClickhouseGrantRoleGrant:ClickhouseGrantRoleGrant"},"description":"Grant roles. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"The user to grant privileges or roles to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/clickhouseRole:ClickhouseRole":{"description":"Creates and manages ClickHouse roles.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleRole = new aiven.ClickhouseRole(\"example_role\", {\n    serviceName: exampleClickhouse.serviceName,\n    project: exampleProject.project,\n    role: \"writer\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_role = aiven.ClickhouseRole(\"example_role\",\n    service_name=example_clickhouse[\"serviceName\"],\n    project=example_project[\"project\"],\n    role=\"writer\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleRole = new Aiven.ClickhouseRole(\"example_role\", new()\n    {\n        ServiceName = exampleClickhouse.ServiceName,\n        Project = exampleProject.Project,\n        Role = \"writer\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewClickhouseRole(ctx, \"example_role\", \u0026aiven.ClickhouseRoleArgs{\n\t\t\tServiceName: pulumi.Any(exampleClickhouse.ServiceName),\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tRole:        pulumi.String(\"writer\"),\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.aiven.ClickhouseRole;\nimport com.pulumi.aiven.ClickhouseRoleArgs;\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 exampleRole = new ClickhouseRole(\"exampleRole\", ClickhouseRoleArgs.builder()\n            .serviceName(exampleClickhouse.serviceName())\n            .project(exampleProject.project())\n            .role(\"writer\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleRole:\n    type: aiven:ClickhouseRole\n    name: example_role\n    properties:\n      serviceName: ${exampleClickhouse.serviceName}\n      project: ${exampleProject.project}\n      role: writer\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/clickhouseRole:ClickhouseRole example_role PROJECT/SERVICE_NAME/ROLE\n```\n\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"role":{"type":"string","description":"The name of role. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["project","role","serviceName"],"inputProperties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The name of role. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","role","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering ClickhouseRole resources.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"role":{"type":"string","description":"The name of role. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/clickhouseUser:ClickhouseUser":{"description":"Creates and manages a ClickHouse user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUser = new aiven.ClickhouseUser(\"example_user\", {\n    project: exampleProject.project,\n    serviceName: exampleService.serviceName,\n    username: \"analyst\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_user = aiven.ClickhouseUser(\"example_user\",\n    project=example_project[\"project\"],\n    service_name=example_service[\"serviceName\"],\n    username=\"analyst\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = new Aiven.ClickhouseUser(\"example_user\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleService.ServiceName,\n        Username = \"analyst\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewClickhouseUser(ctx, \"example_user\", \u0026aiven.ClickhouseUserArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleService.ServiceName),\n\t\t\tUsername:    pulumi.String(\"analyst\"),\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.aiven.ClickhouseUser;\nimport com.pulumi.aiven.ClickhouseUserArgs;\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 exampleUser = new ClickhouseUser(\"exampleUser\", ClickhouseUserArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleService.serviceName())\n            .username(\"analyst\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUser:\n    type: aiven:ClickhouseUser\n    name: example_user\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleService.serviceName}\n      username: analyst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\nterraform import aiven_clickhouse_user.example_user PROJECT/SERVICE_NAME/USER_ID  # USER_ID is found in the systems.users table in ClickHouse\n```\n\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"required":{"type":"boolean","description":"Indicates if a ClickHouse user is required."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The name of the ClickHouse user. Changing this property forces recreation of the resource.\n"},"uuid":{"type":"string","description":"UUID of the ClickHouse user."}},"required":["password","project","required","serviceName","username","uuid"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The name of the ClickHouse user. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering ClickhouseUser resources.\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"required":{"type":"boolean","description":"Indicates if a ClickHouse user is required."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The name of the ClickHouse user. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"uuid":{"type":"string","description":"UUID of the ClickHouse user."}},"type":"object"}},"aiven:index/cmk:Cmk":{"description":"Creates and manages [customer managed keys](https://aiven.io/docs/platform/howto/bring-your-own-key) (CMKs) for encrypting service data. Use your own CMKs from your cloud provider's key management service (KMS) to encrypt data for all services in an Aiven project. This gives you complete control over your encryption keys, meaning you can independently manage the key lifecycle and access policies.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n\u003e **Warning**\nIf you remove a CMK, the services linked to the key will stop working. Migrate the services to another CMK or an Aiven-managed key before removing the CMK.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUser = new aiven.Cmk(\"example_user\", {\n    project: aivenProjectName,\n    resource: cmkResource,\n    cmkProvider: \"gcp\",\n    defaultCmk: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_user = aiven.Cmk(\"example_user\",\n    project=aiven_project_name,\n    resource=cmk_resource,\n    cmk_provider=\"gcp\",\n    default_cmk=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = new Aiven.Cmk(\"example_user\", new()\n    {\n        Project = aivenProjectName,\n        Resource = cmkResource,\n        CmkProvider = \"gcp\",\n        DefaultCmk = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewCmk(ctx, \"example_user\", \u0026aiven.CmkArgs{\n\t\t\tProject:     pulumi.Any(aivenProjectName),\n\t\t\tResource:    pulumi.Any(cmkResource),\n\t\t\tCmkProvider: pulumi.String(\"gcp\"),\n\t\t\tDefaultCmk:  pulumi.Bool(false),\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.aiven.Cmk;\nimport com.pulumi.aiven.CmkArgs;\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 exampleUser = new Cmk(\"exampleUser\", CmkArgs.builder()\n            .project(aivenProjectName)\n            .resource(cmkResource)\n            .cmkProvider(\"gcp\")\n            .defaultCmk(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUser:\n    type: aiven:Cmk\n    name: example_user\n    properties:\n      project: ${aivenProjectName}\n      resource: ${cmkResource}\n      cmkProvider: gcp\n      defaultCmk: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/cmk:Cmk example PROJECT/CMK_ID\n```\n\n","properties":{"cmkId":{"type":"string","description":"Customer Managed Key identifier (CMK ID).\n"},"cmkProvider":{"type":"string","description":"The cloud provider hosting the key management service (KMS). The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"createdAt":{"type":"string","description":"Created At.\n"},"defaultCmk":{"type":"boolean","description":"Mark the created CMK as default for all newly created services.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"resource":{"type":"string","description":"The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"status":{"type":"string","description":"Status. The possible values are \u003cspan pulumi-lang-nodejs=\"`current`\" pulumi-lang-dotnet=\"`Current`\" pulumi-lang-go=\"`current`\" pulumi-lang-python=\"`current`\" pulumi-lang-yaml=\"`current`\" pulumi-lang-java=\"`current`\"\u003e`current`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`old`\" pulumi-lang-dotnet=\"`Old`\" pulumi-lang-go=\"`old`\" pulumi-lang-python=\"`old`\" pulumi-lang-yaml=\"`old`\" pulumi-lang-java=\"`old`\"\u003e`old`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/CmkTimeouts:CmkTimeouts"},"updatedAt":{"type":"string","description":"Updated At.\n"}},"required":["cmkId","cmkProvider","createdAt","project","resource","status","updatedAt"],"inputProperties":{"cmkProvider":{"type":"string","description":"The cloud provider hosting the key management service (KMS). The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"defaultCmk":{"type":"boolean","description":"Mark the created CMK as default for all newly created services.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"resource":{"type":"string","description":"The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/CmkTimeouts:CmkTimeouts"}},"requiredInputs":["cmkProvider","project","resource"],"stateInputs":{"description":"Input properties used for looking up and filtering Cmk resources.\n","properties":{"cmkId":{"type":"string","description":"Customer Managed Key identifier (CMK ID).\n"},"cmkProvider":{"type":"string","description":"The cloud provider hosting the key management service (KMS). The possible values are \u003cspan pulumi-lang-nodejs=\"`aws`\" pulumi-lang-dotnet=\"`Aws`\" pulumi-lang-go=\"`aws`\" pulumi-lang-python=\"`aws`\" pulumi-lang-yaml=\"`aws`\" pulumi-lang-java=\"`aws`\"\u003e`aws`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`gcp`\" pulumi-lang-dotnet=\"`Gcp`\" pulumi-lang-go=\"`gcp`\" pulumi-lang-python=\"`gcp`\" pulumi-lang-yaml=\"`gcp`\" pulumi-lang-java=\"`gcp`\"\u003e`gcp`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`oci`\" pulumi-lang-dotnet=\"`Oci`\" pulumi-lang-go=\"`oci`\" pulumi-lang-python=\"`oci`\" pulumi-lang-yaml=\"`oci`\" pulumi-lang-java=\"`oci`\"\u003e`oci`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"createdAt":{"type":"string","description":"Created At.\n"},"defaultCmk":{"type":"boolean","description":"Mark the created CMK as default for all newly created services.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"resource":{"type":"string","description":"The unique identifier for the CMK in the cloud provider's KMS. In AWS, this is the Key ARN; in Google Cloud the Resource Name; and in Oracle Cloud the Key OCID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`512`\" pulumi-lang-dotnet=\"`512`\" pulumi-lang-go=\"`512`\" pulumi-lang-python=\"`512`\" pulumi-lang-yaml=\"`512`\" pulumi-lang-java=\"`512`\"\u003e`512`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"status":{"type":"string","description":"Status. The possible values are \u003cspan pulumi-lang-nodejs=\"`current`\" pulumi-lang-dotnet=\"`Current`\" pulumi-lang-go=\"`current`\" pulumi-lang-python=\"`current`\" pulumi-lang-yaml=\"`current`\" pulumi-lang-java=\"`current`\"\u003e`current`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deleted`\" pulumi-lang-dotnet=\"`Deleted`\" pulumi-lang-go=\"`deleted`\" pulumi-lang-python=\"`deleted`\" pulumi-lang-yaml=\"`deleted`\" pulumi-lang-java=\"`deleted`\"\u003e`deleted`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`old`\" pulumi-lang-dotnet=\"`Old`\" pulumi-lang-go=\"`old`\" pulumi-lang-python=\"`old`\" pulumi-lang-yaml=\"`old`\" pulumi-lang-java=\"`old`\"\u003e`old`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/CmkTimeouts:CmkTimeouts"},"updatedAt":{"type":"string","description":"Updated At.\n"}},"type":"object"}},"aiven:index/connectionPool:ConnectionPool":{"description":"Creates and manages a [connection pool](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling) in an Aiven for PostgreSQL® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.ConnectionPool(\"main\", {\n    project: exampleProject.project,\n    serviceName: examplePostgres.serviceName,\n    databaseName: mainAivenPgDatabase.databaseName,\n    poolMode: \"transaction\",\n    poolName: \"example-pool\",\n    poolSize: 10,\n    username: exampleUser.username,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.ConnectionPool(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_postgres[\"serviceName\"],\n    database_name=main_aiven_pg_database[\"databaseName\"],\n    pool_mode=\"transaction\",\n    pool_name=\"example-pool\",\n    pool_size=10,\n    username=example_user[\"username\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.ConnectionPool(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = examplePostgres.ServiceName,\n        DatabaseName = mainAivenPgDatabase.DatabaseName,\n        PoolMode = \"transaction\",\n        PoolName = \"example-pool\",\n        PoolSize = 10,\n        Username = exampleUser.Username,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewConnectionPool(ctx, \"main\", \u0026aiven.ConnectionPoolArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:  pulumi.Any(examplePostgres.ServiceName),\n\t\t\tDatabaseName: pulumi.Any(mainAivenPgDatabase.DatabaseName),\n\t\t\tPoolMode:     pulumi.String(\"transaction\"),\n\t\t\tPoolName:     pulumi.String(\"example-pool\"),\n\t\t\tPoolSize:     pulumi.Int(10),\n\t\t\tUsername:     pulumi.Any(exampleUser.Username),\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.aiven.ConnectionPool;\nimport com.pulumi.aiven.ConnectionPoolArgs;\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 main = new ConnectionPool(\"main\", ConnectionPoolArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(examplePostgres.serviceName())\n            .databaseName(mainAivenPgDatabase.databaseName())\n            .poolMode(\"transaction\")\n            .poolName(\"example-pool\")\n            .poolSize(10)\n            .username(exampleUser.username())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:ConnectionPool\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${examplePostgres.serviceName}\n      databaseName: ${mainAivenPgDatabase.databaseName}\n      poolMode: transaction\n      poolName: example-pool\n      poolSize: 10\n      username: ${exampleUser.username}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/connectionPool:ConnectionPool main PROJECT/SERVICE_NAME/POOL_NAME\n```\n\n","properties":{"connectionUri":{"type":"string","description":"The URI for connecting to the pool.\n","secret":true},"databaseName":{"type":"string","description":"The name of the database the pool connects to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"poolMode":{"type":"string","description":"The [operational mode](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling#pooling-modes). The possible values are \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"poolName":{"type":"string","description":"Name of the pool. Changing this property forces recreation of the resource.\n"},"poolSize":{"type":"integer","description":"The number of PostgreSQL server connections this pool can use at a time. This does not affect the number of incoming connections. Each pool can handle a minimum of 5000 client connections. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The name of the service user used to connect to the database. To set up proper dependencies please refer to this variable as a reference.\n"}},"required":["connectionUri","databaseName","poolName","project","serviceName"],"inputProperties":{"databaseName":{"type":"string","description":"The name of the database the pool connects to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"poolMode":{"type":"string","description":"The [operational mode](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling#pooling-modes). The possible values are \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"poolName":{"type":"string","description":"Name of the pool. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"poolSize":{"type":"integer","description":"The number of PostgreSQL server connections this pool can use at a time. This does not affect the number of incoming connections. Each pool can handle a minimum of 5000 client connections. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The name of the service user used to connect to the database. To set up proper dependencies please refer to this variable as a reference.\n"}},"requiredInputs":["databaseName","poolName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectionPool resources.\n","properties":{"connectionUri":{"type":"string","description":"The URI for connecting to the pool.\n","secret":true},"databaseName":{"type":"string","description":"The name of the database the pool connects to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"poolMode":{"type":"string","description":"The [operational mode](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling#pooling-modes). The possible values are \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n"},"poolName":{"type":"string","description":"Name of the pool. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"poolSize":{"type":"integer","description":"The number of PostgreSQL server connections this pool can use at a time. This does not affect the number of incoming connections. Each pool can handle a minimum of 5000 client connections. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The name of the service user used to connect to the database. To set up proper dependencies please refer to this variable as a reference.\n"}},"type":"object"}},"aiven:index/dragonfly:Dragonfly":{"description":"Creates and manages an [Aiven for Dragonfly®](https://aiven.io/docs/products/dragonfly/concepts/overview) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleDragonfly = new aiven.Dragonfly(\"example_dragonfly\", {\n    project: exampleProject.project,\n    plan: \"startup-4\",\n    cloudName: \"google-europe-west1\",\n    serviceName: \"example-dragonfly-service\",\n    dragonflyUserConfig: {\n        cacheMode: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_dragonfly = aiven.Dragonfly(\"example_dragonfly\",\n    project=example_project[\"project\"],\n    plan=\"startup-4\",\n    cloud_name=\"google-europe-west1\",\n    service_name=\"example-dragonfly-service\",\n    dragonfly_user_config={\n        \"cache_mode\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDragonfly = new Aiven.Dragonfly(\"example_dragonfly\", new()\n    {\n        Project = exampleProject.Project,\n        Plan = \"startup-4\",\n        CloudName = \"google-europe-west1\",\n        ServiceName = \"example-dragonfly-service\",\n        DragonflyUserConfig = new Aiven.Inputs.DragonflyDragonflyUserConfigArgs\n        {\n            CacheMode = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewDragonfly(ctx, \"example_dragonfly\", \u0026aiven.DragonflyArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tServiceName: pulumi.String(\"example-dragonfly-service\"),\n\t\t\tDragonflyUserConfig: \u0026aiven.DragonflyDragonflyUserConfigArgs{\n\t\t\t\tCacheMode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Dragonfly;\nimport com.pulumi.aiven.DragonflyArgs;\nimport com.pulumi.aiven.inputs.DragonflyDragonflyUserConfigArgs;\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 exampleDragonfly = new Dragonfly(\"exampleDragonfly\", DragonflyArgs.builder()\n            .project(exampleProject.project())\n            .plan(\"startup-4\")\n            .cloudName(\"google-europe-west1\")\n            .serviceName(\"example-dragonfly-service\")\n            .dragonflyUserConfig(DragonflyDragonflyUserConfigArgs.builder()\n                .cacheMode(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleDragonfly:\n    type: aiven:Dragonfly\n    name: example_dragonfly\n    properties:\n      project: ${exampleProject.project}\n      plan: startup-4\n      cloudName: google-europe-west1\n      serviceName: example-dragonfly-service\n      dragonflyUserConfig:\n        cacheMode: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/dragonfly:Dragonfly example_dragonfly PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyComponent:DragonflyComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"dragonfly":{"$ref":"#/types/aiven:index/DragonflyDragonfly:DragonflyDragonfly","description":"Dragonfly server provided values\n","language":{"csharp":{"name":"DragonflyServer"}},"secret":true},"dragonflyUserConfig":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfig:DragonflyDragonflyUserConfig","description":"Dragonfly user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyServiceIntegration:DragonflyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTag:DragonflyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTechEmail:DragonflyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","dragonfly","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"dragonfly":{"$ref":"#/types/aiven:index/DragonflyDragonfly:DragonflyDragonfly","description":"Dragonfly server provided values\n","language":{"csharp":{"name":"DragonflyServer"}},"secret":true},"dragonflyUserConfig":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfig:DragonflyDragonflyUserConfig","description":"Dragonfly user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyServiceIntegration:DragonflyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTag:DragonflyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTechEmail:DragonflyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Dragonfly resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyComponent:DragonflyComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"dragonfly":{"$ref":"#/types/aiven:index/DragonflyDragonfly:DragonflyDragonfly","description":"Dragonfly server provided values\n","language":{"csharp":{"name":"DragonflyServer"}},"secret":true},"dragonflyUserConfig":{"$ref":"#/types/aiven:index/DragonflyDragonflyUserConfig:DragonflyDragonflyUserConfig","description":"Dragonfly user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyServiceIntegration:DragonflyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTag:DragonflyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/DragonflyTechEmail:DragonflyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/flink:Flink":{"description":"Creates and manages an [Aiven for Apache Flink® service](https://aiven.io/docs/products/flink/concepts/flink-features).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleFlink = new aiven.Flink(\"example_flink\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    serviceName: \"example-flink-service\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    flinkUserConfig: {\n        flinkVersion: \"1.19\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_flink = aiven.Flink(\"example_flink\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    service_name=\"example-flink-service\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    flink_user_config={\n        \"flink_version\": \"1.19\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFlink = new Aiven.Flink(\"example_flink\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        ServiceName = \"example-flink-service\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        FlinkUserConfig = new Aiven.Inputs.FlinkFlinkUserConfigArgs\n        {\n            FlinkVersion = \"1.19\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewFlink(ctx, \"example_flink\", \u0026aiven.FlinkArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-flink-service\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tFlinkUserConfig: \u0026aiven.FlinkFlinkUserConfigArgs{\n\t\t\t\tFlinkVersion: pulumi.String(\"1.19\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Flink;\nimport com.pulumi.aiven.FlinkArgs;\nimport com.pulumi.aiven.inputs.FlinkFlinkUserConfigArgs;\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 exampleFlink = new Flink(\"exampleFlink\", FlinkArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .serviceName(\"example-flink-service\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .flinkUserConfig(FlinkFlinkUserConfigArgs.builder()\n                .flinkVersion(\"1.19\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleFlink:\n    type: aiven:Flink\n    name: example_flink\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: business-4\n      serviceName: example-flink-service\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      flinkUserConfig:\n        flinkVersion: 1.19\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flink:Flink example_flink PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkComponent:FlinkComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"flink":{"$ref":"#/types/aiven:index/FlinkFlink:FlinkFlink","description":"Values provided by the Flink server.\n","language":{"csharp":{"name":"FlinkDetails"}},"secret":true},"flinkUserConfig":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfig:FlinkFlinkUserConfig","description":"Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkServiceIntegration:FlinkServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTag:FlinkTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTechEmail:FlinkTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","flink","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"flink":{"$ref":"#/types/aiven:index/FlinkFlink:FlinkFlink","description":"Values provided by the Flink server.\n","language":{"csharp":{"name":"FlinkDetails"}},"secret":true},"flinkUserConfig":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfig:FlinkFlinkUserConfig","description":"Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkServiceIntegration:FlinkServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTag:FlinkTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTechEmail:FlinkTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Flink resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkComponent:FlinkComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"flink":{"$ref":"#/types/aiven:index/FlinkFlink:FlinkFlink","description":"Values provided by the Flink server.\n","language":{"csharp":{"name":"FlinkDetails"}},"secret":true},"flinkUserConfig":{"$ref":"#/types/aiven:index/FlinkFlinkUserConfig:FlinkFlinkUserConfig","description":"Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkServiceIntegration:FlinkServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTag:FlinkTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkTechEmail:FlinkTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/flinkApplication:FlinkApplication":{"description":"Creates and manages an [Aiven for Apache Flink® application](https://aiven.io/docs/products/flink/concepts/flink-applications). If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleApp = new aiven.FlinkApplication(\"example_app\", {\n    project: exampleProject.project,\n    serviceName: \"example-flink-service\",\n    name: \"example-app\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_app = aiven.FlinkApplication(\"example_app\",\n    project=example_project[\"project\"],\n    service_name=\"example-flink-service\",\n    name=\"example-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApp = new Aiven.FlinkApplication(\"example_app\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-flink-service\",\n        Name = \"example-app\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewFlinkApplication(ctx, \"example_app\", \u0026aiven.FlinkApplicationArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.String(\"example-flink-service\"),\n\t\t\tName:        pulumi.String(\"example-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.aiven.FlinkApplication;\nimport com.pulumi.aiven.FlinkApplicationArgs;\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 exampleApp = new FlinkApplication(\"exampleApp\", FlinkApplicationArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-flink-service\")\n            .name(\"example-app\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApp:\n    type: aiven:FlinkApplication\n    name: example_app\n    properties:\n      project: ${exampleProject.project}\n      serviceName: example-flink-service\n      name: example-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkApplication:FlinkApplication example PROJECT/SERVICE_NAME/APPLICATION_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationTimeouts:FlinkApplicationTimeouts"},"updatedAt":{"type":"string","description":"The update timestamp of this entity in ISO 8601 format, always in UTC.\n"},"updatedBy":{"type":"string","description":"The latest updater of this entity.\n"}},"required":["applicationId","createdAt","createdBy","name","project","serviceName","updatedAt","updatedBy"],"inputProperties":{"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationTimeouts:FlinkApplicationTimeouts"}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkApplication resources.\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationTimeouts:FlinkApplicationTimeouts"},"updatedAt":{"type":"string","description":"The update timestamp of this entity in ISO 8601 format, always in UTC.\n"},"updatedBy":{"type":"string","description":"The latest updater of this entity.\n"}},"type":"object"}},"aiven:index/flinkApplicationDeployment:FlinkApplicationDeployment":{"description":"Creates and manages the deployment of an Aiven for Apache Flink® application. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleApp = new aiven.FlinkApplication(\"example_app\", {\n    project: exampleProject.project,\n    serviceName: \"example-flink-service\",\n    name: \"example-app\",\n});\nconst main = new aiven.FlinkApplicationVersion(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleFlink.serviceName,\n    applicationId: exampleApp.applicationId,\n    statement: \"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\",\n    sinks: [{\n        createTable: `      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n`,\n        integrationId: flinkToKafka.integrationId,\n    }],\n    sources: [{\n        createTable: `      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n`,\n        integrationId: flinkToKafka.integrationId,\n    }],\n});\nconst mainFlinkApplicationDeployment = new aiven.FlinkApplicationDeployment(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleFlink.serviceName,\n    applicationId: exampleApp.applicationId,\n    versionId: main.applicationVersionId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_app = aiven.FlinkApplication(\"example_app\",\n    project=example_project[\"project\"],\n    service_name=\"example-flink-service\",\n    name=\"example-app\")\nmain = aiven.FlinkApplicationVersion(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_flink[\"serviceName\"],\n    application_id=example_app.application_id,\n    statement=\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\",\n    sinks=[{\n        \"create_table\": \"\"\"      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n\"\"\",\n        \"integration_id\": flink_to_kafka[\"integrationId\"],\n    }],\n    sources=[{\n        \"create_table\": \"\"\"      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n\"\"\",\n        \"integration_id\": flink_to_kafka[\"integrationId\"],\n    }])\nmain_flink_application_deployment = aiven.FlinkApplicationDeployment(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_flink[\"serviceName\"],\n    application_id=example_app.application_id,\n    version_id=main.application_version_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApp = new Aiven.FlinkApplication(\"example_app\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-flink-service\",\n        Name = \"example-app\",\n    });\n\n    var main = new Aiven.FlinkApplicationVersion(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleFlink.ServiceName,\n        ApplicationId = exampleApp.ApplicationId,\n        Statement = @\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n\",\n        Sinks = new[]\n        {\n            new Aiven.Inputs.FlinkApplicationVersionSinkArgs\n            {\n                CreateTable = @\"      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n\",\n                IntegrationId = flinkToKafka.IntegrationId,\n            },\n        },\n        Sources = new[]\n        {\n            new Aiven.Inputs.FlinkApplicationVersionSourceArgs\n            {\n                CreateTable = @\"      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n\",\n                IntegrationId = flinkToKafka.IntegrationId,\n            },\n        },\n    });\n\n    var mainFlinkApplicationDeployment = new Aiven.FlinkApplicationDeployment(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleFlink.ServiceName,\n        ApplicationId = exampleApp.ApplicationId,\n        VersionId = main.ApplicationVersionId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApp, err := aiven.NewFlinkApplication(ctx, \"example_app\", \u0026aiven.FlinkApplicationArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.String(\"example-flink-service\"),\n\t\t\tName:        pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmain, err := aiven.NewFlinkApplicationVersion(ctx, \"main\", \u0026aiven.FlinkApplicationVersionArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleFlink.ServiceName),\n\t\t\tApplicationId: exampleApp.ApplicationId,\n\t\t\tStatement:     pulumi.String(\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\"),\n\t\t\tSinks: aiven.FlinkApplicationVersionSinkArray{\n\t\t\t\t\u0026aiven.FlinkApplicationVersionSinkArgs{\n\t\t\t\t\tCreateTable: pulumi.String(`      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n`),\n\t\t\t\t\tIntegrationId: pulumi.Any(flinkToKafka.IntegrationId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSources: aiven.FlinkApplicationVersionSourceArray{\n\t\t\t\t\u0026aiven.FlinkApplicationVersionSourceArgs{\n\t\t\t\t\tCreateTable: pulumi.String(`      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n`),\n\t\t\t\t\tIntegrationId: pulumi.Any(flinkToKafka.IntegrationId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewFlinkApplicationDeployment(ctx, \"main\", \u0026aiven.FlinkApplicationDeploymentArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleFlink.ServiceName),\n\t\t\tApplicationId: exampleApp.ApplicationId,\n\t\t\tVersionId:     main.ApplicationVersionId,\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.aiven.FlinkApplication;\nimport com.pulumi.aiven.FlinkApplicationArgs;\nimport com.pulumi.aiven.FlinkApplicationVersion;\nimport com.pulumi.aiven.FlinkApplicationVersionArgs;\nimport com.pulumi.aiven.inputs.FlinkApplicationVersionSinkArgs;\nimport com.pulumi.aiven.inputs.FlinkApplicationVersionSourceArgs;\nimport com.pulumi.aiven.FlinkApplicationDeployment;\nimport com.pulumi.aiven.FlinkApplicationDeploymentArgs;\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 exampleApp = new FlinkApplication(\"exampleApp\", FlinkApplicationArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-flink-service\")\n            .name(\"example-app\")\n            .build());\n\n        var main = new FlinkApplicationVersion(\"main\", FlinkApplicationVersionArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleFlink.serviceName())\n            .applicationId(exampleApp.applicationId())\n            .statement(\"\"\"\n    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n            \"\"\")\n            .sinks(FlinkApplicationVersionSinkArgs.builder()\n                .createTable(\"\"\"\n      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n                \"\"\")\n                .integrationId(flinkToKafka.integrationId())\n                .build())\n            .sources(FlinkApplicationVersionSourceArgs.builder()\n                .createTable(\"\"\"\n      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n                \"\"\")\n                .integrationId(flinkToKafka.integrationId())\n                .build())\n            .build());\n\n        var mainFlinkApplicationDeployment = new FlinkApplicationDeployment(\"mainFlinkApplicationDeployment\", FlinkApplicationDeploymentArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleFlink.serviceName())\n            .applicationId(exampleApp.applicationId())\n            .versionId(main.applicationVersionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApp:\n    type: aiven:FlinkApplication\n    name: example_app\n    properties:\n      project: ${exampleProject.project}\n      serviceName: example-flink-service\n      name: example-app\n  main:\n    type: aiven:FlinkApplicationVersion\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleFlink.serviceName}\n      applicationId: ${exampleApp.applicationId}\n      statement: |2\n            INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n      sinks:\n        - createTable: |2\n                  CREATE TABLE kafka_known_pizza (\n                    shop STRING,\n                    name STRING\n                  ) WITH (\n                    'connector' = 'kafka',\n                    'properties.bootstrap.servers' = '',\n                    'scan.startup.mode' = 'earliest-offset',\n                    'topic' = 'sink_topic',\n                    'value.format' = 'json'\n                  )\n          integrationId: ${flinkToKafka.integrationId}\n      sources:\n        - createTable: |2\n                  CREATE TABLE kafka_pizza (\n                    shop STRING,\n                    name STRING\n                  ) WITH (\n                    'connector' = 'kafka',\n                    'properties.bootstrap.servers' = '',\n                    'scan.startup.mode' = 'earliest-offset',\n                    'topic' = 'source_topic',\n                    'value.format' = 'json'\n                  )\n          integrationId: ${flinkToKafka.integrationId}\n  mainFlinkApplicationDeployment:\n    type: aiven:FlinkApplicationDeployment\n    name: main\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleFlink.serviceName}\n      applicationId: ${exampleApp.applicationId}\n      versionId: ${main.applicationVersionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkApplicationDeployment:FlinkApplicationDeployment example PROJECT/SERVICE_NAME/APPLICATION_ID/DEPLOYMENT_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"deploymentId":{"type":"string","description":"Deployment ID.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationDeploymentTimeouts:FlinkApplicationDeploymentTimeouts"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"required":["applicationId","createdAt","createdBy","deploymentId","parallelism","project","restartEnabled","serviceName","versionId"],"inputProperties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationDeploymentTimeouts:FlinkApplicationDeploymentTimeouts"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"requiredInputs":["applicationId","project","serviceName","versionId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkApplicationDeployment resources.\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"deploymentId":{"type":"string","description":"Deployment ID.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail. Value must be between \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/FlinkApplicationDeploymentTimeouts:FlinkApplicationDeploymentTimeouts"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"type":"object"}},"aiven:index/flinkApplicationVersion:FlinkApplicationVersion":{"description":"Creates and manages an Aiven for Apache Flink® application version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleApp = new aiven.FlinkApplication(\"example_app\", {\n    project: exampleProject.project,\n    serviceName: \"example-flink-service\",\n    name: \"example-app\",\n});\nconst main = new aiven.FlinkApplicationVersion(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleFlink.serviceName,\n    applicationId: exampleApp.applicationId,\n    statement: \"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\",\n    sinks: [{\n        createTable: `      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n`,\n        integrationId: flinkToKafka.integrationId,\n    }],\n    sources: [{\n        createTable: `      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n`,\n        integrationId: flinkToKafka.integrationId,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_app = aiven.FlinkApplication(\"example_app\",\n    project=example_project[\"project\"],\n    service_name=\"example-flink-service\",\n    name=\"example-app\")\nmain = aiven.FlinkApplicationVersion(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_flink[\"serviceName\"],\n    application_id=example_app.application_id,\n    statement=\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\",\n    sinks=[{\n        \"create_table\": \"\"\"      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n\"\"\",\n        \"integration_id\": flink_to_kafka[\"integrationId\"],\n    }],\n    sources=[{\n        \"create_table\": \"\"\"      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n\"\"\",\n        \"integration_id\": flink_to_kafka[\"integrationId\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApp = new Aiven.FlinkApplication(\"example_app\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-flink-service\",\n        Name = \"example-app\",\n    });\n\n    var main = new Aiven.FlinkApplicationVersion(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleFlink.ServiceName,\n        ApplicationId = exampleApp.ApplicationId,\n        Statement = @\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n\",\n        Sinks = new[]\n        {\n            new Aiven.Inputs.FlinkApplicationVersionSinkArgs\n            {\n                CreateTable = @\"      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n\",\n                IntegrationId = flinkToKafka.IntegrationId,\n            },\n        },\n        Sources = new[]\n        {\n            new Aiven.Inputs.FlinkApplicationVersionSourceArgs\n            {\n                CreateTable = @\"      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n\",\n                IntegrationId = flinkToKafka.IntegrationId,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleApp, err := aiven.NewFlinkApplication(ctx, \"example_app\", \u0026aiven.FlinkApplicationArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.String(\"example-flink-service\"),\n\t\t\tName:        pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewFlinkApplicationVersion(ctx, \"main\", \u0026aiven.FlinkApplicationVersionArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleFlink.ServiceName),\n\t\t\tApplicationId: exampleApp.ApplicationId,\n\t\t\tStatement:     pulumi.String(\"    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\\n\"),\n\t\t\tSinks: aiven.FlinkApplicationVersionSinkArray{\n\t\t\t\t\u0026aiven.FlinkApplicationVersionSinkArgs{\n\t\t\t\t\tCreateTable: pulumi.String(`      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n`),\n\t\t\t\t\tIntegrationId: pulumi.Any(flinkToKafka.IntegrationId),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSources: aiven.FlinkApplicationVersionSourceArray{\n\t\t\t\t\u0026aiven.FlinkApplicationVersionSourceArgs{\n\t\t\t\t\tCreateTable: pulumi.String(`      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n`),\n\t\t\t\t\tIntegrationId: pulumi.Any(flinkToKafka.IntegrationId),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.FlinkApplication;\nimport com.pulumi.aiven.FlinkApplicationArgs;\nimport com.pulumi.aiven.FlinkApplicationVersion;\nimport com.pulumi.aiven.FlinkApplicationVersionArgs;\nimport com.pulumi.aiven.inputs.FlinkApplicationVersionSinkArgs;\nimport com.pulumi.aiven.inputs.FlinkApplicationVersionSourceArgs;\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 exampleApp = new FlinkApplication(\"exampleApp\", FlinkApplicationArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-flink-service\")\n            .name(\"example-app\")\n            .build());\n\n        var main = new FlinkApplicationVersion(\"main\", FlinkApplicationVersionArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleFlink.serviceName())\n            .applicationId(exampleApp.applicationId())\n            .statement(\"\"\"\n    INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n            \"\"\")\n            .sinks(FlinkApplicationVersionSinkArgs.builder()\n                .createTable(\"\"\"\n      CREATE TABLE kafka_known_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'sink_topic',\n        'value.format' = 'json'\n      )\n                \"\"\")\n                .integrationId(flinkToKafka.integrationId())\n                .build())\n            .sources(FlinkApplicationVersionSourceArgs.builder()\n                .createTable(\"\"\"\n      CREATE TABLE kafka_pizza (\n        shop STRING,\n        name STRING\n      ) WITH (\n        'connector' = 'kafka',\n        'properties.bootstrap.servers' = '',\n        'scan.startup.mode' = 'earliest-offset',\n        'topic' = 'source_topic',\n        'value.format' = 'json'\n      )\n                \"\"\")\n                .integrationId(flinkToKafka.integrationId())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleApp:\n    type: aiven:FlinkApplication\n    name: example_app\n    properties:\n      project: ${exampleProject.project}\n      serviceName: example-flink-service\n      name: example-app\n  main:\n    type: aiven:FlinkApplicationVersion\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleFlink.serviceName}\n      applicationId: ${exampleApp.applicationId}\n      statement: |2\n            INSERT INTO kafka_known_pizza SELECT * FROM kafka_pizza WHERE shop LIKE '%Luigis Pizza%'\n      sinks:\n        - createTable: |2\n                  CREATE TABLE kafka_known_pizza (\n                    shop STRING,\n                    name STRING\n                  ) WITH (\n                    'connector' = 'kafka',\n                    'properties.bootstrap.servers' = '',\n                    'scan.startup.mode' = 'earliest-offset',\n                    'topic' = 'sink_topic',\n                    'value.format' = 'json'\n                  )\n          integrationId: ${flinkToKafka.integrationId}\n      sources:\n        - createTable: |2\n                  CREATE TABLE kafka_pizza (\n                    shop STRING,\n                    name STRING\n                  ) WITH (\n                    'connector' = 'kafka',\n                    'properties.bootstrap.servers' = '',\n                    'scan.startup.mode' = 'earliest-offset',\n                    'topic' = 'source_topic',\n                    'value.format' = 'json'\n                  )\n          integrationId: ${flinkToKafka.integrationId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkApplicationVersion:FlinkApplicationVersion main PROJECT/SERVICE_NAME/APPLICATION_ID/APPLICATION_VERSION_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"applicationVersionId":{"type":"string","description":"Application version ID.\n"},"createdAt":{"type":"string","description":"Application version creation time.\n"},"createdBy":{"type":"string","description":"The user who created the application.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"sink":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"The sink table for the application.\n"},"sinks":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"Application sinks\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e instead."},"source":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"The source table for the application.\n"},"sources":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"Application sources\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e instead."},"statement":{"type":"string","description":"Job SQL statement.\n"},"version":{"type":"integer","description":"Application version number.\n"}},"required":["applicationId","applicationVersionId","createdAt","createdBy","project","serviceName","statement","version"],"inputProperties":{"applicationId":{"type":"string","description":"Application ID.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"sink":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"The sink table for the application.\n","willReplaceOnChanges":true},"sinks":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"Application sinks\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e instead.","willReplaceOnChanges":true},"source":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"The source table for the application.\n","willReplaceOnChanges":true},"sources":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"Application sources\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e instead.","willReplaceOnChanges":true},"statement":{"type":"string","description":"Job SQL statement.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationId","project","serviceName","statement"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkApplicationVersion resources.\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n","willReplaceOnChanges":true},"applicationVersionId":{"type":"string","description":"Application version ID.\n"},"createdAt":{"type":"string","description":"Application version creation time.\n"},"createdBy":{"type":"string","description":"The user who created the application.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"sink":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"The sink table for the application.\n","willReplaceOnChanges":true},"sinks":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSink:FlinkApplicationVersionSink"},"description":"Application sinks\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`sink`\" pulumi-lang-dotnet=\"`Sink`\" pulumi-lang-go=\"`sink`\" pulumi-lang-python=\"`sink`\" pulumi-lang-yaml=\"`sink`\" pulumi-lang-java=\"`sink`\"\u003e`sink`\u003c/span\u003e instead.","willReplaceOnChanges":true},"source":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"The source table for the application.\n","willReplaceOnChanges":true},"sources":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkApplicationVersionSource:FlinkApplicationVersionSource"},"description":"Application sources\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Use \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e instead.","willReplaceOnChanges":true},"statement":{"type":"string","description":"Job SQL statement.\n","willReplaceOnChanges":true},"version":{"type":"integer","description":"Application version number.\n"}},"type":"object"}},"aiven:index/flinkJarApplication:FlinkJarApplication":{"description":"Creates and manages an [Aiven for Apache Flink® jar application](https://aiven.io/docs/products/flink/howto/create-jar-application).\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = new aiven.Flink(\"example\", {\n    project: exampleAivenProject.project,\n    serviceName: \"example-flink-service\",\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"04:00:00\",\n    flinkUserConfig: {\n        customCode: true,\n    },\n});\nconst exampleFlinkJarApplication = new aiven.FlinkJarApplication(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    name: \"example-app-jar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.Flink(\"example\",\n    project=example_aiven_project[\"project\"],\n    service_name=\"example-flink-service\",\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"04:00:00\",\n    flink_user_config={\n        \"custom_code\": True,\n    })\nexample_flink_jar_application = aiven.FlinkJarApplication(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    name=\"example-app-jar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Aiven.Flink(\"example\", new()\n    {\n        Project = exampleAivenProject.Project,\n        ServiceName = \"example-flink-service\",\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"04:00:00\",\n        FlinkUserConfig = new Aiven.Inputs.FlinkFlinkUserConfigArgs\n        {\n            CustomCode = true,\n        },\n    });\n\n    var exampleFlinkJarApplication = new Aiven.FlinkJarApplication(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        Name = \"example-app-jar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewFlink(ctx, \"example\", \u0026aiven.FlinkArgs{\n\t\t\tProject:               pulumi.Any(exampleAivenProject.Project),\n\t\t\tServiceName:           pulumi.String(\"example-flink-service\"),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"04:00:00\"),\n\t\t\tFlinkUserConfig: \u0026aiven.FlinkFlinkUserConfigArgs{\n\t\t\t\tCustomCode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewFlinkJarApplication(ctx, \"example\", \u0026aiven.FlinkJarApplicationArgs{\n\t\t\tProject:     example.Project,\n\t\t\tServiceName: example.ServiceName,\n\t\t\tName:        pulumi.String(\"example-app-jar\"),\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.aiven.Flink;\nimport com.pulumi.aiven.FlinkArgs;\nimport com.pulumi.aiven.inputs.FlinkFlinkUserConfigArgs;\nimport com.pulumi.aiven.FlinkJarApplication;\nimport com.pulumi.aiven.FlinkJarApplicationArgs;\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 Flink(\"example\", FlinkArgs.builder()\n            .project(exampleAivenProject.project())\n            .serviceName(\"example-flink-service\")\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"04:00:00\")\n            .flinkUserConfig(FlinkFlinkUserConfigArgs.builder()\n                .customCode(true)\n                .build())\n            .build());\n\n        var exampleFlinkJarApplication = new FlinkJarApplication(\"exampleFlinkJarApplication\", FlinkJarApplicationArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .name(\"example-app-jar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aiven:Flink\n    properties:\n      project: ${exampleAivenProject.project}\n      serviceName: example-flink-service\n      cloudName: google-europe-west1\n      plan: business-4\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 04:00:00\n      flinkUserConfig:\n        customCode: true\n  exampleFlinkJarApplication:\n    type: aiven:FlinkJarApplication\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      name: example-app-jar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkJarApplication:FlinkJarApplication example PROJECT/SERVICE_NAME/APPLICATION_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"applicationVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationApplicationVersion:FlinkJarApplicationApplicationVersion"},"description":"JarApplicationVersions.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"currentDeployments":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationCurrentDeployment:FlinkJarApplicationCurrentDeployment"},"description":"Flink JarApplicationDeployment.\n"},"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"updatedAt":{"type":"string","description":"The update timestamp of this entity in ISO 8601 format, always in UTC.\n"},"updatedBy":{"type":"string","description":"The latest updater of this entity.\n"}},"required":["applicationId","applicationVersions","createdAt","createdBy","currentDeployments","name","project","serviceName","updatedAt","updatedBy"],"inputProperties":{"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkJarApplication resources.\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"applicationVersions":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationApplicationVersion:FlinkJarApplicationApplicationVersion"},"description":"JarApplicationVersions.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"currentDeployments":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationCurrentDeployment:FlinkJarApplicationCurrentDeployment"},"description":"Flink JarApplicationDeployment.\n"},"name":{"type":"string","description":"Application name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"updatedAt":{"type":"string","description":"The update timestamp of this entity in ISO 8601 format, always in UTC.\n"},"updatedBy":{"type":"string","description":"The latest updater of this entity.\n"}},"type":"object"}},"aiven:index/flinkJarApplicationDeployment:FlinkJarApplicationDeployment":{"description":"Creates and manages the deployment of an Aiven for Apache Flink® application.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = new aiven.Flink(\"example\", {\n    project: exampleAivenProject.project,\n    serviceName: \"example-flink-service\",\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"04:00:00\",\n    flinkUserConfig: {\n        customCode: true,\n    },\n});\nconst exampleFlinkJarApplication = new aiven.FlinkJarApplication(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    name: \"example-app-jar\",\n});\nconst exampleFlinkJarApplicationVersion = new aiven.FlinkJarApplicationVersion(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    applicationId: exampleFlinkJarApplication.applicationId,\n    source: \"./example.jar\",\n});\nconst exampleFlinkJarApplicationDeployment = new aiven.FlinkJarApplicationDeployment(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    applicationId: exampleFlinkJarApplication.applicationId,\n    versionId: exampleFlinkJarApplicationVersion.applicationVersionId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.Flink(\"example\",\n    project=example_aiven_project[\"project\"],\n    service_name=\"example-flink-service\",\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"04:00:00\",\n    flink_user_config={\n        \"custom_code\": True,\n    })\nexample_flink_jar_application = aiven.FlinkJarApplication(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    name=\"example-app-jar\")\nexample_flink_jar_application_version = aiven.FlinkJarApplicationVersion(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    application_id=example_flink_jar_application.application_id,\n    source=\"./example.jar\")\nexample_flink_jar_application_deployment = aiven.FlinkJarApplicationDeployment(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    application_id=example_flink_jar_application.application_id,\n    version_id=example_flink_jar_application_version.application_version_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Aiven.Flink(\"example\", new()\n    {\n        Project = exampleAivenProject.Project,\n        ServiceName = \"example-flink-service\",\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"04:00:00\",\n        FlinkUserConfig = new Aiven.Inputs.FlinkFlinkUserConfigArgs\n        {\n            CustomCode = true,\n        },\n    });\n\n    var exampleFlinkJarApplication = new Aiven.FlinkJarApplication(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        Name = \"example-app-jar\",\n    });\n\n    var exampleFlinkJarApplicationVersion = new Aiven.FlinkJarApplicationVersion(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        ApplicationId = exampleFlinkJarApplication.ApplicationId,\n        Source = \"./example.jar\",\n    });\n\n    var exampleFlinkJarApplicationDeployment = new Aiven.FlinkJarApplicationDeployment(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        ApplicationId = exampleFlinkJarApplication.ApplicationId,\n        VersionId = exampleFlinkJarApplicationVersion.ApplicationVersionId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewFlink(ctx, \"example\", \u0026aiven.FlinkArgs{\n\t\t\tProject:               pulumi.Any(exampleAivenProject.Project),\n\t\t\tServiceName:           pulumi.String(\"example-flink-service\"),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"04:00:00\"),\n\t\t\tFlinkUserConfig: \u0026aiven.FlinkFlinkUserConfigArgs{\n\t\t\t\tCustomCode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlinkJarApplication, err := aiven.NewFlinkJarApplication(ctx, \"example\", \u0026aiven.FlinkJarApplicationArgs{\n\t\t\tProject:     example.Project,\n\t\t\tServiceName: example.ServiceName,\n\t\t\tName:        pulumi.String(\"example-app-jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlinkJarApplicationVersion, err := aiven.NewFlinkJarApplicationVersion(ctx, \"example\", \u0026aiven.FlinkJarApplicationVersionArgs{\n\t\t\tProject:       example.Project,\n\t\t\tServiceName:   example.ServiceName,\n\t\t\tApplicationId: exampleFlinkJarApplication.ApplicationId,\n\t\t\tSource:        pulumi.String(\"./example.jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewFlinkJarApplicationDeployment(ctx, \"example\", \u0026aiven.FlinkJarApplicationDeploymentArgs{\n\t\t\tProject:       example.Project,\n\t\t\tServiceName:   example.ServiceName,\n\t\t\tApplicationId: exampleFlinkJarApplication.ApplicationId,\n\t\t\tVersionId:     exampleFlinkJarApplicationVersion.ApplicationVersionId,\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.aiven.Flink;\nimport com.pulumi.aiven.FlinkArgs;\nimport com.pulumi.aiven.inputs.FlinkFlinkUserConfigArgs;\nimport com.pulumi.aiven.FlinkJarApplication;\nimport com.pulumi.aiven.FlinkJarApplicationArgs;\nimport com.pulumi.aiven.FlinkJarApplicationVersion;\nimport com.pulumi.aiven.FlinkJarApplicationVersionArgs;\nimport com.pulumi.aiven.FlinkJarApplicationDeployment;\nimport com.pulumi.aiven.FlinkJarApplicationDeploymentArgs;\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 Flink(\"example\", FlinkArgs.builder()\n            .project(exampleAivenProject.project())\n            .serviceName(\"example-flink-service\")\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"04:00:00\")\n            .flinkUserConfig(FlinkFlinkUserConfigArgs.builder()\n                .customCode(true)\n                .build())\n            .build());\n\n        var exampleFlinkJarApplication = new FlinkJarApplication(\"exampleFlinkJarApplication\", FlinkJarApplicationArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .name(\"example-app-jar\")\n            .build());\n\n        var exampleFlinkJarApplicationVersion = new FlinkJarApplicationVersion(\"exampleFlinkJarApplicationVersion\", FlinkJarApplicationVersionArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .applicationId(exampleFlinkJarApplication.applicationId())\n            .source(\"./example.jar\")\n            .build());\n\n        var exampleFlinkJarApplicationDeployment = new FlinkJarApplicationDeployment(\"exampleFlinkJarApplicationDeployment\", FlinkJarApplicationDeploymentArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .applicationId(exampleFlinkJarApplication.applicationId())\n            .versionId(exampleFlinkJarApplicationVersion.applicationVersionId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aiven:Flink\n    properties:\n      project: ${exampleAivenProject.project}\n      serviceName: example-flink-service\n      cloudName: google-europe-west1\n      plan: business-4\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 04:00:00\n      flinkUserConfig:\n        customCode: true\n  exampleFlinkJarApplication:\n    type: aiven:FlinkJarApplication\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      name: example-app-jar\n  exampleFlinkJarApplicationVersion:\n    type: aiven:FlinkJarApplicationVersion\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      applicationId: ${exampleFlinkJarApplication.applicationId}\n      source: ./example.jar\n  exampleFlinkJarApplicationDeployment:\n    type: aiven:FlinkJarApplicationDeployment\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      applicationId: ${exampleFlinkJarApplication.applicationId}\n      versionId: ${exampleFlinkJarApplicationVersion.applicationVersionId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkJarApplicationDeployment:FlinkJarApplicationDeployment example PROJECT/SERVICE_NAME/APPLICATION_ID/DEPLOYMENT_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"deploymentId":{"type":"string","description":"Deployment ID.\n"},"entryClass":{"type":"string","description":"The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"errorMsg":{"type":"string","description":"Error message describing what caused deployment to fail.\n"},"jobId":{"type":"string","description":"Job ID.\n"},"lastSavepoint":{"type":"string","description":"Job savepoint.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail.\n"},"programArgs":{"type":"array","items":{"type":"string"},"description":"Arguments to pass during Flink job submission through the programArgsList parameter.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Deployment status. The possible values are `CANCELED`, `CANCELLING`, `CANCELLING_REQUESTED`, `CREATED`, `DELETE_REQUESTED`, `DELETING`, `FAILED`, `FAILING`, `FINISHED`, `INITIALIZING`, `RECONCILING`, `RESTARTING`, `RUNNING`, `SAVING`, `SAVING_AND_STOP`, `SAVING_AND_STOP_REQUESTED` and `SUSPENDED`.\n"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"required":["applicationId","createdAt","createdBy","deploymentId","entryClass","errorMsg","jobId","lastSavepoint","parallelism","programArgs","project","serviceName","startingSavepoint","status","versionId"],"inputProperties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"entryClass":{"type":"string","description":"The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail.\n"},"programArgs":{"type":"array","items":{"type":"string"},"description":"Arguments to pass during Flink job submission through the programArgsList parameter.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationId","project","serviceName","versionId"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkJarApplicationDeployment resources.\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"deploymentId":{"type":"string","description":"Deployment ID.\n"},"entryClass":{"type":"string","description":"The fully qualified name of the entry class to pass during Flink job submission through the entryClass parameter. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"errorMsg":{"type":"string","description":"Error message describing what caused deployment to fail.\n"},"jobId":{"type":"string","description":"Job ID.\n"},"lastSavepoint":{"type":"string","description":"Job savepoint.\n"},"parallelism":{"type":"integer","description":"Reading of Flink parallel execution documentation is recommended before setting this value to other than 1. Please do not set this value higher than (total number of nodes x number*of*task_slots), or every new job created will fail.\n"},"programArgs":{"type":"array","items":{"type":"string"},"description":"Arguments to pass during Flink job submission through the programArgsList parameter.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"restartEnabled":{"type":"boolean","description":"Specifies whether a Flink Job is restarted in case it fails. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"startingSavepoint":{"type":"string","description":"Job savepoint. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2048`\" pulumi-lang-dotnet=\"`2048`\" pulumi-lang-go=\"`2048`\" pulumi-lang-python=\"`2048`\" pulumi-lang-yaml=\"`2048`\" pulumi-lang-java=\"`2048`\"\u003e`2048`\u003c/span\u003e.\n"},"status":{"type":"string","description":"Deployment status. The possible values are `CANCELED`, `CANCELLING`, `CANCELLING_REQUESTED`, `CREATED`, `DELETE_REQUESTED`, `DELETING`, `FAILED`, `FAILING`, `FINISHED`, `INITIALIZING`, `RECONCILING`, `RESTARTING`, `RUNNING`, `SAVING`, `SAVING_AND_STOP`, `SAVING_AND_STOP_REQUESTED` and `SUSPENDED`.\n"},"versionId":{"type":"string","description":"ApplicationVersion ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/flinkJarApplicationVersion:FlinkJarApplicationVersion":{"description":"Creates and manages an Aiven for Apache Flink® jar application version.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = new aiven.Flink(\"example\", {\n    project: exampleAivenProject.project,\n    serviceName: \"example-flink-service\",\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"04:00:00\",\n    flinkUserConfig: {\n        customCode: true,\n    },\n});\nconst exampleFlinkJarApplication = new aiven.FlinkJarApplication(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    name: \"example-app-jar\",\n});\nconst exampleFlinkJarApplicationVersion = new aiven.FlinkJarApplicationVersion(\"example\", {\n    project: example.project,\n    serviceName: example.serviceName,\n    applicationId: exampleFlinkJarApplication.applicationId,\n    source: \"./example.jar\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.Flink(\"example\",\n    project=example_aiven_project[\"project\"],\n    service_name=\"example-flink-service\",\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"04:00:00\",\n    flink_user_config={\n        \"custom_code\": True,\n    })\nexample_flink_jar_application = aiven.FlinkJarApplication(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    name=\"example-app-jar\")\nexample_flink_jar_application_version = aiven.FlinkJarApplicationVersion(\"example\",\n    project=example.project,\n    service_name=example.service_name,\n    application_id=example_flink_jar_application.application_id,\n    source=\"./example.jar\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Aiven.Flink(\"example\", new()\n    {\n        Project = exampleAivenProject.Project,\n        ServiceName = \"example-flink-service\",\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"04:00:00\",\n        FlinkUserConfig = new Aiven.Inputs.FlinkFlinkUserConfigArgs\n        {\n            CustomCode = true,\n        },\n    });\n\n    var exampleFlinkJarApplication = new Aiven.FlinkJarApplication(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        Name = \"example-app-jar\",\n    });\n\n    var exampleFlinkJarApplicationVersion = new Aiven.FlinkJarApplicationVersion(\"example\", new()\n    {\n        Project = example.Project,\n        ServiceName = example.ServiceName,\n        ApplicationId = exampleFlinkJarApplication.ApplicationId,\n        Source = \"./example.jar\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewFlink(ctx, \"example\", \u0026aiven.FlinkArgs{\n\t\t\tProject:               pulumi.Any(exampleAivenProject.Project),\n\t\t\tServiceName:           pulumi.String(\"example-flink-service\"),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"04:00:00\"),\n\t\t\tFlinkUserConfig: \u0026aiven.FlinkFlinkUserConfigArgs{\n\t\t\t\tCustomCode: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texampleFlinkJarApplication, err := aiven.NewFlinkJarApplication(ctx, \"example\", \u0026aiven.FlinkJarApplicationArgs{\n\t\t\tProject:     example.Project,\n\t\t\tServiceName: example.ServiceName,\n\t\t\tName:        pulumi.String(\"example-app-jar\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewFlinkJarApplicationVersion(ctx, \"example\", \u0026aiven.FlinkJarApplicationVersionArgs{\n\t\t\tProject:       example.Project,\n\t\t\tServiceName:   example.ServiceName,\n\t\t\tApplicationId: exampleFlinkJarApplication.ApplicationId,\n\t\t\tSource:        pulumi.String(\"./example.jar\"),\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.aiven.Flink;\nimport com.pulumi.aiven.FlinkArgs;\nimport com.pulumi.aiven.inputs.FlinkFlinkUserConfigArgs;\nimport com.pulumi.aiven.FlinkJarApplication;\nimport com.pulumi.aiven.FlinkJarApplicationArgs;\nimport com.pulumi.aiven.FlinkJarApplicationVersion;\nimport com.pulumi.aiven.FlinkJarApplicationVersionArgs;\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 Flink(\"example\", FlinkArgs.builder()\n            .project(exampleAivenProject.project())\n            .serviceName(\"example-flink-service\")\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"04:00:00\")\n            .flinkUserConfig(FlinkFlinkUserConfigArgs.builder()\n                .customCode(true)\n                .build())\n            .build());\n\n        var exampleFlinkJarApplication = new FlinkJarApplication(\"exampleFlinkJarApplication\", FlinkJarApplicationArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .name(\"example-app-jar\")\n            .build());\n\n        var exampleFlinkJarApplicationVersion = new FlinkJarApplicationVersion(\"exampleFlinkJarApplicationVersion\", FlinkJarApplicationVersionArgs.builder()\n            .project(example.project())\n            .serviceName(example.serviceName())\n            .applicationId(exampleFlinkJarApplication.applicationId())\n            .source(\"./example.jar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aiven:Flink\n    properties:\n      project: ${exampleAivenProject.project}\n      serviceName: example-flink-service\n      cloudName: google-europe-west1\n      plan: business-4\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 04:00:00\n      flinkUserConfig:\n        customCode: true\n  exampleFlinkJarApplication:\n    type: aiven:FlinkJarApplication\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      name: example-app-jar\n  exampleFlinkJarApplicationVersion:\n    type: aiven:FlinkJarApplicationVersion\n    name: example\n    properties:\n      project: ${example.project}\n      serviceName: ${example.serviceName}\n      applicationId: ${exampleFlinkJarApplication.applicationId}\n      source: ./example.jar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/flinkJarApplicationVersion:FlinkJarApplicationVersion example PROJECT/SERVICE_NAME/APPLICATION_ID/APPLICATION_VERSION_ID\n```\n\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n"},"applicationVersionId":{"type":"string","description":"ApplicationVersion ID.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"fileInfos":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationVersionFileInfo:FlinkJarApplicationVersionFileInfo"},"description":"Flink JarApplicationVersion FileInfo.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"source":{"type":"string","description":"The path to the jar file to upload.\n"},"sourceChecksum":{"type":"string","description":"The sha256 checksum of the jar file to upload.\n"},"version":{"type":"integer","description":"Version number.\n"}},"required":["applicationId","applicationVersionId","createdAt","createdBy","fileInfos","project","serviceName","source","sourceChecksum","version"],"inputProperties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The path to the jar file to upload.\n","willReplaceOnChanges":true}},"requiredInputs":["applicationId","project","serviceName","source"],"stateInputs":{"description":"Input properties used for looking up and filtering FlinkJarApplicationVersion resources.\n","properties":{"applicationId":{"type":"string","description":"Application Id. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"applicationVersionId":{"type":"string","description":"ApplicationVersion ID.\n"},"createdAt":{"type":"string","description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n"},"createdBy":{"type":"string","description":"The creator of this entity.\n"},"fileInfos":{"type":"array","items":{"$ref":"#/types/aiven:index/FlinkJarApplicationVersionFileInfo:FlinkJarApplicationVersionFileInfo"},"description":"Flink JarApplicationVersion FileInfo.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"source":{"type":"string","description":"The path to the jar file to upload.\n","willReplaceOnChanges":true},"sourceChecksum":{"type":"string","description":"The sha256 checksum of the jar file to upload.\n","willReplaceOnChanges":true},"version":{"type":"integer","description":"Version number.\n"}},"type":"object"}},"aiven:index/gcpOrgVpcPeeringConnection:GcpOrgVpcPeeringConnection":{"description":"Creates and manages a Google Cloud VPC peering connection.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.OrganizationVpc(\"example_vpc\", {\n    organizationId: exampleAivenOrganization.id,\n    cloudName: \"google-europe-west10\",\n    networkCidr: \"10.0.0.0/24\",\n});\nconst example = new aiven.GcpOrgVpcPeeringConnection(\"example\", {\n    organizationId: exampleVpc.organizationId,\n    organizationVpcId: exampleVpc.organizationVpcId,\n    gcpProjectId: \"my-gcp-project-123\",\n    peerVpc: \"my-vpc-network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.OrganizationVpc(\"example_vpc\",\n    organization_id=example_aiven_organization[\"id\"],\n    cloud_name=\"google-europe-west10\",\n    network_cidr=\"10.0.0.0/24\")\nexample = aiven.GcpOrgVpcPeeringConnection(\"example\",\n    organization_id=example_vpc.organization_id,\n    organization_vpc_id=example_vpc.organization_vpc_id,\n    gcp_project_id=\"my-gcp-project-123\",\n    peer_vpc=\"my-vpc-network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.OrganizationVpc(\"example_vpc\", new()\n    {\n        OrganizationId = exampleAivenOrganization.Id,\n        CloudName = \"google-europe-west10\",\n        NetworkCidr = \"10.0.0.0/24\",\n    });\n\n    var example = new Aiven.GcpOrgVpcPeeringConnection(\"example\", new()\n    {\n        OrganizationId = exampleVpc.OrganizationId,\n        OrganizationVpcId = exampleVpc.OrganizationVpcId,\n        GcpProjectId = \"my-gcp-project-123\",\n        PeerVpc = \"my-vpc-network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewOrganizationVpc(ctx, \"example_vpc\", \u0026aiven.OrganizationVpcArgs{\n\t\t\tOrganizationId: pulumi.Any(exampleAivenOrganization.Id),\n\t\t\tCloudName:      pulumi.String(\"google-europe-west10\"),\n\t\t\tNetworkCidr:    pulumi.String(\"10.0.0.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewGcpOrgVpcPeeringConnection(ctx, \"example\", \u0026aiven.GcpOrgVpcPeeringConnectionArgs{\n\t\t\tOrganizationId:    exampleVpc.OrganizationId,\n\t\t\tOrganizationVpcId: exampleVpc.OrganizationVpcId,\n\t\t\tGcpProjectId:      pulumi.String(\"my-gcp-project-123\"),\n\t\t\tPeerVpc:           pulumi.String(\"my-vpc-network\"),\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.aiven.OrganizationVpc;\nimport com.pulumi.aiven.OrganizationVpcArgs;\nimport com.pulumi.aiven.GcpOrgVpcPeeringConnection;\nimport com.pulumi.aiven.GcpOrgVpcPeeringConnectionArgs;\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 exampleVpc = new OrganizationVpc(\"exampleVpc\", OrganizationVpcArgs.builder()\n            .organizationId(exampleAivenOrganization.id())\n            .cloudName(\"google-europe-west10\")\n            .networkCidr(\"10.0.0.0/24\")\n            .build());\n\n        var example = new GcpOrgVpcPeeringConnection(\"example\", GcpOrgVpcPeeringConnectionArgs.builder()\n            .organizationId(exampleVpc.organizationId())\n            .organizationVpcId(exampleVpc.organizationVpcId())\n            .gcpProjectId(\"my-gcp-project-123\")\n            .peerVpc(\"my-vpc-network\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:OrganizationVpc\n    name: example_vpc\n    properties:\n      organizationId: ${exampleAivenOrganization.id}\n      cloudName: google-europe-west10\n      networkCidr: 10.0.0.0/24\n  example:\n    type: aiven:GcpOrgVpcPeeringConnection\n    properties:\n      organizationId: ${exampleVpc.organizationId}\n      organizationVpcId: ${exampleVpc.organizationVpcId}\n      gcpProjectId: my-gcp-project-123\n      peerVpc: my-vpc-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/gcpOrgVpcPeeringConnection:GcpOrgVpcPeeringConnection example ORGANIZATION_ID/ORGANIZATION_VPC_ID/GCP_PROJECT_ID/VPC_NAME\n```\n\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n"},"selfLink":{"type":"string","description":"Computed Google Cloud network peering link.\n"},"state":{"type":"string","description":"State of the peering connection.\n"}},"required":["gcpProjectId","organizationId","organizationVpcId","peerVpc","selfLink","state"],"inputProperties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["gcpProjectId","organizationId","organizationVpcId","peerVpc"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpOrgVpcPeeringConnection resources.\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"Identifier of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"selfLink":{"type":"string","description":"Computed Google Cloud network peering link.\n"},"state":{"type":"string","description":"State of the peering connection.\n"}},"type":"object"}},"aiven:index/gcpPrivatelink:GcpPrivatelink":{"description":"Creates and manages a Google Private Service Connect for an Aiven service in a VPC.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.GcpPrivatelink(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.GcpPrivatelink(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.GcpPrivatelink(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewGcpPrivatelink(ctx, \"main\", \u0026aiven.GcpPrivatelinkArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\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.aiven.GcpPrivatelink;\nimport com.pulumi.aiven.GcpPrivatelinkArgs;\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 main = new GcpPrivatelink(\"main\", GcpPrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:GcpPrivatelink\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/gcpPrivatelink:GcpPrivatelink main PROJECT/SERVICE_NAME\n```\n\n","properties":{"googleServiceAttachment":{"type":"string","description":"Google Private Service Connect service attachment.\n"},"message":{"type":"string","description":"Printable result of the Google Cloud Private Service Connect request.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"The state of the Private Service Connect resource.\n"}},"required":["googleServiceAttachment","message","project","serviceName","state"],"inputProperties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpPrivatelink resources.\n","properties":{"googleServiceAttachment":{"type":"string","description":"Google Private Service Connect service attachment.\n"},"message":{"type":"string","description":"Printable result of the Google Cloud Private Service Connect request.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of the Private Service Connect resource.\n"}},"type":"object"}},"aiven:index/gcpPrivatelinkConnectionApproval:GcpPrivatelinkConnectionApproval":{"description":"Approves a Google Private Service Connect connection to an Aiven service with an associated endpoint IP.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst approve = new aiven.GcpPrivatelinkConnectionApproval(\"approve\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    userIpAddress: \"10.0.0.100\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\napprove = aiven.GcpPrivatelinkConnectionApproval(\"approve\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    user_ip_address=\"10.0.0.100\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var approve = new Aiven.GcpPrivatelinkConnectionApproval(\"approve\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        UserIpAddress = \"10.0.0.100\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewGcpPrivatelinkConnectionApproval(ctx, \"approve\", \u0026aiven.GcpPrivatelinkConnectionApprovalArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleKafka.ServiceName),\n\t\t\tUserIpAddress: pulumi.String(\"10.0.0.100\"),\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.aiven.GcpPrivatelinkConnectionApproval;\nimport com.pulumi.aiven.GcpPrivatelinkConnectionApprovalArgs;\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 approve = new GcpPrivatelinkConnectionApproval(\"approve\", GcpPrivatelinkConnectionApprovalArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .userIpAddress(\"10.0.0.100\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  approve:\n    type: aiven:GcpPrivatelinkConnectionApproval\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      userIpAddress: 10.0.0.100\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/gcpPrivatelinkConnectionApproval:GcpPrivatelinkConnectionApproval main PROJECT/SERVICE_NAME\n```\n\n","properties":{"privatelinkConnectionId":{"type":"string","description":"Aiven internal ID for the private link connection.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"pscConnectionId":{"type":"string","description":"The Google Private Service Connect connection ID.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"The state of the connection.\n"},"userIpAddress":{"type":"string","description":"The Private Service Connect connection user IP address.\n"}},"required":["privatelinkConnectionId","project","pscConnectionId","serviceName","state","userIpAddress"],"inputProperties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"pscConnectionId":{"type":"string","description":"The Google Private Service Connect connection ID.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userIpAddress":{"type":"string","description":"The Private Service Connect connection user IP address.\n"}},"requiredInputs":["project","serviceName","userIpAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpPrivatelinkConnectionApproval resources.\n","properties":{"privatelinkConnectionId":{"type":"string","description":"Aiven internal ID for the private link connection.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"pscConnectionId":{"type":"string","description":"The Google Private Service Connect connection ID.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"The state of the connection.\n"},"userIpAddress":{"type":"string","description":"The Private Service Connect connection user IP address.\n"}},"type":"object"}},"aiven:index/gcpVpcPeeringConnection:GcpVpcPeeringConnection":{"description":"Creates and manages a Google Cloud VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst foo = new aiven.GcpVpcPeeringConnection(\"foo\", {\n    vpcId: vpc.id,\n    gcpProjectId: \"xxxx\",\n    peerVpc: \"xxxx\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo = aiven.GcpVpcPeeringConnection(\"foo\",\n    vpc_id=vpc[\"id\"],\n    gcp_project_id=\"xxxx\",\n    peer_vpc=\"xxxx\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Aiven.GcpVpcPeeringConnection(\"foo\", new()\n    {\n        VpcId = vpc.Id,\n        GcpProjectId = \"xxxx\",\n        PeerVpc = \"xxxx\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewGcpVpcPeeringConnection(ctx, \"foo\", \u0026aiven.GcpVpcPeeringConnectionArgs{\n\t\t\tVpcId:        pulumi.Any(vpc.Id),\n\t\t\tGcpProjectId: pulumi.String(\"xxxx\"),\n\t\t\tPeerVpc:      pulumi.String(\"xxxx\"),\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.aiven.GcpVpcPeeringConnection;\nimport com.pulumi.aiven.GcpVpcPeeringConnectionArgs;\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 foo = new GcpVpcPeeringConnection(\"foo\", GcpVpcPeeringConnectionArgs.builder()\n            .vpcId(vpc.id())\n            .gcpProjectId(\"xxxx\")\n            .peerVpc(\"xxxx\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: aiven:GcpVpcPeeringConnection\n    properties:\n      vpcId: ${vpc.id}\n      gcpProjectId: xxxx\n      peerVpc: xxxx\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/gcpVpcPeeringConnection:GcpVpcPeeringConnection foo PROJECT_NAME/VPC_ID/GCP_PROJECT_ID/PEER_VPC\n```\n\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n"},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n"},"selfLink":{"type":"string","description":"Computed Google Cloud network peering link.\n"},"state":{"type":"string","description":"State of the peering connection.\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. Changing this property forces recreation of the resource.\n"}},"required":["gcpProjectId","peerVpc","selfLink","state","stateInfo","vpcId"],"inputProperties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["gcpProjectId","peerVpc","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpVpcPeeringConnection resources.\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"selfLink":{"type":"string","description":"Computed Google Cloud network peering link.\n"},"state":{"type":"string","description":"State of the peering connection.\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/governanceAccess:GovernanceAccess":{"description":"Request access to an Apache Kafka topic in Aiven for Apache Kafka® Governance. [Governance](https://aiven.io/docs/products/kafka/howto/governance) helps you manage your Kafka clusters securely and efficiently through structured policies, roles, and processes. You can manage approval workflows using Terraform and GitHub Actions.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleAccess = new aiven.GovernanceAccess(\"example_access\", {\n    organizationId: main.id,\n    accessName: \"example-topic-access\",\n    accessType: \"KAFKA\",\n    accessData: {\n        project: exampleProject.project,\n        serviceName: exampleKafka.serviceName,\n        acls: [{\n            resourceName: \"example-topic\",\n            resourceType: \"Topic\",\n            operation: \"Read\",\n            permissionType: \"ALLOW\",\n            host: \"*\",\n        }],\n    },\n    ownerUserGroupId: example.groupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_access = aiven.GovernanceAccess(\"example_access\",\n    organization_id=main[\"id\"],\n    access_name=\"example-topic-access\",\n    access_type=\"KAFKA\",\n    access_data={\n        \"project\": example_project[\"project\"],\n        \"service_name\": example_kafka[\"serviceName\"],\n        \"acls\": [{\n            \"resource_name\": \"example-topic\",\n            \"resource_type\": \"Topic\",\n            \"operation\": \"Read\",\n            \"permission_type\": \"ALLOW\",\n            \"host\": \"*\",\n        }],\n    },\n    owner_user_group_id=example[\"groupId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAccess = new Aiven.GovernanceAccess(\"example_access\", new()\n    {\n        OrganizationId = main.Id,\n        AccessName = \"example-topic-access\",\n        AccessType = \"KAFKA\",\n        AccessData = new Aiven.Inputs.GovernanceAccessAccessDataArgs\n        {\n            Project = exampleProject.Project,\n            ServiceName = exampleKafka.ServiceName,\n            Acls = new[]\n            {\n                new Aiven.Inputs.GovernanceAccessAccessDataAclArgs\n                {\n                    ResourceName = \"example-topic\",\n                    ResourceType = \"Topic\",\n                    Operation = \"Read\",\n                    PermissionType = \"ALLOW\",\n                    Host = \"*\",\n                },\n            },\n        },\n        OwnerUserGroupId = example.GroupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewGovernanceAccess(ctx, \"example_access\", \u0026aiven.GovernanceAccessArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tAccessName:     pulumi.String(\"example-topic-access\"),\n\t\t\tAccessType:     pulumi.String(\"KAFKA\"),\n\t\t\tAccessData: \u0026aiven.GovernanceAccessAccessDataArgs{\n\t\t\t\tProject:     exampleProject.Project,\n\t\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\n\t\t\t\tAcls: aiven.GovernanceAccessAccessDataAclArray{\n\t\t\t\t\t\u0026aiven.GovernanceAccessAccessDataAclArgs{\n\t\t\t\t\t\tResourceName:   pulumi.String(\"example-topic\"),\n\t\t\t\t\t\tResourceType:   pulumi.String(\"Topic\"),\n\t\t\t\t\t\tOperation:      pulumi.String(\"Read\"),\n\t\t\t\t\t\tPermissionType: pulumi.String(\"ALLOW\"),\n\t\t\t\t\t\tHost:           pulumi.String(\"*\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tOwnerUserGroupId: pulumi.Any(example.GroupId),\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.aiven.GovernanceAccess;\nimport com.pulumi.aiven.GovernanceAccessArgs;\nimport com.pulumi.aiven.inputs.GovernanceAccessAccessDataArgs;\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 exampleAccess = new GovernanceAccess(\"exampleAccess\", GovernanceAccessArgs.builder()\n            .organizationId(main.id())\n            .accessName(\"example-topic-access\")\n            .accessType(\"KAFKA\")\n            .accessData(GovernanceAccessAccessDataArgs.builder()\n                .project(exampleProject.project())\n                .serviceName(exampleKafka.serviceName())\n                .acls(GovernanceAccessAccessDataAclArgs.builder()\n                    .resourceName(\"example-topic\")\n                    .resourceType(\"Topic\")\n                    .operation(\"Read\")\n                    .permissionType(\"ALLOW\")\n                    .host(\"*\")\n                    .build())\n                .build())\n            .ownerUserGroupId(example.groupId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAccess:\n    type: aiven:GovernanceAccess\n    name: example_access\n    properties:\n      organizationId: ${main.id}\n      accessName: example-topic-access\n      accessType: KAFKA\n      accessData:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n        acls:\n          - resourceName: example-topic\n            resourceType: Topic\n            operation: Read\n            permissionType: ALLOW\n            host: '*'\n      ownerUserGroupId: ${example.groupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/governanceAccess:GovernanceAccess example ORGANIZATION_ID/ACCESS_ID\n```\n\n","properties":{"accessData":{"$ref":"#/types/aiven:index/GovernanceAccessAccessData:GovernanceAccessAccessData","description":"Required property. access type specific data. Changing this property forces recreation of the resource.\n"},"accessId":{"type":"string","description":"The ID of the access.\n"},"accessName":{"type":"string","description":"Label to describe the access. Changing this property forces recreation of the resource.\n"},"accessType":{"type":"string","description":"An enumeration. The possible value is `KAFKA`. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the group that will own the access. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/GovernanceAccessTimeouts:GovernanceAccessTimeouts"}},"required":["accessData","accessId","accessName","accessType","organizationId"],"inputProperties":{"accessData":{"$ref":"#/types/aiven:index/GovernanceAccessAccessData:GovernanceAccessAccessData","description":"Required property. access type specific data. Changing this property forces recreation of the resource.\n"},"accessName":{"type":"string","description":"Label to describe the access. Changing this property forces recreation of the resource.\n"},"accessType":{"type":"string","description":"An enumeration. The possible value is `KAFKA`. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the group that will own the access. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/GovernanceAccessTimeouts:GovernanceAccessTimeouts"}},"requiredInputs":["accessData","accessName","accessType","organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering GovernanceAccess resources.\n","properties":{"accessData":{"$ref":"#/types/aiven:index/GovernanceAccessAccessData:GovernanceAccessAccessData","description":"Required property. access type specific data. Changing this property forces recreation of the resource.\n"},"accessId":{"type":"string","description":"The ID of the access.\n"},"accessName":{"type":"string","description":"Label to describe the access. Changing this property forces recreation of the resource.\n"},"accessType":{"type":"string","description":"An enumeration. The possible value is `KAFKA`. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the group that will own the access. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/GovernanceAccessTimeouts:GovernanceAccessTimeouts"}},"type":"object"}},"aiven:index/grafana:Grafana":{"description":"Creates and manages an [Aiven for Grafana®](https://aiven.io/docs/products/grafana) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleGrafana = new aiven.Grafana(\"example_grafana\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-1\",\n    serviceName: \"example-grafana-service\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    grafanaUserConfig: {\n        alertingEnabled: true,\n        publicAccess: {\n            grafana: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_grafana = aiven.Grafana(\"example_grafana\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-1\",\n    service_name=\"example-grafana-service\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    grafana_user_config={\n        \"alerting_enabled\": True,\n        \"public_access\": {\n            \"grafana\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGrafana = new Aiven.Grafana(\"example_grafana\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-1\",\n        ServiceName = \"example-grafana-service\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        GrafanaUserConfig = new Aiven.Inputs.GrafanaGrafanaUserConfigArgs\n        {\n            AlertingEnabled = true,\n            PublicAccess = new Aiven.Inputs.GrafanaGrafanaUserConfigPublicAccessArgs\n            {\n                Grafana = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewGrafana(ctx, \"example_grafana\", \u0026aiven.GrafanaArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"startup-1\"),\n\t\t\tServiceName:           pulumi.String(\"example-grafana-service\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tGrafanaUserConfig: \u0026aiven.GrafanaGrafanaUserConfigArgs{\n\t\t\t\tAlertingEnabled: pulumi.Bool(true),\n\t\t\t\tPublicAccess: \u0026aiven.GrafanaGrafanaUserConfigPublicAccessArgs{\n\t\t\t\t\tGrafana: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.Grafana;\nimport com.pulumi.aiven.GrafanaArgs;\nimport com.pulumi.aiven.inputs.GrafanaGrafanaUserConfigArgs;\nimport com.pulumi.aiven.inputs.GrafanaGrafanaUserConfigPublicAccessArgs;\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 exampleGrafana = new Grafana(\"exampleGrafana\", GrafanaArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-1\")\n            .serviceName(\"example-grafana-service\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .grafanaUserConfig(GrafanaGrafanaUserConfigArgs.builder()\n                .alertingEnabled(true)\n                .publicAccess(GrafanaGrafanaUserConfigPublicAccessArgs.builder()\n                    .grafana(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleGrafana:\n    type: aiven:Grafana\n    name: example_grafana\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: startup-1\n      serviceName: example-grafana-service\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      grafanaUserConfig:\n        alertingEnabled: true\n        publicAccess:\n          grafana: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/grafana:Grafana example_grafana PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaComponent:GrafanaComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"grafana":{"$ref":"#/types/aiven:index/GrafanaGrafana:GrafanaGrafana","description":"Values provided by the Grafana server.\n","language":{"csharp":{"name":"GrafanaServer"}},"secret":true},"grafanaUserConfig":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfig:GrafanaGrafanaUserConfig","description":"Grafana user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaServiceIntegration:GrafanaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTag:GrafanaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTechEmail:GrafanaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","grafana","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"grafana":{"$ref":"#/types/aiven:index/GrafanaGrafana:GrafanaGrafana","description":"Values provided by the Grafana server.\n","language":{"csharp":{"name":"GrafanaServer"}},"secret":true},"grafanaUserConfig":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfig:GrafanaGrafanaUserConfig","description":"Grafana user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaServiceIntegration:GrafanaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTag:GrafanaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTechEmail:GrafanaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project"],"stateInputs":{"description":"Input properties used for looking up and filtering Grafana resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaComponent:GrafanaComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"grafana":{"$ref":"#/types/aiven:index/GrafanaGrafana:GrafanaGrafana","description":"Values provided by the Grafana server.\n","language":{"csharp":{"name":"GrafanaServer"}},"secret":true},"grafanaUserConfig":{"$ref":"#/types/aiven:index/GrafanaGrafanaUserConfig:GrafanaGrafanaUserConfig","description":"Grafana user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaServiceIntegration:GrafanaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTag:GrafanaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/GrafanaTechEmail:GrafanaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/influxDb:InfluxDb":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbComponent:InfluxDbComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"influxdbUserConfig":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfig:InfluxDbInfluxdbUserConfig","description":"Influxdb user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"influxdbs":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbInfluxdb:InfluxDbInfluxdb"},"description":"InfluxDB server provided values","secret":true},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbServiceIntegration:InfluxDbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTag:InfluxDbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTechEmail:InfluxDbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","influxdbs","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"influxdbUserConfig":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfig:InfluxDbInfluxdbUserConfig","description":"Influxdb user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"influxdbs":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbInfluxdb:InfluxDbInfluxdb"},"description":"InfluxDB server provided values","secret":true},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbServiceIntegration:InfluxDbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTag:InfluxDbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTechEmail:InfluxDbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering InfluxDb resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbComponent:InfluxDbComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"influxdbUserConfig":{"$ref":"#/types/aiven:index/InfluxDbInfluxdbUserConfig:InfluxDbInfluxdbUserConfig","description":"Influxdb user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"influxdbs":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbInfluxdb:InfluxDbInfluxdb"},"description":"InfluxDB server provided values","secret":true},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbServiceIntegration:InfluxDbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTag:InfluxDbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/InfluxDbTechEmail:InfluxDbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/influxdbDatabase:InfluxdbDatabase":{"properties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"terminationProtection":{"type":"boolean","description":"It is a Terraform client-side deletion protections, which prevents the database from being deleted by Terraform. It is recommended to enable this for any production databases containing critical data. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e."}},"required":["databaseName","project","serviceName"],"inputProperties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"terminationProtection":{"type":"boolean","description":"It is a Terraform client-side deletion protections, which prevents the database from being deleted by Terraform. It is recommended to enable this for any production databases containing critical data. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e."}},"requiredInputs":["databaseName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering InfluxdbDatabase resources.\n","properties":{"databaseName":{"type":"string","description":"The name of the service database. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"terminationProtection":{"type":"boolean","description":"It is a Terraform client-side deletion protections, which prevents the database from being deleted by Terraform. It is recommended to enable this for any production databases containing critical data. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e."}},"type":"object"}},"aiven:index/influxdbUser:InfluxdbUser":{"properties":{"accessCert":{"type":"string","description":"Access certificate for the user if applicable for the service in question","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user if applicable for the service in question","secret":true},"password":{"type":"string","description":"The password of the InfluxDB User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"type":{"type":"string","description":"Type of the user account. Tells whether the user is the primary account or a regular account."},"username":{"type":"string","description":"The actual name of the InfluxDB User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["accessCert","accessKey","password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the InfluxDB User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"username":{"type":"string","description":"The actual name of the InfluxDB User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering InfluxdbUser resources.\n","properties":{"accessCert":{"type":"string","description":"Access certificate for the user if applicable for the service in question","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user if applicable for the service in question","secret":true},"password":{"type":"string","description":"The password of the InfluxDB User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of the user account. Tells whether the user is the primary account or a regular account."},"username":{"type":"string","description":"The actual name of the InfluxDB User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafka:Kafka":{"description":"Creates and manages an [Aiven for Apache Kafka®](https://aiven.io/docs/products/kafka) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleKafka = new aiven.Kafka(\"example_kafka\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    serviceName: \"example-kafka\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    kafkaUserConfig: {\n        kafkaRest: true,\n        kafkaConnect: true,\n        schemaRegistry: true,\n        kafkaVersion: \"3.8\",\n        kafka: {\n            groupMaxSessionTimeoutMs: 70000,\n            logRetentionBytes: 1000000000,\n        },\n        publicAccess: {\n            kafkaRest: true,\n            kafkaConnect: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_kafka = aiven.Kafka(\"example_kafka\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    service_name=\"example-kafka\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    kafka_user_config={\n        \"kafka_rest\": True,\n        \"kafka_connect\": True,\n        \"schema_registry\": True,\n        \"kafka_version\": \"3.8\",\n        \"kafka\": {\n            \"group_max_session_timeout_ms\": 70000,\n            \"log_retention_bytes\": 1000000000,\n        },\n        \"public_access\": {\n            \"kafka_rest\": True,\n            \"kafka_connect\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleKafka = new Aiven.Kafka(\"example_kafka\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        ServiceName = \"example-kafka\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        KafkaUserConfig = new Aiven.Inputs.KafkaKafkaUserConfigArgs\n        {\n            KafkaRest = true,\n            KafkaConnect = true,\n            SchemaRegistry = true,\n            KafkaVersion = \"3.8\",\n            Kafka = new Aiven.Inputs.KafkaKafkaUserConfigKafkaArgs\n            {\n                GroupMaxSessionTimeoutMs = 70000,\n                LogRetentionBytes = 1000000000,\n            },\n            PublicAccess = new Aiven.Inputs.KafkaKafkaUserConfigPublicAccessArgs\n            {\n                KafkaRest = true,\n                KafkaConnect = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafka(ctx, \"example_kafka\", \u0026aiven.KafkaArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-kafka\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tKafkaUserConfig: \u0026aiven.KafkaKafkaUserConfigArgs{\n\t\t\t\tKafkaRest:      pulumi.Bool(true),\n\t\t\t\tKafkaConnect:   pulumi.Bool(true),\n\t\t\t\tSchemaRegistry: pulumi.Bool(true),\n\t\t\t\tKafkaVersion:   pulumi.String(\"3.8\"),\n\t\t\t\tKafka: \u0026aiven.KafkaKafkaUserConfigKafkaArgs{\n\t\t\t\t\tGroupMaxSessionTimeoutMs: pulumi.Int(70000),\n\t\t\t\t\tLogRetentionBytes:        pulumi.Int(1000000000),\n\t\t\t\t},\n\t\t\t\tPublicAccess: \u0026aiven.KafkaKafkaUserConfigPublicAccessArgs{\n\t\t\t\t\tKafkaRest:    pulumi.Bool(true),\n\t\t\t\t\tKafkaConnect: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.Kafka;\nimport com.pulumi.aiven.KafkaArgs;\nimport com.pulumi.aiven.inputs.KafkaKafkaUserConfigArgs;\nimport com.pulumi.aiven.inputs.KafkaKafkaUserConfigKafkaArgs;\nimport com.pulumi.aiven.inputs.KafkaKafkaUserConfigPublicAccessArgs;\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 exampleKafka = new Kafka(\"exampleKafka\", KafkaArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .serviceName(\"example-kafka\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .kafkaUserConfig(KafkaKafkaUserConfigArgs.builder()\n                .kafkaRest(true)\n                .kafkaConnect(true)\n                .schemaRegistry(true)\n                .kafkaVersion(\"3.8\")\n                .kafka(KafkaKafkaUserConfigKafkaArgs.builder()\n                    .groupMaxSessionTimeoutMs(70000)\n                    .logRetentionBytes(1000000000)\n                    .build())\n                .publicAccess(KafkaKafkaUserConfigPublicAccessArgs.builder()\n                    .kafkaRest(true)\n                    .kafkaConnect(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleKafka:\n    type: aiven:Kafka\n    name: example_kafka\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: business-4\n      serviceName: example-kafka\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      kafkaUserConfig:\n        kafkaRest: true\n        kafkaConnect: true\n        schemaRegistry: true\n        kafkaVersion: '3.8'\n        kafka:\n          groupMaxSessionTimeoutMs: 70000\n          logRetentionBytes: 1e+09\n        publicAccess:\n          kafkaRest: true\n          kafkaConnect: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafka:Kafka example_kafka PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaComponent:KafkaComponent"},"description":"Service component information objects\n"},"defaultAcl":{"type":"boolean","description":"Create a default wildcard Kafka ACL.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaUserConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfig:KafkaKafkaUserConfig","description":"Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkas":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafka:KafkaKafka"},"description":"Kafka server connection details.\n","language":{"csharp":{"name":"KafkaServer"}},"secret":true},"karapace":{"type":"boolean","description":"Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy. This attribute is deprecated, use \u003cspan pulumi-lang-nodejs=\"`schemaRegistry`\" pulumi-lang-dotnet=\"`SchemaRegistry`\" pulumi-lang-go=\"`schemaRegistry`\" pulumi-lang-python=\"`schema_registry`\" pulumi-lang-yaml=\"`schemaRegistry`\" pulumi-lang-java=\"`schemaRegistry`\"\u003e`schema_registry`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kafkaRest`\" pulumi-lang-dotnet=\"`KafkaRest`\" pulumi-lang-go=\"`kafkaRest`\" pulumi-lang-python=\"`kafka_rest`\" pulumi-lang-yaml=\"`kafkaRest`\" pulumi-lang-java=\"`kafkaRest`\"\u003e`kafka_rest`\u003c/span\u003e instead.\n","deprecationMessage":"Usage of this field is discouraged."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaServiceIntegration:KafkaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTag:KafkaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTechEmail:KafkaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","kafkas","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"defaultAcl":{"type":"boolean","description":"Create a default wildcard Kafka ACL.\n","willReplaceOnChanges":true},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"kafkaUserConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfig:KafkaKafkaUserConfig","description":"Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkas":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafka:KafkaKafka"},"description":"Kafka server connection details.\n","language":{"csharp":{"name":"KafkaServer"}},"secret":true},"karapace":{"type":"boolean","description":"Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy. This attribute is deprecated, use \u003cspan pulumi-lang-nodejs=\"`schemaRegistry`\" pulumi-lang-dotnet=\"`SchemaRegistry`\" pulumi-lang-go=\"`schemaRegistry`\" pulumi-lang-python=\"`schema_registry`\" pulumi-lang-yaml=\"`schemaRegistry`\" pulumi-lang-java=\"`schemaRegistry`\"\u003e`schema_registry`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kafkaRest`\" pulumi-lang-dotnet=\"`KafkaRest`\" pulumi-lang-go=\"`kafkaRest`\" pulumi-lang-python=\"`kafka_rest`\" pulumi-lang-yaml=\"`kafkaRest`\" pulumi-lang-java=\"`kafkaRest`\"\u003e`kafka_rest`\u003c/span\u003e instead.\n","deprecationMessage":"Usage of this field is discouraged."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaServiceIntegration:KafkaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTag:KafkaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTechEmail:KafkaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Kafka resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaComponent:KafkaComponent"},"description":"Service component information objects\n"},"defaultAcl":{"type":"boolean","description":"Create a default wildcard Kafka ACL.\n","willReplaceOnChanges":true},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaUserConfig":{"$ref":"#/types/aiven:index/KafkaKafkaUserConfig:KafkaKafkaUserConfig","description":"Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkas":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaKafka:KafkaKafka"},"description":"Kafka server connection details.\n","language":{"csharp":{"name":"KafkaServer"}},"secret":true},"karapace":{"type":"boolean","description":"Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy. This attribute is deprecated, use \u003cspan pulumi-lang-nodejs=\"`schemaRegistry`\" pulumi-lang-dotnet=\"`SchemaRegistry`\" pulumi-lang-go=\"`schemaRegistry`\" pulumi-lang-python=\"`schema_registry`\" pulumi-lang-yaml=\"`schemaRegistry`\" pulumi-lang-java=\"`schemaRegistry`\"\u003e`schema_registry`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kafkaRest`\" pulumi-lang-dotnet=\"`KafkaRest`\" pulumi-lang-go=\"`kafkaRest`\" pulumi-lang-python=\"`kafka_rest`\" pulumi-lang-yaml=\"`kafkaRest`\" pulumi-lang-java=\"`kafkaRest`\"\u003e`kafka_rest`\u003c/span\u003e instead.\n","deprecationMessage":"Usage of this field is discouraged."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaServiceIntegration:KafkaServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTag:KafkaTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTechEmail:KafkaTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/kafkaAcl:KafkaAcl":{"description":"Creates and manages Aiven [access control lists](https://aiven.io/docs/products/kafka/concepts/acl) (ACLs) for an Aiven for Apache Kafka® service. ACLs control access to Kafka topics, consumer groups,\nclusters, and Schema Registry.\n\nAiven ACLs provide simplified topic-level control with basic permissions and wildcard support. For more advanced access control, you can use Kafka-native ACLs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleAcl = new aiven.KafkaAcl(\"example_acl\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    topic: \"example-topic\",\n    permission: \"admin\",\n    username: \"example-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_acl = aiven.KafkaAcl(\"example_acl\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    topic=\"example-topic\",\n    permission=\"admin\",\n    username=\"example-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAcl = new Aiven.KafkaAcl(\"example_acl\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        Topic = \"example-topic\",\n        Permission = \"admin\",\n        Username = \"example-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaAcl(ctx, \"example_acl\", \u0026aiven.KafkaAclArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\n\t\t\tTopic:       pulumi.String(\"example-topic\"),\n\t\t\tPermission:  pulumi.String(\"admin\"),\n\t\t\tUsername:    pulumi.String(\"example-user\"),\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.aiven.KafkaAcl;\nimport com.pulumi.aiven.KafkaAclArgs;\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 exampleAcl = new KafkaAcl(\"exampleAcl\", KafkaAclArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .topic(\"example-topic\")\n            .permission(\"admin\")\n            .username(\"example-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAcl:\n    type: aiven:KafkaAcl\n    name: example_acl\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      topic: example-topic\n      permission: admin\n      username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaAcl:KafkaAcl example_acl PROJECT/SERVICE_NAME/ID\n```\n\n","properties":{"aclId":{"type":"string","description":"Kafka ACL ID.\n"},"permission":{"type":"string","description":"Permissions to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"topic":{"type":"string","description":"Topics that the permissions apply to. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Usernames to grant permissions to. Changing this property forces recreation of the resource.\n"}},"required":["aclId","permission","project","serviceName","topic","username"],"inputProperties":{"permission":{"type":"string","description":"Permissions to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Topics that the permissions apply to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Usernames to grant permissions to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["permission","project","serviceName","topic","username"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaAcl resources.\n","properties":{"aclId":{"type":"string","description":"Kafka ACL ID.\n"},"permission":{"type":"string","description":"Permissions to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"topic":{"type":"string","description":"Topics that the permissions apply to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Usernames to grant permissions to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaConnect:KafkaConnect":{"description":"Creates and manages an [Aiven for Apache Kafka® Connect](https://aiven.io/docs/products/kafka/kafka-connect) service.\nKafka Connect lets you integrate an Aiven for Apache Kafka® service with external data sources using connectors.\n\nTo set up and integrate Kafka Connect:\n1. Create a Kafka service in the same Aiven project using the \u003cspan pulumi-lang-nodejs=\"`aiven.Kafka`\" pulumi-lang-dotnet=\"`aiven.Kafka`\" pulumi-lang-go=\"`Kafka`\" pulumi-lang-python=\"`Kafka`\" pulumi-lang-yaml=\"`aiven.Kafka`\" pulumi-lang-java=\"`aiven.Kafka`\"\u003e`aiven.Kafka`\u003c/span\u003e resource.\n2. Create topics for importing and exporting data using \u003cspan pulumi-lang-nodejs=\"`aiven.KafkaTopic`\" pulumi-lang-dotnet=\"`aiven.KafkaTopic`\" pulumi-lang-go=\"`KafkaTopic`\" pulumi-lang-python=\"`KafkaTopic`\" pulumi-lang-yaml=\"`aiven.KafkaTopic`\" pulumi-lang-java=\"`aiven.KafkaTopic`\"\u003e`aiven.KafkaTopic`\u003c/span\u003e.\n3. Create the Kafka Connect service.\n4. Use the \u003cspan pulumi-lang-nodejs=\"`aiven.ServiceIntegration`\" pulumi-lang-dotnet=\"`aiven.ServiceIntegration`\" pulumi-lang-go=\"`ServiceIntegration`\" pulumi-lang-python=\"`ServiceIntegration`\" pulumi-lang-yaml=\"`aiven.ServiceIntegration`\" pulumi-lang-java=\"`aiven.ServiceIntegration`\"\u003e`aiven.ServiceIntegration`\u003c/span\u003e resource to integrate the Kafka and Kafka Connect services.\n5. Add source and sink connectors using \u003cspan pulumi-lang-nodejs=\"`aiven.KafkaConnector`\" pulumi-lang-dotnet=\"`aiven.KafkaConnector`\" pulumi-lang-go=\"`KafkaConnector`\" pulumi-lang-python=\"`KafkaConnector`\" pulumi-lang-yaml=\"`aiven.KafkaConnector`\" pulumi-lang-java=\"`aiven.KafkaConnector`\"\u003e`aiven.KafkaConnector`\u003c/span\u003e resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Create a Kafka service.\nconst exampleKafka = new aiven.Kafka(\"example_kafka\", {\n    project: exampleProject.project,\n    serviceName: \"example-kafka-service\",\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-4\",\n});\n// Create a Kafka Connect service.\nconst exampleKafkaConnect = new aiven.KafkaConnect(\"example_kafka_connect\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-4\",\n    serviceName: \"example-connect-service\",\n    kafkaConnectUserConfig: {\n        kafkaConnect: {\n            consumerIsolationLevel: \"read_committed\",\n        },\n        publicAccess: {\n            kafkaConnect: true,\n        },\n    },\n});\n// Integrate the Kafka and Kafka Connect services.\nconst kafkaConnectIntegration = new aiven.ServiceIntegration(\"kafka_connect_integration\", {\n    project: exampleProject.project,\n    integrationType: \"kafka_connect\",\n    sourceServiceName: exampleKafka.serviceName,\n    destinationServiceName: exampleKafkaConnect.serviceName,\n    kafkaConnectUserConfig: {\n        kafkaConnect: {\n            groupId: \"connect\",\n            statusStorageTopic: \"__connect_status\",\n            offsetStorageTopic: \"__connect_offsets\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Create a Kafka service.\nexample_kafka = aiven.Kafka(\"example_kafka\",\n    project=example_project[\"project\"],\n    service_name=\"example-kafka-service\",\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-4\")\n# Create a Kafka Connect service.\nexample_kafka_connect = aiven.KafkaConnect(\"example_kafka_connect\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-4\",\n    service_name=\"example-connect-service\",\n    kafka_connect_user_config={\n        \"kafka_connect\": {\n            \"consumer_isolation_level\": \"read_committed\",\n        },\n        \"public_access\": {\n            \"kafka_connect\": True,\n        },\n    })\n# Integrate the Kafka and Kafka Connect services.\nkafka_connect_integration = aiven.ServiceIntegration(\"kafka_connect_integration\",\n    project=example_project[\"project\"],\n    integration_type=\"kafka_connect\",\n    source_service_name=example_kafka.service_name,\n    destination_service_name=example_kafka_connect.service_name,\n    kafka_connect_user_config={\n        \"kafka_connect\": {\n            \"group_id\": \"connect\",\n            \"status_storage_topic\": \"__connect_status\",\n            \"offset_storage_topic\": \"__connect_offsets\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a Kafka service.\n    var exampleKafka = new Aiven.Kafka(\"example_kafka\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-kafka-service\",\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-4\",\n    });\n\n    // Create a Kafka Connect service.\n    var exampleKafkaConnect = new Aiven.KafkaConnect(\"example_kafka_connect\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-4\",\n        ServiceName = \"example-connect-service\",\n        KafkaConnectUserConfig = new Aiven.Inputs.KafkaConnectKafkaConnectUserConfigArgs\n        {\n            KafkaConnect = new Aiven.Inputs.KafkaConnectKafkaConnectUserConfigKafkaConnectArgs\n            {\n                ConsumerIsolationLevel = \"read_committed\",\n            },\n            PublicAccess = new Aiven.Inputs.KafkaConnectKafkaConnectUserConfigPublicAccessArgs\n            {\n                KafkaConnect = true,\n            },\n        },\n    });\n\n    // Integrate the Kafka and Kafka Connect services.\n    var kafkaConnectIntegration = new Aiven.ServiceIntegration(\"kafka_connect_integration\", new()\n    {\n        Project = exampleProject.Project,\n        IntegrationType = \"kafka_connect\",\n        SourceServiceName = exampleKafka.ServiceName,\n        DestinationServiceName = exampleKafkaConnect.ServiceName,\n        KafkaConnectUserConfig = new Aiven.Inputs.ServiceIntegrationKafkaConnectUserConfigArgs\n        {\n            KafkaConnect = new Aiven.Inputs.ServiceIntegrationKafkaConnectUserConfigKafkaConnectArgs\n            {\n                GroupId = \"connect\",\n                StatusStorageTopic = \"__connect_status\",\n                OffsetStorageTopic = \"__connect_offsets\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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// Create a Kafka service.\n\t\texampleKafka, err := aiven.NewKafka(ctx, \"example_kafka\", \u0026aiven.KafkaArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.String(\"example-kafka-service\"),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a Kafka Connect service.\n\t\texampleKafkaConnect, err := aiven.NewKafkaConnect(ctx, \"example_kafka_connect\", \u0026aiven.KafkaConnectArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t\tServiceName: pulumi.String(\"example-connect-service\"),\n\t\t\tKafkaConnectUserConfig: \u0026aiven.KafkaConnectKafkaConnectUserConfigArgs{\n\t\t\t\tKafkaConnect: \u0026aiven.KafkaConnectKafkaConnectUserConfigKafkaConnectArgs{\n\t\t\t\t\tConsumerIsolationLevel: pulumi.String(\"read_committed\"),\n\t\t\t\t},\n\t\t\t\tPublicAccess: \u0026aiven.KafkaConnectKafkaConnectUserConfigPublicAccessArgs{\n\t\t\t\t\tKafkaConnect: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Integrate the Kafka and Kafka Connect services.\n\t\t_, err = aiven.NewServiceIntegration(ctx, \"kafka_connect_integration\", \u0026aiven.ServiceIntegrationArgs{\n\t\t\tProject:                pulumi.Any(exampleProject.Project),\n\t\t\tIntegrationType:        pulumi.String(\"kafka_connect\"),\n\t\t\tSourceServiceName:      exampleKafka.ServiceName,\n\t\t\tDestinationServiceName: exampleKafkaConnect.ServiceName,\n\t\t\tKafkaConnectUserConfig: \u0026aiven.ServiceIntegrationKafkaConnectUserConfigArgs{\n\t\t\t\tKafkaConnect: \u0026aiven.ServiceIntegrationKafkaConnectUserConfigKafkaConnectArgs{\n\t\t\t\t\tGroupId:            pulumi.String(\"connect\"),\n\t\t\t\t\tStatusStorageTopic: pulumi.String(\"__connect_status\"),\n\t\t\t\t\tOffsetStorageTopic: pulumi.String(\"__connect_offsets\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.Kafka;\nimport com.pulumi.aiven.KafkaArgs;\nimport com.pulumi.aiven.KafkaConnect;\nimport com.pulumi.aiven.KafkaConnectArgs;\nimport com.pulumi.aiven.inputs.KafkaConnectKafkaConnectUserConfigArgs;\nimport com.pulumi.aiven.inputs.KafkaConnectKafkaConnectUserConfigKafkaConnectArgs;\nimport com.pulumi.aiven.inputs.KafkaConnectKafkaConnectUserConfigPublicAccessArgs;\nimport com.pulumi.aiven.ServiceIntegration;\nimport com.pulumi.aiven.ServiceIntegrationArgs;\nimport com.pulumi.aiven.inputs.ServiceIntegrationKafkaConnectUserConfigArgs;\nimport com.pulumi.aiven.inputs.ServiceIntegrationKafkaConnectUserConfigKafkaConnectArgs;\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        // Create a Kafka service.\n        var exampleKafka = new Kafka(\"exampleKafka\", KafkaArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-kafka-service\")\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-4\")\n            .build());\n\n        // Create a Kafka Connect service.\n        var exampleKafkaConnect = new KafkaConnect(\"exampleKafkaConnect\", KafkaConnectArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-4\")\n            .serviceName(\"example-connect-service\")\n            .kafkaConnectUserConfig(KafkaConnectKafkaConnectUserConfigArgs.builder()\n                .kafkaConnect(KafkaConnectKafkaConnectUserConfigKafkaConnectArgs.builder()\n                    .consumerIsolationLevel(\"read_committed\")\n                    .build())\n                .publicAccess(KafkaConnectKafkaConnectUserConfigPublicAccessArgs.builder()\n                    .kafkaConnect(true)\n                    .build())\n                .build())\n            .build());\n\n        // Integrate the Kafka and Kafka Connect services.\n        var kafkaConnectIntegration = new ServiceIntegration(\"kafkaConnectIntegration\", ServiceIntegrationArgs.builder()\n            .project(exampleProject.project())\n            .integrationType(\"kafka_connect\")\n            .sourceServiceName(exampleKafka.serviceName())\n            .destinationServiceName(exampleKafkaConnect.serviceName())\n            .kafkaConnectUserConfig(ServiceIntegrationKafkaConnectUserConfigArgs.builder()\n                .kafkaConnect(ServiceIntegrationKafkaConnectUserConfigKafkaConnectArgs.builder()\n                    .groupId(\"connect\")\n                    .statusStorageTopic(\"__connect_status\")\n                    .offsetStorageTopic(\"__connect_offsets\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a Kafka service.\n  exampleKafka:\n    type: aiven:Kafka\n    name: example_kafka\n    properties:\n      project: ${exampleProject.project}\n      serviceName: example-kafka-service\n      cloudName: google-europe-west1\n      plan: startup-4\n  # Create a Kafka Connect service.\n  exampleKafkaConnect:\n    type: aiven:KafkaConnect\n    name: example_kafka_connect\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: startup-4\n      serviceName: example-connect-service\n      kafkaConnectUserConfig:\n        kafkaConnect:\n          consumerIsolationLevel: read_committed\n        publicAccess:\n          kafkaConnect: true\n  # Integrate the Kafka and Kafka Connect services.\n  kafkaConnectIntegration:\n    type: aiven:ServiceIntegration\n    name: kafka_connect_integration\n    properties:\n      project: ${exampleProject.project}\n      integrationType: kafka_connect\n      sourceServiceName: ${exampleKafka.serviceName}\n      destinationServiceName: ${exampleKafkaConnect.serviceName}\n      kafkaConnectUserConfig:\n        kafkaConnect:\n          groupId: connect\n          statusStorageTopic: __connect_status\n          offsetStorageTopic: __connect_offsets\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaConnect:KafkaConnect example_kafka_connect PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectComponent:KafkaConnectComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfig:KafkaConnectKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectServiceIntegration:KafkaConnectServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTag:KafkaConnectTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTechEmail:KafkaConnectTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfig:KafkaConnectKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectServiceIntegration:KafkaConnectServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTag:KafkaConnectTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTechEmail:KafkaConnectTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaConnect resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectComponent:KafkaConnectComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/KafkaConnectKafkaConnectUserConfig:KafkaConnectKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectServiceIntegration:KafkaConnectServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTag:KafkaConnectTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectTechEmail:KafkaConnectTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/kafkaConnector:KafkaConnector":{"description":"Creates and manages Aiven for Apache Kafka® [connectors](https://aiven.io/docs/products/kafka/kafka-connect/concepts/list-of-connector-plugins).\nSource connectors let you import data from an external system into a Kafka topic. Sink connectors let you export data from a topic to an external system.\n\nYou can use connectors with any Aiven for Apache Kafka® service that is integrated with an Aiven for Apache Kafka® Connect service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst kafka_os_connector = new aiven.KafkaConnector(\"kafka-os-connector\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    connectorName: \"kafka-opensearch-connector\",\n    config: {\n        name: \"kafka-opensearch-connector\",\n        topics: exampleTopic.topicName,\n        \"connector.class\": \"io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\",\n        \"type.name\": \"os-connector\",\n        \"connection.url\": exampleOs.serviceUri,\n        \"connection.username\": exampleOs.serviceUsername,\n        \"connection.password\": exampleOs.servicePassword,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nkafka_os_connector = aiven.KafkaConnector(\"kafka-os-connector\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    connector_name=\"kafka-opensearch-connector\",\n    config={\n        \"name\": \"kafka-opensearch-connector\",\n        \"topics\": example_topic[\"topicName\"],\n        \"connector.class\": \"io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\",\n        \"type.name\": \"os-connector\",\n        \"connection.url\": example_os[\"serviceUri\"],\n        \"connection.username\": example_os[\"serviceUsername\"],\n        \"connection.password\": example_os[\"servicePassword\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kafka_os_connector = new Aiven.KafkaConnector(\"kafka-os-connector\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        ConnectorName = \"kafka-opensearch-connector\",\n        Config = \n        {\n            { \"name\", \"kafka-opensearch-connector\" },\n            { \"topics\", exampleTopic.TopicName },\n            { \"connector.class\", \"io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\" },\n            { \"type.name\", \"os-connector\" },\n            { \"connection.url\", exampleOs.ServiceUri },\n            { \"connection.username\", exampleOs.ServiceUsername },\n            { \"connection.password\", exampleOs.ServicePassword },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaConnector(ctx, \"kafka-os-connector\", \u0026aiven.KafkaConnectorArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleKafka.ServiceName),\n\t\t\tConnectorName: pulumi.String(\"kafka-opensearch-connector\"),\n\t\t\tConfig: pulumi.StringMap{\n\t\t\t\t\"name\":                pulumi.String(\"kafka-opensearch-connector\"),\n\t\t\t\t\"topics\":              pulumi.Any(exampleTopic.TopicName),\n\t\t\t\t\"connector.class\":     pulumi.String(\"io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\"),\n\t\t\t\t\"type.name\":           pulumi.String(\"os-connector\"),\n\t\t\t\t\"connection.url\":      pulumi.Any(exampleOs.ServiceUri),\n\t\t\t\t\"connection.username\": pulumi.Any(exampleOs.ServiceUsername),\n\t\t\t\t\"connection.password\": pulumi.Any(exampleOs.ServicePassword),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.KafkaConnector;\nimport com.pulumi.aiven.KafkaConnectorArgs;\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 kafka_os_connector = new KafkaConnector(\"kafka-os-connector\", KafkaConnectorArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .connectorName(\"kafka-opensearch-connector\")\n            .config(Map.ofEntries(\n                Map.entry(\"name\", \"kafka-opensearch-connector\"),\n                Map.entry(\"topics\", exampleTopic.topicName()),\n                Map.entry(\"connector.class\", \"io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\"),\n                Map.entry(\"type.name\", \"os-connector\"),\n                Map.entry(\"connection.url\", exampleOs.serviceUri()),\n                Map.entry(\"connection.username\", exampleOs.serviceUsername()),\n                Map.entry(\"connection.password\", exampleOs.servicePassword())\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kafka-os-connector:\n    type: aiven:KafkaConnector\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      connectorName: kafka-opensearch-connector\n      config:\n        name: kafka-opensearch-connector\n        topics: ${exampleTopic.topicName}\n        connector.class: io.aiven.kafka.connect.opensearch.OpensearchSinkConnector\n        type.name: os-connector\n        connection.url: ${exampleOs.serviceUri}\n        connection.username: ${exampleOs.serviceUsername}\n        connection.password: ${exampleOs.servicePassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaConnector:KafkaConnector kafka-os-connector PROJECT/SERVICE_NAME/CONNECTOR_NAME\n```\n\n","properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The Kafka connector configuration parameters.\n"},"connectorName":{"type":"string","description":"The Kafka connector name. Changing this property forces recreation of the resource.\n"},"pluginAuthor":{"type":"string","description":"The Kafka connector author.\n"},"pluginClass":{"type":"string","description":"The Kafka connector Java class.\n"},"pluginDocUrl":{"type":"string","description":"The Kafka connector documentation URL.\n"},"pluginTitle":{"type":"string","description":"The Kafka connector title.\n"},"pluginType":{"type":"string","description":"The Kafka connector type.\n"},"pluginVersion":{"type":"string","description":"The version of the Kafka connector.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"tasks":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectorTask:KafkaConnectorTask"},"description":"List of tasks of a connector.\n"}},"required":["config","connectorName","pluginAuthor","pluginClass","pluginDocUrl","pluginTitle","pluginType","pluginVersion","project","serviceName","tasks"],"inputProperties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The Kafka connector configuration parameters.\n"},"connectorName":{"type":"string","description":"The Kafka connector name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["config","connectorName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaConnector resources.\n","properties":{"config":{"type":"object","additionalProperties":{"type":"string"},"description":"The Kafka connector configuration parameters.\n"},"connectorName":{"type":"string","description":"The Kafka connector name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"pluginAuthor":{"type":"string","description":"The Kafka connector author.\n"},"pluginClass":{"type":"string","description":"The Kafka connector Java class.\n"},"pluginDocUrl":{"type":"string","description":"The Kafka connector documentation URL.\n"},"pluginTitle":{"type":"string","description":"The Kafka connector title.\n"},"pluginType":{"type":"string","description":"The Kafka connector type.\n"},"pluginVersion":{"type":"string","description":"The version of the Kafka connector.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"tasks":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaConnectorTask:KafkaConnectorTask"},"description":"List of tasks of a connector.\n"}},"type":"object"}},"aiven:index/kafkaMirrorMaker:KafkaMirrorMaker":{"description":"Creates and manages an [Aiven for Apache Kafka® MirrorMaker 2](https://aiven.io/docs/products/kafka/kafka-mirrormaker) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMirrormaker = new aiven.KafkaMirrorMaker(\"example_mirrormaker\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-4\",\n    serviceName: \"example-mirrormaker-service\",\n    kafkaMirrormakerUserConfig: {\n        ipFilters: [\"0.0.0.0/0\"],\n        kafkaMirrormaker: {\n            refreshGroupsIntervalSeconds: 600,\n            refreshTopicsEnabled: true,\n            refreshTopicsIntervalSeconds: 600,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mirrormaker = aiven.KafkaMirrorMaker(\"example_mirrormaker\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-4\",\n    service_name=\"example-mirrormaker-service\",\n    kafka_mirrormaker_user_config={\n        \"ip_filters\": [\"0.0.0.0/0\"],\n        \"kafka_mirrormaker\": {\n            \"refresh_groups_interval_seconds\": 600,\n            \"refresh_topics_enabled\": True,\n            \"refresh_topics_interval_seconds\": 600,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMirrormaker = new Aiven.KafkaMirrorMaker(\"example_mirrormaker\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-4\",\n        ServiceName = \"example-mirrormaker-service\",\n        KafkaMirrormakerUserConfig = new Aiven.Inputs.KafkaMirrorMakerKafkaMirrormakerUserConfigArgs\n        {\n            IpFilters = new[]\n            {\n                \"0.0.0.0/0\",\n            },\n            KafkaMirrormaker = new Aiven.Inputs.KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormakerArgs\n            {\n                RefreshGroupsIntervalSeconds = 600,\n                RefreshTopicsEnabled = true,\n                RefreshTopicsIntervalSeconds = 600,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaMirrorMaker(ctx, \"example_mirrormaker\", \u0026aiven.KafkaMirrorMakerArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t\tServiceName: pulumi.String(\"example-mirrormaker-service\"),\n\t\t\tKafkaMirrormakerUserConfig: \u0026aiven.KafkaMirrorMakerKafkaMirrormakerUserConfigArgs{\n\t\t\t\tIpFilters: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"0.0.0.0/0\"),\n\t\t\t\t},\n\t\t\t\tKafkaMirrormaker: \u0026aiven.KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormakerArgs{\n\t\t\t\t\tRefreshGroupsIntervalSeconds: pulumi.Int(600),\n\t\t\t\t\tRefreshTopicsEnabled:         pulumi.Bool(true),\n\t\t\t\t\tRefreshTopicsIntervalSeconds: pulumi.Int(600),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.KafkaMirrorMaker;\nimport com.pulumi.aiven.KafkaMirrorMakerArgs;\nimport com.pulumi.aiven.inputs.KafkaMirrorMakerKafkaMirrormakerUserConfigArgs;\nimport com.pulumi.aiven.inputs.KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormakerArgs;\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 exampleMirrormaker = new KafkaMirrorMaker(\"exampleMirrormaker\", KafkaMirrorMakerArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-4\")\n            .serviceName(\"example-mirrormaker-service\")\n            .kafkaMirrormakerUserConfig(KafkaMirrorMakerKafkaMirrormakerUserConfigArgs.builder()\n                .ipFilters(\"0.0.0.0/0\")\n                .kafkaMirrormaker(KafkaMirrorMakerKafkaMirrormakerUserConfigKafkaMirrormakerArgs.builder()\n                    .refreshGroupsIntervalSeconds(600)\n                    .refreshTopicsEnabled(true)\n                    .refreshTopicsIntervalSeconds(600)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMirrormaker:\n    type: aiven:KafkaMirrorMaker\n    name: example_mirrormaker\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: startup-4\n      serviceName: example-mirrormaker-service\n      kafkaMirrormakerUserConfig:\n        ipFilters:\n          - 0.0.0.0/0\n        kafkaMirrormaker:\n          refreshGroupsIntervalSeconds: 600\n          refreshTopicsEnabled: true\n          refreshTopicsIntervalSeconds: 600\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaMirrorMaker:KafkaMirrorMaker example_mirrormaker PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerComponent:KafkaMirrorMakerComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfig:KafkaMirrorMakerKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerServiceIntegration:KafkaMirrorMakerServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTag:KafkaMirrorMakerTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTechEmail:KafkaMirrorMakerTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfig:KafkaMirrorMakerKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerServiceIntegration:KafkaMirrorMakerServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTag:KafkaMirrorMakerTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTechEmail:KafkaMirrorMakerTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaMirrorMaker resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerComponent:KafkaMirrorMakerComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/KafkaMirrorMakerKafkaMirrormakerUserConfig:KafkaMirrorMakerKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerServiceIntegration:KafkaMirrorMakerServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTag:KafkaMirrorMakerTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaMirrorMakerTechEmail:KafkaMirrorMakerTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/kafkaNativeAcl:KafkaNativeAcl":{"description":"Creates and manages Kafka-native [access control lists](https://aiven.io/docs/products/kafka/concepts/acl) (ACLs) for an Aiven for Apache Kafka® service. ACLs control access to Kafka topics, consumer groups,\nclusters, and Schema Registry.\n\nKafka-native ACLs provide advanced resource-level access control with fine-grained permissions, including `ALLOW` and `DENY` rules. For simplified topic-level control you can use Aiven ACLs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleAcl = new aiven.KafkaNativeAcl(\"example_acl\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    resourceType: \"Topic\",\n    resourceName: \"example-topic\",\n    principal: \"User:example-user\",\n    operation: \"Read\",\n    patternType: \"LITERAL\",\n    permissionType: \"ALLOW\",\n    host: \"198.51.100.0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_acl = aiven.KafkaNativeAcl(\"example_acl\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    resource_type=\"Topic\",\n    resource_name_=\"example-topic\",\n    principal=\"User:example-user\",\n    operation=\"Read\",\n    pattern_type=\"LITERAL\",\n    permission_type=\"ALLOW\",\n    host=\"198.51.100.0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAcl = new Aiven.KafkaNativeAcl(\"example_acl\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        ResourceType = \"Topic\",\n        ResourceName = \"example-topic\",\n        Principal = \"User:example-user\",\n        Operation = \"Read\",\n        PatternType = \"LITERAL\",\n        PermissionType = \"ALLOW\",\n        Host = \"198.51.100.0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaNativeAcl(ctx, \"example_acl\", \u0026aiven.KafkaNativeAclArgs{\n\t\t\tProject:        pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:    pulumi.Any(exampleKafka.ServiceName),\n\t\t\tResourceType:   pulumi.String(\"Topic\"),\n\t\t\tResourceName:   pulumi.String(\"example-topic\"),\n\t\t\tPrincipal:      pulumi.String(\"User:example-user\"),\n\t\t\tOperation:      pulumi.String(\"Read\"),\n\t\t\tPatternType:    pulumi.String(\"LITERAL\"),\n\t\t\tPermissionType: pulumi.String(\"ALLOW\"),\n\t\t\tHost:           pulumi.String(\"198.51.100.0\"),\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.aiven.KafkaNativeAcl;\nimport com.pulumi.aiven.KafkaNativeAclArgs;\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 exampleAcl = new KafkaNativeAcl(\"exampleAcl\", KafkaNativeAclArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .resourceType(\"Topic\")\n            .resourceName(\"example-topic\")\n            .principal(\"User:example-user\")\n            .operation(\"Read\")\n            .patternType(\"LITERAL\")\n            .permissionType(\"ALLOW\")\n            .host(\"198.51.100.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleAcl:\n    type: aiven:KafkaNativeAcl\n    name: example_acl\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      resourceType: Topic\n      resourceName: example-topic\n      principal: User:example-user\n      operation: Read\n      patternType: LITERAL\n      permissionType: ALLOW\n      host: 198.51.100.0\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaNativeAcl:KafkaNativeAcl example_acl PROJECT/SERVICE_NAME/ID\n```\n\n","properties":{"host":{"type":"string","description":"The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"operation":{"type":"string","description":"The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.\n"},"patternType":{"type":"string","description":"Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.\n"},"permissionType":{"type":"string","description":"Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.\n"},"principal":{"type":"string","description":"Identities in `user:name` format that the permissions apply to. The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e supports wildcards. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"resourceName":{"type":"string","description":"The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"resourceType":{"type":"string","description":"The type of Kafka resource. The possible values are `Cluster`, `DelegationToken`, `Group`, `Topic`, `TransactionalId` and `User`. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["host","operation","patternType","permissionType","principal","project","resourceName","resourceType","serviceName"],"inputProperties":{"host":{"type":"string","description":"The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"operation":{"type":"string","description":"The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"patternType":{"type":"string","description":"Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"permissionType":{"type":"string","description":"Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"principal":{"type":"string","description":"Identities in `user:name` format that the permissions apply to. The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e supports wildcards. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resourceName":{"type":"string","description":"The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resourceType":{"type":"string","description":"The type of Kafka resource. The possible values are `Cluster`, `DelegationToken`, `Group`, `Topic`, `TransactionalId` and `User`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["operation","patternType","permissionType","principal","project","resourceName","resourceType","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaNativeAcl resources.\n","properties":{"host":{"type":"string","description":"The IP address from which a principal is allowed or denied access to the resource. Use `*` for all hosts. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"operation":{"type":"string","description":"The action that a principal is allowed or denied on the Kafka resource. The possible values are `All`, `Alter`, `AlterConfigs`, `ClusterAction`, `Create`, `CreateTokens`, `Delete`, `Describe`, `DescribeConfigs`, `DescribeTokens`, `IdempotentWrite`, `Read` and `Write`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"patternType":{"type":"string","description":"Resource pattern used to match specified resources. The possible values are `LITERAL` and `PREFIXED`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"permissionType":{"type":"string","description":"Specifies whether the action is explicitly allowed or denied for the principal on the specified resource. The possible values are `ALLOW` and `DENY`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"principal":{"type":"string","description":"Identities in `user:name` format that the permissions apply to. The \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e supports wildcards. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resourceName":{"type":"string","description":"The name of the Kafka resource the permission applies to, such as the topic name or group ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resourceType":{"type":"string","description":"The type of Kafka resource. The possible values are `Cluster`, `DelegationToken`, `Group`, `Topic`, `TransactionalId` and `User`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaQuota:KafkaQuota":{"description":"Creates and manages quotas for an Aiven for Apache Kafka® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleQuota = new aiven.KafkaQuota(\"example_quota\", {\n    project: foo.project,\n    serviceName: exampleKafka.serviceName,\n    user: \"example-kafka-user\",\n    clientId: \"example_client\",\n    consumerByteRate: 1000,\n    producerByteRate: 1000,\n    requestPercentage: 50,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_quota = aiven.KafkaQuota(\"example_quota\",\n    project=foo[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    user=\"example-kafka-user\",\n    client_id=\"example_client\",\n    consumer_byte_rate=1000,\n    producer_byte_rate=1000,\n    request_percentage=50)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleQuota = new Aiven.KafkaQuota(\"example_quota\", new()\n    {\n        Project = foo.Project,\n        ServiceName = exampleKafka.ServiceName,\n        User = \"example-kafka-user\",\n        ClientId = \"example_client\",\n        ConsumerByteRate = 1000,\n        ProducerByteRate = 1000,\n        RequestPercentage = 50,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaQuota(ctx, \"example_quota\", \u0026aiven.KafkaQuotaArgs{\n\t\t\tProject:           pulumi.Any(foo.Project),\n\t\t\tServiceName:       pulumi.Any(exampleKafka.ServiceName),\n\t\t\tUser:              pulumi.String(\"example-kafka-user\"),\n\t\t\tClientId:          pulumi.String(\"example_client\"),\n\t\t\tConsumerByteRate:  pulumi.Int(1000),\n\t\t\tProducerByteRate:  pulumi.Int(1000),\n\t\t\tRequestPercentage: pulumi.Float64(50),\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.aiven.KafkaQuota;\nimport com.pulumi.aiven.KafkaQuotaArgs;\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 exampleQuota = new KafkaQuota(\"exampleQuota\", KafkaQuotaArgs.builder()\n            .project(foo.project())\n            .serviceName(exampleKafka.serviceName())\n            .user(\"example-kafka-user\")\n            .clientId(\"example_client\")\n            .consumerByteRate(1000)\n            .producerByteRate(1000)\n            .requestPercentage(50.0)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleQuota:\n    type: aiven:KafkaQuota\n    name: example_quota\n    properties:\n      project: ${foo.project}\n      serviceName: ${exampleKafka.serviceName}\n      user: example-kafka-user\n      clientId: example_client\n      consumerByteRate: 1000\n      producerByteRate: 1000\n      requestPercentage: 50\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nWhen both USER and CLIENT_ID are specified\n\n```sh\n$ pulumi import aiven:index/kafkaQuota:KafkaQuota example_quota PROJECT/SERVICE_NAME/CLIENT_ID/USER\n```\n\nWhen only USER is specified\n\n```sh\n$ pulumi import aiven:index/kafkaQuota:KafkaQuota example_quota PROJECT/SERVICE_NAME//USER\n```\n\nWhen only CLIENT_ID is specified\n\n```sh\n$ pulumi import aiven:index/kafkaQuota:KafkaQuota example_quota PROJECT/SERVICE_NAME/CLIENT_ID/\n```\n\n","properties":{"clientId":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n"},"consumerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"producerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"requestPercentage":{"type":"number","description":"Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window.\nExceeding this limit triggers throttling.\nThe quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"user":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n"}},"required":["project","serviceName"],"inputProperties":{"clientId":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n","willReplaceOnChanges":true},"consumerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"producerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"requestPercentage":{"type":"number","description":"Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window.\nExceeding this limit triggers throttling.\nThe quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaQuota resources.\n","properties":{"clientId":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n","willReplaceOnChanges":true},"consumerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"producerByteRate":{"type":"integer","description":"Defines the bandwidth limit in bytes/sec for each group of clients sharing a quota.\nEvery distinct client group is allocated a specific quota, as defined by the cluster, on a per-broker basis.\nExceeding this limit results in client throttling.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"requestPercentage":{"type":"number","description":"Sets the maximum percentage of CPU time that a client group can use on request handler I/O and network threads per broker within a quota window.\nExceeding this limit triggers throttling.\nThe quota, expressed as a percentage, also indicates the total allowable CPU usage for the client groups sharing the quota.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"user":{"type":"string","description":"Represents a logical group of clients, assigned a unique name by the client application.\nQuotas can be applied based on user, client-id, or both.\nThe most relevant quota is chosen for each connection.\nAll connections within a quota group share the same quota.\nIt is possible to set default quotas for each (user, client-id), user or client-id group by specifying 'default'\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaSchema:KafkaSchema":{"description":"The Kafka Schema resource allows the creation and management of Aiven Kafka Schemas.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst kafka_schema1 = new aiven.KafkaSchema(\"kafka-schema1\", {\n    project: kafka_schemas_project1.project,\n    serviceName: kafka_service1.serviceName,\n    subjectName: \"kafka-schema1\",\n    compatibilityLevel: \"FORWARD\",\n    schema: `    {\n      \\\\\"doc\\\\\": \\\\\"example\\\\\",\n      \\\\\"fields\\\\\": [\n        {\n          \\\\\"default\\\\\": 5,\n          \\\\\"doc\\\\\": \\\\\"my test number\\\\\",\n          \\\\\"name\\\\\": \\\\\"test\\\\\",\n          \\\\\"namespace\\\\\": \\\\\"test\\\\\",\n          \\\\\"type\\\\\": \\\\\"int\\\\\"\n        }\n      ],\n      \\\\\"name\\\\\": \\\\\"example\\\\\",\n      \\\\\"namespace\\\\\": \\\\\"example\\\\\",\n      \\\\\"type\\\\\": \\\\\"record\\\\\"\n    }\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nkafka_schema1 = aiven.KafkaSchema(\"kafka-schema1\",\n    project=kafka_schemas_project1[\"project\"],\n    service_name=kafka_service1[\"serviceName\"],\n    subject_name=\"kafka-schema1\",\n    compatibility_level=\"FORWARD\",\n    schema=\"\"\"    {\n      \\\"doc\\\": \\\"example\\\",\n      \\\"fields\\\": [\n        {\n          \\\"default\\\": 5,\n          \\\"doc\\\": \\\"my test number\\\",\n          \\\"name\\\": \\\"test\\\",\n          \\\"namespace\\\": \\\"test\\\",\n          \\\"type\\\": \\\"int\\\"\n        }\n      ],\n      \\\"name\\\": \\\"example\\\",\n      \\\"namespace\\\": \\\"example\\\",\n      \\\"type\\\": \\\"record\\\"\n    }\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kafka_schema1 = new Aiven.KafkaSchema(\"kafka-schema1\", new()\n    {\n        Project = kafka_schemas_project1.Project,\n        ServiceName = kafka_service1.ServiceName,\n        SubjectName = \"kafka-schema1\",\n        CompatibilityLevel = \"FORWARD\",\n        Schema = @\"    {\n      \\\"\"doc\\\"\": \\\"\"example\\\"\",\n      \\\"\"fields\\\"\": [\n        {\n          \\\"\"default\\\"\": 5,\n          \\\"\"doc\\\"\": \\\"\"my test number\\\"\",\n          \\\"\"name\\\"\": \\\"\"test\\\"\",\n          \\\"\"namespace\\\"\": \\\"\"test\\\"\",\n          \\\"\"type\\\"\": \\\"\"int\\\"\"\n        }\n      ],\n      \\\"\"name\\\"\": \\\"\"example\\\"\",\n      \\\"\"namespace\\\"\": \\\"\"example\\\"\",\n      \\\"\"type\\\"\": \\\"\"record\\\"\"\n    }\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaSchema(ctx, \"kafka-schema1\", \u0026aiven.KafkaSchemaArgs{\n\t\t\tProject:            pulumi.Any(kafka_schemas_project1.Project),\n\t\t\tServiceName:        pulumi.Any(kafka_service1.ServiceName),\n\t\t\tSubjectName:        pulumi.String(\"kafka-schema1\"),\n\t\t\tCompatibilityLevel: pulumi.String(\"FORWARD\"),\n\t\t\tSchema: pulumi.String(`    {\n      \\\"doc\\\": \\\"example\\\",\n      \\\"fields\\\": [\n        {\n          \\\"default\\\": 5,\n          \\\"doc\\\": \\\"my test number\\\",\n          \\\"name\\\": \\\"test\\\",\n          \\\"namespace\\\": \\\"test\\\",\n          \\\"type\\\": \\\"int\\\"\n        }\n      ],\n      \\\"name\\\": \\\"example\\\",\n      \\\"namespace\\\": \\\"example\\\",\n      \\\"type\\\": \\\"record\\\"\n    }\n`),\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.aiven.KafkaSchema;\nimport com.pulumi.aiven.KafkaSchemaArgs;\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 kafka_schema1 = new KafkaSchema(\"kafka-schema1\", KafkaSchemaArgs.builder()\n            .project(kafka_schemas_project1.project())\n            .serviceName(kafka_service1.serviceName())\n            .subjectName(\"kafka-schema1\")\n            .compatibilityLevel(\"FORWARD\")\n            .schema(\"\"\"\n    {\n      \\\"doc\\\": \\\"example\\\",\n      \\\"fields\\\": [\n        {\n          \\\"default\\\": 5,\n          \\\"doc\\\": \\\"my test number\\\",\n          \\\"name\\\": \\\"test\\\",\n          \\\"namespace\\\": \\\"test\\\",\n          \\\"type\\\": \\\"int\\\"\n        }\n      ],\n      \\\"name\\\": \\\"example\\\",\n      \\\"namespace\\\": \\\"example\\\",\n      \\\"type\\\": \\\"record\\\"\n    }\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  kafka-schema1:\n    type: aiven:KafkaSchema\n    properties:\n      project: ${[\"kafka-schemas-project1\"].project}\n      serviceName: ${[\"kafka-service1\"].serviceName}\n      subjectName: kafka-schema1\n      compatibilityLevel: FORWARD\n      schema: |2\n            {\n              \\\"doc\\\": \\\"example\\\",\n              \\\"fields\\\": [\n                {\n                  \\\"default\\\": 5,\n                  \\\"doc\\\": \\\"my test number\\\",\n                  \\\"name\\\": \\\"test\\\",\n                  \\\"namespace\\\": \\\"test\\\",\n                  \\\"type\\\": \\\"int\\\"\n                }\n              ],\n              \\\"name\\\": \\\"example\\\",\n              \\\"namespace\\\": \\\"example\\\",\n              \\\"type\\\": \\\"record\\\"\n            }\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaSchema:KafkaSchema kafka-schema1 project/service_name/subject_name\n```\n\n","properties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"schema":{"type":"string","description":"Kafka Schema configuration. Should be a valid Avro, JSON, or Protobuf schema, depending on the schema type.\n"},"schemaType":{"type":"string","description":"Kafka Schema configuration type. Defaults to AVRO. The possible values are `AVRO`, `JSON` and `PROTOBUF`.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"subjectName":{"type":"string","description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n"},"version":{"type":"integer","description":"Kafka Schema configuration version.\n"}},"required":["project","schema","serviceName","subjectName","version"],"inputProperties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"schema":{"type":"string","description":"Kafka Schema configuration. Should be a valid Avro, JSON, or Protobuf schema, depending on the schema type.\n"},"schemaType":{"type":"string","description":"Kafka Schema configuration type. Defaults to AVRO. The possible values are `AVRO`, `JSON` and `PROTOBUF`.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"subjectName":{"type":"string","description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","schema","serviceName","subjectName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaSchema resources.\n","properties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"schema":{"type":"string","description":"Kafka Schema configuration. Should be a valid Avro, JSON, or Protobuf schema, depending on the schema type.\n"},"schemaType":{"type":"string","description":"Kafka Schema configuration type. Defaults to AVRO. The possible values are `AVRO`, `JSON` and `PROTOBUF`.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"subjectName":{"type":"string","description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"version":{"type":"integer","description":"Kafka Schema configuration version.\n"}},"type":"object"}},"aiven:index/kafkaSchemaConfiguration:KafkaSchemaConfiguration":{"description":"The Kafka Schema Configuration resource allows the creation and management of Aiven Kafka Schema Configurations.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst config = new aiven.KafkaSchemaConfiguration(\"config\", {\n    project: kafka_schemas_project1.project,\n    serviceName: kafka_service1.serviceName,\n    compatibilityLevel: \"BACKWARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nconfig = aiven.KafkaSchemaConfiguration(\"config\",\n    project=kafka_schemas_project1[\"project\"],\n    service_name=kafka_service1[\"serviceName\"],\n    compatibility_level=\"BACKWARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Aiven.KafkaSchemaConfiguration(\"config\", new()\n    {\n        Project = kafka_schemas_project1.Project,\n        ServiceName = kafka_service1.ServiceName,\n        CompatibilityLevel = \"BACKWARD\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaSchemaConfiguration(ctx, \"config\", \u0026aiven.KafkaSchemaConfigurationArgs{\n\t\t\tProject:            pulumi.Any(kafka_schemas_project1.Project),\n\t\t\tServiceName:        pulumi.Any(kafka_service1.ServiceName),\n\t\t\tCompatibilityLevel: pulumi.String(\"BACKWARD\"),\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.aiven.KafkaSchemaConfiguration;\nimport com.pulumi.aiven.KafkaSchemaConfigurationArgs;\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 config = new KafkaSchemaConfiguration(\"config\", KafkaSchemaConfigurationArgs.builder()\n            .project(kafka_schemas_project1.project())\n            .serviceName(kafka_service1.serviceName())\n            .compatibilityLevel(\"BACKWARD\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  config:\n    type: aiven:KafkaSchemaConfiguration\n    properties:\n      project: ${[\"kafka-schemas-project1\"].project}\n      serviceName: ${[\"kafka-service1\"].serviceName}\n      compatibilityLevel: BACKWARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaSchemaConfiguration:KafkaSchemaConfiguration config PROJECT/SERVICE_NAME\n```\n\n","properties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["project","serviceName"],"inputProperties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaSchemaConfiguration resources.\n","properties":{"compatibilityLevel":{"type":"string","description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaSchemaRegistryAcl:KafkaSchemaRegistryAcl":{"description":"The Resource Kafka Schema Registry ACL resource allows the creation and management of Schema Registry ACLs for an Aiven Kafka service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst foo = new aiven.KafkaSchemaRegistryAcl(\"foo\", {\n    project: kafka_schemas_project1.project,\n    serviceName: kafka_service1.serviceName,\n    resource: \"Subject:topic-1\",\n    username: \"group-user-*\",\n    permission: \"schema_registry_read\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo = aiven.KafkaSchemaRegistryAcl(\"foo\",\n    project=kafka_schemas_project1[\"project\"],\n    service_name=kafka_service1[\"serviceName\"],\n    resource=\"Subject:topic-1\",\n    username=\"group-user-*\",\n    permission=\"schema_registry_read\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = new Aiven.KafkaSchemaRegistryAcl(\"foo\", new()\n    {\n        Project = kafka_schemas_project1.Project,\n        ServiceName = kafka_service1.ServiceName,\n        Resource = \"Subject:topic-1\",\n        Username = \"group-user-*\",\n        Permission = \"schema_registry_read\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaSchemaRegistryAcl(ctx, \"foo\", \u0026aiven.KafkaSchemaRegistryAclArgs{\n\t\t\tProject:     pulumi.Any(kafka_schemas_project1.Project),\n\t\t\tServiceName: pulumi.Any(kafka_service1.ServiceName),\n\t\t\tResource:    pulumi.String(\"Subject:topic-1\"),\n\t\t\tUsername:    pulumi.String(\"group-user-*\"),\n\t\t\tPermission:  pulumi.String(\"schema_registry_read\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.KafkaSchemaRegistryAcl;\nimport com.pulumi.aiven.KafkaSchemaRegistryAclArgs;\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 foo = new KafkaSchemaRegistryAcl(\"foo\", KafkaSchemaRegistryAclArgs.builder()\n            .project(kafka_schemas_project1.project())\n            .serviceName(kafka_service1.serviceName())\n            .resource(\"Subject:topic-1\")\n            .username(\"group-user-*\")\n            .permission(\"schema_registry_read\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  foo:\n    type: aiven:KafkaSchemaRegistryAcl\n    properties:\n      project: ${[\"kafka-schemas-project1\"].project}\n      serviceName: ${[\"kafka-service1\"].serviceName}\n      resource: Subject:topic-1\n      username: group-user-*\n      permission: schema_registry_read\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaSchemaRegistryAcl:KafkaSchemaRegistryAcl example PROJECT/SERVICE_NAME/ACL_ID\n```\n\n","properties":{"aclId":{"type":"string","description":"Kafka Schema Registry ACL ID\n"},"permission":{"type":"string","description":"Kafka Schema Registry permission to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`schemaRegistryRead`\" pulumi-lang-dotnet=\"`SchemaRegistryRead`\" pulumi-lang-go=\"`schemaRegistryRead`\" pulumi-lang-python=\"`schema_registry_read`\" pulumi-lang-yaml=\"`schemaRegistryRead`\" pulumi-lang-java=\"`schemaRegistryRead`\"\u003e`schema_registry_read`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schemaRegistryWrite`\" pulumi-lang-dotnet=\"`SchemaRegistryWrite`\" pulumi-lang-go=\"`schemaRegistryWrite`\" pulumi-lang-python=\"`schema_registry_write`\" pulumi-lang-yaml=\"`schemaRegistryWrite`\" pulumi-lang-java=\"`schemaRegistryWrite`\"\u003e`schema_registry_write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"resource":{"type":"string","description":"Resource name pattern for the Schema Registry ACL entry. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Username pattern for the ACL entry. Changing this property forces recreation of the resource.\n"}},"required":["aclId","permission","project","resource","serviceName","username"],"inputProperties":{"permission":{"type":"string","description":"Kafka Schema Registry permission to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`schemaRegistryRead`\" pulumi-lang-dotnet=\"`SchemaRegistryRead`\" pulumi-lang-go=\"`schemaRegistryRead`\" pulumi-lang-python=\"`schema_registry_read`\" pulumi-lang-yaml=\"`schemaRegistryRead`\" pulumi-lang-java=\"`schemaRegistryRead`\"\u003e`schema_registry_read`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schemaRegistryWrite`\" pulumi-lang-dotnet=\"`SchemaRegistryWrite`\" pulumi-lang-go=\"`schemaRegistryWrite`\" pulumi-lang-python=\"`schema_registry_write`\" pulumi-lang-yaml=\"`schemaRegistryWrite`\" pulumi-lang-java=\"`schemaRegistryWrite`\"\u003e`schema_registry_write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resource":{"type":"string","description":"Resource name pattern for the Schema Registry ACL entry. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Username pattern for the ACL entry. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["permission","project","resource","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaSchemaRegistryAcl resources.\n","properties":{"aclId":{"type":"string","description":"Kafka Schema Registry ACL ID\n"},"permission":{"type":"string","description":"Kafka Schema Registry permission to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`schemaRegistryRead`\" pulumi-lang-dotnet=\"`SchemaRegistryRead`\" pulumi-lang-go=\"`schemaRegistryRead`\" pulumi-lang-python=\"`schema_registry_read`\" pulumi-lang-yaml=\"`schemaRegistryRead`\" pulumi-lang-java=\"`schemaRegistryRead`\"\u003e`schema_registry_read`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schemaRegistryWrite`\" pulumi-lang-dotnet=\"`SchemaRegistryWrite`\" pulumi-lang-go=\"`schemaRegistryWrite`\" pulumi-lang-python=\"`schema_registry_write`\" pulumi-lang-yaml=\"`schemaRegistryWrite`\" pulumi-lang-java=\"`schemaRegistryWrite`\"\u003e`schema_registry_write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"resource":{"type":"string","description":"Resource name pattern for the Schema Registry ACL entry. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Username pattern for the ACL entry. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaTopic:KafkaTopic":{"description":"Creates and manages an Aiven for Apache Kafka® [topic](https://aiven.io/docs/products/kafka/concepts).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleTopic = new aiven.KafkaTopic(\"example_topic\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    topicName: \"example-topic\",\n    partitions: 5,\n    replication: 3,\n    terminationProtection: true,\n    config: {\n        flushMs: \"10\",\n        cleanupPolicy: \"compact,delete\",\n    },\n    ownerUserGroupId: example.groupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_topic = aiven.KafkaTopic(\"example_topic\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    topic_name=\"example-topic\",\n    partitions=5,\n    replication=3,\n    termination_protection=True,\n    config={\n        \"flush_ms\": \"10\",\n        \"cleanup_policy\": \"compact,delete\",\n    },\n    owner_user_group_id=example[\"groupId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleTopic = new Aiven.KafkaTopic(\"example_topic\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        TopicName = \"example-topic\",\n        Partitions = 5,\n        Replication = 3,\n        TerminationProtection = true,\n        Config = new Aiven.Inputs.KafkaTopicConfigArgs\n        {\n            FlushMs = \"10\",\n            CleanupPolicy = \"compact,delete\",\n        },\n        OwnerUserGroupId = example.GroupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaTopic(ctx, \"example_topic\", \u0026aiven.KafkaTopicArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:           pulumi.Any(exampleKafka.ServiceName),\n\t\t\tTopicName:             pulumi.String(\"example-topic\"),\n\t\t\tPartitions:            pulumi.Int(5),\n\t\t\tReplication:           pulumi.Int(3),\n\t\t\tTerminationProtection: pulumi.Bool(true),\n\t\t\tConfig: \u0026aiven.KafkaTopicConfigArgs{\n\t\t\t\tFlushMs:       pulumi.String(\"10\"),\n\t\t\t\tCleanupPolicy: pulumi.String(\"compact,delete\"),\n\t\t\t},\n\t\t\tOwnerUserGroupId: pulumi.Any(example.GroupId),\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.aiven.KafkaTopic;\nimport com.pulumi.aiven.KafkaTopicArgs;\nimport com.pulumi.aiven.inputs.KafkaTopicConfigArgs;\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 exampleTopic = new KafkaTopic(\"exampleTopic\", KafkaTopicArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .topicName(\"example-topic\")\n            .partitions(5)\n            .replication(3)\n            .terminationProtection(true)\n            .config(KafkaTopicConfigArgs.builder()\n                .flushMs(\"10\")\n                .cleanupPolicy(\"compact,delete\")\n                .build())\n            .ownerUserGroupId(example.groupId())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleTopic:\n    type: aiven:KafkaTopic\n    name: example_topic\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      topicName: example-topic\n      partitions: 5\n      replication: 3\n      terminationProtection: true\n      config:\n        flushMs: 10\n        cleanupPolicy: compact,delete\n      ownerUserGroupId: ${example.groupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaTopic:KafkaTopic example_topic PROJECT/SERVICE_NAME/TOPIC_NAME\n```\n\n","properties":{"config":{"$ref":"#/types/aiven:index/KafkaTopicConfig:KafkaTopicConfig","description":"[Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).\n"},"partitions":{"type":"integer","description":"The number of partitions to create in the topic.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"replication":{"type":"integer","description":"The replication factor for the topic.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTopicTag:KafkaTopicTag"},"description":"Tags for the topic.\n"},"terminationProtection":{"type":"boolean","description":"Prevents topics from being deleted by Terraform. It's recommended for topics containing critical data. **Topics can still be deleted in the Aiven Console.**\n"},"topicDescription":{"type":"string","description":"The description of the topic\n"},"topicName":{"type":"string","description":"The name of the topic. Changing this property forces recreation of the resource.\n"}},"required":["partitions","project","replication","serviceName","topicName"],"inputProperties":{"config":{"$ref":"#/types/aiven:index/KafkaTopicConfig:KafkaTopicConfig","description":"[Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).\n"},"partitions":{"type":"integer","description":"The number of partitions to create in the topic.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"replication":{"type":"integer","description":"The replication factor for the topic.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTopicTag:KafkaTopicTag"},"description":"Tags for the topic.\n"},"terminationProtection":{"type":"boolean","description":"Prevents topics from being deleted by Terraform. It's recommended for topics containing critical data. **Topics can still be deleted in the Aiven Console.**\n"},"topicDescription":{"type":"string","description":"The description of the topic\n"},"topicName":{"type":"string","description":"The name of the topic. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["partitions","project","replication","serviceName","topicName"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaTopic resources.\n","properties":{"config":{"$ref":"#/types/aiven:index/KafkaTopicConfig:KafkaTopicConfig","description":"[Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.\n"},"ownerUserGroupId":{"type":"string","description":"The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).\n"},"partitions":{"type":"integer","description":"The number of partitions to create in the topic.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"replication":{"type":"integer","description":"The replication factor for the topic.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/KafkaTopicTag:KafkaTopicTag"},"description":"Tags for the topic.\n"},"terminationProtection":{"type":"boolean","description":"Prevents topics from being deleted by Terraform. It's recommended for topics containing critical data. **Topics can still be deleted in the Aiven Console.**\n"},"topicDescription":{"type":"string","description":"The description of the topic\n"},"topicName":{"type":"string","description":"The name of the topic. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/kafkaUser:KafkaUser":{"description":"Creates and manages an Aiven for Apache Kafka® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleServiceUser = new aiven.KafkaUser(\"example_service_user\", {\n    serviceName: exampleKafka.serviceName,\n    project: exampleProject.project,\n    username: \"example-kafka-user\",\n    password: serviceUserPw,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_service_user = aiven.KafkaUser(\"example_service_user\",\n    service_name=example_kafka[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-kafka-user\",\n    password=service_user_pw)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleServiceUser = new Aiven.KafkaUser(\"example_service_user\", new()\n    {\n        ServiceName = exampleKafka.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-kafka-user\",\n        Password = serviceUserPw,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaUser(ctx, \"example_service_user\", \u0026aiven.KafkaUserArgs{\n\t\t\tServiceName: pulumi.Any(exampleKafka.ServiceName),\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tUsername:    pulumi.String(\"example-kafka-user\"),\n\t\t\tPassword:    pulumi.Any(serviceUserPw),\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.aiven.KafkaUser;\nimport com.pulumi.aiven.KafkaUserArgs;\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 exampleServiceUser = new KafkaUser(\"exampleServiceUser\", KafkaUserArgs.builder()\n            .serviceName(exampleKafka.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-kafka-user\")\n            .password(serviceUserPw)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleServiceUser:\n    type: aiven:KafkaUser\n    name: example_service_user\n    properties:\n      serviceName: ${exampleKafka.serviceName}\n      project: ${exampleProject.project}\n      username: example-kafka-user\n      password: ${serviceUserPw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/kafkaUser:KafkaUser example_user PROJECT/SERVICE_NAME/USERNAME\n```\n\n","properties":{"accessCert":{"type":"string","description":"Access certificate for the user.","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Kafka service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["accessCert","accessKey","password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Name of the Kafka service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering KafkaUser resources.\n","properties":{"accessCert":{"type":"string","description":"Access certificate for the user.","secret":true},"accessKey":{"type":"string","description":"Access certificate key for the user.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Kafka service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/m3Aggregator:M3Aggregator":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorComponent:M3AggregatorComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"m3aggregator":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregator:M3AggregatorM3aggregator","description":"M3 Aggregator server provided values","secret":true},"m3aggregatorUserConfig":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregatorUserConfig:M3AggregatorM3aggregatorUserConfig","description":"M3aggregator user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorServiceIntegration:M3AggregatorServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTag:M3AggregatorTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTechEmail:M3AggregatorTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","m3aggregator","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"m3aggregator":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregator:M3AggregatorM3aggregator","description":"M3 Aggregator server provided values","secret":true},"m3aggregatorUserConfig":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregatorUserConfig:M3AggregatorM3aggregatorUserConfig","description":"M3aggregator user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorServiceIntegration:M3AggregatorServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTag:M3AggregatorTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTechEmail:M3AggregatorTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering M3Aggregator resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorComponent:M3AggregatorComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"m3aggregator":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregator:M3AggregatorM3aggregator","description":"M3 Aggregator server provided values","secret":true},"m3aggregatorUserConfig":{"$ref":"#/types/aiven:index/M3AggregatorM3aggregatorUserConfig:M3AggregatorM3aggregatorUserConfig","description":"M3aggregator user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorServiceIntegration:M3AggregatorServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTag:M3AggregatorTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3AggregatorTechEmail:M3AggregatorTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/m3Db:M3Db":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbComponent:M3DbComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"m3db":{"$ref":"#/types/aiven:index/M3DbM3db:M3DbM3db","description":"Values provided by the M3DB server.","secret":true},"m3dbUserConfig":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfig:M3DbM3dbUserConfig","description":"M3db user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbServiceIntegration:M3DbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTag:M3DbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTechEmail:M3DbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","m3db","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"m3db":{"$ref":"#/types/aiven:index/M3DbM3db:M3DbM3db","description":"Values provided by the M3DB server.","secret":true},"m3dbUserConfig":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfig:M3DbM3dbUserConfig","description":"M3db user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbServiceIntegration:M3DbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTag:M3DbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTechEmail:M3DbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering M3Db resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbComponent:M3DbComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"m3db":{"$ref":"#/types/aiven:index/M3DbM3db:M3DbM3db","description":"Values provided by the M3DB server.","secret":true},"m3dbUserConfig":{"$ref":"#/types/aiven:index/M3DbM3dbUserConfig:M3DbM3dbUserConfig","description":"M3db user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbServiceIntegration:M3DbServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTag:M3DbTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/M3DbTechEmail:M3DbTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/m3dbUser:M3dbUser":{"properties":{"password":{"type":"string","description":"The M3DB service user's password.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the M3DB service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The M3DB service user's password.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"username":{"type":"string","description":"Name of the M3DB service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering M3dbUser resources.\n","properties":{"password":{"type":"string","description":"The M3DB service user's password.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the M3DB service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/mirrorMakerReplicationFlow:MirrorMakerReplicationFlow":{"description":"Creates and manages an [Aiven for Apache Kafka® MirrorMaker 2](https://aiven.io/docs/products/kafka/kafka-mirrormaker) replication flow.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleReplicationFlow = new aiven.MirrorMakerReplicationFlow(\"example_replication_flow\", {\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    sourceCluster: source.serviceName,\n    targetCluster: target.serviceName,\n    enable: true,\n    topics: [\".*\"],\n    topicsBlacklists: [\n        \".*[\\\\-\\\\.]internal\",\n        \".*\\\\.replica\",\n        \"__.*\",\n    ],\n    configPropertiesExcludes: [\n        \"follower\\\\.replication\\\\.throttled\\\\.replicas\",\n        \"leader\\\\.replication\\\\.throttled\\\\.replicas\",\n        \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",\n        \"message\\\\.timestamp\\\\.type\",\n        \"unclean\\\\.leader\\\\.election\\\\.enable\",\n        \"min\\\\.insync\\\\.replicas\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_replication_flow = aiven.MirrorMakerReplicationFlow(\"example_replication_flow\",\n    project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    source_cluster=source[\"serviceName\"],\n    target_cluster=target[\"serviceName\"],\n    enable=True,\n    topics=[\".*\"],\n    topics_blacklists=[\n        \".*[\\\\-\\\\.]internal\",\n        \".*\\\\.replica\",\n        \"__.*\",\n    ],\n    config_properties_excludes=[\n        \"follower\\\\.replication\\\\.throttled\\\\.replicas\",\n        \"leader\\\\.replication\\\\.throttled\\\\.replicas\",\n        \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",\n        \"message\\\\.timestamp\\\\.type\",\n        \"unclean\\\\.leader\\\\.election\\\\.enable\",\n        \"min\\\\.insync\\\\.replicas\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleReplicationFlow = new Aiven.MirrorMakerReplicationFlow(\"example_replication_flow\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        SourceCluster = source.ServiceName,\n        TargetCluster = target.ServiceName,\n        Enable = true,\n        Topics = new[]\n        {\n            \".*\",\n        },\n        TopicsBlacklists = new[]\n        {\n            \".*[\\\\-\\\\.]internal\",\n            \".*\\\\.replica\",\n            \"__.*\",\n        },\n        ConfigPropertiesExcludes = new[]\n        {\n            \"follower\\\\.replication\\\\.throttled\\\\.replicas\",\n            \"leader\\\\.replication\\\\.throttled\\\\.replicas\",\n            \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",\n            \"message\\\\.timestamp\\\\.type\",\n            \"unclean\\\\.leader\\\\.election\\\\.enable\",\n            \"min\\\\.insync\\\\.replicas\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewMirrorMakerReplicationFlow(ctx, \"example_replication_flow\", \u0026aiven.MirrorMakerReplicationFlowArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleKafka.ServiceName),\n\t\t\tSourceCluster: pulumi.Any(source.ServiceName),\n\t\t\tTargetCluster: pulumi.Any(target.ServiceName),\n\t\t\tEnable:        pulumi.Bool(true),\n\t\t\tTopics: pulumi.StringArray{\n\t\t\t\tpulumi.String(\".*\"),\n\t\t\t},\n\t\t\tTopicsBlacklists: pulumi.StringArray{\n\t\t\t\tpulumi.String(\".*[\\\\-\\\\.]internal\"),\n\t\t\t\tpulumi.String(\".*\\\\.replica\"),\n\t\t\t\tpulumi.String(\"__.*\"),\n\t\t\t},\n\t\t\tConfigPropertiesExcludes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"follower\\\\.replication\\\\.throttled\\\\.replicas\"),\n\t\t\t\tpulumi.String(\"leader\\\\.replication\\\\.throttled\\\\.replicas\"),\n\t\t\t\tpulumi.String(\"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\"),\n\t\t\t\tpulumi.String(\"message\\\\.timestamp\\\\.type\"),\n\t\t\t\tpulumi.String(\"unclean\\\\.leader\\\\.election\\\\.enable\"),\n\t\t\t\tpulumi.String(\"min\\\\.insync\\\\.replicas\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.MirrorMakerReplicationFlow;\nimport com.pulumi.aiven.MirrorMakerReplicationFlowArgs;\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 exampleReplicationFlow = new MirrorMakerReplicationFlow(\"exampleReplicationFlow\", MirrorMakerReplicationFlowArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .sourceCluster(source.serviceName())\n            .targetCluster(target.serviceName())\n            .enable(true)\n            .topics(\".*\")\n            .topicsBlacklists(            \n                \".*[\\\\-\\\\.]internal\",\n                \".*\\\\.replica\",\n                \"__.*\")\n            .configPropertiesExcludes(            \n                \"follower\\\\.replication\\\\.throttled\\\\.replicas\",\n                \"leader\\\\.replication\\\\.throttled\\\\.replicas\",\n                \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",\n                \"message\\\\.timestamp\\\\.type\",\n                \"unclean\\\\.leader\\\\.election\\\\.enable\",\n                \"min\\\\.insync\\\\.replicas\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleReplicationFlow:\n    type: aiven:MirrorMakerReplicationFlow\n    name: example_replication_flow\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleKafka.serviceName}\n      sourceCluster: ${source.serviceName}\n      targetCluster: ${target.serviceName}\n      enable: true\n      topics:\n        - .*\n      topicsBlacklists:\n        - .*[\\-\\.]internal\n        - .*\\.replica\n        - __.*\n      configPropertiesExcludes:\n        - follower\\.replication\\.throttled\\.replicas\n        - leader\\.replication\\.throttled\\.replicas\n        - message\\.timestamp\\.difference\\.max\\.ms\n        - message\\.timestamp\\.type\n        - unclean\\.leader\\.election\\.enable\n        - min\\.insync\\.replicas\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/mirrorMakerReplicationFlow:MirrorMakerReplicationFlow example_replication_flow PROJECT/SERVICE_NAME/SOURCE_CLUSTER/TARGET_CLUSTER\n```\n\n","properties":{"configPropertiesExcludes":{"type":"array","items":{"type":"string"},"description":"List of topic configuration properties and regular expressions to not replicate. The properties that are not replicated by default are: `follower.replication.throttled.replicas`, `leader.replication.throttled.replicas`, `message.timestamp.difference.max.ms`, `message.timestamp.type`, `unclean.leader.election.enable`, and `min.insync.replicas`. Setting this overrides the defaults. For example, to enable replication for 'min.insync.replicas' and 'unclean.leader.election.enable' set this to: [\"follower\\\\.replication\\\\.throttled\\\\.replicas\", \"leader\\\\.replication\\\\.throttled\\\\.replicas\", \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",  \"message\\\\.timestamp\\\\.type\"]\n"},"emitBackwardHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the direction opposite to the flow, i.e. to the source cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emitHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the target cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enable":{"type":"boolean","description":"Enables replication flow for a service.\n"},"exactlyOnceDeliveryEnabled":{"type":"boolean","description":"Enables exactly-once message delivery. Set this to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e for new replications. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"followerFetchingEnabled":{"type":"boolean","description":"Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. Defaults to enabled by the service for new flows, but is left unchanged for existing ones when not set.\n"},"offsetSyncsTopicLocation":{"type":"string","description":"Offset syncs topic location. The possible values are \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"replicationFactor":{"type":"integer","description":"Replication factor, `\u003e= 1`.\n"},"replicationPolicyClass":{"type":"string","description":"Replication policy class. The possible values are `org.apache.kafka.connect.mirror.DefaultReplicationPolicy` and `org.apache.kafka.connect.mirror.IdentityReplicationPolicy`. The default value is `org.apache.kafka.connect.mirror.DefaultReplicationPolicy`.\n"},"serviceName":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"sourceCluster":{"type":"string","description":"Source cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"syncGroupOffsetsEnabled":{"type":"boolean","description":"Sync consumer group offsets. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncGroupOffsetsIntervalSeconds":{"type":"integer","description":"Frequency of consumer group offset sync. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"targetCluster":{"type":"string","description":"Target cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"topics":{"type":"array","items":{"type":"string"},"description":"The topics to include in the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"},"topicsBlacklists":{"type":"array","items":{"type":"string"},"description":"The topics to exclude from the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"}},"required":["enable","followerFetchingEnabled","offsetSyncsTopicLocation","project","replicationPolicyClass","serviceName","sourceCluster","targetCluster"],"inputProperties":{"configPropertiesExcludes":{"type":"array","items":{"type":"string"},"description":"List of topic configuration properties and regular expressions to not replicate. The properties that are not replicated by default are: `follower.replication.throttled.replicas`, `leader.replication.throttled.replicas`, `message.timestamp.difference.max.ms`, `message.timestamp.type`, `unclean.leader.election.enable`, and `min.insync.replicas`. Setting this overrides the defaults. For example, to enable replication for 'min.insync.replicas' and 'unclean.leader.election.enable' set this to: [\"follower\\\\.replication\\\\.throttled\\\\.replicas\", \"leader\\\\.replication\\\\.throttled\\\\.replicas\", \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",  \"message\\\\.timestamp\\\\.type\"]\n"},"emitBackwardHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the direction opposite to the flow, i.e. to the source cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emitHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the target cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enable":{"type":"boolean","description":"Enables replication flow for a service.\n"},"exactlyOnceDeliveryEnabled":{"type":"boolean","description":"Enables exactly-once message delivery. Set this to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e for new replications. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"followerFetchingEnabled":{"type":"boolean","description":"Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. Defaults to enabled by the service for new flows, but is left unchanged for existing ones when not set.\n"},"offsetSyncsTopicLocation":{"type":"string","description":"Offset syncs topic location. The possible values are \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"replicationFactor":{"type":"integer","description":"Replication factor, `\u003e= 1`.\n"},"replicationPolicyClass":{"type":"string","description":"Replication policy class. The possible values are `org.apache.kafka.connect.mirror.DefaultReplicationPolicy` and `org.apache.kafka.connect.mirror.IdentityReplicationPolicy`. The default value is `org.apache.kafka.connect.mirror.DefaultReplicationPolicy`.\n"},"serviceName":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"sourceCluster":{"type":"string","description":"Source cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"syncGroupOffsetsEnabled":{"type":"boolean","description":"Sync consumer group offsets. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncGroupOffsetsIntervalSeconds":{"type":"integer","description":"Frequency of consumer group offset sync. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"targetCluster":{"type":"string","description":"Target cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"topics":{"type":"array","items":{"type":"string"},"description":"The topics to include in the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"},"topicsBlacklists":{"type":"array","items":{"type":"string"},"description":"The topics to exclude from the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"}},"requiredInputs":["enable","offsetSyncsTopicLocation","project","replicationPolicyClass","serviceName","sourceCluster","targetCluster"],"stateInputs":{"description":"Input properties used for looking up and filtering MirrorMakerReplicationFlow resources.\n","properties":{"configPropertiesExcludes":{"type":"array","items":{"type":"string"},"description":"List of topic configuration properties and regular expressions to not replicate. The properties that are not replicated by default are: `follower.replication.throttled.replicas`, `leader.replication.throttled.replicas`, `message.timestamp.difference.max.ms`, `message.timestamp.type`, `unclean.leader.election.enable`, and `min.insync.replicas`. Setting this overrides the defaults. For example, to enable replication for 'min.insync.replicas' and 'unclean.leader.election.enable' set this to: [\"follower\\\\.replication\\\\.throttled\\\\.replicas\", \"leader\\\\.replication\\\\.throttled\\\\.replicas\", \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",  \"message\\\\.timestamp\\\\.type\"]\n"},"emitBackwardHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the direction opposite to the flow, i.e. to the source cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"emitHeartbeatsEnabled":{"type":"boolean","description":"Enables emitting heartbeats to the target cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"enable":{"type":"boolean","description":"Enables replication flow for a service.\n"},"exactlyOnceDeliveryEnabled":{"type":"boolean","description":"Enables exactly-once message delivery. Set this to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e for new replications. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"followerFetchingEnabled":{"type":"boolean","description":"Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. Defaults to enabled by the service for new flows, but is left unchanged for existing ones when not set.\n"},"offsetSyncsTopicLocation":{"type":"string","description":"Offset syncs topic location. The possible values are \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"replicationFactor":{"type":"integer","description":"Replication factor, `\u003e= 1`.\n"},"replicationPolicyClass":{"type":"string","description":"Replication policy class. The possible values are `org.apache.kafka.connect.mirror.DefaultReplicationPolicy` and `org.apache.kafka.connect.mirror.IdentityReplicationPolicy`. The default value is `org.apache.kafka.connect.mirror.DefaultReplicationPolicy`.\n"},"serviceName":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"sourceCluster":{"type":"string","description":"Source cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"syncGroupOffsetsEnabled":{"type":"boolean","description":"Sync consumer group offsets. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"syncGroupOffsetsIntervalSeconds":{"type":"integer","description":"Frequency of consumer group offset sync. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n"},"targetCluster":{"type":"string","description":"Target cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"topics":{"type":"array","items":{"type":"string"},"description":"The topics to include in the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"},"topicsBlacklists":{"type":"array","items":{"type":"string"},"description":"The topics to exclude from the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n"}},"type":"object"}},"aiven:index/mySql:MySql":{"description":"Creates and manages an [Aiven for MySQL®](https://aiven.io/docs/products/mysql) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMysql = new aiven.MySql(\"example_mysql\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"business-4\",\n    serviceName: \"example-mysql\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    mysqlUserConfig: {\n        mysqlVersion: \"8\",\n        mysql: {\n            sqlMode: \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\",\n            sqlRequirePrimaryKey: true,\n        },\n        publicAccess: {\n            mysql: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mysql = aiven.MySql(\"example_mysql\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"business-4\",\n    service_name=\"example-mysql\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    mysql_user_config={\n        \"mysql_version\": \"8\",\n        \"mysql\": {\n            \"sql_mode\": \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\",\n            \"sql_require_primary_key\": True,\n        },\n        \"public_access\": {\n            \"mysql\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMysql = new Aiven.MySql(\"example_mysql\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"business-4\",\n        ServiceName = \"example-mysql\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        MysqlUserConfig = new Aiven.Inputs.MySqlMysqlUserConfigArgs\n        {\n            MysqlVersion = \"8\",\n            Mysql = new Aiven.Inputs.MySqlMysqlUserConfigMysqlArgs\n            {\n                SqlMode = \"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\",\n                SqlRequirePrimaryKey = true,\n            },\n            PublicAccess = new Aiven.Inputs.MySqlMysqlUserConfigPublicAccessArgs\n            {\n                Mysql = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewMySql(ctx, \"example_mysql\", \u0026aiven.MySqlArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"business-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-mysql\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tMysqlUserConfig: \u0026aiven.MySqlMysqlUserConfigArgs{\n\t\t\t\tMysqlVersion: pulumi.String(\"8\"),\n\t\t\t\tMysql: \u0026aiven.MySqlMysqlUserConfigMysqlArgs{\n\t\t\t\t\tSqlMode:              pulumi.String(\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\"),\n\t\t\t\t\tSqlRequirePrimaryKey: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tPublicAccess: \u0026aiven.MySqlMysqlUserConfigPublicAccessArgs{\n\t\t\t\t\tMysql: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.MySql;\nimport com.pulumi.aiven.MySqlArgs;\nimport com.pulumi.aiven.inputs.MySqlMysqlUserConfigArgs;\nimport com.pulumi.aiven.inputs.MySqlMysqlUserConfigMysqlArgs;\nimport com.pulumi.aiven.inputs.MySqlMysqlUserConfigPublicAccessArgs;\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 exampleMysql = new MySql(\"exampleMysql\", MySqlArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"business-4\")\n            .serviceName(\"example-mysql\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .mysqlUserConfig(MySqlMysqlUserConfigArgs.builder()\n                .mysqlVersion(\"8\")\n                .mysql(MySqlMysqlUserConfigMysqlArgs.builder()\n                    .sqlMode(\"ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\")\n                    .sqlRequirePrimaryKey(true)\n                    .build())\n                .publicAccess(MySqlMysqlUserConfigPublicAccessArgs.builder()\n                    .mysql(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMysql:\n    type: aiven:MySql\n    name: example_mysql\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: business-4\n      serviceName: example-mysql\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      mysqlUserConfig:\n        mysqlVersion: 8\n        mysql:\n          sqlMode: ANSI,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE\n          sqlRequirePrimaryKey: true\n        publicAccess:\n          mysql: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/mySql:MySql example_mysql PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlComponent:MySqlComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"mysql":{"$ref":"#/types/aiven:index/MySqlMysql:MySqlMysql","description":"MySQL server-provided values.\n","secret":true},"mysqlUserConfig":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfig:MySqlMysqlUserConfig","description":"Mysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlServiceIntegration:MySqlServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTag:MySqlTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTechEmail:MySqlTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","mysql","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"mysql":{"$ref":"#/types/aiven:index/MySqlMysql:MySqlMysql","description":"MySQL server-provided values.\n","secret":true},"mysqlUserConfig":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfig:MySqlMysqlUserConfig","description":"Mysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlServiceIntegration:MySqlServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTag:MySqlTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTechEmail:MySqlTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering MySql resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlComponent:MySqlComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"mysql":{"$ref":"#/types/aiven:index/MySqlMysql:MySqlMysql","description":"MySQL server-provided values.\n","secret":true},"mysqlUserConfig":{"$ref":"#/types/aiven:index/MySqlMysqlUserConfig:MySqlMysqlUserConfig","description":"Mysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlServiceIntegration:MySqlServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTag:MySqlTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/MySqlTechEmail:MySqlTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/mysqlDatabase:MysqlDatabase":{"description":"Creates and manages an [Aiven for MySQL®](https://aiven.io/docs/products/mysql) database. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMysqlDatabase = new aiven.MysqlDatabase(\"example_mysql_database\", {\n    project: exampleProject.project,\n    serviceName: exampleMysql.serviceName,\n    databaseName: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mysql_database = aiven.MysqlDatabase(\"example_mysql_database\",\n    project=example_project[\"project\"],\n    service_name=example_mysql[\"serviceName\"],\n    database_name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMysqlDatabase = new Aiven.MysqlDatabase(\"example_mysql_database\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleMysql.ServiceName,\n        DatabaseName = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewMysqlDatabase(ctx, \"example_mysql_database\", \u0026aiven.MysqlDatabaseArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:  pulumi.Any(exampleMysql.ServiceName),\n\t\t\tDatabaseName: pulumi.String(\"example-database\"),\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.aiven.MysqlDatabase;\nimport com.pulumi.aiven.MysqlDatabaseArgs;\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 exampleMysqlDatabase = new MysqlDatabase(\"exampleMysqlDatabase\", MysqlDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleMysql.serviceName())\n            .databaseName(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMysqlDatabase:\n    type: aiven:MysqlDatabase\n    name: example_mysql_database\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleMysql.serviceName}\n      databaseName: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/mysqlDatabase:MysqlDatabase example PROJECT/SERVICE_NAME/DATABASE_NAME\n```\n\n","properties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/MysqlDatabaseTimeouts:MysqlDatabaseTimeouts"}},"required":["databaseName","project","serviceName","terminationProtection"],"inputProperties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/MysqlDatabaseTimeouts:MysqlDatabaseTimeouts"}},"requiredInputs":["databaseName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering MysqlDatabase resources.\n","properties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/MysqlDatabaseTimeouts:MysqlDatabaseTimeouts"}},"type":"object"}},"aiven:index/mysqlUser:MysqlUser":{"description":"Creates and manages an Aiven for MySQL® service user. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMysqlUser = new aiven.MysqlUser(\"example_mysql_user\", {\n    serviceName: exampleMysql.serviceName,\n    project: exampleProject.project,\n    username: \"example-mysql-user\",\n    password: serviceUserPw,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mysql_user = aiven.MysqlUser(\"example_mysql_user\",\n    service_name=example_mysql[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-mysql-user\",\n    password=service_user_pw)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMysqlUser = new Aiven.MysqlUser(\"example_mysql_user\", new()\n    {\n        ServiceName = exampleMysql.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-mysql-user\",\n        Password = serviceUserPw,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewMysqlUser(ctx, \"example_mysql_user\", \u0026aiven.MysqlUserArgs{\n\t\t\tServiceName: pulumi.Any(exampleMysql.ServiceName),\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tUsername:    pulumi.String(\"example-mysql-user\"),\n\t\t\tPassword:    pulumi.Any(serviceUserPw),\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.aiven.MysqlUser;\nimport com.pulumi.aiven.MysqlUserArgs;\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 exampleMysqlUser = new MysqlUser(\"exampleMysqlUser\", MysqlUserArgs.builder()\n            .serviceName(exampleMysql.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-mysql-user\")\n            .password(serviceUserPw)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleMysqlUser:\n    type: aiven:MysqlUser\n    name: example_mysql_user\n    properties:\n      serviceName: ${exampleMysql.serviceName}\n      project: ${exampleProject.project}\n      username: example-mysql-user\n      password: ${serviceUserPw}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/mysqlUser:MysqlUser example PROJECT/SERVICE_NAME/USERNAME\n```\n\n","properties":{"accessCert":{"type":"string","description":"Access certificate for TLS client authentication.","secret":true},"accessKey":{"type":"string","description":"Access key for TLS client authentication.","secret":true},"authentication":{"type":"string","description":"Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set. The possible values are \u003cspan pulumi-lang-nodejs=\"`cachingSha2Password`\" pulumi-lang-dotnet=\"`CachingSha2Password`\" pulumi-lang-go=\"`cachingSha2Password`\" pulumi-lang-python=\"`caching_sha2_password`\" pulumi-lang-yaml=\"`cachingSha2Password`\" pulumi-lang-java=\"`cachingSha2Password`\"\u003e`caching_sha2_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`mysqlNativePassword`\" pulumi-lang-dotnet=\"`MysqlNativePassword`\" pulumi-lang-go=\"`mysqlNativePassword`\" pulumi-lang-python=\"`mysql_native_password`\" pulumi-lang-yaml=\"`mysqlNativePassword`\" pulumi-lang-java=\"`mysqlNativePassword`\"\u003e`mysql_native_password`\u003c/span\u003e."},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the MySQL® service user. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/MysqlUserTimeouts:MysqlUserTimeouts"},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"The name of the MySQL® service user. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"required":["accessCert","accessKey","authentication","password","project","serviceName","type","username"],"inputProperties":{"authentication":{"type":"string","description":"Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set. The possible values are \u003cspan pulumi-lang-nodejs=\"`cachingSha2Password`\" pulumi-lang-dotnet=\"`CachingSha2Password`\" pulumi-lang-go=\"`cachingSha2Password`\" pulumi-lang-python=\"`caching_sha2_password`\" pulumi-lang-yaml=\"`cachingSha2Password`\" pulumi-lang-java=\"`cachingSha2Password`\"\u003e`caching_sha2_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`mysqlNativePassword`\" pulumi-lang-dotnet=\"`MysqlNativePassword`\" pulumi-lang-go=\"`mysqlNativePassword`\" pulumi-lang-python=\"`mysql_native_password`\" pulumi-lang-yaml=\"`mysqlNativePassword`\" pulumi-lang-java=\"`mysqlNativePassword`\"\u003e`mysql_native_password`\u003c/span\u003e."},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the MySQL® service user. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/MysqlUserTimeouts:MysqlUserTimeouts"},"username":{"type":"string","description":"The name of the MySQL® service user. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering MysqlUser resources.\n","properties":{"accessCert":{"type":"string","description":"Access certificate for TLS client authentication.","secret":true},"accessKey":{"type":"string","description":"Access key for TLS client authentication.","secret":true},"authentication":{"type":"string","description":"Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql_native_password' and 'caching_sha2_password', latter being default when this is not explicitly set. The possible values are \u003cspan pulumi-lang-nodejs=\"`cachingSha2Password`\" pulumi-lang-dotnet=\"`CachingSha2Password`\" pulumi-lang-go=\"`cachingSha2Password`\" pulumi-lang-python=\"`caching_sha2_password`\" pulumi-lang-yaml=\"`cachingSha2Password`\" pulumi-lang-java=\"`cachingSha2Password`\"\u003e`caching_sha2_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`mysqlNativePassword`\" pulumi-lang-dotnet=\"`MysqlNativePassword`\" pulumi-lang-go=\"`mysqlNativePassword`\" pulumi-lang-python=\"`mysql_native_password`\" pulumi-lang-yaml=\"`mysqlNativePassword`\" pulumi-lang-java=\"`mysqlNativePassword`\"\u003e`mysql_native_password`\u003c/span\u003e."},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the MySQL® service user. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/MysqlUserTimeouts:MysqlUserTimeouts"},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"The name of the MySQL® service user. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"type":"object"}},"aiven:index/openSearch:OpenSearch":{"description":"Creates and manages an [Aiven for OpenSearch®](https://aiven.io/docs/products/opensearch) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleOpensearch = new aiven.OpenSearch(\"example_opensearch\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-4\",\n    serviceName: \"example-opensearch\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    opensearchUserConfig: {\n        opensearchDashboards: {\n            enabled: true,\n            opensearchRequestTimeout: 30000,\n        },\n        publicAccess: {\n            opensearch: true,\n            opensearchDashboards: true,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_opensearch = aiven.OpenSearch(\"example_opensearch\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-4\",\n    service_name=\"example-opensearch\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    opensearch_user_config={\n        \"opensearch_dashboards\": {\n            \"enabled\": True,\n            \"opensearch_request_timeout\": 30000,\n        },\n        \"public_access\": {\n            \"opensearch\": True,\n            \"opensearch_dashboards\": True,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleOpensearch = new Aiven.OpenSearch(\"example_opensearch\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-4\",\n        ServiceName = \"example-opensearch\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        OpensearchUserConfig = new Aiven.Inputs.OpenSearchOpensearchUserConfigArgs\n        {\n            OpensearchDashboards = new Aiven.Inputs.OpenSearchOpensearchUserConfigOpensearchDashboardsArgs\n            {\n                Enabled = true,\n                OpensearchRequestTimeout = 30000,\n            },\n            PublicAccess = new Aiven.Inputs.OpenSearchOpensearchUserConfigPublicAccessArgs\n            {\n                Opensearch = true,\n                OpensearchDashboards = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOpenSearch(ctx, \"example_opensearch\", \u0026aiven.OpenSearchArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"startup-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-opensearch\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tOpensearchUserConfig: \u0026aiven.OpenSearchOpensearchUserConfigArgs{\n\t\t\t\tOpensearchDashboards: \u0026aiven.OpenSearchOpensearchUserConfigOpensearchDashboardsArgs{\n\t\t\t\t\tEnabled:                  pulumi.Bool(true),\n\t\t\t\t\tOpensearchRequestTimeout: pulumi.Int(30000),\n\t\t\t\t},\n\t\t\t\tPublicAccess: \u0026aiven.OpenSearchOpensearchUserConfigPublicAccessArgs{\n\t\t\t\t\tOpensearch:           pulumi.Bool(true),\n\t\t\t\t\tOpensearchDashboards: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.OpenSearch;\nimport com.pulumi.aiven.OpenSearchArgs;\nimport com.pulumi.aiven.inputs.OpenSearchOpensearchUserConfigArgs;\nimport com.pulumi.aiven.inputs.OpenSearchOpensearchUserConfigOpensearchDashboardsArgs;\nimport com.pulumi.aiven.inputs.OpenSearchOpensearchUserConfigPublicAccessArgs;\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 exampleOpensearch = new OpenSearch(\"exampleOpensearch\", OpenSearchArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-4\")\n            .serviceName(\"example-opensearch\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .opensearchUserConfig(OpenSearchOpensearchUserConfigArgs.builder()\n                .opensearchDashboards(OpenSearchOpensearchUserConfigOpensearchDashboardsArgs.builder()\n                    .enabled(true)\n                    .opensearchRequestTimeout(30000)\n                    .build())\n                .publicAccess(OpenSearchOpensearchUserConfigPublicAccessArgs.builder()\n                    .opensearch(true)\n                    .opensearchDashboards(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleOpensearch:\n    type: aiven:OpenSearch\n    name: example_opensearch\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: startup-4\n      serviceName: example-opensearch\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      opensearchUserConfig:\n        opensearchDashboards:\n          enabled: true\n          opensearchRequestTimeout: 30000\n        publicAccess:\n          opensearch: true\n          opensearchDashboards: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/openSearch:OpenSearch example_opensearch PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchComponent:OpenSearchComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"opensearchUserConfig":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfig:OpenSearchOpensearchUserConfig","description":"Opensearch user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"opensearches":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchOpensearch:OpenSearchOpensearch"},"description":"Values provided by the OpenSearch server.\n","secret":true},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchServiceIntegration:OpenSearchServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTag:OpenSearchTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTechEmail:OpenSearchTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","opensearches","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"opensearchUserConfig":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfig:OpenSearchOpensearchUserConfig","description":"Opensearch user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"opensearches":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchOpensearch:OpenSearchOpensearch"},"description":"Values provided by the OpenSearch server.\n","secret":true},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchServiceIntegration:OpenSearchServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTag:OpenSearchTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTechEmail:OpenSearchTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering OpenSearch resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchComponent:OpenSearchComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"opensearchUserConfig":{"$ref":"#/types/aiven:index/OpenSearchOpensearchUserConfig:OpenSearchOpensearchUserConfig","description":"Opensearch user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"opensearches":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchOpensearch:OpenSearchOpensearch"},"description":"Values provided by the OpenSearch server.\n","secret":true},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchServiceIntegration:OpenSearchServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTag:OpenSearchTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OpenSearchTechEmail:OpenSearchTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/openSearchAclConfig:OpenSearchAclConfig":{"description":"Enables access control for an Aiven for OpenSearch® service.\n\nBy default, service users are granted full access rights. To limit their access, you can enable access control and create ACLs\nthat define permissions and patterns. Alternatively, you can enable OpenSearch Security management\nto manage users and permissions with the OpenSearch Security dashboard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.OpenSearchAclConfig(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    enabled: true,\n    extendedAcl: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.OpenSearchAclConfig(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    enabled=True,\n    extended_acl=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.OpenSearchAclConfig(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        Enabled = true,\n        ExtendedAcl = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOpenSearchAclConfig(ctx, \"main\", \u0026aiven.OpenSearchAclConfigArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleOpensearch.ServiceName),\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tExtendedAcl: pulumi.Bool(false),\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.aiven.OpenSearchAclConfig;\nimport com.pulumi.aiven.OpenSearchAclConfigArgs;\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 main = new OpenSearchAclConfig(\"main\", OpenSearchAclConfigArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleOpensearch.serviceName())\n            .enabled(true)\n            .extendedAcl(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:OpenSearchAclConfig\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      enabled: true\n      extendedAcl: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/openSearchAclConfig:OpenSearchAclConfig main PROJECT/SERVICE_NAME\n```\n\n","properties":{"enabled":{"type":"boolean","description":"Enable OpenSearch ACLs. When disabled, authenticated service users have unrestricted access. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"extendedAcl":{"type":"boolean","description":"Index rules can be applied in a limited fashion to the _mget, _msearch and _bulk APIs (and only those) by enabling the ExtendedAcl option for the service. When it is enabled, users can use these APIs as long as all operations only target indexes they have been granted access to. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["project","serviceName"],"inputProperties":{"enabled":{"type":"boolean","description":"Enable OpenSearch ACLs. When disabled, authenticated service users have unrestricted access. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"extendedAcl":{"type":"boolean","description":"Index rules can be applied in a limited fashion to the _mget, _msearch and _bulk APIs (and only those) by enabling the ExtendedAcl option for the service. When it is enabled, users can use these APIs as long as all operations only target indexes they have been granted access to. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering OpenSearchAclConfig resources.\n","properties":{"enabled":{"type":"boolean","description":"Enable OpenSearch ACLs. When disabled, authenticated service users have unrestricted access. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"extendedAcl":{"type":"boolean","description":"Index rules can be applied in a limited fashion to the _mget, _msearch and _bulk APIs (and only those) by enabling the ExtendedAcl option for the service. When it is enabled, users can use these APIs as long as all operations only target indexes they have been granted access to. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/openSearchAclRule:OpenSearchAclRule":{"description":"Create an access control list (ACL) rule for indexes in an Aiven for OpenSearch® service. ACLs apply only to indexes and don't control access to other OpenSearch APIs such as OpenSearch Dashboards.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst osUser1 = new aiven.OpensearchUser(\"os_user_1\", {\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    username: \"documentation-user-1\",\n});\nconst osUser2 = new aiven.OpensearchUser(\"os_user_2\", {\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    username: \"documentation-user-2\",\n});\nconst osAclsConfig = new aiven.OpenSearchAclConfig(\"os_acls_config\", {\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    enabled: true,\n    extendedAcl: false,\n});\nconst aclRules = [\n    {\n        username: osUser1.username,\n        index: \"index2\",\n        permission: \"readwrite\",\n    },\n    {\n        username: osUser1.username,\n        index: \"index3\",\n        permission: \"read\",\n    },\n    {\n        username: osUser1.username,\n        index: \"index5\",\n        permission: \"deny\",\n    },\n    {\n        username: osUser2.username,\n        index: \"index3\",\n        permission: \"write\",\n    },\n    {\n        username: osUser2.username,\n        index: \"index7\",\n        permission: \"readwrite\",\n    },\n];\nconst osAclRule: aiven.OpenSearchAclRule[] = [];\npulumi.all(aclRules.map((v, k) =\u003e [k, v]).reduce((__obj, [i, v]) =\u003e ({ ...__obj, [i]: v }))).apply(rangeBody =\u003e {\n    for (const range of Object.entries(rangeBody).map(([k, v]) =\u003e ({key: k, value: v}))) {\n        osAclRule.push(new aiven.OpenSearchAclRule(`os_acl_rule-${range.key}`, {\n            project: exampleProject.project,\n            serviceName: exampleOpensearch.serviceName,\n            username: range.value.username,\n            index: range.value.index,\n            permission: range.value.permission,\n        }));\n    }\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nos_user1 = aiven.OpensearchUser(\"os_user_1\",\n    project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    username=\"documentation-user-1\")\nos_user2 = aiven.OpensearchUser(\"os_user_2\",\n    project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    username=\"documentation-user-2\")\nos_acls_config = aiven.OpenSearchAclConfig(\"os_acls_config\",\n    project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    enabled=True,\n    extended_acl=False)\nacl_rules = [\n    {\n        \"username\": os_user1.username,\n        \"index\": \"index2\",\n        \"permission\": \"readwrite\",\n    },\n    {\n        \"username\": os_user1.username,\n        \"index\": \"index3\",\n        \"permission\": \"read\",\n    },\n    {\n        \"username\": os_user1.username,\n        \"index\": \"index5\",\n        \"permission\": \"deny\",\n    },\n    {\n        \"username\": os_user2.username,\n        \"index\": \"index3\",\n        \"permission\": \"write\",\n    },\n    {\n        \"username\": os_user2.username,\n        \"index\": \"index7\",\n        \"permission\": \"readwrite\",\n    },\n]\nos_acl_rule = []\ndef create_os_acl_rule(range_body):\n    for range in [{\"key\": k, \"value\": v} for [k, v] in enumerate(range_body)]:\n        os_acl_rule.append(aiven.OpenSearchAclRule(f\"os_acl_rule-{range['key']}\",\n            project=example_project[\"project\"],\n            service_name=example_opensearch[\"serviceName\"],\n            username=range[\"value\"][\"username\"],\n            index=range[\"value\"][\"index\"],\n            permission=range[\"value\"][\"permission\"]))\n\npulumi.Output.all({i: v for i, v in acl_rules}).apply(lambda resolved_outputs: create_os_acl_rule(resolved_outputs[0]))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var osUser1 = new Aiven.OpensearchUser(\"os_user_1\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        Username = \"documentation-user-1\",\n    });\n\n    var osUser2 = new Aiven.OpensearchUser(\"os_user_2\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        Username = \"documentation-user-2\",\n    });\n\n    var osAclsConfig = new Aiven.OpenSearchAclConfig(\"os_acls_config\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        Enabled = true,\n        ExtendedAcl = false,\n    });\n\n    var aclRules = new[]\n    {\n        \n        {\n            { \"username\", osUser1.Username },\n            { \"index\", \"index2\" },\n            { \"permission\", \"readwrite\" },\n        },\n        \n        {\n            { \"username\", osUser1.Username },\n            { \"index\", \"index3\" },\n            { \"permission\", \"read\" },\n        },\n        \n        {\n            { \"username\", osUser1.Username },\n            { \"index\", \"index5\" },\n            { \"permission\", \"deny\" },\n        },\n        \n        {\n            { \"username\", osUser2.Username },\n            { \"index\", \"index3\" },\n            { \"permission\", \"write\" },\n        },\n        \n        {\n            { \"username\", osUser2.Username },\n            { \"index\", \"index7\" },\n            { \"permission\", \"readwrite\" },\n        },\n    };\n\n    var osAclRule = new List\u003cAiven.OpenSearchAclRule\u003e();\n    foreach (var range in aclRules.Select((value, i) =\u003e new { Key = i.ToString(), Value = pair.Value }).Select(pair =\u003e new { pair.Key, pair.Value }))\n    {\n        osAclRule.Add(new Aiven.OpenSearchAclRule($\"os_acl_rule-{range.Key}\", new()\n        {\n            Project = exampleProject.Project,\n            ServiceName = exampleOpensearch.ServiceName,\n            Username = range.Value.Username,\n            Index = range.Value.Index,\n            Permission = range.Value.Permission,\n        }));\n    }\n});\n```\n```yaml\nresources:\n  osUser1:\n    type: aiven:OpensearchUser\n    name: os_user_1\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      username: documentation-user-1\n  osUser2:\n    type: aiven:OpensearchUser\n    name: os_user_2\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      username: documentation-user-2\n  osAclsConfig:\n    type: aiven:OpenSearchAclConfig\n    name: os_acls_config\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      enabled: true\n      extendedAcl: false\n  osAclRule:\n    type: aiven:OpenSearchAclRule\n    name: os_acl_rule\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      username: ${range.value.username}\n      index: ${range.value.index}\n      permission: ${range.value.permission}\n    options: {}\nvariables:\n  aclRules:\n    - username: ${osUser1.username}\n      index: index2\n      permission: readwrite\n    - username: ${osUser1.username}\n      index: index3\n      permission: read\n    - username: ${osUser1.username}\n      index: index5\n      permission: deny\n    - username: ${osUser2.username}\n      index: index3\n      permission: write\n    - username: ${osUser2.username}\n      index: index7\n      permission: readwrite\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/openSearchAclRule:OpenSearchAclRule os_acl_rule PROJECT/SERVICE_NAME/USERNAME/INDEX\n```\n\n","properties":{"index":{"type":"string","description":"The index pattern for this ACL rule. Maximum length: \u003cspan pulumi-lang-nodejs=\"`249`\" pulumi-lang-dotnet=\"`249`\" pulumi-lang-go=\"`249`\" pulumi-lang-python=\"`249`\" pulumi-lang-yaml=\"`249`\" pulumi-lang-java=\"`249`\"\u003e`249`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"permission":{"type":"string","description":"The permissions for this ACL rule. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The username for the OpenSearch user this ACL rule applies to. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["index","permission","project","serviceName","username"],"inputProperties":{"index":{"type":"string","description":"The index pattern for this ACL rule. Maximum length: \u003cspan pulumi-lang-nodejs=\"`249`\" pulumi-lang-dotnet=\"`249`\" pulumi-lang-go=\"`249`\" pulumi-lang-python=\"`249`\" pulumi-lang-yaml=\"`249`\" pulumi-lang-java=\"`249`\"\u003e`249`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"permission":{"type":"string","description":"The permissions for this ACL rule. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username for the OpenSearch user this ACL rule applies to. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["index","permission","project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering OpenSearchAclRule resources.\n","properties":{"index":{"type":"string","description":"The index pattern for this ACL rule. Maximum length: \u003cspan pulumi-lang-nodejs=\"`249`\" pulumi-lang-dotnet=\"`249`\" pulumi-lang-go=\"`249`\" pulumi-lang-python=\"`249`\" pulumi-lang-yaml=\"`249`\" pulumi-lang-java=\"`249`\"\u003e`249`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"permission":{"type":"string","description":"The permissions for this ACL rule. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username for the OpenSearch user this ACL rule applies to. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig":{"description":"Enables and manages [OpenSearch Security for an Aiven for OpenSearch® service](https://aiven.io/docs/products/opensearch/concepts/os-security).\n\nAfter enabling OpenSearch Security management, **you can no longer use Aiven Terraform Provider to manage access controls for that service.** To manage user authentication and access control with OpenSearch Security management enabled,\nuse the OpenSearch Security Dashboard or OpenSearch Security API.\n\n**Once enabled, OpenSearch Security management cannot be disabled.** To disable it, [contact Aiven support](https://aiven.io/support-services).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.OpensearchSecurityPluginConfig(\"main\", {\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    adminPassword: opensearchSecurityAdminPassword,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.OpensearchSecurityPluginConfig(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    admin_password=opensearch_security_admin_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.OpensearchSecurityPluginConfig(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        AdminPassword = opensearchSecurityAdminPassword,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOpensearchSecurityPluginConfig(ctx, \"main\", \u0026aiven.OpensearchSecurityPluginConfigArgs{\n\t\t\tProject:       pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:   pulumi.Any(exampleOpensearch.ServiceName),\n\t\t\tAdminPassword: pulumi.Any(opensearchSecurityAdminPassword),\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.aiven.OpensearchSecurityPluginConfig;\nimport com.pulumi.aiven.OpensearchSecurityPluginConfigArgs;\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 main = new OpensearchSecurityPluginConfig(\"main\", OpensearchSecurityPluginConfigArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleOpensearch.serviceName())\n            .adminPassword(opensearchSecurityAdminPassword)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:OpensearchSecurityPluginConfig\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleOpensearch.serviceName}\n      adminPassword: ${opensearchSecurityAdminPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/opensearchSecurityPluginConfig:OpensearchSecurityPluginConfig main PROJECT/SERVICE_NAME\n```\n\n","properties":{"adminEnabled":{"type":"boolean","description":"Whether the os-sec-admin user is enabled. This indicates whether OpenSearch Security management is enabled. This is always true when the os-sec-admin password was set at least once.\n"},"adminPassword":{"type":"string","description":"The password for the os-sec-admin user.\n","secret":true},"available":{"type":"boolean","description":"Whether the security plugin is available. This is always true for recently created services.\n"},"enabled":{"type":"boolean","description":"Whether the security plugin is enabled. This is always true for recently created services.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["adminEnabled","adminPassword","available","enabled","project","serviceName"],"inputProperties":{"adminPassword":{"type":"string","description":"The password for the os-sec-admin user.\n","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["adminPassword","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering OpensearchSecurityPluginConfig resources.\n","properties":{"adminEnabled":{"type":"boolean","description":"Whether the os-sec-admin user is enabled. This indicates whether OpenSearch Security management is enabled. This is always true when the os-sec-admin password was set at least once.\n"},"adminPassword":{"type":"string","description":"The password for the os-sec-admin user.\n","secret":true},"available":{"type":"boolean","description":"Whether the security plugin is available. This is always true for recently created services.\n"},"enabled":{"type":"boolean","description":"Whether the security plugin is enabled. This is always true for recently created services.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/opensearchUser:OpensearchUser":{"description":"Creates and manages an Aiven for OpenSearch® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleOpensearchUser = new aiven.OpensearchUser(\"example_opensearch_user\", {\n    serviceName: exampleOpensearch.serviceName,\n    project: exampleProject.project,\n    username: \"example-opensearch-user\",\n    password: opensearchUserPassword,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_opensearch_user = aiven.OpensearchUser(\"example_opensearch_user\",\n    service_name=example_opensearch[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-opensearch-user\",\n    password=opensearch_user_password)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleOpensearchUser = new Aiven.OpensearchUser(\"example_opensearch_user\", new()\n    {\n        ServiceName = exampleOpensearch.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-opensearch-user\",\n        Password = opensearchUserPassword,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOpensearchUser(ctx, \"example_opensearch_user\", \u0026aiven.OpensearchUserArgs{\n\t\t\tServiceName: pulumi.Any(exampleOpensearch.ServiceName),\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tUsername:    pulumi.String(\"example-opensearch-user\"),\n\t\t\tPassword:    pulumi.Any(opensearchUserPassword),\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.aiven.OpensearchUser;\nimport com.pulumi.aiven.OpensearchUserArgs;\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 exampleOpensearchUser = new OpensearchUser(\"exampleOpensearchUser\", OpensearchUserArgs.builder()\n            .serviceName(exampleOpensearch.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-opensearch-user\")\n            .password(opensearchUserPassword)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleOpensearchUser:\n    type: aiven:OpensearchUser\n    name: example_opensearch_user\n    properties:\n      serviceName: ${exampleOpensearch.serviceName}\n      project: ${exampleProject.project}\n      username: example-opensearch-user\n      password: ${opensearchUserPassword}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/opensearchUser:OpensearchUser example_opensearch_user PROJECT/SERVICE_NAME/USERNAME\n```\n\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the OpenSearch service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Name of the OpenSearch service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering OpensearchUser resources.\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the OpenSearch service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/organization:Organization":{"description":"Creates and manages an [organization](https://aiven.io/docs/platform/concepts/orgs-units-projects).\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.Organization(\"main\", {name: \"Example organization\"});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.Organization(\"main\", name=\"Example organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.Organization(\"main\", new()\n    {\n        Name = \"Example organization\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOrganization(ctx, \"main\", \u0026aiven.OrganizationArgs{\n\t\t\tName: pulumi.String(\"Example organization\"),\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.aiven.Organization;\nimport com.pulumi.aiven.OrganizationArgs;\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 main = new Organization(\"main\", OrganizationArgs.builder()\n            .name(\"Example organization\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:Organization\n    properties:\n      name: Example organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organization:Organization example ORGANIZATION_ID\n```\n\n","properties":{"createTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"},"name":{"type":"string","description":"Name of the organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"Tenant identifier. **Deprecated**: This field is deprecated and will be removed in the next major release.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"timeouts":{"$ref":"#/types/aiven:index/OrganizationTimeouts:OrganizationTimeouts"},"updateTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"}},"required":["createTime","name","tenantId","updateTime"],"inputProperties":{"name":{"type":"string","description":"Name of the organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationTimeouts:OrganizationTimeouts"}},"stateInputs":{"description":"Input properties used for looking up and filtering Organization resources.\n","properties":{"createTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"},"name":{"type":"string","description":"Name of the organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"Tenant identifier. **Deprecated**: This field is deprecated and will be removed in the next major release.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"timeouts":{"$ref":"#/types/aiven:index/OrganizationTimeouts:OrganizationTimeouts"},"updateTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"}},"type":"object"}},"aiven:index/organizationAddress:OrganizationAddress":{"description":"Creates and manages an organization address.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationAddress:OrganizationAddress example ORGANIZATION_ID/ADDRESS_ID\n```\n\n","properties":{"addressId":{"type":"string","description":"Address ID.\n"},"addressLines":{"type":"array","items":{"type":"string"},"description":"Address Lines.\n"},"city":{"type":"string","description":"City. Maximum length: \u003cspan pulumi-lang-nodejs=\"`125`\" pulumi-lang-dotnet=\"`125`\" pulumi-lang-go=\"`125`\" pulumi-lang-python=\"`125`\" pulumi-lang-yaml=\"`125`\" pulumi-lang-java=\"`125`\"\u003e`125`\u003c/span\u003e.\n"},"countryCode":{"type":"string","description":"Country Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"createTime":{"type":"string","description":"Create Time.\n"},"name":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"State. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationAddressTimeouts:OrganizationAddressTimeouts"},"updateTime":{"type":"string","description":"Update Time.\n"},"zipCode":{"type":"string","description":"Zip Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"}},"required":["addressId","addressLines","city","countryCode","createTime","name","organizationId","updateTime"],"inputProperties":{"addressLines":{"type":"array","items":{"type":"string"},"description":"Address Lines.\n"},"city":{"type":"string","description":"City. Maximum length: \u003cspan pulumi-lang-nodejs=\"`125`\" pulumi-lang-dotnet=\"`125`\" pulumi-lang-go=\"`125`\" pulumi-lang-python=\"`125`\" pulumi-lang-yaml=\"`125`\" pulumi-lang-java=\"`125`\"\u003e`125`\u003c/span\u003e.\n"},"countryCode":{"type":"string","description":"Country Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"State. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationAddressTimeouts:OrganizationAddressTimeouts"},"zipCode":{"type":"string","description":"Zip Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"}},"requiredInputs":["addressLines","city","countryCode","organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationAddress resources.\n","properties":{"addressId":{"type":"string","description":"Address ID.\n"},"addressLines":{"type":"array","items":{"type":"string"},"description":"Address Lines.\n"},"city":{"type":"string","description":"City. Maximum length: \u003cspan pulumi-lang-nodejs=\"`125`\" pulumi-lang-dotnet=\"`125`\" pulumi-lang-go=\"`125`\" pulumi-lang-python=\"`125`\" pulumi-lang-yaml=\"`125`\" pulumi-lang-java=\"`125`\"\u003e`125`\u003c/span\u003e.\n"},"countryCode":{"type":"string","description":"Country Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`2`\" pulumi-lang-dotnet=\"`2`\" pulumi-lang-go=\"`2`\" pulumi-lang-python=\"`2`\" pulumi-lang-yaml=\"`2`\" pulumi-lang-java=\"`2`\"\u003e`2`\u003c/span\u003e.\n"},"createTime":{"type":"string","description":"Create Time.\n"},"name":{"type":"string","description":"Name of a company. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"State. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationAddressTimeouts:OrganizationAddressTimeouts"},"updateTime":{"type":"string","description":"Update Time.\n"},"zipCode":{"type":"string","description":"Zip Code. Maximum length: \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n"}},"type":"object"}},"aiven:index/organizationApplicationUser:OrganizationApplicationUser":{"description":"Creates and manages an organization application user. [Application users](https://aiven.io/docs/platform/concepts/application-users) can be used for programmatic access to the platform using a token created with the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationApplicationUserToken`\" pulumi-lang-dotnet=\"`aiven.OrganizationApplicationUserToken`\" pulumi-lang-go=\"`OrganizationApplicationUserToken`\" pulumi-lang-python=\"`OrganizationApplicationUserToken`\" pulumi-lang-yaml=\"`aiven.OrganizationApplicationUserToken`\" pulumi-lang-java=\"`aiven.OrganizationApplicationUserToken`\"\u003e`aiven.OrganizationApplicationUserToken`\u003c/span\u003e resource. You give application users access to your organization, projects, and services using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource. You can also add application users to groups using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-dotnet=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-go=\"`OrganizationUserGroupMember`\" pulumi-lang-python=\"`OrganizationUserGroupMember`\" pulumi-lang-yaml=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-java=\"`aiven.OrganizationUserGroupMember`\"\u003e`aiven.OrganizationUserGroupMember`\u003c/span\u003e resource.`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst tfUser = new aiven.OrganizationApplicationUser(\"tf_user\", {\n    organizationId: main.id,\n    name: \"app-terraform\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\ntf_user = aiven.OrganizationApplicationUser(\"tf_user\",\n    organization_id=main[\"id\"],\n    name=\"app-terraform\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tfUser = new Aiven.OrganizationApplicationUser(\"tf_user\", new()\n    {\n        OrganizationId = main.Id,\n        Name = \"app-terraform\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOrganizationApplicationUser(ctx, \"tf_user\", \u0026aiven.OrganizationApplicationUserArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tName:           pulumi.String(\"app-terraform\"),\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.aiven.OrganizationApplicationUser;\nimport com.pulumi.aiven.OrganizationApplicationUserArgs;\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 tfUser = new OrganizationApplicationUser(\"tfUser\", OrganizationApplicationUserArgs.builder()\n            .organizationId(main.id())\n            .name(\"app-terraform\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tfUser:\n    type: aiven:OrganizationApplicationUser\n    name: tf_user\n    properties:\n      organizationId: ${main.id}\n      name: app-terraform\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationApplicationUser:OrganizationApplicationUser example ORGANIZATION_ID/USER_ID\n```\n\n","properties":{"email":{"type":"string","description":"User Email.\n"},"isSuperAdmin":{"type":"boolean","description":"Alters super admin state of the organization application user. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.\n","deprecationMessage":"This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource."},"name":{"type":"string","description":"Name.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTimeouts:OrganizationApplicationUserTimeouts"},"userId":{"type":"string","description":"User ID.\n"}},"required":["email","isSuperAdmin","name","organizationId","userId"],"inputProperties":{"isSuperAdmin":{"type":"boolean","description":"Alters super admin state of the organization application user. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.\n","deprecationMessage":"This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource."},"name":{"type":"string","description":"Name.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTimeouts:OrganizationApplicationUserTimeouts"}},"requiredInputs":["organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationApplicationUser resources.\n","properties":{"email":{"type":"string","description":"User Email.\n"},"isSuperAdmin":{"type":"boolean","description":"Alters super admin state of the organization application user. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.\n","deprecationMessage":"This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource."},"name":{"type":"string","description":"Name.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTimeouts:OrganizationApplicationUserTimeouts"},"userId":{"type":"string","description":"User ID.\n"}},"type":"object"}},"aiven:index/organizationApplicationUserToken:OrganizationApplicationUserToken":{"description":"Creates and manages an application user token. Review the [best practices](https://aiven.io/docs/platform/concepts/application-users#security-best-practices) for securing application users and their tokens.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst tfUser = new aiven.OrganizationApplicationUser(\"tf_user\", {\n    organizationId: main.id,\n    name: \"app-terraform\",\n});\nconst example = new aiven.OrganizationApplicationUserToken(\"example\", {\n    organizationId: main.id,\n    userId: tfUser.userId,\n    description: \"Token for TF access to Aiven.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\ntf_user = aiven.OrganizationApplicationUser(\"tf_user\",\n    organization_id=main[\"id\"],\n    name=\"app-terraform\")\nexample = aiven.OrganizationApplicationUserToken(\"example\",\n    organization_id=main[\"id\"],\n    user_id=tf_user.user_id,\n    description=\"Token for TF access to Aiven.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var tfUser = new Aiven.OrganizationApplicationUser(\"tf_user\", new()\n    {\n        OrganizationId = main.Id,\n        Name = \"app-terraform\",\n    });\n\n    var example = new Aiven.OrganizationApplicationUserToken(\"example\", new()\n    {\n        OrganizationId = main.Id,\n        UserId = tfUser.UserId,\n        Description = \"Token for TF access to Aiven.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttfUser, err := aiven.NewOrganizationApplicationUser(ctx, \"tf_user\", \u0026aiven.OrganizationApplicationUserArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tName:           pulumi.String(\"app-terraform\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOrganizationApplicationUserToken(ctx, \"example\", \u0026aiven.OrganizationApplicationUserTokenArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tUserId:         tfUser.UserId,\n\t\t\tDescription:    pulumi.String(\"Token for TF access to Aiven.\"),\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.aiven.OrganizationApplicationUser;\nimport com.pulumi.aiven.OrganizationApplicationUserArgs;\nimport com.pulumi.aiven.OrganizationApplicationUserToken;\nimport com.pulumi.aiven.OrganizationApplicationUserTokenArgs;\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 tfUser = new OrganizationApplicationUser(\"tfUser\", OrganizationApplicationUserArgs.builder()\n            .organizationId(main.id())\n            .name(\"app-terraform\")\n            .build());\n\n        var example = new OrganizationApplicationUserToken(\"example\", OrganizationApplicationUserTokenArgs.builder()\n            .organizationId(main.id())\n            .userId(tfUser.userId())\n            .description(\"Token for TF access to Aiven.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tfUser:\n    type: aiven:OrganizationApplicationUser\n    name: tf_user\n    properties:\n      organizationId: ${main.id}\n      name: app-terraform\n  example:\n    type: aiven:OrganizationApplicationUserToken\n    properties:\n      organizationId: ${main.id}\n      userId: ${tfUser.userId}\n      description: Token for TF access to Aiven.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationApplicationUserToken:OrganizationApplicationUserToken example ORGANIZATION_ID/USER_ID/TOKEN_PREFIX\n```\n\n","properties":{"createTime":{"type":"string","description":"Create Time.\n"},"createdManually":{"type":"boolean","description":"True for tokens explicitly created via the\u003cspan pulumi-lang-nodejs=\" accessTokens \" pulumi-lang-dotnet=\" AccessTokens \" pulumi-lang-go=\" accessTokens \" pulumi-lang-python=\" access_tokens \" pulumi-lang-yaml=\" accessTokens \" pulumi-lang-java=\" accessTokens \"\u003e access_tokens \u003c/span\u003eAPI, false for tokens created via login.\n"},"currentlyActive":{"type":"boolean","description":"true if API request was made with this access token.\n"},"description":{"type":"string","description":"Description. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"expiryTime":{"type":"string","description":"Timestamp when the access token will expire unless extended, if ever.\n"},"extendWhenUsed":{"type":"boolean","description":"Extend token expiration time when token is used. Only applicable if max*age*seconds is specified. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"fullToken":{"type":"string","description":"Full Token.\n","secret":true},"ipAllowlists":{"type":"array","items":{"type":"string"},"description":"List of allowed IP ranges. Changing this property forces recreation of the resource.\n"},"lastIp":{"type":"string","description":"IP address the access token was last used from in case it has ever been used.\n"},"lastUsedTime":{"type":"string","description":"Timestamp when the access token was last used, if ever.\n"},"lastUserAgent":{"type":"string","description":"User agent string of the client that last used the token in case it has ever been used.\n"},"lastUserAgentHumanReadable":{"type":"string","description":"Human readable user agent string of the client that last used the token in case user agent is known.\n"},"maxAgeSeconds":{"type":"integer","description":"Time the token remains valid since creation (or since last use if extend*when*used is true). Value must be between \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`315360000`\" pulumi-lang-dotnet=\"`315360000`\" pulumi-lang-go=\"`315360000`\" pulumi-lang-python=\"`315360000`\" pulumi-lang-yaml=\"`315360000`\" pulumi-lang-java=\"`315360000`\"\u003e`315360000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes this token is restricted to if specified. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTokenTimeouts:OrganizationApplicationUserTokenTimeouts"},"tokenPrefix":{"type":"string","description":"First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =\u0026gt; %2F, + =\u0026gt; %2B, = =\u0026gt; %3D).\n"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"required":["createTime","createdManually","currentlyActive","expiryTime","extendWhenUsed","fullToken","lastIp","lastUsedTime","lastUserAgent","lastUserAgentHumanReadable","organizationId","tokenPrefix","userId"],"inputProperties":{"description":{"type":"string","description":"Description. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"extendWhenUsed":{"type":"boolean","description":"Extend token expiration time when token is used. Only applicable if max*age*seconds is specified. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"ipAllowlists":{"type":"array","items":{"type":"string"},"description":"List of allowed IP ranges. Changing this property forces recreation of the resource.\n"},"maxAgeSeconds":{"type":"integer","description":"Time the token remains valid since creation (or since last use if extend*when*used is true). Value must be between \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`315360000`\" pulumi-lang-dotnet=\"`315360000`\" pulumi-lang-go=\"`315360000`\" pulumi-lang-python=\"`315360000`\" pulumi-lang-yaml=\"`315360000`\" pulumi-lang-java=\"`315360000`\"\u003e`315360000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes this token is restricted to if specified. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTokenTimeouts:OrganizationApplicationUserTokenTimeouts"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"requiredInputs":["organizationId","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationApplicationUserToken resources.\n","properties":{"createTime":{"type":"string","description":"Create Time.\n"},"createdManually":{"type":"boolean","description":"True for tokens explicitly created via the\u003cspan pulumi-lang-nodejs=\" accessTokens \" pulumi-lang-dotnet=\" AccessTokens \" pulumi-lang-go=\" accessTokens \" pulumi-lang-python=\" access_tokens \" pulumi-lang-yaml=\" accessTokens \" pulumi-lang-java=\" accessTokens \"\u003e access_tokens \u003c/span\u003eAPI, false for tokens created via login.\n"},"currentlyActive":{"type":"boolean","description":"true if API request was made with this access token.\n"},"description":{"type":"string","description":"Description. Maximum length: \u003cspan pulumi-lang-nodejs=\"`1000`\" pulumi-lang-dotnet=\"`1000`\" pulumi-lang-go=\"`1000`\" pulumi-lang-python=\"`1000`\" pulumi-lang-yaml=\"`1000`\" pulumi-lang-java=\"`1000`\"\u003e`1000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"expiryTime":{"type":"string","description":"Timestamp when the access token will expire unless extended, if ever.\n"},"extendWhenUsed":{"type":"boolean","description":"Extend token expiration time when token is used. Only applicable if max*age*seconds is specified. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"fullToken":{"type":"string","description":"Full Token.\n","secret":true},"ipAllowlists":{"type":"array","items":{"type":"string"},"description":"List of allowed IP ranges. Changing this property forces recreation of the resource.\n"},"lastIp":{"type":"string","description":"IP address the access token was last used from in case it has ever been used.\n"},"lastUsedTime":{"type":"string","description":"Timestamp when the access token was last used, if ever.\n"},"lastUserAgent":{"type":"string","description":"User agent string of the client that last used the token in case it has ever been used.\n"},"lastUserAgentHumanReadable":{"type":"string","description":"Human readable user agent string of the client that last used the token in case user agent is known.\n"},"maxAgeSeconds":{"type":"integer","description":"Time the token remains valid since creation (or since last use if extend*when*used is true). Value must be between \u003cspan pulumi-lang-nodejs=\"`600`\" pulumi-lang-dotnet=\"`600`\" pulumi-lang-go=\"`600`\" pulumi-lang-python=\"`600`\" pulumi-lang-yaml=\"`600`\" pulumi-lang-java=\"`600`\"\u003e`600`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`315360000`\" pulumi-lang-dotnet=\"`315360000`\" pulumi-lang-go=\"`315360000`\" pulumi-lang-python=\"`315360000`\" pulumi-lang-yaml=\"`315360000`\" pulumi-lang-java=\"`315360000`\"\u003e`315360000`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes this token is restricted to if specified. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationApplicationUserTokenTimeouts:OrganizationApplicationUserTokenTimeouts"},"tokenPrefix":{"type":"string","description":"First characters of the actual token value. Full value is only exposed after creation. This value is used when updating or revoking tokens. Note that the value may contain /, + and = characters and must be URL encoded when used (/ =\u0026gt; %2F, + =\u0026gt; %2B, = =\u0026gt; %3D).\n"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"type":"object"}},"aiven:index/organizationBillingGroup:OrganizationBillingGroup":{"description":"Creates and manages an organization billing group.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationBillingGroup:OrganizationBillingGroup example ORGANIZATION_ID/BILLING_GROUP_ID\n```\n\n","properties":{"billingAddressId":{"type":"string","description":"Billing address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"billingContactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingContactEmail:OrganizationBillingGroupBillingContactEmail"},"description":"Required property. List of billing contact emails.\n"},"billingEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingEmail:OrganizationBillingGroupBillingEmail"},"description":"Required property. List of billing contact emails.\n"},"billingGroupId":{"type":"string","description":"Billing group ID.\n"},"billingGroupName":{"type":"string","description":"Billing Group Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"customInvoiceText":{"type":"string","description":"Extra billing text. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"paymentMethod":{"$ref":"#/types/aiven:index/OrganizationBillingGroupPaymentMethod:OrganizationBillingGroupPaymentMethod","description":"Required property. Payment method.\n"},"shippingAddressId":{"type":"string","description":"Shipping address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationBillingGroupTimeouts:OrganizationBillingGroupTimeouts"},"vatId":{"type":"string","description":"VAT ID.\n"}},"required":["billingAddressId","billingContactEmails","billingEmails","billingGroupId","billingGroupName","organizationId","paymentMethod","shippingAddressId"],"inputProperties":{"billingAddressId":{"type":"string","description":"Billing address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"billingContactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingContactEmail:OrganizationBillingGroupBillingContactEmail"},"description":"Required property. List of billing contact emails.\n"},"billingEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingEmail:OrganizationBillingGroupBillingEmail"},"description":"Required property. List of billing contact emails.\n"},"billingGroupName":{"type":"string","description":"Billing Group Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"customInvoiceText":{"type":"string","description":"Extra billing text. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"paymentMethod":{"$ref":"#/types/aiven:index/OrganizationBillingGroupPaymentMethod:OrganizationBillingGroupPaymentMethod","description":"Required property. Payment method.\n"},"shippingAddressId":{"type":"string","description":"Shipping address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationBillingGroupTimeouts:OrganizationBillingGroupTimeouts"},"vatId":{"type":"string","description":"VAT ID.\n"}},"requiredInputs":["billingAddressId","billingContactEmails","billingEmails","billingGroupName","organizationId","paymentMethod","shippingAddressId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationBillingGroup resources.\n","properties":{"billingAddressId":{"type":"string","description":"Billing address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"billingContactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingContactEmail:OrganizationBillingGroupBillingContactEmail"},"description":"Required property. List of billing contact emails.\n"},"billingEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationBillingGroupBillingEmail:OrganizationBillingGroupBillingEmail"},"description":"Required property. List of billing contact emails.\n"},"billingGroupId":{"type":"string","description":"Billing group ID.\n"},"billingGroupName":{"type":"string","description":"Billing Group Name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"customInvoiceText":{"type":"string","description":"Extra billing text. Maximum length: \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"paymentMethod":{"$ref":"#/types/aiven:index/OrganizationBillingGroupPaymentMethod:OrganizationBillingGroupPaymentMethod","description":"Required property. Payment method.\n"},"shippingAddressId":{"type":"string","description":"Shipping address ID. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationBillingGroupTimeouts:OrganizationBillingGroupTimeouts"},"vatId":{"type":"string","description":"VAT ID.\n"}},"type":"object"}},"aiven:index/organizationGroupProject:OrganizationGroupProject":{"description":"Adds and manages a group of users as members of a project.\n\n**This resource is deprecated.** Use \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e and\nmigrate existing\u003cspan pulumi-lang-nodejs=\" aiven.OrganizationGroupProject \" pulumi-lang-dotnet=\" aiven.OrganizationGroupProject \" pulumi-lang-go=\" OrganizationGroupProject \" pulumi-lang-python=\" OrganizationGroupProject \" pulumi-lang-yaml=\" aiven.OrganizationGroupProject \" pulumi-lang-java=\" aiven.OrganizationGroupProject \"\u003e aiven.OrganizationGroupProject \u003c/span\u003eresources\nto the new resource. **Do not use the\u003cspan pulumi-lang-nodejs=\" aiven.OrganizationGroupProject \" pulumi-lang-dotnet=\" aiven.OrganizationGroupProject \" pulumi-lang-go=\" OrganizationGroupProject \" pulumi-lang-python=\" OrganizationGroupProject \" pulumi-lang-yaml=\" aiven.OrganizationGroupProject \" pulumi-lang-java=\" aiven.OrganizationGroupProject \"\u003e aiven.OrganizationGroupProject \u003c/span\u003eand\u003cspan pulumi-lang-nodejs=\" aiven.OrganizationPermission \" pulumi-lang-dotnet=\" aiven.OrganizationPermission \" pulumi-lang-go=\" OrganizationPermission \" pulumi-lang-python=\" OrganizationPermission \" pulumi-lang-yaml=\" aiven.OrganizationPermission \" pulumi-lang-java=\" aiven.OrganizationPermission \"\u003e aiven.OrganizationPermission \u003c/span\u003eresources together**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleProject = new aiven.Project(\"example_project\", {\n    project: \"example-project\",\n    parentId: main.id,\n});\nconst example = new aiven.OrganizationUserGroup(\"example\", {\n    description: \"Example group of users.\",\n    organizationId: main.id,\n    name: \"Example group\",\n});\nconst projectAdmin = new aiven.OrganizationUserGroupMember(\"project_admin\", {\n    groupId: example.groupId,\n    organizationId: main.id,\n    userId: \"u123a456b7890c\",\n});\nconst exampleOrganizationGroupProject = new aiven.OrganizationGroupProject(\"example\", {\n    groupId: example.groupId,\n    project: exampleProjectAivenProject.project,\n    role: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_project = aiven.Project(\"example_project\",\n    project=\"example-project\",\n    parent_id=main[\"id\"])\nexample = aiven.OrganizationUserGroup(\"example\",\n    description=\"Example group of users.\",\n    organization_id=main[\"id\"],\n    name=\"Example group\")\nproject_admin = aiven.OrganizationUserGroupMember(\"project_admin\",\n    group_id=example.group_id,\n    organization_id=main[\"id\"],\n    user_id=\"u123a456b7890c\")\nexample_organization_group_project = aiven.OrganizationGroupProject(\"example\",\n    group_id=example.group_id,\n    project=example_project_aiven_project[\"project\"],\n    role=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleProject = new Aiven.Project(\"example_project\", new()\n    {\n        ProjectName = \"example-project\",\n        ParentId = main.Id,\n    });\n\n    var example = new Aiven.OrganizationUserGroup(\"example\", new()\n    {\n        Description = \"Example group of users.\",\n        OrganizationId = main.Id,\n        Name = \"Example group\",\n    });\n\n    var projectAdmin = new Aiven.OrganizationUserGroupMember(\"project_admin\", new()\n    {\n        GroupId = example.GroupId,\n        OrganizationId = main.Id,\n        UserId = \"u123a456b7890c\",\n    });\n\n    var exampleOrganizationGroupProject = new Aiven.OrganizationGroupProject(\"example\", new()\n    {\n        GroupId = example.GroupId,\n        Project = exampleProjectAivenProject.Project,\n        Role = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewProject(ctx, \"example_project\", \u0026aiven.ProjectArgs{\n\t\t\tProject:  pulumi.String(\"example-project\"),\n\t\t\tParentId: pulumi.Any(main.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := aiven.NewOrganizationUserGroup(ctx, \"example\", \u0026aiven.OrganizationUserGroupArgs{\n\t\t\tDescription:    pulumi.String(\"Example group of users.\"),\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tName:           pulumi.String(\"Example group\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOrganizationUserGroupMember(ctx, \"project_admin\", \u0026aiven.OrganizationUserGroupMemberArgs{\n\t\t\tGroupId:        example.GroupId,\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tUserId:         pulumi.String(\"u123a456b7890c\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewOrganizationGroupProject(ctx, \"example\", \u0026aiven.OrganizationGroupProjectArgs{\n\t\t\tGroupId: example.GroupId,\n\t\t\tProject: pulumi.Any(exampleProjectAivenProject.Project),\n\t\t\tRole:    pulumi.String(\"admin\"),\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.aiven.Project;\nimport com.pulumi.aiven.ProjectArgs;\nimport com.pulumi.aiven.OrganizationUserGroup;\nimport com.pulumi.aiven.OrganizationUserGroupArgs;\nimport com.pulumi.aiven.OrganizationUserGroupMember;\nimport com.pulumi.aiven.OrganizationUserGroupMemberArgs;\nimport com.pulumi.aiven.OrganizationGroupProject;\nimport com.pulumi.aiven.OrganizationGroupProjectArgs;\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 exampleProject = new Project(\"exampleProject\", ProjectArgs.builder()\n            .project(\"example-project\")\n            .parentId(main.id())\n            .build());\n\n        var example = new OrganizationUserGroup(\"example\", OrganizationUserGroupArgs.builder()\n            .description(\"Example group of users.\")\n            .organizationId(main.id())\n            .name(\"Example group\")\n            .build());\n\n        var projectAdmin = new OrganizationUserGroupMember(\"projectAdmin\", OrganizationUserGroupMemberArgs.builder()\n            .groupId(example.groupId())\n            .organizationId(main.id())\n            .userId(\"u123a456b7890c\")\n            .build());\n\n        var exampleOrganizationGroupProject = new OrganizationGroupProject(\"exampleOrganizationGroupProject\", OrganizationGroupProjectArgs.builder()\n            .groupId(example.groupId())\n            .project(exampleProjectAivenProject.project())\n            .role(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleProject:\n    type: aiven:Project\n    name: example_project\n    properties:\n      project: example-project\n      parentId: ${main.id}\n  example:\n    type: aiven:OrganizationUserGroup\n    properties:\n      description: Example group of users.\n      organizationId: ${main.id}\n      name: Example group\n  projectAdmin:\n    type: aiven:OrganizationUserGroupMember\n    name: project_admin\n    properties:\n      groupId: ${example.groupId}\n      organizationId: ${main.id}\n      userId: u123a456b7890c\n  exampleOrganizationGroupProject:\n    type: aiven:OrganizationGroupProject\n    name: example\n    properties:\n      groupId: ${example.groupId}\n      project: ${exampleProjectAivenProject.project}\n      role: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationGroupProject:OrganizationGroupProject example PROJECT/USER_GROUP_ID\n```\n\n","properties":{"groupId":{"type":"string","description":"The ID of the user group.\n"},"project":{"type":"string","description":"The project that the users in the group are members of.\n"},"role":{"type":"string","description":"[Project-level role](https://aiven.io/docs/platform/reference/project-member-privileges) assigned to all users in the group. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationGroupProjectTimeouts:OrganizationGroupProjectTimeouts"}},"required":["groupId","project","role"],"inputProperties":{"groupId":{"type":"string","description":"The ID of the user group.\n"},"project":{"type":"string","description":"The project that the users in the group are members of.\n"},"role":{"type":"string","description":"[Project-level role](https://aiven.io/docs/platform/reference/project-member-privileges) assigned to all users in the group. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationGroupProjectTimeouts:OrganizationGroupProjectTimeouts"}},"requiredInputs":["groupId","project","role"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationGroupProject resources.\n","properties":{"groupId":{"type":"string","description":"The ID of the user group.\n"},"project":{"type":"string","description":"The project that the users in the group are members of.\n"},"role":{"type":"string","description":"[Project-level role](https://aiven.io/docs/platform/reference/project-member-privileges) assigned to all users in the group. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationGroupProjectTimeouts:OrganizationGroupProjectTimeouts"}},"type":"object"}},"aiven:index/organizationPermission:OrganizationPermission":{"description":"Grants [roles and permissions](https://aiven.io/docs/platform/concepts/permissions) to a principal for a resource. Permissions can be granted at the organization, organizational unit, and project level. Unit-level permissions aren't shown in the Aiven Console. To assign permissions to multiple users and groups on the same combination of organization ID, resource ID and resource type, don't use multiple \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resources. Instead, use multiple permission blocks as in the example usage. **Do not use the \u003cspan pulumi-lang-nodejs=\"`aiven.ProjectUser`\" pulumi-lang-dotnet=\"`aiven.ProjectUser`\" pulumi-lang-go=\"`ProjectUser`\" pulumi-lang-python=\"`ProjectUser`\" pulumi-lang-yaml=\"`aiven.ProjectUser`\" pulumi-lang-java=\"`aiven.ProjectUser`\"\u003e`aiven.ProjectUser`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationGroupProject`\" pulumi-lang-dotnet=\"`aiven.OrganizationGroupProject`\" pulumi-lang-go=\"`OrganizationGroupProject`\" pulumi-lang-python=\"`OrganizationGroupProject`\" pulumi-lang-yaml=\"`aiven.OrganizationGroupProject`\" pulumi-lang-java=\"`aiven.OrganizationGroupProject`\"\u003e`aiven.OrganizationGroupProject`\u003c/span\u003e resources with this resource**. By default, Aiven Terraform Provider validates whether the resource already exists in the Aiven API. This validation prevents you from managing permissions for a specific resource using multiple \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationGroupProject`\" pulumi-lang-dotnet=\"`aiven.OrganizationGroupProject`\" pulumi-lang-go=\"`OrganizationGroupProject`\" pulumi-lang-python=\"`OrganizationGroupProject`\" pulumi-lang-yaml=\"`aiven.OrganizationGroupProject`\" pulumi-lang-java=\"`aiven.OrganizationGroupProject`\"\u003e`aiven.OrganizationGroupProject`\u003c/span\u003e resources, which leads to overwrites and conflicts. In case of a conflict, you can import the resource using the `pulumi import` command to continue managing it. Alternatively, you can disable this validation by setting the `AIVEN_ORGANIZATION_PERMISSION_VALIDATE_CONFLICT` environment variable to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e, which will cause Terraform to override the remote state.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Grant access to a specific project\nconst exampleProjectPermissions = new aiven.OrganizationPermission(\"example_project_permissions\", {\n    organizationId: main.id,\n    resourceId: exampleProject.project,\n    resourceType: \"project\",\n    permissions: [\n        {\n            permissions: [\n                \"operator\",\n                \"service:logs:read\",\n            ],\n            principalId: \"u123a456b7890c\",\n            principalType: \"user\",\n        },\n        {\n            permissions: [\n                \"project:integrations:write\",\n                \"developer\",\n            ],\n            principalId: exampleGroup.groupId,\n            principalType: \"user_group\",\n        },\n    ],\n});\n// Organization-level permissions\nconst exampleOrgPermissions = new aiven.OrganizationPermission(\"example_org_permissions\", {\n    organizationId: main.id,\n    resourceId: main.id,\n    resourceType: \"organization\",\n    permissions: [\n        {\n            permissions: [\n                \"organization:app_users:write\",\n                \"project:audit_logs:read\",\n            ],\n            principalId: \"u123a456b7890c\",\n            principalType: \"user\",\n        },\n        {\n            permissions: [\n                \"organization:users:write\",\n                \"organization:groups:write\",\n                \"organization:domains:write\",\n                \"organization:idps:write\",\n            ],\n            principalId: exampleGroupAivenOrganizationUserGroup.groupId,\n            principalType: \"user_group\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Grant access to a specific project\nexample_project_permissions = aiven.OrganizationPermission(\"example_project_permissions\",\n    organization_id=main[\"id\"],\n    resource_id=example_project[\"project\"],\n    resource_type=\"project\",\n    permissions=[\n        {\n            \"permissions\": [\n                \"operator\",\n                \"service:logs:read\",\n            ],\n            \"principal_id\": \"u123a456b7890c\",\n            \"principal_type\": \"user\",\n        },\n        {\n            \"permissions\": [\n                \"project:integrations:write\",\n                \"developer\",\n            ],\n            \"principal_id\": example_group[\"groupId\"],\n            \"principal_type\": \"user_group\",\n        },\n    ])\n# Organization-level permissions\nexample_org_permissions = aiven.OrganizationPermission(\"example_org_permissions\",\n    organization_id=main[\"id\"],\n    resource_id=main[\"id\"],\n    resource_type=\"organization\",\n    permissions=[\n        {\n            \"permissions\": [\n                \"organization:app_users:write\",\n                \"project:audit_logs:read\",\n            ],\n            \"principal_id\": \"u123a456b7890c\",\n            \"principal_type\": \"user\",\n        },\n        {\n            \"permissions\": [\n                \"organization:users:write\",\n                \"organization:groups:write\",\n                \"organization:domains:write\",\n                \"organization:idps:write\",\n            ],\n            \"principal_id\": example_group_aiven_organization_user_group[\"groupId\"],\n            \"principal_type\": \"user_group\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Grant access to a specific project\n    var exampleProjectPermissions = new Aiven.OrganizationPermission(\"example_project_permissions\", new()\n    {\n        OrganizationId = main.Id,\n        ResourceId = exampleProject.Project,\n        ResourceType = \"project\",\n        Permissions = new[]\n        {\n            new Aiven.Inputs.OrganizationPermissionPermissionArgs\n            {\n                Permissions = new[]\n                {\n                    \"operator\",\n                    \"service:logs:read\",\n                },\n                PrincipalId = \"u123a456b7890c\",\n                PrincipalType = \"user\",\n            },\n            new Aiven.Inputs.OrganizationPermissionPermissionArgs\n            {\n                Permissions = new[]\n                {\n                    \"project:integrations:write\",\n                    \"developer\",\n                },\n                PrincipalId = exampleGroup.GroupId,\n                PrincipalType = \"user_group\",\n            },\n        },\n    });\n\n    // Organization-level permissions\n    var exampleOrgPermissions = new Aiven.OrganizationPermission(\"example_org_permissions\", new()\n    {\n        OrganizationId = main.Id,\n        ResourceId = main.Id,\n        ResourceType = \"organization\",\n        Permissions = new[]\n        {\n            new Aiven.Inputs.OrganizationPermissionPermissionArgs\n            {\n                Permissions = new[]\n                {\n                    \"organization:app_users:write\",\n                    \"project:audit_logs:read\",\n                },\n                PrincipalId = \"u123a456b7890c\",\n                PrincipalType = \"user\",\n            },\n            new Aiven.Inputs.OrganizationPermissionPermissionArgs\n            {\n                Permissions = new[]\n                {\n                    \"organization:users:write\",\n                    \"organization:groups:write\",\n                    \"organization:domains:write\",\n                    \"organization:idps:write\",\n                },\n                PrincipalId = exampleGroupAivenOrganizationUserGroup.GroupId,\n                PrincipalType = \"user_group\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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// Grant access to a specific project\n\t\t_, err := aiven.NewOrganizationPermission(ctx, \"example_project_permissions\", \u0026aiven.OrganizationPermissionArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tResourceId:     pulumi.Any(exampleProject.Project),\n\t\t\tResourceType:   pulumi.String(\"project\"),\n\t\t\tPermissions: aiven.OrganizationPermissionPermissionArray{\n\t\t\t\t\u0026aiven.OrganizationPermissionPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"operator\"),\n\t\t\t\t\t\tpulumi.String(\"service:logs:read\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipalId:   pulumi.String(\"u123a456b7890c\"),\n\t\t\t\t\tPrincipalType: pulumi.String(\"user\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.OrganizationPermissionPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"project:integrations:write\"),\n\t\t\t\t\t\tpulumi.String(\"developer\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipalId:   pulumi.Any(exampleGroup.GroupId),\n\t\t\t\t\tPrincipalType: pulumi.String(\"user_group\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Organization-level permissions\n\t\t_, err = aiven.NewOrganizationPermission(ctx, \"example_org_permissions\", \u0026aiven.OrganizationPermissionArgs{\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tResourceId:     pulumi.Any(main.Id),\n\t\t\tResourceType:   pulumi.String(\"organization\"),\n\t\t\tPermissions: aiven.OrganizationPermissionPermissionArray{\n\t\t\t\t\u0026aiven.OrganizationPermissionPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"organization:app_users:write\"),\n\t\t\t\t\t\tpulumi.String(\"project:audit_logs:read\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipalId:   pulumi.String(\"u123a456b7890c\"),\n\t\t\t\t\tPrincipalType: pulumi.String(\"user\"),\n\t\t\t\t},\n\t\t\t\t\u0026aiven.OrganizationPermissionPermissionArgs{\n\t\t\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"organization:users:write\"),\n\t\t\t\t\t\tpulumi.String(\"organization:groups:write\"),\n\t\t\t\t\t\tpulumi.String(\"organization:domains:write\"),\n\t\t\t\t\t\tpulumi.String(\"organization:idps:write\"),\n\t\t\t\t\t},\n\t\t\t\t\tPrincipalId:   pulumi.Any(exampleGroupAivenOrganizationUserGroup.GroupId),\n\t\t\t\t\tPrincipalType: pulumi.String(\"user_group\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.OrganizationPermission;\nimport com.pulumi.aiven.OrganizationPermissionArgs;\nimport com.pulumi.aiven.inputs.OrganizationPermissionPermissionArgs;\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        // Grant access to a specific project\n        var exampleProjectPermissions = new OrganizationPermission(\"exampleProjectPermissions\", OrganizationPermissionArgs.builder()\n            .organizationId(main.id())\n            .resourceId(exampleProject.project())\n            .resourceType(\"project\")\n            .permissions(            \n                OrganizationPermissionPermissionArgs.builder()\n                    .permissions(                    \n                        \"operator\",\n                        \"service:logs:read\")\n                    .principalId(\"u123a456b7890c\")\n                    .principalType(\"user\")\n                    .build(),\n                OrganizationPermissionPermissionArgs.builder()\n                    .permissions(                    \n                        \"project:integrations:write\",\n                        \"developer\")\n                    .principalId(exampleGroup.groupId())\n                    .principalType(\"user_group\")\n                    .build())\n            .build());\n\n        // Organization-level permissions\n        var exampleOrgPermissions = new OrganizationPermission(\"exampleOrgPermissions\", OrganizationPermissionArgs.builder()\n            .organizationId(main.id())\n            .resourceId(main.id())\n            .resourceType(\"organization\")\n            .permissions(            \n                OrganizationPermissionPermissionArgs.builder()\n                    .permissions(                    \n                        \"organization:app_users:write\",\n                        \"project:audit_logs:read\")\n                    .principalId(\"u123a456b7890c\")\n                    .principalType(\"user\")\n                    .build(),\n                OrganizationPermissionPermissionArgs.builder()\n                    .permissions(                    \n                        \"organization:users:write\",\n                        \"organization:groups:write\",\n                        \"organization:domains:write\",\n                        \"organization:idps:write\")\n                    .principalId(exampleGroupAivenOrganizationUserGroup.groupId())\n                    .principalType(\"user_group\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Grant access to a specific project\n  exampleProjectPermissions:\n    type: aiven:OrganizationPermission\n    name: example_project_permissions\n    properties:\n      organizationId: ${main.id}\n      resourceId: ${exampleProject.project}\n      resourceType: project\n      permissions:\n        - permissions:\n            - operator\n            - service:logs:read\n          principalId: u123a456b7890c\n          principalType: user\n        - permissions:\n            - project:integrations:write\n            - developer\n          principalId: ${exampleGroup.groupId}\n          principalType: user_group\n  # Organization-level permissions\n  exampleOrgPermissions:\n    type: aiven:OrganizationPermission\n    name: example_org_permissions\n    properties:\n      organizationId: ${main.id}\n      resourceId: ${main.id}\n      resourceType: organization\n      permissions:\n        - permissions:\n            - organization:app_users:write\n            - project:audit_logs:read\n          principalId: u123a456b7890c\n          principalType: user\n        - permissions:\n            - organization:users:write\n            - organization:groups:write\n            - organization:domains:write\n            - organization:idps:write\n          principalId: ${exampleGroupAivenOrganizationUserGroup.groupId}\n          principalType: user_group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationPermission:OrganizationPermission example ORGANIZATION_ID/RESOURCE_TYPE/RESOURCE_ID\n```\n\n","properties":{"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationPermissionPermission:OrganizationPermissionPermission"},"description":"Required property. List of roles to set.\n"},"resourceId":{"type":"string","description":"The ID of the organization, unit, or project to grant permissions for. The project ID is the name of the project. Changing this property forces recreation of the resource.\n"},"resourceType":{"type":"string","description":"Resource type. The possible values are \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`organizationUnit`\" pulumi-lang-dotnet=\"`OrganizationUnit`\" pulumi-lang-go=\"`organizationUnit`\" pulumi-lang-python=\"`organization_unit`\" pulumi-lang-yaml=\"`organizationUnit`\" pulumi-lang-java=\"`organizationUnit`\"\u003e`organization_unit`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationPermissionTimeouts:OrganizationPermissionTimeouts"}},"required":["organizationId","permissions","resourceId","resourceType"],"inputProperties":{"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationPermissionPermission:OrganizationPermissionPermission"},"description":"Required property. List of roles to set.\n"},"resourceId":{"type":"string","description":"The ID of the organization, unit, or project to grant permissions for. The project ID is the name of the project. Changing this property forces recreation of the resource.\n"},"resourceType":{"type":"string","description":"Resource type. The possible values are \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`organizationUnit`\" pulumi-lang-dotnet=\"`OrganizationUnit`\" pulumi-lang-go=\"`organizationUnit`\" pulumi-lang-python=\"`organization_unit`\" pulumi-lang-yaml=\"`organizationUnit`\" pulumi-lang-java=\"`organizationUnit`\"\u003e`organization_unit`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationPermissionTimeouts:OrganizationPermissionTimeouts"}},"requiredInputs":["organizationId","permissions","resourceId","resourceType"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationPermission resources.\n","properties":{"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"permissions":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationPermissionPermission:OrganizationPermissionPermission"},"description":"Required property. List of roles to set.\n"},"resourceId":{"type":"string","description":"The ID of the organization, unit, or project to grant permissions for. The project ID is the name of the project. Changing this property forces recreation of the resource.\n"},"resourceType":{"type":"string","description":"Resource type. The possible values are \u003cspan pulumi-lang-nodejs=\"`organization`\" pulumi-lang-dotnet=\"`Organization`\" pulumi-lang-go=\"`organization`\" pulumi-lang-python=\"`organization`\" pulumi-lang-yaml=\"`organization`\" pulumi-lang-java=\"`organization`\"\u003e`organization`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`organizationUnit`\" pulumi-lang-dotnet=\"`OrganizationUnit`\" pulumi-lang-go=\"`organizationUnit`\" pulumi-lang-python=\"`organization_unit`\" pulumi-lang-yaml=\"`organizationUnit`\" pulumi-lang-java=\"`organizationUnit`\"\u003e`organization_unit`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationPermissionTimeouts:OrganizationPermissionTimeouts"}},"type":"object"}},"aiven:index/organizationProject:OrganizationProject":{"description":"Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects).\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationProject:OrganizationProject example ORGANIZATION_ID/PROJECT_ID\n```\n\n","properties":{"basePort":{"type":"integer","description":"Valid port number (10000-30000) to use as a base for service port allocation. Value must be between \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e.\n"},"billingGroupId":{"type":"string","description":"Billing group ID to assign to the project. It's required when moving projects between organizations.\n"},"caCert":{"type":"string","description":"PEM encoded certificate.\n","secret":true},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"projectId":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource. Changing this property forces recreation of the resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationProjectTag:OrganizationProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationProjectTimeouts:OrganizationProjectTimeouts"}},"required":["basePort","billingGroupId","caCert","organizationId","parentId","projectId"],"inputProperties":{"basePort":{"type":"integer","description":"Valid port number (10000-30000) to use as a base for service port allocation. Value must be between \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e.\n"},"billingGroupId":{"type":"string","description":"Billing group ID to assign to the project. It's required when moving projects between organizations.\n"},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"projectId":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource. Changing this property forces recreation of the resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationProjectTag:OrganizationProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationProjectTimeouts:OrganizationProjectTimeouts"}},"requiredInputs":["billingGroupId","organizationId","parentId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationProject resources.\n","properties":{"basePort":{"type":"integer","description":"Valid port number (10000-30000) to use as a base for service port allocation. Value must be between \u003cspan pulumi-lang-nodejs=\"`10000`\" pulumi-lang-dotnet=\"`10000`\" pulumi-lang-go=\"`10000`\" pulumi-lang-python=\"`10000`\" pulumi-lang-yaml=\"`10000`\" pulumi-lang-java=\"`10000`\"\u003e`10000`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`30000`\" pulumi-lang-dotnet=\"`30000`\" pulumi-lang-go=\"`30000`\" pulumi-lang-python=\"`30000`\" pulumi-lang-yaml=\"`30000`\" pulumi-lang-java=\"`30000`\"\u003e`30000`\u003c/span\u003e.\n"},"billingGroupId":{"type":"string","description":"Billing group ID to assign to the project. It's required when moving projects between organizations.\n"},"caCert":{"type":"string","description":"PEM encoded certificate.\n","secret":true},"organizationId":{"type":"string","description":"ID of an organization. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"projectId":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource. Changing this property forces recreation of the resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/OrganizationProjectTag:OrganizationProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationProjectTimeouts:OrganizationProjectTimeouts"}},"type":"object"}},"aiven:index/organizationUser:OrganizationUser":{"description":"Creates and manages an Aiven Organization user.\n\n\u003e **This resource is deprecated**\nUsers cannot be invited to an organization using Terraform.\nUse the Aiven Console to [invite users to your organization](https://aiven.io/docs/platform/howto/manage-org-users).\nAfter the user accepts the invite you can get their information using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUser`\" pulumi-lang-dotnet=\"`aiven.OrganizationUser`\" pulumi-lang-go=\"`OrganizationUser`\" pulumi-lang-python=\"`OrganizationUser`\" pulumi-lang-yaml=\"`aiven.OrganizationUser`\" pulumi-lang-java=\"`aiven.OrganizationUser`\"\u003e`aiven.OrganizationUser`\u003c/span\u003e data source. You can manage\nuser access to projects with the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUserGroup`\" pulumi-lang-dotnet=\"`aiven.OrganizationUserGroup`\" pulumi-lang-go=\"`OrganizationUserGroup`\" pulumi-lang-python=\"`OrganizationUserGroup`\" pulumi-lang-yaml=\"`aiven.OrganizationUserGroup`\" pulumi-lang-java=\"`aiven.OrganizationUserGroup`\"\u003e`aiven.OrganizationUserGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-dotnet=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-go=\"`OrganizationUserGroupMember`\" pulumi-lang-python=\"`OrganizationUserGroupMember`\" pulumi-lang-yaml=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-java=\"`aiven.OrganizationUserGroupMember`\"\u003e`aiven.OrganizationUserGroupMember`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resources.\n","properties":{"accepted":{"type":"boolean","description":"This is a boolean flag that determines whether an invitation was accepted or not by the user. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e value means that the invitation was sent to the user but not yet accepted. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means that the user accepted the invitation and now a member of an organization.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"createTime":{"type":"string","description":"Time of creation\n"},"invitedBy":{"type":"string","description":"The email address of the user who sent an invitation to the user.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"organizationId":{"type":"string","description":"The unique organization ID. Changing this property forces recreation of the resource.\n"},"userEmail":{"type":"string","description":"This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.\n"},"userId":{"type":"string","description":"The unique organization user ID\n"}},"required":["accepted","createTime","invitedBy","organizationId","userEmail","userId"],"inputProperties":{"organizationId":{"type":"string","description":"The unique organization ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userEmail":{"type":"string","description":"This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["organizationId","userEmail"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationUser resources.\n","properties":{"accepted":{"type":"boolean","description":"This is a boolean flag that determines whether an invitation was accepted or not by the user. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e value means that the invitation was sent to the user but not yet accepted. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means that the user accepted the invitation and now a member of an organization.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"createTime":{"type":"string","description":"Time of creation\n"},"invitedBy":{"type":"string","description":"The email address of the user who sent an invitation to the user.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."},"organizationId":{"type":"string","description":"The unique organization ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userEmail":{"type":"string","description":"This is a user email address that first will be invited, and after accepting an invitation, they become a member of the organization. Should be lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"The unique organization user ID\n"}},"type":"object"}},"aiven:index/organizationUserGroup:OrganizationUserGroup":{"description":"Creates and manages a [user group](https://aiven.io/docs/platform/howto/list-groups) in an organization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = new aiven.OrganizationUserGroup(\"example\", {\n    description: \"Example group of users.\",\n    organizationId: main.id,\n    name: \"Example group\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.OrganizationUserGroup(\"example\",\n    description=\"Example group of users.\",\n    organization_id=main[\"id\"],\n    name=\"Example group\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Aiven.OrganizationUserGroup(\"example\", new()\n    {\n        Description = \"Example group of users.\",\n        OrganizationId = main.Id,\n        Name = \"Example group\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOrganizationUserGroup(ctx, \"example\", \u0026aiven.OrganizationUserGroupArgs{\n\t\t\tDescription:    pulumi.String(\"Example group of users.\"),\n\t\t\tOrganizationId: pulumi.Any(main.Id),\n\t\t\tName:           pulumi.String(\"Example group\"),\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.aiven.OrganizationUserGroup;\nimport com.pulumi.aiven.OrganizationUserGroupArgs;\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 OrganizationUserGroup(\"example\", OrganizationUserGroupArgs.builder()\n            .description(\"Example group of users.\")\n            .organizationId(main.id())\n            .name(\"Example group\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: aiven:OrganizationUserGroup\n    properties:\n      description: Example group of users.\n      organizationId: ${main.id}\n      name: Example group\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationUserGroup:OrganizationUserGroup example ORGANIZATION_ID/USER_GROUP_ID\n```\n\n","properties":{"createTime":{"type":"string","description":"Time of creation.\n"},"description":{"type":"string","description":"The description of the user group. Changing this property forces recreation of the resource.\n"},"groupId":{"type":"string","description":"The ID of the user group.\n"},"name":{"type":"string","description":"The name of the user group. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"The ID of the organization. Changing this property forces recreation of the resource.\n"},"updateTime":{"type":"string","description":"Time of last update.\n"}},"required":["createTime","description","groupId","name","organizationId","updateTime"],"inputProperties":{"description":{"type":"string","description":"The description of the user group. Changing this property forces recreation of the resource.\n"},"name":{"type":"string","description":"The name of the user group. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["description","organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationUserGroup resources.\n","properties":{"createTime":{"type":"string","description":"Time of creation.\n"},"description":{"type":"string","description":"The description of the user group. Changing this property forces recreation of the resource.\n"},"groupId":{"type":"string","description":"The ID of the user group.\n"},"name":{"type":"string","description":"The name of the user group. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"updateTime":{"type":"string","description":"Time of last update.\n"}},"type":"object"}},"aiven:index/organizationUserGroupMember:OrganizationUserGroupMember":{"description":"Adds and manages users in a user group. You can add organization users and application users to groups. Organization users must be [managed in the Aiven Console](https://aiven.io/docs/platform/howto/manage-org-users). Application users can be created and managed using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationApplicationUser`\" pulumi-lang-dotnet=\"`aiven.OrganizationApplicationUser`\" pulumi-lang-go=\"`OrganizationApplicationUser`\" pulumi-lang-python=\"`OrganizationApplicationUser`\" pulumi-lang-yaml=\"`aiven.OrganizationApplicationUser`\" pulumi-lang-java=\"`aiven.OrganizationApplicationUser`\"\u003e`aiven.OrganizationApplicationUser`\u003c/span\u003e resource. Groups are granted roles and permissions using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationUserGroupMember:OrganizationUserGroupMember example ORGANIZATION_ID/GROUP_ID/USER_ID\n```\n\n","properties":{"groupId":{"type":"string","description":"ID of the user group. Changing this property forces recreation of the resource.\n"},"lastActivityTime":{"type":"string","description":"Last Activity Time.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationUserGroupMemberTimeouts:OrganizationUserGroupMemberTimeouts"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"required":["groupId","lastActivityTime","organizationId","userId"],"inputProperties":{"groupId":{"type":"string","description":"ID of the user group. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationUserGroupMemberTimeouts:OrganizationUserGroupMemberTimeouts"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"requiredInputs":["groupId","organizationId","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationUserGroupMember resources.\n","properties":{"groupId":{"type":"string","description":"ID of the user group. Changing this property forces recreation of the resource.\n"},"lastActivityTime":{"type":"string","description":"Last Activity Time.\n"},"organizationId":{"type":"string","description":"ID of an organization. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationUserGroupMemberTimeouts:OrganizationUserGroupMemberTimeouts"},"userId":{"type":"string","description":"User ID. Changing this property forces recreation of the resource.\n"}},"type":"object"}},"aiven:index/organizationVpc:OrganizationVpc":{"description":"Creates and manages a VPC for an Aiven organization.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.OrganizationVpc(\"example_vpc\", {\n    organizationId: example.id,\n    cloudName: \"aws-eu-central-1\",\n    networkCidr: \"10.0.0.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.OrganizationVpc(\"example_vpc\",\n    organization_id=example[\"id\"],\n    cloud_name=\"aws-eu-central-1\",\n    network_cidr=\"10.0.0.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.OrganizationVpc(\"example_vpc\", new()\n    {\n        OrganizationId = example.Id,\n        CloudName = \"aws-eu-central-1\",\n        NetworkCidr = \"10.0.0.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOrganizationVpc(ctx, \"example_vpc\", \u0026aiven.OrganizationVpcArgs{\n\t\t\tOrganizationId: pulumi.Any(example.Id),\n\t\t\tCloudName:      pulumi.String(\"aws-eu-central-1\"),\n\t\t\tNetworkCidr:    pulumi.String(\"10.0.0.0/24\"),\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.aiven.OrganizationVpc;\nimport com.pulumi.aiven.OrganizationVpcArgs;\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 exampleVpc = new OrganizationVpc(\"exampleVpc\", OrganizationVpcArgs.builder()\n            .organizationId(example.id())\n            .cloudName(\"aws-eu-central-1\")\n            .networkCidr(\"10.0.0.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:OrganizationVpc\n    name: example_vpc\n    properties:\n      organizationId: ${example.id}\n      cloudName: aws-eu-central-1\n      networkCidr: 10.0.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationVpc:OrganizationVpc example ORGANIZATION_ID/ORGANIZATION_VPC_ID\n```\n\n","properties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n"},"createTime":{"type":"string","description":"Time of creation of the VPC.\n"},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n"},"organizationId":{"type":"string","description":"The ID of the organization.\n"},"organizationVpcId":{"type":"string","description":"The ID of the Aiven Organization VPC.\n"},"state":{"type":"string","description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n"},"updateTime":{"type":"string","description":"Time of the last update of the VPC.\n"}},"required":["cloudName","createTime","networkCidr","organizationId","organizationVpcId","state","updateTime"],"inputProperties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization.\n","willReplaceOnChanges":true}},"requiredInputs":["cloudName","networkCidr","organizationId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationVpc resources.\n","properties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"createTime":{"type":"string","description":"Time of creation of the VPC.\n"},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","willReplaceOnChanges":true},"organizationId":{"type":"string","description":"The ID of the organization.\n","willReplaceOnChanges":true},"organizationVpcId":{"type":"string","description":"The ID of the Aiven Organization VPC.\n"},"state":{"type":"string","description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n"},"updateTime":{"type":"string","description":"Time of the last update of the VPC.\n"}},"type":"object"}},"aiven:index/organizationalUnit:OrganizationalUnit":{"description":"Creates and manages an [organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) in an Aiven organization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUnit = new aiven.OrganizationalUnit(\"example_unit\", {\n    name: \"Example organizational unit\",\n    parentId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_unit = aiven.OrganizationalUnit(\"example_unit\",\n    name=\"Example organizational unit\",\n    parent_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUnit = new Aiven.OrganizationalUnit(\"example_unit\", new()\n    {\n        Name = \"Example organizational unit\",\n        ParentId = main.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewOrganizationalUnit(ctx, \"example_unit\", \u0026aiven.OrganizationalUnitArgs{\n\t\t\tName:     pulumi.String(\"Example organizational unit\"),\n\t\t\tParentId: pulumi.Any(main.Id),\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.aiven.OrganizationalUnit;\nimport com.pulumi.aiven.OrganizationalUnitArgs;\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 exampleUnit = new OrganizationalUnit(\"exampleUnit\", OrganizationalUnitArgs.builder()\n            .name(\"Example organizational unit\")\n            .parentId(main.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUnit:\n    type: aiven:OrganizationalUnit\n    name: example_unit\n    properties:\n      name: Example organizational unit\n      parentId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/organizationalUnit:OrganizationalUnit example ORGANIZATIONAL_UNIT_ID\n```\n\n","properties":{"createTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"},"name":{"type":"string","description":"The name of the organizational unit. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"The ID of the organization that the unit is created in. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"Tenant identifier.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationalUnitTimeouts:OrganizationalUnitTimeouts"},"updateTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"}},"required":["createTime","name","parentId","tenantId","updateTime"],"inputProperties":{"name":{"type":"string","description":"The name of the organizational unit. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"The ID of the organization that the unit is created in. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationalUnitTimeouts:OrganizationalUnitTimeouts"}},"requiredInputs":["parentId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrganizationalUnit resources.\n","properties":{"createTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"},"name":{"type":"string","description":"The name of the organizational unit. Maximum length: \u003cspan pulumi-lang-nodejs=\"`83`\" pulumi-lang-dotnet=\"`83`\" pulumi-lang-go=\"`83`\" pulumi-lang-python=\"`83`\" pulumi-lang-yaml=\"`83`\" pulumi-lang-java=\"`83`\"\u003e`83`\u003c/span\u003e.\n"},"parentId":{"type":"string","description":"The ID of the organization that the unit is created in. Maximum length: \u003cspan pulumi-lang-nodejs=\"`36`\" pulumi-lang-dotnet=\"`36`\" pulumi-lang-go=\"`36`\" pulumi-lang-python=\"`36`\" pulumi-lang-yaml=\"`36`\" pulumi-lang-java=\"`36`\"\u003e`36`\u003c/span\u003e.\n"},"tenantId":{"type":"string","description":"Tenant identifier.\n"},"timeouts":{"$ref":"#/types/aiven:index/OrganizationalUnitTimeouts:OrganizationalUnitTimeouts"},"updateTime":{"type":"string","description":"Timestamp in ISO 8601 format, always in UTC.\n"}},"type":"object"}},"aiven:index/pg:Pg":{"description":"Creates and manages an Aiven for PostgreSQL® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\nimport * as std from \"@pulumi/std\";\n\nconst examplePostgres = new aiven.Pg(\"example_postgres\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    plan: \"startup-4\",\n    serviceName: \"example-postgres-service\",\n    maintenanceWindowDow: \"monday\",\n    maintenanceWindowTime: \"10:00:00\",\n    staticIps: std.index.toset({\n        input: [\n            ips[0].staticIpAddressId,\n            ips[1].staticIpAddressId,\n            ips[2].staticIpAddressId,\n            ips[3].staticIpAddressId,\n        ],\n    }).result,\n    pgUserConfig: {\n        staticIps: true,\n        publicAccess: {\n            pg: true,\n            prometheus: false,\n        },\n        pg: {\n            idleInTransactionSessionTimeout: 900,\n            logMinDurationStatement: -1,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\nimport pulumi_std as std\n\nexample_postgres = aiven.Pg(\"example_postgres\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    plan=\"startup-4\",\n    service_name=\"example-postgres-service\",\n    maintenance_window_dow=\"monday\",\n    maintenance_window_time=\"10:00:00\",\n    static_ips=std.index.toset(input=[\n        ips[0][\"staticIpAddressId\"],\n        ips[1][\"staticIpAddressId\"],\n        ips[2][\"staticIpAddressId\"],\n        ips[3][\"staticIpAddressId\"],\n    ])[\"result\"],\n    pg_user_config={\n        \"static_ips\": True,\n        \"public_access\": {\n            \"pg\": True,\n            \"prometheus\": False,\n        },\n        \"pg\": {\n            \"idle_in_transaction_session_timeout\": 900,\n            \"log_min_duration_statement\": -1,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePostgres = new Aiven.Pg(\"example_postgres\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        Plan = \"startup-4\",\n        ServiceName = \"example-postgres-service\",\n        MaintenanceWindowDow = \"monday\",\n        MaintenanceWindowTime = \"10:00:00\",\n        StaticIps = Std.Index.Toset.Invoke(new()\n        {\n            Input = new[]\n            {\n                ips[0].StaticIpAddressId,\n                ips[1].StaticIpAddressId,\n                ips[2].StaticIpAddressId,\n                ips[3].StaticIpAddressId,\n            },\n        }).Result,\n        PgUserConfig = new Aiven.Inputs.PgPgUserConfigArgs\n        {\n            StaticIps = true,\n            PublicAccess = new Aiven.Inputs.PgPgUserConfigPublicAccessArgs\n            {\n                Pg = true,\n                Prometheus = false,\n            },\n            Pg = new Aiven.Inputs.PgPgUserConfigPgArgs\n            {\n                IdleInTransactionSessionTimeout = 900,\n                LogMinDurationStatement = -1,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi-std/sdk/go/std\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tinvokeToset, err := std.Toset(ctx, map[string]interface{}{\n\t\t\t\"input\": []interface{}{\n\t\t\t\tips[0].StaticIpAddressId,\n\t\t\t\tips[1].StaticIpAddressId,\n\t\t\t\tips[2].StaticIpAddressId,\n\t\t\t\tips[3].StaticIpAddressId,\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewPg(ctx, \"example_postgres\", \u0026aiven.PgArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:             pulumi.String(\"google-europe-west1\"),\n\t\t\tPlan:                  pulumi.String(\"startup-4\"),\n\t\t\tServiceName:           pulumi.String(\"example-postgres-service\"),\n\t\t\tMaintenanceWindowDow:  pulumi.String(\"monday\"),\n\t\t\tMaintenanceWindowTime: pulumi.String(\"10:00:00\"),\n\t\t\tStaticIps:             []pulumi.String(invokeToset.Result),\n\t\t\tPgUserConfig: \u0026aiven.PgPgUserConfigArgs{\n\t\t\t\tStaticIps: pulumi.Bool(true),\n\t\t\t\tPublicAccess: \u0026aiven.PgPgUserConfigPublicAccessArgs{\n\t\t\t\t\tPg:         pulumi.Bool(true),\n\t\t\t\t\tPrometheus: pulumi.Bool(false),\n\t\t\t\t},\n\t\t\t\tPg: \u0026aiven.PgPgUserConfigPgArgs{\n\t\t\t\t\tIdleInTransactionSessionTimeout: pulumi.Int(900),\n\t\t\t\t\tLogMinDurationStatement:         pulumi.Int(-1),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.Pg;\nimport com.pulumi.aiven.PgArgs;\nimport com.pulumi.aiven.inputs.PgPgUserConfigArgs;\nimport com.pulumi.aiven.inputs.PgPgUserConfigPublicAccessArgs;\nimport com.pulumi.aiven.inputs.PgPgUserConfigPgArgs;\nimport com.pulumi.std.StdFunctions;\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 examplePostgres = new Pg(\"examplePostgres\", PgArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .plan(\"startup-4\")\n            .serviceName(\"example-postgres-service\")\n            .maintenanceWindowDow(\"monday\")\n            .maintenanceWindowTime(\"10:00:00\")\n            .staticIps(StdFunctions.toset(Map.of(\"input\",             \n                ips[0].staticIpAddressId(),\n                ips[1].staticIpAddressId(),\n                ips[2].staticIpAddressId(),\n                ips[3].staticIpAddressId())).result())\n            .pgUserConfig(PgPgUserConfigArgs.builder()\n                .staticIps(true)\n                .publicAccess(PgPgUserConfigPublicAccessArgs.builder()\n                    .pg(true)\n                    .prometheus(false)\n                    .build())\n                .pg(PgPgUserConfigPgArgs.builder()\n                    .idleInTransactionSessionTimeout(900)\n                    .logMinDurationStatement(-1)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  examplePostgres:\n    type: aiven:Pg\n    name: example_postgres\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      plan: startup-4\n      serviceName: example-postgres-service\n      maintenanceWindowDow: monday\n      maintenanceWindowTime: 10:00:00\n      staticIps:\n        fn::invoke:\n          function: std:toset\n          arguments:\n            input:\n              - ${ips[0].staticIpAddressId}\n              - ${ips[1].staticIpAddressId}\n              - ${ips[2].staticIpAddressId}\n              - ${ips[3].staticIpAddressId}\n          return: result\n      pgUserConfig:\n        staticIps: true\n        publicAccess:\n          pg: true\n          prometheus: false\n        pg:\n          idleInTransactionSessionTimeout: 900\n          logMinDurationStatement: -1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/pg:Pg example_postgres PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/PgComponent:PgComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"pg":{"$ref":"#/types/aiven:index/PgPg:PgPg","description":"Values provided by the PostgreSQL server.\n","language":{"csharp":{"name":"PgServer"}},"secret":true},"pgUserConfig":{"$ref":"#/types/aiven:index/PgPgUserConfig:PgPgUserConfig","description":"Pg user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/PgServiceIntegration:PgServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTag:PgTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTechEmail:PgTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","pg","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"pg":{"$ref":"#/types/aiven:index/PgPg:PgPg","description":"Values provided by the PostgreSQL server.\n","language":{"csharp":{"name":"PgServer"}},"secret":true},"pgUserConfig":{"$ref":"#/types/aiven:index/PgPgUserConfig:PgPgUserConfig","description":"Pg user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/PgServiceIntegration:PgServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTag:PgTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTechEmail:PgTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"requiredInputs":["plan","project"],"stateInputs":{"description":"Input properties used for looking up and filtering Pg resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/PgComponent:PgComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"pg":{"$ref":"#/types/aiven:index/PgPg:PgPg","description":"Values provided by the PostgreSQL server.\n","language":{"csharp":{"name":"PgServer"}},"secret":true},"pgUserConfig":{"$ref":"#/types/aiven:index/PgPgUserConfig:PgPgUserConfig","description":"Pg user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/PgServiceIntegration:PgServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTag:PgTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/PgTechEmail:PgTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"}},"type":"object"}},"aiven:index/pgDatabase:PgDatabase":{"description":"Creates and manages an [Aiven for PostgreSQL®](https://aiven.io/docs/products/postgresql) database. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = new aiven.PgDatabase(\"main\", {\n    project: exampleProject.project,\n    serviceName: examplePostgres.serviceName,\n    databaseName: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.PgDatabase(\"main\",\n    project=example_project[\"project\"],\n    service_name=example_postgres[\"serviceName\"],\n    database_name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = new Aiven.PgDatabase(\"main\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = examplePostgres.ServiceName,\n        DatabaseName = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewPgDatabase(ctx, \"main\", \u0026aiven.PgDatabaseArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tServiceName:  pulumi.Any(examplePostgres.ServiceName),\n\t\t\tDatabaseName: pulumi.String(\"example-database\"),\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.aiven.PgDatabase;\nimport com.pulumi.aiven.PgDatabaseArgs;\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 main = new PgDatabase(\"main\", PgDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(examplePostgres.serviceName())\n            .databaseName(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  main:\n    type: aiven:PgDatabase\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${examplePostgres.serviceName}\n      databaseName: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/pgDatabase:PgDatabase example PROJECT/SERVICE_NAME/DATABASE_NAME\n```\n\n","properties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/PgDatabaseTimeouts:PgDatabaseTimeouts"}},"required":["databaseName","lcCollate","lcCtype","project","serviceName","terminationProtection"],"inputProperties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/PgDatabaseTimeouts:PgDatabaseTimeouts"}},"requiredInputs":["databaseName","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering PgDatabase resources.\n","properties":{"databaseName":{"type":"string","description":"Service database name. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"lcCollate":{"type":"string","description":"Default string sort order (`LC_COLLATE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"lcCtype":{"type":"string","description":"Default character classification (`LC_CTYPE`) of the database. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e. The default value is `en_US.UTF-8`. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Service name. Changing this property forces recreation of the resource.\n"},"terminationProtection":{"type":"boolean","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)"},"timeouts":{"$ref":"#/types/aiven:index/PgDatabaseTimeouts:PgDatabaseTimeouts"}},"type":"object"}},"aiven:index/pgUser:PgUser":{"description":"Creates and manages an Aiven for PostgreSQL® service user. If this resource is missing (for example, after a service power off), it's removed from the state and a new create plan is generated.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUser = new aiven.PgUser(\"example_user\", {\n    serviceName: examplePostgres.serviceName,\n    project: exampleProject.project,\n    username: \"example-service-user\",\n    password: serviceUserPassword,\n});\n// Each service has a default admin user with the username avnadmin.\nconst adminUser = new aiven.PgUser(\"admin_user\", {\n    serviceName: examplePostgres.serviceName,\n    project: exampleProject.project,\n    username: \"avnadmin\",\n    password: serviceUserPassword,\n    pgAllowReplication: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_user = aiven.PgUser(\"example_user\",\n    service_name=example_postgres[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-service-user\",\n    password=service_user_password)\n# Each service has a default admin user with the username avnadmin.\nadmin_user = aiven.PgUser(\"admin_user\",\n    service_name=example_postgres[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"avnadmin\",\n    password=service_user_password,\n    pg_allow_replication=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = new Aiven.PgUser(\"example_user\", new()\n    {\n        ServiceName = examplePostgres.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-service-user\",\n        Password = serviceUserPassword,\n    });\n\n    // Each service has a default admin user with the username avnadmin.\n    var adminUser = new Aiven.PgUser(\"admin_user\", new()\n    {\n        ServiceName = examplePostgres.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"avnadmin\",\n        Password = serviceUserPassword,\n        PgAllowReplication = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewPgUser(ctx, \"example_user\", \u0026aiven.PgUserArgs{\n\t\t\tServiceName: pulumi.Any(examplePostgres.ServiceName),\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tUsername:    pulumi.String(\"example-service-user\"),\n\t\t\tPassword:    pulumi.Any(serviceUserPassword),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Each service has a default admin user with the username avnadmin.\n\t\t_, err = aiven.NewPgUser(ctx, \"admin_user\", \u0026aiven.PgUserArgs{\n\t\t\tServiceName:        pulumi.Any(examplePostgres.ServiceName),\n\t\t\tProject:            pulumi.Any(exampleProject.Project),\n\t\t\tUsername:           pulumi.String(\"avnadmin\"),\n\t\t\tPassword:           pulumi.Any(serviceUserPassword),\n\t\t\tPgAllowReplication: 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.aiven.PgUser;\nimport com.pulumi.aiven.PgUserArgs;\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 exampleUser = new PgUser(\"exampleUser\", PgUserArgs.builder()\n            .serviceName(examplePostgres.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-service-user\")\n            .password(serviceUserPassword)\n            .build());\n\n        // Each service has a default admin user with the username avnadmin.\n        var adminUser = new PgUser(\"adminUser\", PgUserArgs.builder()\n            .serviceName(examplePostgres.serviceName())\n            .project(exampleProject.project())\n            .username(\"avnadmin\")\n            .password(serviceUserPassword)\n            .pgAllowReplication(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleUser:\n    type: aiven:PgUser\n    name: example_user\n    properties:\n      serviceName: ${examplePostgres.serviceName}\n      project: ${exampleProject.project}\n      username: example-service-user\n      password: ${serviceUserPassword}\n  # Each service has a default admin user with the username avnadmin.\n  adminUser:\n    type: aiven:PgUser\n    name: admin_user\n    properties:\n      serviceName: ${examplePostgres.serviceName}\n      project: ${exampleProject.project}\n      username: avnadmin\n      password: ${serviceUserPassword}\n      pgAllowReplication: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/pgUser:PgUser example PROJECT/SERVICE_NAME/USERNAME\n```\n\n","properties":{"accessCert":{"type":"string","description":"Access certificate for TLS client authentication.","secret":true},"accessKey":{"type":"string","description":"Access key for TLS client authentication.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/PgUserTimeouts:PgUserTimeouts"},"type":{"type":"string","description":"The service user account type, either primary or regular."},"username":{"type":"string","description":"The name of the service user for this service. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"required":["accessCert","accessKey","password","pgAllowReplication","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/PgUserTimeouts:PgUserTimeouts"},"username":{"type":"string","description":"The name of the service user for this service. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering PgUser resources.\n","properties":{"accessCert":{"type":"string","description":"Access certificate for TLS client authentication.","secret":true},"accessKey":{"type":"string","description":"Access key for TLS client authentication.","secret":true},"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. The field conflicts with \u003cspan pulumi-lang-nodejs=\"`password`\" pulumi-lang-dotnet=\"`Password`\" pulumi-lang-go=\"`password`\" pulumi-lang-python=\"`password`\" pulumi-lang-yaml=\"`password`\" pulumi-lang-java=\"`password`\"\u003e`password`\u003c/span\u003e. Value must be between \u003cspan pulumi-lang-nodejs=\"`8`\" pulumi-lang-dotnet=\"`8`\" pulumi-lang-go=\"`8`\" pulumi-lang-python=\"`8`\" pulumi-lang-yaml=\"`8`\" pulumi-lang-java=\"`8`\"\u003e`8`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`256`\" pulumi-lang-dotnet=\"`256`\" pulumi-lang-go=\"`256`\" pulumi-lang-python=\"`256`\" pulumi-lang-yaml=\"`256`\" pulumi-lang-java=\"`256`\"\u003e`256`\u003c/span\u003e.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. The field is required with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Minimum value: \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e."},"pgAllowReplication":{"type":"boolean","description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e."},"project":{"type":"string","description":"Project name. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service. Changing this property forces recreation of the resource.\n"},"timeouts":{"$ref":"#/types/aiven:index/PgUserTimeouts:PgUserTimeouts"},"type":{"type":"string","description":"The service user account type, either primary or regular."},"username":{"type":"string","description":"The name of the service user for this service. Maximum length: \u003cspan pulumi-lang-nodejs=\"`64`\" pulumi-lang-dotnet=\"`64`\" pulumi-lang-go=\"`64`\" pulumi-lang-python=\"`64`\" pulumi-lang-yaml=\"`64`\" pulumi-lang-java=\"`64`\"\u003e`64`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"}},"type":"object"}},"aiven:index/project:Project":{"description":"Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects). You should create projects in organizations or organizational units using the \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e field. In a future release, this resource will be replaced by \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationProject`\" pulumi-lang-dotnet=\"`aiven.OrganizationProject`\" pulumi-lang-go=\"`OrganizationProject`\" pulumi-lang-python=\"`OrganizationProject`\" pulumi-lang-yaml=\"`aiven.OrganizationProject`\" pulumi-lang-java=\"`aiven.OrganizationProject`\"\u003e`aiven.OrganizationProject`\u003c/span\u003e resource, which requires the \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e field.\n\n## Import\n\n```sh\n$ pulumi import aiven:index/project:Project example_project PROJECT\n```\n\n","properties":{"accountId":{"type":"string","description":"Link a project to an existing account using its account ID. This field is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. To set up proper dependencies please refer to this variable as a reference.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003einstead. This field will be removed in the next major release."},"addAccountOwnersAdminAccess":{"type":"boolean","description":"If\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003eis set, grant account owner team admin access to the new project. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest."},"availableCredits":{"type":"string","description":"The number of trial or promotional credits remaining for this project.\n"},"billingGroup":{"type":"string","description":"The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference.\n"},"caCert":{"type":"string","description":"The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka.\n","secret":true},"copyFromProject":{"type":"string","description":"The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference.\n"},"defaultCloud":{"type":"string","description":"Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services.\n"},"estimatedBalance":{"type":"string","description":"The monthly running estimate for this project for the current billing period.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"paymentMethod":{"type":"string","description":"The payment type used for this project. For example,\u003cspan pulumi-lang-nodejs=\"`card`\" pulumi-lang-dotnet=\"`Card`\" pulumi-lang-go=\"`card`\" pulumi-lang-python=\"`card`\" pulumi-lang-yaml=\"`card`\" pulumi-lang-java=\"`card`\"\u003e`card`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources.\n","language":{"csharp":{"name":"ProjectName"}}},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ProjectTag:ProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"useSourceProjectBillingGroup":{"type":"boolean","description":"Use the same billing group that is used in source project.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."}},"required":["accountId","availableCredits","caCert","estimatedBalance","paymentMethod","project"],"inputProperties":{"accountId":{"type":"string","description":"Link a project to an existing account using its account ID. This field is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. To set up proper dependencies please refer to this variable as a reference.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003einstead. This field will be removed in the next major release."},"addAccountOwnersAdminAccess":{"type":"boolean","description":"If\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003eis set, grant account owner team admin access to the new project. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest."},"billingGroup":{"type":"string","description":"The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference.\n"},"copyFromProject":{"type":"string","description":"The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference.\n"},"defaultCloud":{"type":"string","description":"Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"project":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources.\n","language":{"csharp":{"name":"ProjectName"}}},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ProjectTag:ProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"useSourceProjectBillingGroup":{"type":"boolean","description":"Use the same billing group that is used in source project.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."}},"requiredInputs":["project"],"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"accountId":{"type":"string","description":"Link a project to an existing account using its account ID. This field is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. To set up proper dependencies please refer to this variable as a reference.\n","deprecationMessage":"Use\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003einstead. This field will be removed in the next major release."},"addAccountOwnersAdminAccess":{"type":"boolean","description":"If\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003eis set, grant account owner team admin access to the new project. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release. Currently, it will always be set to true, regardless of the value set in the manifest."},"availableCredits":{"type":"string","description":"The number of trial or promotional credits remaining for this project.\n"},"billingGroup":{"type":"string","description":"The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference.\n"},"caCert":{"type":"string","description":"The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka.\n","secret":true},"copyFromProject":{"type":"string","description":"The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference.\n"},"defaultCloud":{"type":"string","description":"Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services.\n"},"estimatedBalance":{"type":"string","description":"The monthly running estimate for this project for the current billing period.\n"},"parentId":{"type":"string","description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n"},"paymentMethod":{"type":"string","description":"The payment type used for this project. For example,\u003cspan pulumi-lang-nodejs=\"`card`\" pulumi-lang-dotnet=\"`Card`\" pulumi-lang-go=\"`card`\" pulumi-lang-python=\"`card`\" pulumi-lang-yaml=\"`card`\" pulumi-lang-java=\"`card`\"\u003e`card`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources.\n","language":{"csharp":{"name":"ProjectName"}}},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ProjectTag:ProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"technicalEmails":{"type":"array","items":{"type":"string"},"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n"},"useSourceProjectBillingGroup":{"type":"boolean","description":"Use the same billing group that is used in source project.\n","deprecationMessage":"This field is deprecated and will be removed in the next major release."}},"type":"object"}},"aiven:index/projectUser:ProjectUser":{"description":"Creates and manages an Aiven project member.\n\n\u003e **This resource is deprecated**\nUse \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e instead and\nmigrate existing \u003cspan pulumi-lang-nodejs=\"`aiven.ProjectUser`\" pulumi-lang-dotnet=\"`aiven.ProjectUser`\" pulumi-lang-go=\"`ProjectUser`\" pulumi-lang-python=\"`ProjectUser`\" pulumi-lang-yaml=\"`aiven.ProjectUser`\" pulumi-lang-java=\"`aiven.ProjectUser`\"\u003e`aiven.ProjectUser`\u003c/span\u003e resources\nto the new resource. **Do not use the \u003cspan pulumi-lang-nodejs=\"`aiven.ProjectUser`\" pulumi-lang-dotnet=\"`aiven.ProjectUser`\" pulumi-lang-go=\"`ProjectUser`\" pulumi-lang-python=\"`ProjectUser`\" pulumi-lang-yaml=\"`aiven.ProjectUser`\" pulumi-lang-java=\"`aiven.ProjectUser`\"\u003e`aiven.ProjectUser`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resources together**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst mytestuser = new aiven.ProjectUser(\"mytestuser\", {\n    project: myproject.project,\n    email: \"john.doe@example.com\",\n    memberType: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmytestuser = aiven.ProjectUser(\"mytestuser\",\n    project=myproject[\"project\"],\n    email=\"john.doe@example.com\",\n    member_type=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mytestuser = new Aiven.ProjectUser(\"mytestuser\", new()\n    {\n        Project = myproject.Project,\n        Email = \"john.doe@example.com\",\n        MemberType = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewProjectUser(ctx, \"mytestuser\", \u0026aiven.ProjectUserArgs{\n\t\t\tProject:    pulumi.Any(myproject.Project),\n\t\t\tEmail:      pulumi.String(\"john.doe@example.com\"),\n\t\t\tMemberType: pulumi.String(\"admin\"),\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.aiven.ProjectUser;\nimport com.pulumi.aiven.ProjectUserArgs;\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 mytestuser = new ProjectUser(\"mytestuser\", ProjectUserArgs.builder()\n            .project(myproject.project())\n            .email(\"john.doe@example.com\")\n            .memberType(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  mytestuser:\n    type: aiven:ProjectUser\n    properties:\n      project: ${myproject.project}\n      email: john.doe@example.com\n      memberType: admin\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/projectUser:ProjectUser mytestuser PROJECT/EMAIL\n```\n\n","properties":{"accepted":{"type":"boolean","description":"Whether the user has accepted the request to join the project. Users get an invite and become project members after accepting the invite.\n"},"email":{"type":"string","description":"Email address of the user in lowercase. Changing this property forces recreation of the resource.\n"},"memberType":{"type":"string","description":"Project membership type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["accepted","email","memberType","project"],"inputProperties":{"email":{"type":"string","description":"Email address of the user in lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"memberType":{"type":"string","description":"Project membership type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["email","memberType","project"],"stateInputs":{"description":"Input properties used for looking up and filtering ProjectUser resources.\n","properties":{"accepted":{"type":"boolean","description":"Whether the user has accepted the request to join the project. Users get an invite and become project members after accepting the invite.\n"},"email":{"type":"string","description":"Email address of the user in lowercase. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"memberType":{"type":"string","description":"Project membership type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/projectVpc:ProjectVpc":{"description":"Creates and manages a VPC for an Aiven project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.ProjectVpc(\"example_vpc\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    networkCidr: \"192.168.1.0/24\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.ProjectVpc(\"example_vpc\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    network_cidr=\"192.168.1.0/24\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.ProjectVpc(\"example_vpc\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        NetworkCidr = \"192.168.1.0/24\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewProjectVpc(ctx, \"example_vpc\", \u0026aiven.ProjectVpcArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tNetworkCidr: pulumi.String(\"192.168.1.0/24\"),\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.aiven.ProjectVpc;\nimport com.pulumi.aiven.ProjectVpcArgs;\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 exampleVpc = new ProjectVpc(\"exampleVpc\", ProjectVpcArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .networkCidr(\"192.168.1.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:ProjectVpc\n    name: example_vpc\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      networkCidr: 192.168.1.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/projectVpc:ProjectVpc example_vpc PROJECT/ID\n```\n\n","properties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n"},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"state":{"type":"string","description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n"}},"required":["cloudName","networkCidr","project","state"],"inputProperties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["cloudName","networkCidr","project"],"stateInputs":{"description":"Input properties used for looking up and filtering ProjectVpc resources.\n","properties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"networkCidr":{"type":"string","description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"state":{"type":"string","description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n"}},"type":"object"}},"aiven:index/redis:Redis":{"properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisComponent:RedisComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"redis":{"$ref":"#/types/aiven:index/RedisRedis:RedisRedis","description":"Redis server provided values","language":{"csharp":{"name":"RedisServer"}},"secret":true},"redisUserConfig":{"$ref":"#/types/aiven:index/RedisRedisUserConfig:RedisRedisUserConfig","description":"Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisServiceIntegration:RedisServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes."},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTag:RedisTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTechEmail:RedisTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","redis","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"redis":{"$ref":"#/types/aiven:index/RedisRedis:RedisRedis","description":"Redis server provided values","language":{"csharp":{"name":"RedisServer"}},"secret":true},"redisUserConfig":{"$ref":"#/types/aiven:index/RedisRedisUserConfig:RedisRedisUserConfig","description":"Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisServiceIntegration:RedisServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTag:RedisTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTechEmail:RedisTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Redis resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes."},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation."},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisComponent:RedisComponent"},"description":"Service component information objects"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing."},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project."},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size."},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`)."},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc."},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service."},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format."},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing)."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data."},"redis":{"$ref":"#/types/aiven:index/RedisRedis:RedisRedis","description":"Redis server provided values","language":{"csharp":{"name":"RedisServer"}},"secret":true},"redisUserConfig":{"$ref":"#/types/aiven:index/RedisRedisUserConfig:RedisRedisUserConfig","description":"Redis user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later","deprecationMessage":"This property is deprecated."},"serviceHost":{"type":"string","description":"The hostname of the service."},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisServiceIntegration:RedisServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable","secret":true},"servicePort":{"type":"integer","description":"The port of the service"},"serviceType":{"type":"string","description":"Aiven internal service type code"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle)."},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTag:RedisTag"},"description":"Tags are key-value pairs that allow you to categorize services."},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/RedisTechEmail:RedisTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level."},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done."}},"type":"object"}},"aiven:index/redisUser:RedisUser":{"properties":{"password":{"type":"string","description":"The password of the Redis User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"redisAclCategories":{"type":"array","items":{"type":"string"},"description":"Defines command category rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCommands`\" pulumi-lang-dotnet=\"`RedisAclCommands`\" pulumi-lang-go=\"`redisAclCommands`\" pulumi-lang-python=\"`redis_acl_commands`\" pulumi-lang-yaml=\"`redisAclCommands`\" pulumi-lang-java=\"`redisAclCommands`\"\u003e`redis_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource."},"redisAclChannels":{"type":"array","items":{"type":"string"},"description":"Defines the permitted pub/sub channel patterns. Changing this property forces recreation of the resource."},"redisAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource."},"redisAclKeys":{"type":"array","items":{"type":"string"},"description":"Defines key access rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource."},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."},"type":{"type":"string","description":"Type of the user account. Tells whether the user is the primary account or a regular account."},"username":{"type":"string","description":"The actual name of the Redis User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource."}},"required":["password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the Redis User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclCategories":{"type":"array","items":{"type":"string"},"description":"Defines command category rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCommands`\" pulumi-lang-dotnet=\"`RedisAclCommands`\" pulumi-lang-go=\"`redisAclCommands`\" pulumi-lang-python=\"`redis_acl_commands`\" pulumi-lang-yaml=\"`redisAclCommands`\" pulumi-lang-java=\"`redisAclCommands`\"\u003e`redis_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclChannels":{"type":"array","items":{"type":"string"},"description":"Defines the permitted pub/sub channel patterns. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclKeys":{"type":"array","items":{"type":"string"},"description":"Defines key access rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"username":{"type":"string","description":"The actual name of the Redis User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering RedisUser resources.\n","properties":{"password":{"type":"string","description":"The password of the Redis User.","secret":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclCategories":{"type":"array","items":{"type":"string"},"description":"Defines command category rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCommands`\" pulumi-lang-dotnet=\"`RedisAclCommands`\" pulumi-lang-go=\"`redisAclCommands`\" pulumi-lang-python=\"`redis_acl_commands`\" pulumi-lang-yaml=\"`redisAclCommands`\" pulumi-lang-java=\"`redisAclCommands`\"\u003e`redis_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclChannels":{"type":"array","items":{"type":"string"},"description":"Defines the permitted pub/sub channel patterns. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"redisAclKeys":{"type":"array","items":{"type":"string"},"description":"Defines key access rules. The field is required with \u003cspan pulumi-lang-nodejs=\"`redisAclCategories`\" pulumi-lang-dotnet=\"`RedisAclCategories`\" pulumi-lang-go=\"`redisAclCategories`\" pulumi-lang-python=\"`redis_acl_categories`\" pulumi-lang-yaml=\"`redisAclCategories`\" pulumi-lang-java=\"`redisAclCategories`\"\u003e`redis_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`redisAclKeys`\" pulumi-lang-dotnet=\"`RedisAclKeys`\" pulumi-lang-go=\"`redisAclKeys`\" pulumi-lang-python=\"`redis_acl_keys`\" pulumi-lang-yaml=\"`redisAclKeys`\" pulumi-lang-java=\"`redisAclKeys`\"\u003e`redis_acl_keys`\u003c/span\u003e. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of the user account. Tells whether the user is the primary account or a regular account."},"username":{"type":"string","description":"The actual name of the Redis User. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/serviceIntegration:ServiceIntegration":{"description":"Creates and manages an Aiven [service integration](https://aiven.io/docs/platform/concepts/service-integration).\n\n\u003e Services integrations are not supported for services running on hobbyist plans.\n\nYou can set up an integration between two Aiven services or an Aiven service and an external\nservice. For example, you can send metrics from an Aiven service to a Grafana service to show dashboards, or create an observability pipeline by shipping logs\ninto Aiven for OpenSearch or Aiven for Clickhouse. For external integrations, you also need an\nintegration endpoint.\n\nYou can also use service integrations to enable and use the disk autoscaler.\n\n\u003e **Warning**\nFor services managed by Terraform, removing an autoscaler integration on services with \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e resets the service disk space to the service plan's disk size.\nSee [Remove the autoscaler](https://www.terraform.io/providers/aiven/aiven/latest/docs/guides/disk-autoscaler#remove-the-autoscaler) for more.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Integrate Kafka and Thanos services for metrics\nconst exampleIntegration = new aiven.ServiceIntegration(\"example_integration\", {\n    project: exampleProject.project,\n    integrationType: \"metrics\",\n    sourceServiceName: exampleKafka.serviceName,\n    destinationServiceName: exampleThanos.serviceName,\n});\n// Use disk autoscaler with a PostgreSQL service\nconst autoscalerEndpoint = new aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\", {\n    project: exampleProject.project,\n    endpointName: \"disk-autoscaler-200GiB\",\n    endpointType: \"autoscaler\",\n    autoscalerUserConfig: {\n        autoscalings: [{\n            capGb: 200,\n            type: \"autoscale_disk\",\n        }],\n    },\n});\nconst autoscalerIntegration = new aiven.ServiceIntegration(\"autoscaler_integration\", {\n    project: exampleProject.project,\n    integrationType: \"autoscaler\",\n    sourceServiceName: examplePg.serviceName,\n    destinationEndpointId: autoscalerEndpoint.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Integrate Kafka and Thanos services for metrics\nexample_integration = aiven.ServiceIntegration(\"example_integration\",\n    project=example_project[\"project\"],\n    integration_type=\"metrics\",\n    source_service_name=example_kafka[\"serviceName\"],\n    destination_service_name=example_thanos[\"serviceName\"])\n# Use disk autoscaler with a PostgreSQL service\nautoscaler_endpoint = aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\",\n    project=example_project[\"project\"],\n    endpoint_name=\"disk-autoscaler-200GiB\",\n    endpoint_type=\"autoscaler\",\n    autoscaler_user_config={\n        \"autoscalings\": [{\n            \"cap_gb\": 200,\n            \"type\": \"autoscale_disk\",\n        }],\n    })\nautoscaler_integration = aiven.ServiceIntegration(\"autoscaler_integration\",\n    project=example_project[\"project\"],\n    integration_type=\"autoscaler\",\n    source_service_name=example_pg[\"serviceName\"],\n    destination_endpoint_id=autoscaler_endpoint.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Integrate Kafka and Thanos services for metrics\n    var exampleIntegration = new Aiven.ServiceIntegration(\"example_integration\", new()\n    {\n        Project = exampleProject.Project,\n        IntegrationType = \"metrics\",\n        SourceServiceName = exampleKafka.ServiceName,\n        DestinationServiceName = exampleThanos.ServiceName,\n    });\n\n    // Use disk autoscaler with a PostgreSQL service\n    var autoscalerEndpoint = new Aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\", new()\n    {\n        Project = exampleProject.Project,\n        EndpointName = \"disk-autoscaler-200GiB\",\n        EndpointType = \"autoscaler\",\n        AutoscalerUserConfig = new Aiven.Inputs.ServiceIntegrationEndpointAutoscalerUserConfigArgs\n        {\n            Autoscalings = new[]\n            {\n                new Aiven.Inputs.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs\n                {\n                    CapGb = 200,\n                    Type = \"autoscale_disk\",\n                },\n            },\n        },\n    });\n\n    var autoscalerIntegration = new Aiven.ServiceIntegration(\"autoscaler_integration\", new()\n    {\n        Project = exampleProject.Project,\n        IntegrationType = \"autoscaler\",\n        SourceServiceName = examplePg.ServiceName,\n        DestinationEndpointId = autoscalerEndpoint.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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// Integrate Kafka and Thanos services for metrics\n\t\t_, err := aiven.NewServiceIntegration(ctx, \"example_integration\", \u0026aiven.ServiceIntegrationArgs{\n\t\t\tProject:                pulumi.Any(exampleProject.Project),\n\t\t\tIntegrationType:        pulumi.String(\"metrics\"),\n\t\t\tSourceServiceName:      pulumi.Any(exampleKafka.ServiceName),\n\t\t\tDestinationServiceName: pulumi.Any(exampleThanos.ServiceName),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Use disk autoscaler with a PostgreSQL service\n\t\tautoscalerEndpoint, err := aiven.NewServiceIntegrationEndpoint(ctx, \"autoscaler_endpoint\", \u0026aiven.ServiceIntegrationEndpointArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tEndpointName: pulumi.String(\"disk-autoscaler-200GiB\"),\n\t\t\tEndpointType: pulumi.String(\"autoscaler\"),\n\t\t\tAutoscalerUserConfig: \u0026aiven.ServiceIntegrationEndpointAutoscalerUserConfigArgs{\n\t\t\t\tAutoscalings: aiven.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArray{\n\t\t\t\t\t\u0026aiven.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs{\n\t\t\t\t\t\tCapGb: pulumi.Int(200),\n\t\t\t\t\t\tType:  pulumi.String(\"autoscale_disk\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = aiven.NewServiceIntegration(ctx, \"autoscaler_integration\", \u0026aiven.ServiceIntegrationArgs{\n\t\t\tProject:               pulumi.Any(exampleProject.Project),\n\t\t\tIntegrationType:       pulumi.String(\"autoscaler\"),\n\t\t\tSourceServiceName:     pulumi.Any(examplePg.ServiceName),\n\t\t\tDestinationEndpointId: autoscalerEndpoint.ID(),\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.aiven.ServiceIntegration;\nimport com.pulumi.aiven.ServiceIntegrationArgs;\nimport com.pulumi.aiven.ServiceIntegrationEndpoint;\nimport com.pulumi.aiven.ServiceIntegrationEndpointArgs;\nimport com.pulumi.aiven.inputs.ServiceIntegrationEndpointAutoscalerUserConfigArgs;\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        // Integrate Kafka and Thanos services for metrics\n        var exampleIntegration = new ServiceIntegration(\"exampleIntegration\", ServiceIntegrationArgs.builder()\n            .project(exampleProject.project())\n            .integrationType(\"metrics\")\n            .sourceServiceName(exampleKafka.serviceName())\n            .destinationServiceName(exampleThanos.serviceName())\n            .build());\n\n        // Use disk autoscaler with a PostgreSQL service\n        var autoscalerEndpoint = new ServiceIntegrationEndpoint(\"autoscalerEndpoint\", ServiceIntegrationEndpointArgs.builder()\n            .project(exampleProject.project())\n            .endpointName(\"disk-autoscaler-200GiB\")\n            .endpointType(\"autoscaler\")\n            .autoscalerUserConfig(ServiceIntegrationEndpointAutoscalerUserConfigArgs.builder()\n                .autoscalings(ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs.builder()\n                    .capGb(200)\n                    .type(\"autoscale_disk\")\n                    .build())\n                .build())\n            .build());\n\n        var autoscalerIntegration = new ServiceIntegration(\"autoscalerIntegration\", ServiceIntegrationArgs.builder()\n            .project(exampleProject.project())\n            .integrationType(\"autoscaler\")\n            .sourceServiceName(examplePg.serviceName())\n            .destinationEndpointId(autoscalerEndpoint.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Integrate Kafka and Thanos services for metrics\n  exampleIntegration:\n    type: aiven:ServiceIntegration\n    name: example_integration\n    properties:\n      project: ${exampleProject.project}\n      integrationType: metrics\n      sourceServiceName: ${exampleKafka.serviceName}\n      destinationServiceName: ${exampleThanos.serviceName}\n  # Use disk autoscaler with a PostgreSQL service\n  autoscalerEndpoint:\n    type: aiven:ServiceIntegrationEndpoint\n    name: autoscaler_endpoint\n    properties:\n      project: ${exampleProject.project}\n      endpointName: disk-autoscaler-200GiB\n      endpointType: autoscaler\n      autoscalerUserConfig:\n        autoscalings:\n          - capGb: 200\n            type: autoscale_disk\n  autoscalerIntegration:\n    type: aiven:ServiceIntegration\n    name: autoscaler_integration\n    properties:\n      project: ${exampleProject.project}\n      integrationType: autoscaler\n      sourceServiceName: ${examplePg.serviceName}\n      destinationEndpointId: ${autoscalerEndpoint.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/serviceIntegration:ServiceIntegration example_integration PROJECT/INTEGRATION_ID\n```\n\n","properties":{"clickhouseCredentialsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseCredentialsUserConfig:ServiceIntegrationClickhouseCredentialsUserConfig","description":"ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhouseKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfig:ServiceIntegrationClickhouseKafkaUserConfig","description":"ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhousePostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhousePostgresqlUserConfig:ServiceIntegrationClickhousePostgresqlUserConfig","description":"ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfig:ServiceIntegrationDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"destinationEndpointId":{"type":"string","description":"Destination endpoint for the integration.\n"},"destinationServiceName":{"type":"string","description":"Destination service for the integration.\n"},"destinationServiceProject":{"type":"string","description":"Destination service project name\n"},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalElasticsearchLogsUserConfig:ServiceIntegrationExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalOpensearchLogsUserConfig:ServiceIntegrationExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"flinkExternalPostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationFlinkExternalPostgresqlUserConfig:ServiceIntegrationFlinkExternalPostgresqlUserConfig","description":"FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"integrationId":{"type":"string","description":"The ID of the Aiven service integration.\n"},"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`alertmanager`\" pulumi-lang-dotnet=\"`Alertmanager`\" pulumi-lang-go=\"`alertmanager`\" pulumi-lang-python=\"`alertmanager`\" pulumi-lang-yaml=\"`alertmanager`\" pulumi-lang-java=\"`alertmanager`\"\u003e`alertmanager`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cassandraCrossServiceCluster`\" pulumi-lang-dotnet=\"`CassandraCrossServiceCluster`\" pulumi-lang-go=\"`cassandraCrossServiceCluster`\" pulumi-lang-python=\"`cassandra_cross_service_cluster`\" pulumi-lang-yaml=\"`cassandraCrossServiceCluster`\" pulumi-lang-java=\"`cassandraCrossServiceCluster`\"\u003e`cassandra_cross_service_cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseCredentials`\" pulumi-lang-dotnet=\"`ClickhouseCredentials`\" pulumi-lang-go=\"`clickhouseCredentials`\" pulumi-lang-python=\"`clickhouse_credentials`\" pulumi-lang-yaml=\"`clickhouseCredentials`\" pulumi-lang-java=\"`clickhouseCredentials`\"\u003e`clickhouse_credentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseKafka`\" pulumi-lang-dotnet=\"`ClickhouseKafka`\" pulumi-lang-go=\"`clickhouseKafka`\" pulumi-lang-python=\"`clickhouse_kafka`\" pulumi-lang-yaml=\"`clickhouseKafka`\" pulumi-lang-java=\"`clickhouseKafka`\"\u003e`clickhouse_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhousePostgresql`\" pulumi-lang-dotnet=\"`ClickhousePostgresql`\" pulumi-lang-go=\"`clickhousePostgresql`\" pulumi-lang-python=\"`clickhouse_postgresql`\" pulumi-lang-yaml=\"`clickhousePostgresql`\" pulumi-lang-java=\"`clickhousePostgresql`\"\u003e`clickhouse_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dashboard`\" pulumi-lang-dotnet=\"`Dashboard`\" pulumi-lang-go=\"`dashboard`\" pulumi-lang-python=\"`dashboard`\" pulumi-lang-yaml=\"`dashboard`\" pulumi-lang-java=\"`dashboard`\"\u003e`dashboard`\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, \u003cspan pulumi-lang-nodejs=\"`datasource`\" pulumi-lang-dotnet=\"`Datasource`\" pulumi-lang-go=\"`datasource`\" pulumi-lang-python=\"`datasource`\" pulumi-lang-yaml=\"`datasource`\" pulumi-lang-java=\"`datasource`\"\u003e`datasource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flink`\" pulumi-lang-dotnet=\"`Flink`\" pulumi-lang-go=\"`flink`\" pulumi-lang-python=\"`flink`\" pulumi-lang-yaml=\"`flink`\" pulumi-lang-java=\"`flink`\"\u003e`flink`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalBigquery`\" pulumi-lang-dotnet=\"`FlinkExternalBigquery`\" pulumi-lang-go=\"`flinkExternalBigquery`\" pulumi-lang-python=\"`flink_external_bigquery`\" pulumi-lang-yaml=\"`flinkExternalBigquery`\" pulumi-lang-java=\"`flinkExternalBigquery`\"\u003e`flink_external_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalKafka`\" pulumi-lang-dotnet=\"`FlinkExternalKafka`\" pulumi-lang-go=\"`flinkExternalKafka`\" pulumi-lang-python=\"`flink_external_kafka`\" pulumi-lang-yaml=\"`flinkExternalKafka`\" pulumi-lang-java=\"`flinkExternalKafka`\"\u003e`flink_external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalPostgresql`\" pulumi-lang-dotnet=\"`FlinkExternalPostgresql`\" pulumi-lang-go=\"`flinkExternalPostgresql`\" pulumi-lang-python=\"`flink_external_postgresql`\" pulumi-lang-yaml=\"`flinkExternalPostgresql`\" pulumi-lang-java=\"`flinkExternalPostgresql`\"\u003e`flink_external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internalConnectivity`\" pulumi-lang-dotnet=\"`InternalConnectivity`\" pulumi-lang-go=\"`internalConnectivity`\" pulumi-lang-python=\"`internal_connectivity`\" pulumi-lang-yaml=\"`internalConnectivity`\" pulumi-lang-java=\"`internalConnectivity`\"\u003e`internal_connectivity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnect`\" pulumi-lang-dotnet=\"`KafkaConnect`\" pulumi-lang-go=\"`kafkaConnect`\" pulumi-lang-python=\"`kafka_connect`\" pulumi-lang-yaml=\"`kafkaConnect`\" pulumi-lang-java=\"`kafkaConnect`\"\u003e`kafka_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnectPostgresql`\" pulumi-lang-dotnet=\"`KafkaConnectPostgresql`\" pulumi-lang-go=\"`kafkaConnectPostgresql`\" pulumi-lang-python=\"`kafka_connect_postgresql`\" pulumi-lang-yaml=\"`kafkaConnectPostgresql`\" pulumi-lang-java=\"`kafkaConnectPostgresql`\"\u003e`kafka_connect_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaLogs`\" pulumi-lang-dotnet=\"`KafkaLogs`\" pulumi-lang-go=\"`kafkaLogs`\" pulumi-lang-python=\"`kafka_logs`\" pulumi-lang-yaml=\"`kafkaLogs`\" pulumi-lang-java=\"`kafkaLogs`\"\u003e`kafka_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaMirrormaker`\" pulumi-lang-dotnet=\"`KafkaMirrormaker`\" pulumi-lang-go=\"`kafkaMirrormaker`\" pulumi-lang-python=\"`kafka_mirrormaker`\" pulumi-lang-yaml=\"`kafkaMirrormaker`\" pulumi-lang-java=\"`kafkaMirrormaker`\"\u003e`kafka_mirrormaker`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3aggregator`\" pulumi-lang-dotnet=\"`M3aggregator`\" pulumi-lang-go=\"`m3aggregator`\" pulumi-lang-python=\"`m3aggregator`\" pulumi-lang-yaml=\"`m3aggregator`\" pulumi-lang-java=\"`m3aggregator`\"\u003e`m3aggregator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3coordinator`\" pulumi-lang-dotnet=\"`M3coordinator`\" pulumi-lang-go=\"`m3coordinator`\" pulumi-lang-python=\"`m3coordinator`\" pulumi-lang-yaml=\"`m3coordinator`\" pulumi-lang-java=\"`m3coordinator`\"\u003e`m3coordinator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterReplication`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterReplication`\" pulumi-lang-go=\"`opensearchCrossClusterReplication`\" pulumi-lang-python=\"`opensearch_cross_cluster_replication`\" pulumi-lang-yaml=\"`opensearchCrossClusterReplication`\" pulumi-lang-java=\"`opensearchCrossClusterReplication`\"\u003e`opensearch_cross_cluster_replication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterSearch`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterSearch`\" pulumi-lang-go=\"`opensearchCrossClusterSearch`\" pulumi-lang-python=\"`opensearch_cross_cluster_search`\" pulumi-lang-yaml=\"`opensearchCrossClusterSearch`\" pulumi-lang-java=\"`opensearchCrossClusterSearch`\"\u003e`opensearch_cross_cluster_search`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schemaRegistryProxy`\" pulumi-lang-dotnet=\"`SchemaRegistryProxy`\" pulumi-lang-go=\"`schemaRegistryProxy`\" pulumi-lang-python=\"`schema_registry_proxy`\" pulumi-lang-yaml=\"`schemaRegistryProxy`\" pulumi-lang-java=\"`schemaRegistryProxy`\"\u003e`schema_registry_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stresstester`\" pulumi-lang-dotnet=\"`Stresstester`\" pulumi-lang-go=\"`stresstester`\" pulumi-lang-python=\"`stresstester`\" pulumi-lang-yaml=\"`stresstester`\" pulumi-lang-java=\"`stresstester`\"\u003e`stresstester`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosDistributedQuery`\" pulumi-lang-dotnet=\"`ThanosDistributedQuery`\" pulumi-lang-go=\"`thanosDistributedQuery`\" pulumi-lang-python=\"`thanos_distributed_query`\" pulumi-lang-yaml=\"`thanosDistributedQuery`\" pulumi-lang-java=\"`thanosDistributedQuery`\"\u003e`thanos_distributed_query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosMigrate`\" pulumi-lang-dotnet=\"`ThanosMigrate`\" pulumi-lang-go=\"`thanosMigrate`\" pulumi-lang-python=\"`thanos_migrate`\" pulumi-lang-yaml=\"`thanosMigrate`\" pulumi-lang-java=\"`thanosMigrate`\"\u003e`thanos_migrate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanoscompactor`\" pulumi-lang-dotnet=\"`Thanoscompactor`\" pulumi-lang-go=\"`thanoscompactor`\" pulumi-lang-python=\"`thanoscompactor`\" pulumi-lang-yaml=\"`thanoscompactor`\" pulumi-lang-java=\"`thanoscompactor`\"\u003e`thanoscompactor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosquery`\" pulumi-lang-dotnet=\"`Thanosquery`\" pulumi-lang-go=\"`thanosquery`\" pulumi-lang-python=\"`thanosquery`\" pulumi-lang-yaml=\"`thanosquery`\" pulumi-lang-java=\"`thanosquery`\"\u003e`thanosquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosruler`\" pulumi-lang-dotnet=\"`Thanosruler`\" pulumi-lang-go=\"`thanosruler`\" pulumi-lang-python=\"`thanosruler`\" pulumi-lang-yaml=\"`thanosruler`\" pulumi-lang-java=\"`thanosruler`\"\u003e`thanosruler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosstore`\" pulumi-lang-dotnet=\"`Thanosstore`\" pulumi-lang-go=\"`thanosstore`\" pulumi-lang-python=\"`thanosstore`\" pulumi-lang-yaml=\"`thanosstore`\" pulumi-lang-java=\"`thanosstore`\"\u003e`thanosstore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vector`\" pulumi-lang-dotnet=\"`Vector`\" pulumi-lang-go=\"`vector`\" pulumi-lang-python=\"`vector`\" pulumi-lang-yaml=\"`vector`\" pulumi-lang-java=\"`vector`\"\u003e`vector`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vmalert`\" pulumi-lang-dotnet=\"`Vmalert`\" pulumi-lang-go=\"`vmalert`\" pulumi-lang-python=\"`vmalert`\" pulumi-lang-yaml=\"`vmalert`\" pulumi-lang-java=\"`vmalert`\"\u003e`vmalert`\u003c/span\u003e.\n"},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaConnectUserConfig:ServiceIntegrationKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaLogsUserConfig:ServiceIntegrationKafkaLogsUserConfig","description":"KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaMirrormakerUserConfig:ServiceIntegrationKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"logsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationLogsUserConfig:ServiceIntegrationLogsUserConfig","description":"Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"metricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationMetricsUserConfig:ServiceIntegrationMetricsUserConfig","description":"Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the integration belongs to.\n"},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationPrometheusUserConfig:ServiceIntegrationPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"sourceEndpointId":{"type":"string","description":"Source endpoint for the integration.\n"},"sourceServiceName":{"type":"string","description":"Source service for the integration (if any)\n"},"sourceServiceProject":{"type":"string","description":"Source service project name\n"}},"required":["destinationServiceProject","integrationId","integrationType","project","sourceServiceName","sourceServiceProject"],"inputProperties":{"clickhouseCredentialsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseCredentialsUserConfig:ServiceIntegrationClickhouseCredentialsUserConfig","description":"ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhouseKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfig:ServiceIntegrationClickhouseKafkaUserConfig","description":"ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhousePostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhousePostgresqlUserConfig:ServiceIntegrationClickhousePostgresqlUserConfig","description":"ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfig:ServiceIntegrationDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"destinationEndpointId":{"type":"string","description":"Destination endpoint for the integration.\n","willReplaceOnChanges":true},"destinationServiceName":{"type":"string","description":"Destination service for the integration.\n","willReplaceOnChanges":true},"destinationServiceProject":{"type":"string","description":"Destination service project name\n","willReplaceOnChanges":true},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalElasticsearchLogsUserConfig:ServiceIntegrationExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalOpensearchLogsUserConfig:ServiceIntegrationExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"flinkExternalPostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationFlinkExternalPostgresqlUserConfig:ServiceIntegrationFlinkExternalPostgresqlUserConfig","description":"FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`alertmanager`\" pulumi-lang-dotnet=\"`Alertmanager`\" pulumi-lang-go=\"`alertmanager`\" pulumi-lang-python=\"`alertmanager`\" pulumi-lang-yaml=\"`alertmanager`\" pulumi-lang-java=\"`alertmanager`\"\u003e`alertmanager`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cassandraCrossServiceCluster`\" pulumi-lang-dotnet=\"`CassandraCrossServiceCluster`\" pulumi-lang-go=\"`cassandraCrossServiceCluster`\" pulumi-lang-python=\"`cassandra_cross_service_cluster`\" pulumi-lang-yaml=\"`cassandraCrossServiceCluster`\" pulumi-lang-java=\"`cassandraCrossServiceCluster`\"\u003e`cassandra_cross_service_cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseCredentials`\" pulumi-lang-dotnet=\"`ClickhouseCredentials`\" pulumi-lang-go=\"`clickhouseCredentials`\" pulumi-lang-python=\"`clickhouse_credentials`\" pulumi-lang-yaml=\"`clickhouseCredentials`\" pulumi-lang-java=\"`clickhouseCredentials`\"\u003e`clickhouse_credentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseKafka`\" pulumi-lang-dotnet=\"`ClickhouseKafka`\" pulumi-lang-go=\"`clickhouseKafka`\" pulumi-lang-python=\"`clickhouse_kafka`\" pulumi-lang-yaml=\"`clickhouseKafka`\" pulumi-lang-java=\"`clickhouseKafka`\"\u003e`clickhouse_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhousePostgresql`\" pulumi-lang-dotnet=\"`ClickhousePostgresql`\" pulumi-lang-go=\"`clickhousePostgresql`\" pulumi-lang-python=\"`clickhouse_postgresql`\" pulumi-lang-yaml=\"`clickhousePostgresql`\" pulumi-lang-java=\"`clickhousePostgresql`\"\u003e`clickhouse_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dashboard`\" pulumi-lang-dotnet=\"`Dashboard`\" pulumi-lang-go=\"`dashboard`\" pulumi-lang-python=\"`dashboard`\" pulumi-lang-yaml=\"`dashboard`\" pulumi-lang-java=\"`dashboard`\"\u003e`dashboard`\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, \u003cspan pulumi-lang-nodejs=\"`datasource`\" pulumi-lang-dotnet=\"`Datasource`\" pulumi-lang-go=\"`datasource`\" pulumi-lang-python=\"`datasource`\" pulumi-lang-yaml=\"`datasource`\" pulumi-lang-java=\"`datasource`\"\u003e`datasource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flink`\" pulumi-lang-dotnet=\"`Flink`\" pulumi-lang-go=\"`flink`\" pulumi-lang-python=\"`flink`\" pulumi-lang-yaml=\"`flink`\" pulumi-lang-java=\"`flink`\"\u003e`flink`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalBigquery`\" pulumi-lang-dotnet=\"`FlinkExternalBigquery`\" pulumi-lang-go=\"`flinkExternalBigquery`\" pulumi-lang-python=\"`flink_external_bigquery`\" pulumi-lang-yaml=\"`flinkExternalBigquery`\" pulumi-lang-java=\"`flinkExternalBigquery`\"\u003e`flink_external_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalKafka`\" pulumi-lang-dotnet=\"`FlinkExternalKafka`\" pulumi-lang-go=\"`flinkExternalKafka`\" pulumi-lang-python=\"`flink_external_kafka`\" pulumi-lang-yaml=\"`flinkExternalKafka`\" pulumi-lang-java=\"`flinkExternalKafka`\"\u003e`flink_external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalPostgresql`\" pulumi-lang-dotnet=\"`FlinkExternalPostgresql`\" pulumi-lang-go=\"`flinkExternalPostgresql`\" pulumi-lang-python=\"`flink_external_postgresql`\" pulumi-lang-yaml=\"`flinkExternalPostgresql`\" pulumi-lang-java=\"`flinkExternalPostgresql`\"\u003e`flink_external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internalConnectivity`\" pulumi-lang-dotnet=\"`InternalConnectivity`\" pulumi-lang-go=\"`internalConnectivity`\" pulumi-lang-python=\"`internal_connectivity`\" pulumi-lang-yaml=\"`internalConnectivity`\" pulumi-lang-java=\"`internalConnectivity`\"\u003e`internal_connectivity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnect`\" pulumi-lang-dotnet=\"`KafkaConnect`\" pulumi-lang-go=\"`kafkaConnect`\" pulumi-lang-python=\"`kafka_connect`\" pulumi-lang-yaml=\"`kafkaConnect`\" pulumi-lang-java=\"`kafkaConnect`\"\u003e`kafka_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnectPostgresql`\" pulumi-lang-dotnet=\"`KafkaConnectPostgresql`\" pulumi-lang-go=\"`kafkaConnectPostgresql`\" pulumi-lang-python=\"`kafka_connect_postgresql`\" pulumi-lang-yaml=\"`kafkaConnectPostgresql`\" pulumi-lang-java=\"`kafkaConnectPostgresql`\"\u003e`kafka_connect_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaLogs`\" pulumi-lang-dotnet=\"`KafkaLogs`\" pulumi-lang-go=\"`kafkaLogs`\" pulumi-lang-python=\"`kafka_logs`\" pulumi-lang-yaml=\"`kafkaLogs`\" pulumi-lang-java=\"`kafkaLogs`\"\u003e`kafka_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaMirrormaker`\" pulumi-lang-dotnet=\"`KafkaMirrormaker`\" pulumi-lang-go=\"`kafkaMirrormaker`\" pulumi-lang-python=\"`kafka_mirrormaker`\" pulumi-lang-yaml=\"`kafkaMirrormaker`\" pulumi-lang-java=\"`kafkaMirrormaker`\"\u003e`kafka_mirrormaker`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3aggregator`\" pulumi-lang-dotnet=\"`M3aggregator`\" pulumi-lang-go=\"`m3aggregator`\" pulumi-lang-python=\"`m3aggregator`\" pulumi-lang-yaml=\"`m3aggregator`\" pulumi-lang-java=\"`m3aggregator`\"\u003e`m3aggregator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3coordinator`\" pulumi-lang-dotnet=\"`M3coordinator`\" pulumi-lang-go=\"`m3coordinator`\" pulumi-lang-python=\"`m3coordinator`\" pulumi-lang-yaml=\"`m3coordinator`\" pulumi-lang-java=\"`m3coordinator`\"\u003e`m3coordinator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterReplication`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterReplication`\" pulumi-lang-go=\"`opensearchCrossClusterReplication`\" pulumi-lang-python=\"`opensearch_cross_cluster_replication`\" pulumi-lang-yaml=\"`opensearchCrossClusterReplication`\" pulumi-lang-java=\"`opensearchCrossClusterReplication`\"\u003e`opensearch_cross_cluster_replication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterSearch`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterSearch`\" pulumi-lang-go=\"`opensearchCrossClusterSearch`\" pulumi-lang-python=\"`opensearch_cross_cluster_search`\" pulumi-lang-yaml=\"`opensearchCrossClusterSearch`\" pulumi-lang-java=\"`opensearchCrossClusterSearch`\"\u003e`opensearch_cross_cluster_search`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schemaRegistryProxy`\" pulumi-lang-dotnet=\"`SchemaRegistryProxy`\" pulumi-lang-go=\"`schemaRegistryProxy`\" pulumi-lang-python=\"`schema_registry_proxy`\" pulumi-lang-yaml=\"`schemaRegistryProxy`\" pulumi-lang-java=\"`schemaRegistryProxy`\"\u003e`schema_registry_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stresstester`\" pulumi-lang-dotnet=\"`Stresstester`\" pulumi-lang-go=\"`stresstester`\" pulumi-lang-python=\"`stresstester`\" pulumi-lang-yaml=\"`stresstester`\" pulumi-lang-java=\"`stresstester`\"\u003e`stresstester`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosDistributedQuery`\" pulumi-lang-dotnet=\"`ThanosDistributedQuery`\" pulumi-lang-go=\"`thanosDistributedQuery`\" pulumi-lang-python=\"`thanos_distributed_query`\" pulumi-lang-yaml=\"`thanosDistributedQuery`\" pulumi-lang-java=\"`thanosDistributedQuery`\"\u003e`thanos_distributed_query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosMigrate`\" pulumi-lang-dotnet=\"`ThanosMigrate`\" pulumi-lang-go=\"`thanosMigrate`\" pulumi-lang-python=\"`thanos_migrate`\" pulumi-lang-yaml=\"`thanosMigrate`\" pulumi-lang-java=\"`thanosMigrate`\"\u003e`thanos_migrate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanoscompactor`\" pulumi-lang-dotnet=\"`Thanoscompactor`\" pulumi-lang-go=\"`thanoscompactor`\" pulumi-lang-python=\"`thanoscompactor`\" pulumi-lang-yaml=\"`thanoscompactor`\" pulumi-lang-java=\"`thanoscompactor`\"\u003e`thanoscompactor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosquery`\" pulumi-lang-dotnet=\"`Thanosquery`\" pulumi-lang-go=\"`thanosquery`\" pulumi-lang-python=\"`thanosquery`\" pulumi-lang-yaml=\"`thanosquery`\" pulumi-lang-java=\"`thanosquery`\"\u003e`thanosquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosruler`\" pulumi-lang-dotnet=\"`Thanosruler`\" pulumi-lang-go=\"`thanosruler`\" pulumi-lang-python=\"`thanosruler`\" pulumi-lang-yaml=\"`thanosruler`\" pulumi-lang-java=\"`thanosruler`\"\u003e`thanosruler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosstore`\" pulumi-lang-dotnet=\"`Thanosstore`\" pulumi-lang-go=\"`thanosstore`\" pulumi-lang-python=\"`thanosstore`\" pulumi-lang-yaml=\"`thanosstore`\" pulumi-lang-java=\"`thanosstore`\"\u003e`thanosstore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vector`\" pulumi-lang-dotnet=\"`Vector`\" pulumi-lang-go=\"`vector`\" pulumi-lang-python=\"`vector`\" pulumi-lang-yaml=\"`vector`\" pulumi-lang-java=\"`vector`\"\u003e`vector`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vmalert`\" pulumi-lang-dotnet=\"`Vmalert`\" pulumi-lang-go=\"`vmalert`\" pulumi-lang-python=\"`vmalert`\" pulumi-lang-yaml=\"`vmalert`\" pulumi-lang-java=\"`vmalert`\"\u003e`vmalert`\u003c/span\u003e.\n","willReplaceOnChanges":true},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaConnectUserConfig:ServiceIntegrationKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaLogsUserConfig:ServiceIntegrationKafkaLogsUserConfig","description":"KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaMirrormakerUserConfig:ServiceIntegrationKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"logsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationLogsUserConfig:ServiceIntegrationLogsUserConfig","description":"Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"metricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationMetricsUserConfig:ServiceIntegrationMetricsUserConfig","description":"Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the integration belongs to.\n","willReplaceOnChanges":true},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationPrometheusUserConfig:ServiceIntegrationPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"sourceEndpointId":{"type":"string","description":"Source endpoint for the integration.\n","willReplaceOnChanges":true},"sourceServiceName":{"type":"string","description":"Source service for the integration (if any)\n","willReplaceOnChanges":true},"sourceServiceProject":{"type":"string","description":"Source service project name\n","willReplaceOnChanges":true}},"requiredInputs":["integrationType","project"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceIntegration resources.\n","properties":{"clickhouseCredentialsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseCredentialsUserConfig:ServiceIntegrationClickhouseCredentialsUserConfig","description":"ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhouseKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhouseKafkaUserConfig:ServiceIntegrationClickhouseKafkaUserConfig","description":"ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"clickhousePostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationClickhousePostgresqlUserConfig:ServiceIntegrationClickhousePostgresqlUserConfig","description":"ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationDatadogUserConfig:ServiceIntegrationDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"destinationEndpointId":{"type":"string","description":"Destination endpoint for the integration.\n","willReplaceOnChanges":true},"destinationServiceName":{"type":"string","description":"Destination service for the integration.\n","willReplaceOnChanges":true},"destinationServiceProject":{"type":"string","description":"Destination service project name\n","willReplaceOnChanges":true},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalElasticsearchLogsUserConfig:ServiceIntegrationExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationExternalOpensearchLogsUserConfig:ServiceIntegrationExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"flinkExternalPostgresqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationFlinkExternalPostgresqlUserConfig:ServiceIntegrationFlinkExternalPostgresqlUserConfig","description":"FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"integrationId":{"type":"string","description":"The ID of the Aiven service integration.\n"},"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`alertmanager`\" pulumi-lang-dotnet=\"`Alertmanager`\" pulumi-lang-go=\"`alertmanager`\" pulumi-lang-python=\"`alertmanager`\" pulumi-lang-yaml=\"`alertmanager`\" pulumi-lang-java=\"`alertmanager`\"\u003e`alertmanager`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cassandraCrossServiceCluster`\" pulumi-lang-dotnet=\"`CassandraCrossServiceCluster`\" pulumi-lang-go=\"`cassandraCrossServiceCluster`\" pulumi-lang-python=\"`cassandra_cross_service_cluster`\" pulumi-lang-yaml=\"`cassandraCrossServiceCluster`\" pulumi-lang-java=\"`cassandraCrossServiceCluster`\"\u003e`cassandra_cross_service_cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseCredentials`\" pulumi-lang-dotnet=\"`ClickhouseCredentials`\" pulumi-lang-go=\"`clickhouseCredentials`\" pulumi-lang-python=\"`clickhouse_credentials`\" pulumi-lang-yaml=\"`clickhouseCredentials`\" pulumi-lang-java=\"`clickhouseCredentials`\"\u003e`clickhouse_credentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseKafka`\" pulumi-lang-dotnet=\"`ClickhouseKafka`\" pulumi-lang-go=\"`clickhouseKafka`\" pulumi-lang-python=\"`clickhouse_kafka`\" pulumi-lang-yaml=\"`clickhouseKafka`\" pulumi-lang-java=\"`clickhouseKafka`\"\u003e`clickhouse_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhousePostgresql`\" pulumi-lang-dotnet=\"`ClickhousePostgresql`\" pulumi-lang-go=\"`clickhousePostgresql`\" pulumi-lang-python=\"`clickhouse_postgresql`\" pulumi-lang-yaml=\"`clickhousePostgresql`\" pulumi-lang-java=\"`clickhousePostgresql`\"\u003e`clickhouse_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dashboard`\" pulumi-lang-dotnet=\"`Dashboard`\" pulumi-lang-go=\"`dashboard`\" pulumi-lang-python=\"`dashboard`\" pulumi-lang-yaml=\"`dashboard`\" pulumi-lang-java=\"`dashboard`\"\u003e`dashboard`\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, \u003cspan pulumi-lang-nodejs=\"`datasource`\" pulumi-lang-dotnet=\"`Datasource`\" pulumi-lang-go=\"`datasource`\" pulumi-lang-python=\"`datasource`\" pulumi-lang-yaml=\"`datasource`\" pulumi-lang-java=\"`datasource`\"\u003e`datasource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flink`\" pulumi-lang-dotnet=\"`Flink`\" pulumi-lang-go=\"`flink`\" pulumi-lang-python=\"`flink`\" pulumi-lang-yaml=\"`flink`\" pulumi-lang-java=\"`flink`\"\u003e`flink`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalBigquery`\" pulumi-lang-dotnet=\"`FlinkExternalBigquery`\" pulumi-lang-go=\"`flinkExternalBigquery`\" pulumi-lang-python=\"`flink_external_bigquery`\" pulumi-lang-yaml=\"`flinkExternalBigquery`\" pulumi-lang-java=\"`flinkExternalBigquery`\"\u003e`flink_external_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalKafka`\" pulumi-lang-dotnet=\"`FlinkExternalKafka`\" pulumi-lang-go=\"`flinkExternalKafka`\" pulumi-lang-python=\"`flink_external_kafka`\" pulumi-lang-yaml=\"`flinkExternalKafka`\" pulumi-lang-java=\"`flinkExternalKafka`\"\u003e`flink_external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalPostgresql`\" pulumi-lang-dotnet=\"`FlinkExternalPostgresql`\" pulumi-lang-go=\"`flinkExternalPostgresql`\" pulumi-lang-python=\"`flink_external_postgresql`\" pulumi-lang-yaml=\"`flinkExternalPostgresql`\" pulumi-lang-java=\"`flinkExternalPostgresql`\"\u003e`flink_external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internalConnectivity`\" pulumi-lang-dotnet=\"`InternalConnectivity`\" pulumi-lang-go=\"`internalConnectivity`\" pulumi-lang-python=\"`internal_connectivity`\" pulumi-lang-yaml=\"`internalConnectivity`\" pulumi-lang-java=\"`internalConnectivity`\"\u003e`internal_connectivity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnect`\" pulumi-lang-dotnet=\"`KafkaConnect`\" pulumi-lang-go=\"`kafkaConnect`\" pulumi-lang-python=\"`kafka_connect`\" pulumi-lang-yaml=\"`kafkaConnect`\" pulumi-lang-java=\"`kafkaConnect`\"\u003e`kafka_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnectPostgresql`\" pulumi-lang-dotnet=\"`KafkaConnectPostgresql`\" pulumi-lang-go=\"`kafkaConnectPostgresql`\" pulumi-lang-python=\"`kafka_connect_postgresql`\" pulumi-lang-yaml=\"`kafkaConnectPostgresql`\" pulumi-lang-java=\"`kafkaConnectPostgresql`\"\u003e`kafka_connect_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaLogs`\" pulumi-lang-dotnet=\"`KafkaLogs`\" pulumi-lang-go=\"`kafkaLogs`\" pulumi-lang-python=\"`kafka_logs`\" pulumi-lang-yaml=\"`kafkaLogs`\" pulumi-lang-java=\"`kafkaLogs`\"\u003e`kafka_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaMirrormaker`\" pulumi-lang-dotnet=\"`KafkaMirrormaker`\" pulumi-lang-go=\"`kafkaMirrormaker`\" pulumi-lang-python=\"`kafka_mirrormaker`\" pulumi-lang-yaml=\"`kafkaMirrormaker`\" pulumi-lang-java=\"`kafkaMirrormaker`\"\u003e`kafka_mirrormaker`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3aggregator`\" pulumi-lang-dotnet=\"`M3aggregator`\" pulumi-lang-go=\"`m3aggregator`\" pulumi-lang-python=\"`m3aggregator`\" pulumi-lang-yaml=\"`m3aggregator`\" pulumi-lang-java=\"`m3aggregator`\"\u003e`m3aggregator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3coordinator`\" pulumi-lang-dotnet=\"`M3coordinator`\" pulumi-lang-go=\"`m3coordinator`\" pulumi-lang-python=\"`m3coordinator`\" pulumi-lang-yaml=\"`m3coordinator`\" pulumi-lang-java=\"`m3coordinator`\"\u003e`m3coordinator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterReplication`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterReplication`\" pulumi-lang-go=\"`opensearchCrossClusterReplication`\" pulumi-lang-python=\"`opensearch_cross_cluster_replication`\" pulumi-lang-yaml=\"`opensearchCrossClusterReplication`\" pulumi-lang-java=\"`opensearchCrossClusterReplication`\"\u003e`opensearch_cross_cluster_replication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterSearch`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterSearch`\" pulumi-lang-go=\"`opensearchCrossClusterSearch`\" pulumi-lang-python=\"`opensearch_cross_cluster_search`\" pulumi-lang-yaml=\"`opensearchCrossClusterSearch`\" pulumi-lang-java=\"`opensearchCrossClusterSearch`\"\u003e`opensearch_cross_cluster_search`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schemaRegistryProxy`\" pulumi-lang-dotnet=\"`SchemaRegistryProxy`\" pulumi-lang-go=\"`schemaRegistryProxy`\" pulumi-lang-python=\"`schema_registry_proxy`\" pulumi-lang-yaml=\"`schemaRegistryProxy`\" pulumi-lang-java=\"`schemaRegistryProxy`\"\u003e`schema_registry_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stresstester`\" pulumi-lang-dotnet=\"`Stresstester`\" pulumi-lang-go=\"`stresstester`\" pulumi-lang-python=\"`stresstester`\" pulumi-lang-yaml=\"`stresstester`\" pulumi-lang-java=\"`stresstester`\"\u003e`stresstester`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosDistributedQuery`\" pulumi-lang-dotnet=\"`ThanosDistributedQuery`\" pulumi-lang-go=\"`thanosDistributedQuery`\" pulumi-lang-python=\"`thanos_distributed_query`\" pulumi-lang-yaml=\"`thanosDistributedQuery`\" pulumi-lang-java=\"`thanosDistributedQuery`\"\u003e`thanos_distributed_query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosMigrate`\" pulumi-lang-dotnet=\"`ThanosMigrate`\" pulumi-lang-go=\"`thanosMigrate`\" pulumi-lang-python=\"`thanos_migrate`\" pulumi-lang-yaml=\"`thanosMigrate`\" pulumi-lang-java=\"`thanosMigrate`\"\u003e`thanos_migrate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanoscompactor`\" pulumi-lang-dotnet=\"`Thanoscompactor`\" pulumi-lang-go=\"`thanoscompactor`\" pulumi-lang-python=\"`thanoscompactor`\" pulumi-lang-yaml=\"`thanoscompactor`\" pulumi-lang-java=\"`thanoscompactor`\"\u003e`thanoscompactor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosquery`\" pulumi-lang-dotnet=\"`Thanosquery`\" pulumi-lang-go=\"`thanosquery`\" pulumi-lang-python=\"`thanosquery`\" pulumi-lang-yaml=\"`thanosquery`\" pulumi-lang-java=\"`thanosquery`\"\u003e`thanosquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosruler`\" pulumi-lang-dotnet=\"`Thanosruler`\" pulumi-lang-go=\"`thanosruler`\" pulumi-lang-python=\"`thanosruler`\" pulumi-lang-yaml=\"`thanosruler`\" pulumi-lang-java=\"`thanosruler`\"\u003e`thanosruler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosstore`\" pulumi-lang-dotnet=\"`Thanosstore`\" pulumi-lang-go=\"`thanosstore`\" pulumi-lang-python=\"`thanosstore`\" pulumi-lang-yaml=\"`thanosstore`\" pulumi-lang-java=\"`thanosstore`\"\u003e`thanosstore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vector`\" pulumi-lang-dotnet=\"`Vector`\" pulumi-lang-go=\"`vector`\" pulumi-lang-python=\"`vector`\" pulumi-lang-yaml=\"`vector`\" pulumi-lang-java=\"`vector`\"\u003e`vector`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vmalert`\" pulumi-lang-dotnet=\"`Vmalert`\" pulumi-lang-go=\"`vmalert`\" pulumi-lang-python=\"`vmalert`\" pulumi-lang-yaml=\"`vmalert`\" pulumi-lang-java=\"`vmalert`\"\u003e`vmalert`\u003c/span\u003e.\n","willReplaceOnChanges":true},"kafkaConnectUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaConnectUserConfig:ServiceIntegrationKafkaConnectUserConfig","description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaLogsUserConfig:ServiceIntegrationKafkaLogsUserConfig","description":"KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"kafkaMirrormakerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationKafkaMirrormakerUserConfig:ServiceIntegrationKafkaMirrormakerUserConfig","description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"logsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationLogsUserConfig:ServiceIntegrationLogsUserConfig","description":"Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"metricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationMetricsUserConfig:ServiceIntegrationMetricsUserConfig","description":"Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the integration belongs to.\n","willReplaceOnChanges":true},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationPrometheusUserConfig:ServiceIntegrationPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"sourceEndpointId":{"type":"string","description":"Source endpoint for the integration.\n","willReplaceOnChanges":true},"sourceServiceName":{"type":"string","description":"Source service for the integration (if any)\n","willReplaceOnChanges":true},"sourceServiceProject":{"type":"string","description":"Source service project name\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/serviceIntegrationEndpoint:ServiceIntegrationEndpoint":{"description":"Creates and manages an integration endpoint.\n\nIntegration endpoints let you send data like metrics and logs from Aiven services to external systems. The \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e endpoint lets you automatically scale the disk space on your services.\n\nAfter creating an endpoint, use the service integration resource to connect it to a service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Datadog endpoint\nconst exampleEndpoint = new aiven.ServiceIntegrationEndpoint(\"example_endpoint\", {\n    project: exampleProject.project,\n    endpointName: \"Datadog endpoint\",\n    endpointType: \"datadog\",\n});\n// Disk autoscaler endpoint\nconst autoscalerEndpoint = new aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\", {\n    project: exampleProject.project,\n    endpointName: \"disk-autoscaler-200GiB\",\n    endpointType: \"autoscaler\",\n    autoscalerUserConfig: {\n        autoscalings: [{\n            capGb: 200,\n            type: \"autoscale_disk\",\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Datadog endpoint\nexample_endpoint = aiven.ServiceIntegrationEndpoint(\"example_endpoint\",\n    project=example_project[\"project\"],\n    endpoint_name=\"Datadog endpoint\",\n    endpoint_type=\"datadog\")\n# Disk autoscaler endpoint\nautoscaler_endpoint = aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\",\n    project=example_project[\"project\"],\n    endpoint_name=\"disk-autoscaler-200GiB\",\n    endpoint_type=\"autoscaler\",\n    autoscaler_user_config={\n        \"autoscalings\": [{\n            \"cap_gb\": 200,\n            \"type\": \"autoscale_disk\",\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Datadog endpoint\n    var exampleEndpoint = new Aiven.ServiceIntegrationEndpoint(\"example_endpoint\", new()\n    {\n        Project = exampleProject.Project,\n        EndpointName = \"Datadog endpoint\",\n        EndpointType = \"datadog\",\n    });\n\n    // Disk autoscaler endpoint\n    var autoscalerEndpoint = new Aiven.ServiceIntegrationEndpoint(\"autoscaler_endpoint\", new()\n    {\n        Project = exampleProject.Project,\n        EndpointName = \"disk-autoscaler-200GiB\",\n        EndpointType = \"autoscaler\",\n        AutoscalerUserConfig = new Aiven.Inputs.ServiceIntegrationEndpointAutoscalerUserConfigArgs\n        {\n            Autoscalings = new[]\n            {\n                new Aiven.Inputs.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs\n                {\n                    CapGb = 200,\n                    Type = \"autoscale_disk\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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// Datadog endpoint\n\t\t_, err := aiven.NewServiceIntegrationEndpoint(ctx, \"example_endpoint\", \u0026aiven.ServiceIntegrationEndpointArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tEndpointName: pulumi.String(\"Datadog endpoint\"),\n\t\t\tEndpointType: pulumi.String(\"datadog\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Disk autoscaler endpoint\n\t\t_, err = aiven.NewServiceIntegrationEndpoint(ctx, \"autoscaler_endpoint\", \u0026aiven.ServiceIntegrationEndpointArgs{\n\t\t\tProject:      pulumi.Any(exampleProject.Project),\n\t\t\tEndpointName: pulumi.String(\"disk-autoscaler-200GiB\"),\n\t\t\tEndpointType: pulumi.String(\"autoscaler\"),\n\t\t\tAutoscalerUserConfig: \u0026aiven.ServiceIntegrationEndpointAutoscalerUserConfigArgs{\n\t\t\t\tAutoscalings: aiven.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArray{\n\t\t\t\t\t\u0026aiven.ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs{\n\t\t\t\t\t\tCapGb: pulumi.Int(200),\n\t\t\t\t\t\tType:  pulumi.String(\"autoscale_disk\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\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.aiven.ServiceIntegrationEndpoint;\nimport com.pulumi.aiven.ServiceIntegrationEndpointArgs;\nimport com.pulumi.aiven.inputs.ServiceIntegrationEndpointAutoscalerUserConfigArgs;\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        // Datadog endpoint\n        var exampleEndpoint = new ServiceIntegrationEndpoint(\"exampleEndpoint\", ServiceIntegrationEndpointArgs.builder()\n            .project(exampleProject.project())\n            .endpointName(\"Datadog endpoint\")\n            .endpointType(\"datadog\")\n            .build());\n\n        // Disk autoscaler endpoint\n        var autoscalerEndpoint = new ServiceIntegrationEndpoint(\"autoscalerEndpoint\", ServiceIntegrationEndpointArgs.builder()\n            .project(exampleProject.project())\n            .endpointName(\"disk-autoscaler-200GiB\")\n            .endpointType(\"autoscaler\")\n            .autoscalerUserConfig(ServiceIntegrationEndpointAutoscalerUserConfigArgs.builder()\n                .autoscalings(ServiceIntegrationEndpointAutoscalerUserConfigAutoscalingArgs.builder()\n                    .capGb(200)\n                    .type(\"autoscale_disk\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Datadog endpoint\n  exampleEndpoint:\n    type: aiven:ServiceIntegrationEndpoint\n    name: example_endpoint\n    properties:\n      project: ${exampleProject.project}\n      endpointName: Datadog endpoint\n      endpointType: datadog\n  # Disk autoscaler endpoint\n  autoscalerEndpoint:\n    type: aiven:ServiceIntegrationEndpoint\n    name: autoscaler_endpoint\n    properties:\n      project: ${exampleProject.project}\n      endpointName: disk-autoscaler-200GiB\n      endpointType: autoscaler\n      autoscalerUserConfig:\n        autoscalings:\n          - capGb: 200\n            type: autoscale_disk\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/serviceIntegrationEndpoint:ServiceIntegrationEndpoint example_endpoint PROJECT/ID\n```\n\n","properties":{"autoscalerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointAutoscalerUserConfig:ServiceIntegrationEndpointAutoscalerUserConfig","description":"Autoscaler user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointDatadogUserConfig:ServiceIntegrationEndpointDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"endpointConfig":{"type":"object","additionalProperties":{"type":"string"},"description":"Backend configuration for the endpoint.\n"},"endpointName":{"type":"string","description":"Name of the service integration endpoint.\n"},"endpointType":{"type":"string","description":"The type of service integration endpoint. The possible values are \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\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, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsS3`\" pulumi-lang-dotnet=\"`ExternalAwsS3`\" pulumi-lang-go=\"`externalAwsS3`\" pulumi-lang-python=\"`external_aws_s3`\" pulumi-lang-yaml=\"`externalAwsS3`\" pulumi-lang-java=\"`externalAwsS3`\"\u003e`external_aws_s3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAzureBlobStorage`\" pulumi-lang-dotnet=\"`ExternalAzureBlobStorage`\" pulumi-lang-go=\"`externalAzureBlobStorage`\" pulumi-lang-python=\"`external_azure_blob_storage`\" pulumi-lang-yaml=\"`externalAzureBlobStorage`\" pulumi-lang-java=\"`externalAzureBlobStorage`\"\u003e`external_azure_blob_storage`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalClickhouse`\" pulumi-lang-dotnet=\"`ExternalClickhouse`\" pulumi-lang-go=\"`externalClickhouse`\" pulumi-lang-python=\"`external_clickhouse`\" pulumi-lang-yaml=\"`externalClickhouse`\" pulumi-lang-java=\"`externalClickhouse`\"\u003e`external_clickhouse`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudBigquery`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudBigquery`\" pulumi-lang-go=\"`externalGoogleCloudBigquery`\" pulumi-lang-python=\"`external_google_cloud_bigquery`\" pulumi-lang-yaml=\"`externalGoogleCloudBigquery`\" pulumi-lang-java=\"`externalGoogleCloudBigquery`\"\u003e`external_google_cloud_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalKafka`\" pulumi-lang-dotnet=\"`ExternalKafka`\" pulumi-lang-go=\"`externalKafka`\" pulumi-lang-python=\"`external_kafka`\" pulumi-lang-yaml=\"`externalKafka`\" pulumi-lang-java=\"`externalKafka`\"\u003e`external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalMysql`\" pulumi-lang-dotnet=\"`ExternalMysql`\" pulumi-lang-go=\"`externalMysql`\" pulumi-lang-python=\"`external_mysql`\" pulumi-lang-yaml=\"`externalMysql`\" pulumi-lang-java=\"`externalMysql`\"\u003e`external_mysql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPostgresql`\" pulumi-lang-dotnet=\"`ExternalPostgresql`\" pulumi-lang-go=\"`externalPostgresql`\" pulumi-lang-python=\"`external_postgresql`\" pulumi-lang-yaml=\"`externalPostgresql`\" pulumi-lang-java=\"`externalPostgresql`\"\u003e`external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPrometheus`\" pulumi-lang-dotnet=\"`ExternalPrometheus`\" pulumi-lang-go=\"`externalPrometheus`\" pulumi-lang-python=\"`external_prometheus`\" pulumi-lang-yaml=\"`externalPrometheus`\" pulumi-lang-java=\"`externalPrometheus`\"\u003e`external_prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalRedis`\" pulumi-lang-dotnet=\"`ExternalRedis`\" pulumi-lang-go=\"`externalRedis`\" pulumi-lang-python=\"`external_redis`\" pulumi-lang-yaml=\"`externalRedis`\" pulumi-lang-java=\"`externalRedis`\"\u003e`external_redis`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSchemaRegistry`\" pulumi-lang-dotnet=\"`ExternalSchemaRegistry`\" pulumi-lang-go=\"`externalSchemaRegistry`\" pulumi-lang-python=\"`external_schema_registry`\" pulumi-lang-yaml=\"`externalSchemaRegistry`\" pulumi-lang-java=\"`externalSchemaRegistry`\"\u003e`external_schema_registry`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSumologicLogs`\" pulumi-lang-dotnet=\"`ExternalSumologicLogs`\" pulumi-lang-go=\"`externalSumologicLogs`\" pulumi-lang-python=\"`external_sumologic_logs`\" pulumi-lang-yaml=\"`externalSumologicLogs`\" pulumi-lang-java=\"`externalSumologicLogs`\"\u003e`external_sumologic_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e.\n"},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsS3UserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsS3UserConfig:ServiceIntegrationEndpointExternalAwsS3UserConfig","description":"ExternalAwsS3 user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAzureBlobStorageUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig","description":"ExternalAzureBlobStorage user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalClickhouseUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalClickhouseUserConfig:ServiceIntegrationEndpointExternalClickhouseUserConfig","description":"ExternalClickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudBigquery":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudBigquery:ServiceIntegrationEndpointExternalGoogleCloudBigquery","description":"ExternalGoogleCloudBigquery user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudLoggingUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig","description":"ExternalGoogleCloudLogging user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalKafkaUserConfig:ServiceIntegrationEndpointExternalKafkaUserConfig","description":"ExternalKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalMysqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalMysqlUserConfig:ServiceIntegrationEndpointExternalMysqlUserConfig","description":"ExternalMysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalOpensearchLogsUserConfig:ServiceIntegrationEndpointExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPostgresql":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPostgresql:ServiceIntegrationEndpointExternalPostgresql","description":"ExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPrometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPrometheusUserConfig:ServiceIntegrationEndpointExternalPrometheusUserConfig","description":"ExternalPrometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalSchemaRegistryUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalSchemaRegistryUserConfig:ServiceIntegrationEndpointExternalSchemaRegistryUserConfig","description":"ExternalSchemaRegistry user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"jolokiaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointJolokiaUserConfig:ServiceIntegrationEndpointJolokiaUserConfig","description":"Jolokia user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the service integration endpoint is in.\n"},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointPrometheusUserConfig:ServiceIntegrationEndpointPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"rsyslogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointRsyslogUserConfig:ServiceIntegrationEndpointRsyslogUserConfig","description":"Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"required":["endpointConfig","endpointName","endpointType","project"],"inputProperties":{"autoscalerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointAutoscalerUserConfig:ServiceIntegrationEndpointAutoscalerUserConfig","description":"Autoscaler user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointDatadogUserConfig:ServiceIntegrationEndpointDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"endpointName":{"type":"string","description":"Name of the service integration endpoint.\n","willReplaceOnChanges":true},"endpointType":{"type":"string","description":"The type of service integration endpoint. The possible values are \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\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, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsS3`\" pulumi-lang-dotnet=\"`ExternalAwsS3`\" pulumi-lang-go=\"`externalAwsS3`\" pulumi-lang-python=\"`external_aws_s3`\" pulumi-lang-yaml=\"`externalAwsS3`\" pulumi-lang-java=\"`externalAwsS3`\"\u003e`external_aws_s3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAzureBlobStorage`\" pulumi-lang-dotnet=\"`ExternalAzureBlobStorage`\" pulumi-lang-go=\"`externalAzureBlobStorage`\" pulumi-lang-python=\"`external_azure_blob_storage`\" pulumi-lang-yaml=\"`externalAzureBlobStorage`\" pulumi-lang-java=\"`externalAzureBlobStorage`\"\u003e`external_azure_blob_storage`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalClickhouse`\" pulumi-lang-dotnet=\"`ExternalClickhouse`\" pulumi-lang-go=\"`externalClickhouse`\" pulumi-lang-python=\"`external_clickhouse`\" pulumi-lang-yaml=\"`externalClickhouse`\" pulumi-lang-java=\"`externalClickhouse`\"\u003e`external_clickhouse`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudBigquery`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudBigquery`\" pulumi-lang-go=\"`externalGoogleCloudBigquery`\" pulumi-lang-python=\"`external_google_cloud_bigquery`\" pulumi-lang-yaml=\"`externalGoogleCloudBigquery`\" pulumi-lang-java=\"`externalGoogleCloudBigquery`\"\u003e`external_google_cloud_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalKafka`\" pulumi-lang-dotnet=\"`ExternalKafka`\" pulumi-lang-go=\"`externalKafka`\" pulumi-lang-python=\"`external_kafka`\" pulumi-lang-yaml=\"`externalKafka`\" pulumi-lang-java=\"`externalKafka`\"\u003e`external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalMysql`\" pulumi-lang-dotnet=\"`ExternalMysql`\" pulumi-lang-go=\"`externalMysql`\" pulumi-lang-python=\"`external_mysql`\" pulumi-lang-yaml=\"`externalMysql`\" pulumi-lang-java=\"`externalMysql`\"\u003e`external_mysql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPostgresql`\" pulumi-lang-dotnet=\"`ExternalPostgresql`\" pulumi-lang-go=\"`externalPostgresql`\" pulumi-lang-python=\"`external_postgresql`\" pulumi-lang-yaml=\"`externalPostgresql`\" pulumi-lang-java=\"`externalPostgresql`\"\u003e`external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPrometheus`\" pulumi-lang-dotnet=\"`ExternalPrometheus`\" pulumi-lang-go=\"`externalPrometheus`\" pulumi-lang-python=\"`external_prometheus`\" pulumi-lang-yaml=\"`externalPrometheus`\" pulumi-lang-java=\"`externalPrometheus`\"\u003e`external_prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalRedis`\" pulumi-lang-dotnet=\"`ExternalRedis`\" pulumi-lang-go=\"`externalRedis`\" pulumi-lang-python=\"`external_redis`\" pulumi-lang-yaml=\"`externalRedis`\" pulumi-lang-java=\"`externalRedis`\"\u003e`external_redis`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSchemaRegistry`\" pulumi-lang-dotnet=\"`ExternalSchemaRegistry`\" pulumi-lang-go=\"`externalSchemaRegistry`\" pulumi-lang-python=\"`external_schema_registry`\" pulumi-lang-yaml=\"`externalSchemaRegistry`\" pulumi-lang-java=\"`externalSchemaRegistry`\"\u003e`external_schema_registry`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSumologicLogs`\" pulumi-lang-dotnet=\"`ExternalSumologicLogs`\" pulumi-lang-go=\"`externalSumologicLogs`\" pulumi-lang-python=\"`external_sumologic_logs`\" pulumi-lang-yaml=\"`externalSumologicLogs`\" pulumi-lang-java=\"`externalSumologicLogs`\"\u003e`external_sumologic_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e.\n","willReplaceOnChanges":true},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsS3UserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsS3UserConfig:ServiceIntegrationEndpointExternalAwsS3UserConfig","description":"ExternalAwsS3 user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAzureBlobStorageUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig","description":"ExternalAzureBlobStorage user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalClickhouseUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalClickhouseUserConfig:ServiceIntegrationEndpointExternalClickhouseUserConfig","description":"ExternalClickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudBigquery":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudBigquery:ServiceIntegrationEndpointExternalGoogleCloudBigquery","description":"ExternalGoogleCloudBigquery user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudLoggingUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig","description":"ExternalGoogleCloudLogging user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalKafkaUserConfig:ServiceIntegrationEndpointExternalKafkaUserConfig","description":"ExternalKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalMysqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalMysqlUserConfig:ServiceIntegrationEndpointExternalMysqlUserConfig","description":"ExternalMysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalOpensearchLogsUserConfig:ServiceIntegrationEndpointExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPostgresql":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPostgresql:ServiceIntegrationEndpointExternalPostgresql","description":"ExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPrometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPrometheusUserConfig:ServiceIntegrationEndpointExternalPrometheusUserConfig","description":"ExternalPrometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalSchemaRegistryUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalSchemaRegistryUserConfig:ServiceIntegrationEndpointExternalSchemaRegistryUserConfig","description":"ExternalSchemaRegistry user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"jolokiaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointJolokiaUserConfig:ServiceIntegrationEndpointJolokiaUserConfig","description":"Jolokia user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the service integration endpoint is in.\n","willReplaceOnChanges":true},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointPrometheusUserConfig:ServiceIntegrationEndpointPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"rsyslogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointRsyslogUserConfig:ServiceIntegrationEndpointRsyslogUserConfig","description":"Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"requiredInputs":["endpointName","endpointType","project"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceIntegrationEndpoint resources.\n","properties":{"autoscalerUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointAutoscalerUserConfig:ServiceIntegrationEndpointAutoscalerUserConfig","description":"Autoscaler user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"datadogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointDatadogUserConfig:ServiceIntegrationEndpointDatadogUserConfig","description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"endpointConfig":{"type":"object","additionalProperties":{"type":"string"},"description":"Backend configuration for the endpoint.\n"},"endpointName":{"type":"string","description":"Name of the service integration endpoint.\n","willReplaceOnChanges":true},"endpointType":{"type":"string","description":"The type of service integration endpoint. The possible values are \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\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, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsS3`\" pulumi-lang-dotnet=\"`ExternalAwsS3`\" pulumi-lang-go=\"`externalAwsS3`\" pulumi-lang-python=\"`external_aws_s3`\" pulumi-lang-yaml=\"`externalAwsS3`\" pulumi-lang-java=\"`externalAwsS3`\"\u003e`external_aws_s3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAzureBlobStorage`\" pulumi-lang-dotnet=\"`ExternalAzureBlobStorage`\" pulumi-lang-go=\"`externalAzureBlobStorage`\" pulumi-lang-python=\"`external_azure_blob_storage`\" pulumi-lang-yaml=\"`externalAzureBlobStorage`\" pulumi-lang-java=\"`externalAzureBlobStorage`\"\u003e`external_azure_blob_storage`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalClickhouse`\" pulumi-lang-dotnet=\"`ExternalClickhouse`\" pulumi-lang-go=\"`externalClickhouse`\" pulumi-lang-python=\"`external_clickhouse`\" pulumi-lang-yaml=\"`externalClickhouse`\" pulumi-lang-java=\"`externalClickhouse`\"\u003e`external_clickhouse`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudBigquery`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudBigquery`\" pulumi-lang-go=\"`externalGoogleCloudBigquery`\" pulumi-lang-python=\"`external_google_cloud_bigquery`\" pulumi-lang-yaml=\"`externalGoogleCloudBigquery`\" pulumi-lang-java=\"`externalGoogleCloudBigquery`\"\u003e`external_google_cloud_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalKafka`\" pulumi-lang-dotnet=\"`ExternalKafka`\" pulumi-lang-go=\"`externalKafka`\" pulumi-lang-python=\"`external_kafka`\" pulumi-lang-yaml=\"`externalKafka`\" pulumi-lang-java=\"`externalKafka`\"\u003e`external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalMysql`\" pulumi-lang-dotnet=\"`ExternalMysql`\" pulumi-lang-go=\"`externalMysql`\" pulumi-lang-python=\"`external_mysql`\" pulumi-lang-yaml=\"`externalMysql`\" pulumi-lang-java=\"`externalMysql`\"\u003e`external_mysql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPostgresql`\" pulumi-lang-dotnet=\"`ExternalPostgresql`\" pulumi-lang-go=\"`externalPostgresql`\" pulumi-lang-python=\"`external_postgresql`\" pulumi-lang-yaml=\"`externalPostgresql`\" pulumi-lang-java=\"`externalPostgresql`\"\u003e`external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPrometheus`\" pulumi-lang-dotnet=\"`ExternalPrometheus`\" pulumi-lang-go=\"`externalPrometheus`\" pulumi-lang-python=\"`external_prometheus`\" pulumi-lang-yaml=\"`externalPrometheus`\" pulumi-lang-java=\"`externalPrometheus`\"\u003e`external_prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalRedis`\" pulumi-lang-dotnet=\"`ExternalRedis`\" pulumi-lang-go=\"`externalRedis`\" pulumi-lang-python=\"`external_redis`\" pulumi-lang-yaml=\"`externalRedis`\" pulumi-lang-java=\"`externalRedis`\"\u003e`external_redis`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSchemaRegistry`\" pulumi-lang-dotnet=\"`ExternalSchemaRegistry`\" pulumi-lang-go=\"`externalSchemaRegistry`\" pulumi-lang-python=\"`external_schema_registry`\" pulumi-lang-yaml=\"`externalSchemaRegistry`\" pulumi-lang-java=\"`externalSchemaRegistry`\"\u003e`external_schema_registry`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSumologicLogs`\" pulumi-lang-dotnet=\"`ExternalSumologicLogs`\" pulumi-lang-go=\"`externalSumologicLogs`\" pulumi-lang-python=\"`external_sumologic_logs`\" pulumi-lang-yaml=\"`externalSumologicLogs`\" pulumi-lang-java=\"`externalSumologicLogs`\"\u003e`external_sumologic_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e.\n","willReplaceOnChanges":true},"externalAwsCloudwatchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig","description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsCloudwatchMetricsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:ServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig","description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAwsS3UserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAwsS3UserConfig:ServiceIntegrationEndpointExternalAwsS3UserConfig","description":"ExternalAwsS3 user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalAzureBlobStorageUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:ServiceIntegrationEndpointExternalAzureBlobStorageUserConfig","description":"ExternalAzureBlobStorage user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalClickhouseUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalClickhouseUserConfig:ServiceIntegrationEndpointExternalClickhouseUserConfig","description":"ExternalClickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalElasticsearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:ServiceIntegrationEndpointExternalElasticsearchLogsUserConfig","description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudBigquery":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudBigquery:ServiceIntegrationEndpointExternalGoogleCloudBigquery","description":"ExternalGoogleCloudBigquery user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalGoogleCloudLoggingUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:ServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig","description":"ExternalGoogleCloudLogging user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalKafkaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalKafkaUserConfig:ServiceIntegrationEndpointExternalKafkaUserConfig","description":"ExternalKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalMysqlUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalMysqlUserConfig:ServiceIntegrationEndpointExternalMysqlUserConfig","description":"ExternalMysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalOpensearchLogsUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalOpensearchLogsUserConfig:ServiceIntegrationEndpointExternalOpensearchLogsUserConfig","description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPostgresql":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPostgresql:ServiceIntegrationEndpointExternalPostgresql","description":"ExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalPrometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalPrometheusUserConfig:ServiceIntegrationEndpointExternalPrometheusUserConfig","description":"ExternalPrometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"externalSchemaRegistryUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointExternalSchemaRegistryUserConfig:ServiceIntegrationEndpointExternalSchemaRegistryUserConfig","description":"ExternalSchemaRegistry user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"jolokiaUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointJolokiaUserConfig:ServiceIntegrationEndpointJolokiaUserConfig","description":"Jolokia user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"project":{"type":"string","description":"Project the service integration endpoint is in.\n","willReplaceOnChanges":true},"prometheusUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointPrometheusUserConfig:ServiceIntegrationEndpointPrometheusUserConfig","description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"},"rsyslogUserConfig":{"$ref":"#/types/aiven:index/ServiceIntegrationEndpointRsyslogUserConfig:ServiceIntegrationEndpointRsyslogUserConfig","description":"Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"type":"object"}},"aiven:index/staticIp:StaticIp":{"description":"The\u003cspan pulumi-lang-nodejs=\" aiven.StaticIp \" pulumi-lang-dotnet=\" aiven.StaticIp \" pulumi-lang-go=\" StaticIp \" pulumi-lang-python=\" StaticIp \" pulumi-lang-yaml=\" aiven.StaticIp \" pulumi-lang-java=\" aiven.StaticIp \"\u003e aiven.StaticIp \u003c/span\u003eresource allows the creation and deletion of static ips. Please note that once a static ip is in the 'assigned' state it is bound to the node it is assigned to and cannot be deleted or disassociated until the node is recycled. Plans that would delete static ips that are in the assigned state will be blocked.\n","properties":{"cloudName":{"type":"string","description":"Specifies the cloud that the static ip belongs to. Changing this property forces recreation of the resource.\n"},"ipAddress":{"type":"string","description":"The address of the static ip.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The service name the static ip is associated with.\n"},"state":{"type":"string","description":"The state the static ip is in.\n"},"staticIpAddressId":{"type":"string","description":"The static ip id of the resource. Should be used as a reference elsewhere.\n"}},"required":["cloudName","ipAddress","project","serviceName","state","staticIpAddressId"],"inputProperties":{"cloudName":{"type":"string","description":"Specifies the cloud that the static ip belongs to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["cloudName","project"],"stateInputs":{"description":"Input properties used for looking up and filtering StaticIp resources.\n","properties":{"cloudName":{"type":"string","description":"Specifies the cloud that the static ip belongs to. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"ipAddress":{"type":"string","description":"The address of the static ip.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The service name the static ip is associated with.\n"},"state":{"type":"string","description":"The state the static ip is in.\n"},"staticIpAddressId":{"type":"string","description":"The static ip id of the resource. Should be used as a reference elsewhere.\n"}},"type":"object"}},"aiven:index/thanos:Thanos":{"description":"Creates and manages an [Aiven for Metrics®](https://aiven.io/docs/products/metrics/concepts/metrics-overview) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleThanos = new aiven.Thanos(\"example_thanos\", {\n    project: exampleProject.project,\n    plan: \"startup-4\",\n    cloudName: \"google-europe-west1\",\n    serviceName: \"example-thanos-service\",\n    thanosUserConfig: {\n        compactor: {\n            retentionDays: 30,\n        },\n        objectStorageUsageAlertThresholdGb: 10,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_thanos = aiven.Thanos(\"example_thanos\",\n    project=example_project[\"project\"],\n    plan=\"startup-4\",\n    cloud_name=\"google-europe-west1\",\n    service_name=\"example-thanos-service\",\n    thanos_user_config={\n        \"compactor\": {\n            \"retention_days\": 30,\n        },\n        \"object_storage_usage_alert_threshold_gb\": 10,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleThanos = new Aiven.Thanos(\"example_thanos\", new()\n    {\n        Project = exampleProject.Project,\n        Plan = \"startup-4\",\n        CloudName = \"google-europe-west1\",\n        ServiceName = \"example-thanos-service\",\n        ThanosUserConfig = new Aiven.Inputs.ThanosThanosUserConfigArgs\n        {\n            Compactor = new Aiven.Inputs.ThanosThanosUserConfigCompactorArgs\n            {\n                RetentionDays = 30,\n            },\n            ObjectStorageUsageAlertThresholdGb = 10,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewThanos(ctx, \"example_thanos\", \u0026aiven.ThanosArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tServiceName: pulumi.String(\"example-thanos-service\"),\n\t\t\tThanosUserConfig: \u0026aiven.ThanosThanosUserConfigArgs{\n\t\t\t\tCompactor: \u0026aiven.ThanosThanosUserConfigCompactorArgs{\n\t\t\t\t\tRetentionDays: pulumi.Int(30),\n\t\t\t\t},\n\t\t\t\tObjectStorageUsageAlertThresholdGb: pulumi.Int(10),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Thanos;\nimport com.pulumi.aiven.ThanosArgs;\nimport com.pulumi.aiven.inputs.ThanosThanosUserConfigArgs;\nimport com.pulumi.aiven.inputs.ThanosThanosUserConfigCompactorArgs;\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 exampleThanos = new Thanos(\"exampleThanos\", ThanosArgs.builder()\n            .project(exampleProject.project())\n            .plan(\"startup-4\")\n            .cloudName(\"google-europe-west1\")\n            .serviceName(\"example-thanos-service\")\n            .thanosUserConfig(ThanosThanosUserConfigArgs.builder()\n                .compactor(ThanosThanosUserConfigCompactorArgs.builder()\n                    .retentionDays(30)\n                    .build())\n                .objectStorageUsageAlertThresholdGb(10)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleThanos:\n    type: aiven:Thanos\n    name: example_thanos\n    properties:\n      project: ${exampleProject.project}\n      plan: startup-4\n      cloudName: google-europe-west1\n      serviceName: example-thanos-service\n      thanosUserConfig:\n        compactor:\n          retentionDays: '30'\n        objectStorageUsageAlertThresholdGb: '10'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/thanos:Thanos example_thanos PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosComponent:ThanosComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosServiceIntegration:ThanosServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTag:ThanosTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTechEmail:ThanosTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"thanos":{"$ref":"#/types/aiven:index/ThanosThanos:ThanosThanos","description":"Thanos server connection details.\n","language":{"csharp":{"name":"ThanosServer"}},"secret":true},"thanosUserConfig":{"$ref":"#/types/aiven:index/ThanosThanosUserConfig:ThanosThanosUserConfig","description":"Thanos user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","thanos"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosServiceIntegration:ThanosServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTag:ThanosTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTechEmail:ThanosTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"thanos":{"$ref":"#/types/aiven:index/ThanosThanos:ThanosThanos","description":"Thanos server connection details.\n","language":{"csharp":{"name":"ThanosServer"}},"secret":true},"thanosUserConfig":{"$ref":"#/types/aiven:index/ThanosThanosUserConfig:ThanosThanosUserConfig","description":"Thanos user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Thanos resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosComponent:ThanosComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosServiceIntegration:ThanosServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTag:ThanosTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ThanosTechEmail:ThanosTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"thanos":{"$ref":"#/types/aiven:index/ThanosThanos:ThanosThanos","description":"Thanos server connection details.\n","language":{"csharp":{"name":"ThanosServer"}},"secret":true},"thanosUserConfig":{"$ref":"#/types/aiven:index/ThanosThanosUserConfig:ThanosThanosUserConfig","description":"Thanos user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"type":"object"}},"aiven:index/transitGatewayVpcAttachment:TransitGatewayVpcAttachment":{"description":"The Transit Gateway VPC Attachment resource allows the creation and management Transit Gateway VPC Attachment VPC peering connection between Aiven and AWS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst attachment = new aiven.TransitGatewayVpcAttachment(\"attachment\", {\n    vpcId: bar.id,\n    peerCloudAccount: \"\u003cPEER_ACCOUNT_ID\u003e\",\n    peerVpc: \"google-project1\",\n    peerRegion: \"aws-eu-west-1\",\n    userPeerNetworkCidrs: [\"10.0.0.0/24\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nattachment = aiven.TransitGatewayVpcAttachment(\"attachment\",\n    vpc_id=bar[\"id\"],\n    peer_cloud_account=\"\u003cPEER_ACCOUNT_ID\u003e\",\n    peer_vpc=\"google-project1\",\n    peer_region=\"aws-eu-west-1\",\n    user_peer_network_cidrs=[\"10.0.0.0/24\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attachment = new Aiven.TransitGatewayVpcAttachment(\"attachment\", new()\n    {\n        VpcId = bar.Id,\n        PeerCloudAccount = \"\u003cPEER_ACCOUNT_ID\u003e\",\n        PeerVpc = \"google-project1\",\n        PeerRegion = \"aws-eu-west-1\",\n        UserPeerNetworkCidrs = new[]\n        {\n            \"10.0.0.0/24\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewTransitGatewayVpcAttachment(ctx, \"attachment\", \u0026aiven.TransitGatewayVpcAttachmentArgs{\n\t\t\tVpcId:            pulumi.Any(bar.Id),\n\t\t\tPeerCloudAccount: pulumi.String(\"\u003cPEER_ACCOUNT_ID\u003e\"),\n\t\t\tPeerVpc:          pulumi.String(\"google-project1\"),\n\t\t\tPeerRegion:       pulumi.String(\"aws-eu-west-1\"),\n\t\t\tUserPeerNetworkCidrs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"10.0.0.0/24\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.TransitGatewayVpcAttachment;\nimport com.pulumi.aiven.TransitGatewayVpcAttachmentArgs;\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 attachment = new TransitGatewayVpcAttachment(\"attachment\", TransitGatewayVpcAttachmentArgs.builder()\n            .vpcId(bar.id())\n            .peerCloudAccount(\"\u003cPEER_ACCOUNT_ID\u003e\")\n            .peerVpc(\"google-project1\")\n            .peerRegion(\"aws-eu-west-1\")\n            .userPeerNetworkCidrs(\"10.0.0.0/24\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  attachment:\n    type: aiven:TransitGatewayVpcAttachment\n    properties:\n      vpcId: ${bar.id}\n      peerCloudAccount: \u003cPEER_ACCOUNT_ID\u003e\n      peerVpc: google-project1\n      peerRegion: aws-eu-west-1\n      userPeerNetworkCidrs:\n        - 10.0.0.0/24\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/transitGatewayVpcAttachment:TransitGatewayVpcAttachment attachment PROJECT/VPC_ID/PEER_CLOUD_ACCOUNT/PEER_VPC/PEER_REGION\n```\n\n","properties":{"peerCloudAccount":{"type":"string","description":"AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.\n"},"peerRegion":{"type":"string","description":"AWS region of the peered VPC (if not in the same region as Aiven VPC). This value can't be changed.\n"},"peerVpc":{"type":"string","description":"Transit gateway ID. Changing this property forces recreation of the resource.\n"},"peeringConnectionId":{"type":"string","description":"Cloud provider identifier for the peering connection if available\n"},"state":{"type":"string","description":"State of the peering connection\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information\n"},"userPeerNetworkCidrs":{"type":"array","items":{"type":"string"},"description":"List of private IPv4 ranges to route through the peering connection\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"required":["peerCloudAccount","peerVpc","peeringConnectionId","state","stateInfo","userPeerNetworkCidrs","vpcId"],"inputProperties":{"peerCloudAccount":{"type":"string","description":"AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerRegion":{"type":"string","description":"AWS region of the peered VPC (if not in the same region as Aiven VPC). This value can't be changed.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Transit gateway ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"userPeerNetworkCidrs":{"type":"array","items":{"type":"string"},"description":"List of private IPv4 ranges to route through the peering connection\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["peerCloudAccount","peerVpc","userPeerNetworkCidrs","vpcId"],"stateInputs":{"description":"Input properties used for looking up and filtering TransitGatewayVpcAttachment resources.\n","properties":{"peerCloudAccount":{"type":"string","description":"AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peerRegion":{"type":"string","description":"AWS region of the peered VPC (if not in the same region as Aiven VPC). This value can't be changed.\n","willReplaceOnChanges":true},"peerVpc":{"type":"string","description":"Transit gateway ID. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"peeringConnectionId":{"type":"string","description":"Cloud provider identifier for the peering connection if available\n"},"state":{"type":"string","description":"State of the peering connection\n"},"stateInfo":{"type":"object","additionalProperties":{"type":"string"},"description":"State-specific help or error information\n"},"userPeerNetworkCidrs":{"type":"array","items":{"type":"string"},"description":"List of private IPv4 ranges to route through the peering connection\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"aiven:index/valkey:Valkey":{"description":"Creates and manages an [Aiven for Valkey™](https://aiven.io/docs/products/valkey) service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleValkey = new aiven.Valkey(\"example_valkey\", {\n    project: exampleProject.project,\n    plan: \"startup-4\",\n    cloudName: \"google-europe-west1\",\n    serviceName: \"example-valkey-service\",\n    valkeyUserConfig: {\n        valkeyMaxmemoryPolicy: \"allkeys-random\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_valkey = aiven.Valkey(\"example_valkey\",\n    project=example_project[\"project\"],\n    plan=\"startup-4\",\n    cloud_name=\"google-europe-west1\",\n    service_name=\"example-valkey-service\",\n    valkey_user_config={\n        \"valkey_maxmemory_policy\": \"allkeys-random\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleValkey = new Aiven.Valkey(\"example_valkey\", new()\n    {\n        Project = exampleProject.Project,\n        Plan = \"startup-4\",\n        CloudName = \"google-europe-west1\",\n        ServiceName = \"example-valkey-service\",\n        ValkeyUserConfig = new Aiven.Inputs.ValkeyValkeyUserConfigArgs\n        {\n            ValkeyMaxmemoryPolicy = \"allkeys-random\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewValkey(ctx, \"example_valkey\", \u0026aiven.ValkeyArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tPlan:        pulumi.String(\"startup-4\"),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tServiceName: pulumi.String(\"example-valkey-service\"),\n\t\t\tValkeyUserConfig: \u0026aiven.ValkeyValkeyUserConfigArgs{\n\t\t\t\tValkeyMaxmemoryPolicy: pulumi.String(\"allkeys-random\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.Valkey;\nimport com.pulumi.aiven.ValkeyArgs;\nimport com.pulumi.aiven.inputs.ValkeyValkeyUserConfigArgs;\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 exampleValkey = new Valkey(\"exampleValkey\", ValkeyArgs.builder()\n            .project(exampleProject.project())\n            .plan(\"startup-4\")\n            .cloudName(\"google-europe-west1\")\n            .serviceName(\"example-valkey-service\")\n            .valkeyUserConfig(ValkeyValkeyUserConfigArgs.builder()\n                .valkeyMaxmemoryPolicy(\"allkeys-random\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  exampleValkey:\n    type: aiven:Valkey\n    name: example_valkey\n    properties:\n      project: ${exampleProject.project}\n      plan: startup-4\n      cloudName: google-europe-west1\n      serviceName: example-valkey-service\n      valkeyUserConfig:\n        valkeyMaxmemoryPolicy: allkeys-random\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/valkey:Valkey example_valkey PROJECT/SERVICE_NAME\n```\n\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyComponent:ValkeyComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyServiceIntegration:ValkeyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTag:ValkeyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTechEmail:ValkeyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"valkey":{"$ref":"#/types/aiven:index/ValkeyValkey:ValkeyValkey","description":"Valkey server provided values\n","language":{"csharp":{"name":"ValkeyServer"}},"secret":true},"valkeyUserConfig":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfig:ValkeyValkeyUserConfig","description":"Valkey user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"required":["additionalDiskSpace","components","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowEnabled","plan","project","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","valkey"],"inputProperties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyServiceIntegration:ValkeyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTag:ValkeyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTechEmail:ValkeyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"valkey":{"$ref":"#/types/aiven:index/ValkeyValkey:ValkeyValkey","description":"Valkey server provided values\n","language":{"csharp":{"name":"ValkeyServer"}},"secret":true},"valkeyUserConfig":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfig:ValkeyValkeyUserConfig","description":"Valkey user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"requiredInputs":["plan","project","serviceName"],"stateInputs":{"description":"Input properties used for looking up and filtering Valkey resources.\n","properties":{"additionalDiskSpace":{"type":"string","description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n"},"cloudName":{"type":"string","description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n"},"components":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyComponent:ValkeyComponent"},"description":"Service component information objects\n"},"diskSpace":{"type":"string","description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n"},"diskSpaceCap":{"type":"string","description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n"},"diskSpaceDefault":{"type":"string","description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n"},"diskSpaceStep":{"type":"string","description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n"},"diskSpaceUsed":{"type":"string","description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n"},"maintenanceWindowDow":{"type":"string","description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n"},"maintenanceWindowEnabled":{"type":"boolean","description":"Indicates whether the maintenance window is currently enabled for this service.\n"},"maintenanceWindowTime":{"type":"string","description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n"},"plan":{"type":"string","description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"projectVpcId":{"type":"string","description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n"},"serviceHost":{"type":"string","description":"The hostname of the service.\n"},"serviceIntegrations":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyServiceIntegration:ValkeyServiceIntegration"},"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","willReplaceOnChanges":true},"servicePassword":{"type":"string","description":"Password used for connecting to the service, if applicable\n","secret":true},"servicePort":{"type":"integer","description":"The port of the service\n"},"serviceType":{"type":"string","description":"Aiven internal service type code\n"},"serviceUri":{"type":"string","description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true},"serviceUsername":{"type":"string","description":"Username used for connecting to the service, if applicable\n"},"state":{"type":"string","description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n"},"staticIps":{"type":"array","items":{"type":"string"},"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTag:ValkeyTag"},"description":"Tags are key-value pairs that allow you to categorize services.\n"},"techEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/ValkeyTechEmail:ValkeyTechEmail"},"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n"},"terminationProtection":{"type":"boolean","description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n"},"valkey":{"$ref":"#/types/aiven:index/ValkeyValkey:ValkeyValkey","description":"Valkey server provided values\n","language":{"csharp":{"name":"ValkeyServer"}},"secret":true},"valkeyUserConfig":{"$ref":"#/types/aiven:index/ValkeyValkeyUserConfig:ValkeyValkeyUserConfig","description":"Valkey user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n"}},"type":"object"}},"aiven:index/valkeyUser:ValkeyUser":{"description":"Creates and manages an [Aiven for Valkey™](https://aiven.io/docs/products/valkey) service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Example user with read-only access for analytics\nconst readAnalytics = new aiven.ValkeyUser(\"read_analytics\", {\n    project: exampleProject.project,\n    serviceName: exampleValkey.serviceName,\n    username: \"example-analytics-reader\",\n    password: valkeyUserPw,\n    valkeyAclCategories: [\"+@read\"],\n    valkeyAclCommands: [\n        \"+get\",\n        \"+set\",\n        \"+mget\",\n        \"+hget\",\n        \"+zrange\",\n    ],\n    valkeyAclKeys: [\"analytics:*\"],\n});\n// Example user with restricted write access for session management\nconst manageSessions = new aiven.ValkeyUser(\"manage_sessions\", {\n    project: exampleProject.project,\n    serviceName: exampleValkey.serviceName,\n    username: \"example-session-manager\",\n    password: valkeyUserPw,\n    valkeyAclCategories: [\n        \"+@write\",\n        \"+@keyspace\",\n    ],\n    valkeyAclCommands: [\n        \"+set\",\n        \"+del\",\n        \"+expire\",\n        \"-flushall\",\n        \"-flushdb\",\n    ],\n    valkeyAclKeys: [\"session:*\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Example user with read-only access for analytics\nread_analytics = aiven.ValkeyUser(\"read_analytics\",\n    project=example_project[\"project\"],\n    service_name=example_valkey[\"serviceName\"],\n    username=\"example-analytics-reader\",\n    password=valkey_user_pw,\n    valkey_acl_categories=[\"+@read\"],\n    valkey_acl_commands=[\n        \"+get\",\n        \"+set\",\n        \"+mget\",\n        \"+hget\",\n        \"+zrange\",\n    ],\n    valkey_acl_keys=[\"analytics:*\"])\n# Example user with restricted write access for session management\nmanage_sessions = aiven.ValkeyUser(\"manage_sessions\",\n    project=example_project[\"project\"],\n    service_name=example_valkey[\"serviceName\"],\n    username=\"example-session-manager\",\n    password=valkey_user_pw,\n    valkey_acl_categories=[\n        \"+@write\",\n        \"+@keyspace\",\n    ],\n    valkey_acl_commands=[\n        \"+set\",\n        \"+del\",\n        \"+expire\",\n        \"-flushall\",\n        \"-flushdb\",\n    ],\n    valkey_acl_keys=[\"session:*\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example user with read-only access for analytics\n    var readAnalytics = new Aiven.ValkeyUser(\"read_analytics\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleValkey.ServiceName,\n        Username = \"example-analytics-reader\",\n        Password = valkeyUserPw,\n        ValkeyAclCategories = new[]\n        {\n            \"+@read\",\n        },\n        ValkeyAclCommands = new[]\n        {\n            \"+get\",\n            \"+set\",\n            \"+mget\",\n            \"+hget\",\n            \"+zrange\",\n        },\n        ValkeyAclKeys = new[]\n        {\n            \"analytics:*\",\n        },\n    });\n\n    // Example user with restricted write access for session management\n    var manageSessions = new Aiven.ValkeyUser(\"manage_sessions\", new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleValkey.ServiceName,\n        Username = \"example-session-manager\",\n        Password = valkeyUserPw,\n        ValkeyAclCategories = new[]\n        {\n            \"+@write\",\n            \"+@keyspace\",\n        },\n        ValkeyAclCommands = new[]\n        {\n            \"+set\",\n            \"+del\",\n            \"+expire\",\n            \"-flushall\",\n            \"-flushdb\",\n        },\n        ValkeyAclKeys = new[]\n        {\n            \"session:*\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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// Example user with read-only access for analytics\n\t\t_, err := aiven.NewValkeyUser(ctx, \"read_analytics\", \u0026aiven.ValkeyUserArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleValkey.ServiceName),\n\t\t\tUsername:    pulumi.String(\"example-analytics-reader\"),\n\t\t\tPassword:    pulumi.Any(valkeyUserPw),\n\t\t\tValkeyAclCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"+@read\"),\n\t\t\t},\n\t\t\tValkeyAclCommands: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"+get\"),\n\t\t\t\tpulumi.String(\"+set\"),\n\t\t\t\tpulumi.String(\"+mget\"),\n\t\t\t\tpulumi.String(\"+hget\"),\n\t\t\t\tpulumi.String(\"+zrange\"),\n\t\t\t},\n\t\t\tValkeyAclKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"analytics:*\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example user with restricted write access for session management\n\t\t_, err = aiven.NewValkeyUser(ctx, \"manage_sessions\", \u0026aiven.ValkeyUserArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tServiceName: pulumi.Any(exampleValkey.ServiceName),\n\t\t\tUsername:    pulumi.String(\"example-session-manager\"),\n\t\t\tPassword:    pulumi.Any(valkeyUserPw),\n\t\t\tValkeyAclCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"+@write\"),\n\t\t\t\tpulumi.String(\"+@keyspace\"),\n\t\t\t},\n\t\t\tValkeyAclCommands: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"+set\"),\n\t\t\t\tpulumi.String(\"+del\"),\n\t\t\t\tpulumi.String(\"+expire\"),\n\t\t\t\tpulumi.String(\"-flushall\"),\n\t\t\t\tpulumi.String(\"-flushdb\"),\n\t\t\t},\n\t\t\tValkeyAclKeys: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"session:*\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.ValkeyUser;\nimport com.pulumi.aiven.ValkeyUserArgs;\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        // Example user with read-only access for analytics\n        var readAnalytics = new ValkeyUser(\"readAnalytics\", ValkeyUserArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleValkey.serviceName())\n            .username(\"example-analytics-reader\")\n            .password(valkeyUserPw)\n            .valkeyAclCategories(\"+@read\")\n            .valkeyAclCommands(            \n                \"+get\",\n                \"+set\",\n                \"+mget\",\n                \"+hget\",\n                \"+zrange\")\n            .valkeyAclKeys(\"analytics:*\")\n            .build());\n\n        // Example user with restricted write access for session management\n        var manageSessions = new ValkeyUser(\"manageSessions\", ValkeyUserArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleValkey.serviceName())\n            .username(\"example-session-manager\")\n            .password(valkeyUserPw)\n            .valkeyAclCategories(            \n                \"+@write\",\n                \"+@keyspace\")\n            .valkeyAclCommands(            \n                \"+set\",\n                \"+del\",\n                \"+expire\",\n                \"-flushall\",\n                \"-flushdb\")\n            .valkeyAclKeys(\"session:*\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example user with read-only access for analytics\n  readAnalytics:\n    type: aiven:ValkeyUser\n    name: read_analytics\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleValkey.serviceName}\n      username: example-analytics-reader\n      password: ${valkeyUserPw}\n      valkeyAclCategories:\n        - +@read\n      valkeyAclCommands:\n        - +get\n        - +set\n        - +mget\n        - +hget\n        - +zrange\n      valkeyAclKeys:\n        - analytics:*\n  # Example user with restricted write access for session management\n  manageSessions:\n    type: aiven:ValkeyUser\n    name: manage_sessions\n    properties:\n      project: ${exampleProject.project}\n      serviceName: ${exampleValkey.serviceName}\n      username: example-session-manager\n      password: ${valkeyUserPw}\n      valkeyAclCategories:\n        - +@write\n        - +@keyspace\n      valkeyAclCommands:\n        - +set\n        - +del\n        - +expire\n        - -flushall\n        - -flushdb\n      valkeyAclKeys:\n        - session:*\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n```sh\n$ pulumi import aiven:index/valkeyUser:ValkeyUser example_valkey PROJECT/SERVICE_NAME/USERNAME\n```\n\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Valkey service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"valkeyAclCategories":{"type":"array","items":{"type":"string"},"description":"Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCommands`\" pulumi-lang-dotnet=\"`ValkeyAclCommands`\" pulumi-lang-go=\"`valkeyAclCommands`\" pulumi-lang-python=\"`valkey_acl_commands`\" pulumi-lang-yaml=\"`valkeyAclCommands`\" pulumi-lang-java=\"`valkeyAclCommands`\"\u003e`valkey_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclChannels":{"type":"array","items":{"type":"string"},"description":"Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns."},"valkeyAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclKeys":{"type":"array","items":{"type":"string"},"description":"Key access rules. Entries are defined as standard glob patterns. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."}},"required":["password","project","serviceName","type","username"],"inputProperties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Name of the Valkey service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"valkeyAclCategories":{"type":"array","items":{"type":"string"},"description":"Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCommands`\" pulumi-lang-dotnet=\"`ValkeyAclCommands`\" pulumi-lang-go=\"`valkeyAclCommands`\" pulumi-lang-python=\"`valkey_acl_commands`\" pulumi-lang-yaml=\"`valkeyAclCommands`\" pulumi-lang-java=\"`valkeyAclCommands`\"\u003e`valkey_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclChannels":{"type":"array","items":{"type":"string"},"description":"Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns."},"valkeyAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclKeys":{"type":"array","items":{"type":"string"},"description":"Key access rules. Entries are defined as standard glob patterns. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."}},"requiredInputs":["project","serviceName","username"],"stateInputs":{"description":"Input properties used for looking up and filtering ValkeyUser resources.\n","properties":{"password":{"type":"string","description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.","secret":true},"passwordWo":{"type":"string","description":"**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nThe password of the service user (write-only, not stored in state). Must be used with \u003cspan pulumi-lang-nodejs=\"`passwordWoVersion`\" pulumi-lang-dotnet=\"`PasswordWoVersion`\" pulumi-lang-go=\"`passwordWoVersion`\" pulumi-lang-python=\"`password_wo_version`\" pulumi-lang-yaml=\"`passwordWoVersion`\" pulumi-lang-java=\"`passwordWoVersion`\"\u003e`password_wo_version`\u003c/span\u003e. Must be 8-256 characters.","secret":true},"passwordWoVersion":{"type":"integer","description":"Version number for \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e. Increment this to rotate the password. Must be \u003e= 1."},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"User account type, such as primary or regular account."},"username":{"type":"string","description":"Name of the Valkey service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","willReplaceOnChanges":true},"valkeyAclCategories":{"type":"array","items":{"type":"string"},"description":"Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCommands`\" pulumi-lang-dotnet=\"`ValkeyAclCommands`\" pulumi-lang-go=\"`valkeyAclCommands`\" pulumi-lang-python=\"`valkey_acl_commands`\" pulumi-lang-yaml=\"`valkeyAclCommands`\" pulumi-lang-java=\"`valkeyAclCommands`\"\u003e`valkey_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclChannels":{"type":"array","items":{"type":"string"},"description":"Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns."},"valkeyAclCommands":{"type":"array","items":{"type":"string"},"description":"Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."},"valkeyAclKeys":{"type":"array","items":{"type":"string"},"description":"Key access rules. Entries are defined as standard glob patterns. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e."}},"type":"object"}}},"functions":{"aiven:index/getAccount:getAccount":{"description":"The Account data source provides information about the existing Aiven Account.\n\n\u003e **This resource is deprecated**\nThis resource will be removed in v5.0.0. Use \u003cspan pulumi-lang-nodejs=\"`aiven.Organization`\" pulumi-lang-dotnet=\"`aiven.Organization`\" pulumi-lang-go=\"`Organization`\" pulumi-lang-python=\"`Organization`\" pulumi-lang-yaml=\"`aiven.Organization`\" pulumi-lang-java=\"`aiven.Organization`\"\u003e`aiven.Organization`\u003c/span\u003e instead.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst account1 = aiven.getAccount({\n    name: \"\u003cACCOUNT_NAME\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\naccount1 = aiven.get_account(name=\"\u003cACCOUNT_NAME\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var account1 = Aiven.GetAccount.Invoke(new()\n    {\n        Name = \"\u003cACCOUNT_NAME\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupAccount(ctx, \u0026aiven.LookupAccountArgs{\n\t\t\tName: \"\u003cACCOUNT_NAME\u003e\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetAccountArgs;\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 account1 = AivenFunctions.getAccount(GetAccountArgs.builder()\n            .name(\"\u003cACCOUNT_NAME\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  account1:\n    fn::invoke:\n      function: aiven:getAccount\n      arguments:\n        name: \u003cACCOUNT_NAME\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAccount.\n","properties":{"name":{"type":"string","description":"Account name\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getAccount.\n","properties":{"accountId":{"description":"Account id\n","type":"string"},"createTime":{"description":"Time of creation\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isAccountOwner":{"description":"If true, user is part of the owners team for this account\n","type":"boolean"},"name":{"description":"Account name\n","type":"string"},"ownerTeamId":{"description":"Owner team id\n","type":"string"},"primaryBillingGroupId":{"description":"Billing group id\n","type":"string"},"tenantId":{"description":"Tenant id\n","type":"string"},"updateTime":{"description":"Time of last update\n","type":"string"}},"required":["accountId","createTime","isAccountOwner","name","ownerTeamId","primaryBillingGroupId","tenantId","updateTime","id"],"type":"object"}},"aiven:index/getAccountAuthentication:getAccountAuthentication":{"description":"The Account Authentication data source provides information about the existing Aiven Account Authentication.\n\n\u003e **This resource is deprecated**\nThis resource is deprecated\n\n","inputs":{"description":"A collection of arguments for invoking getAccountAuthentication.\n","properties":{"accountId":{"type":"string","description":"The unique id of the account.\n"},"name":{"type":"string","description":"The name of the account authentication.\n"}},"type":"object","required":["accountId","name"]},"outputs":{"description":"A collection of values returned by getAccountAuthentication.\n","properties":{"accountId":{"description":"The unique id of the account.\n","type":"string"},"authenticationId":{"description":"Account authentication id\n","type":"string"},"autoJoinTeamId":{"description":"Team ID\n","type":"string"},"createTime":{"description":"Time of creation\n","type":"string"},"enabled":{"description":"Status of account authentication method. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the account authentication.\n","type":"string"},"samlAcsUrl":{"description":"SAML Assertion Consumer Service URL\n","type":"string"},"samlCertificate":{"description":"SAML Certificate\n","type":"string"},"samlDigestAlgorithm":{"description":"Digest algorithm. This is an advanced option that typically does not need to be set.\n","type":"string"},"samlEntityId":{"description":"SAML Entity id\n","type":"string"},"samlFieldMappings":{"description":"Map IdP fields\n","items":{"$ref":"#/types/aiven:index/getAccountAuthenticationSamlFieldMapping:getAccountAuthenticationSamlFieldMapping"},"type":"array"},"samlIdpLoginAllowed":{"description":"Set to 'true' to enable IdP initiated login\n","type":"boolean"},"samlIdpUrl":{"description":"SAML Idp URL\n","type":"string"},"samlMetadataUrl":{"description":"SAML Metadata URL\n","type":"string"},"samlSignatureAlgorithm":{"description":"Signature algorithm. This is an advanced option that typically does not need to be set.\n","type":"string"},"samlVariant":{"description":"SAML server variant\n","type":"string"},"type":{"description":"The account authentication type. The possible values are \u003cspan pulumi-lang-nodejs=\"`internal`\" pulumi-lang-dotnet=\"`Internal`\" pulumi-lang-go=\"`internal`\" pulumi-lang-python=\"`internal`\" pulumi-lang-yaml=\"`internal`\" pulumi-lang-java=\"`internal`\"\u003e`internal`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`saml`\" pulumi-lang-dotnet=\"`Saml`\" pulumi-lang-go=\"`saml`\" pulumi-lang-python=\"`saml`\" pulumi-lang-yaml=\"`saml`\" pulumi-lang-java=\"`saml`\"\u003e`saml`\u003c/span\u003e.\n","type":"string"},"updateTime":{"description":"Time of last update\n","type":"string"}},"required":["accountId","authenticationId","autoJoinTeamId","createTime","enabled","name","samlAcsUrl","samlCertificate","samlDigestAlgorithm","samlEntityId","samlFieldMappings","samlIdpLoginAllowed","samlIdpUrl","samlMetadataUrl","samlSignatureAlgorithm","samlVariant","type","updateTime","id"],"type":"object"}},"aiven:index/getAccountTeam:getAccountTeam":{"description":"The Account Team data source provides information about the existing Account Team.\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n","inputs":{"description":"A collection of arguments for invoking getAccountTeam.\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"name":{"type":"string","description":"The account team name\n"}},"type":"object","required":["accountId","name"]},"outputs":{"description":"A collection of values returned by getAccountTeam.\n","properties":{"accountId":{"description":"The unique account id\n","type":"string"},"createTime":{"description":"Time of creation\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The account team name\n","type":"string"},"teamId":{"description":"The auto-generated unique account team id\n","type":"string"},"updateTime":{"description":"Time of last update\n","type":"string"}},"required":["accountId","createTime","name","teamId","updateTime","id"],"type":"object"}},"aiven:index/getAccountTeamMember:getAccountTeamMember":{"description":"The Account Team Member data source provides information about the existing Aiven Account Team Member.\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n","inputs":{"description":"A collection of arguments for invoking getAccountTeamMember.\n","properties":{"accountId":{"type":"string","description":"The unique account id. Changing this property forces recreation of the resource.\n"},"teamId":{"type":"string","description":"An account team id. Changing this property forces recreation of the resource.\n"},"userEmail":{"type":"string","description":"Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["accountId","teamId","userEmail"]},"outputs":{"description":"A collection of values returned by getAccountTeamMember.\n","properties":{"accepted":{"description":"is a boolean flag that determines whether an invitation was accepted or not by the user. \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e value means that the invitation was sent to the user but not yet accepted. \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e means that the user accepted the invitation and now a member of an account team.\n","type":"boolean"},"accountId":{"description":"The unique account id. Changing this property forces recreation of the resource.\n","type":"string"},"createTime":{"description":"Time of creation\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"invitedByUserEmail":{"description":"The email address that invited this user.\n","type":"string"},"teamId":{"description":"An account team id. Changing this property forces recreation of the resource.\n","type":"string"},"userEmail":{"description":"Is a user email address that first will be invited, and after accepting an invitation, he or she becomes a member of a team. Should be lowercase. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["accepted","accountId","createTime","invitedByUserEmail","teamId","userEmail","id"],"type":"object"}},"aiven:index/getAccountTeamProject:getAccountTeamProject":{"description":"The Account Team Project data source provides information about the existing Account Team Project.\n\n!\u003e **Teams have been replaced by groups**\nTo make the transition to groups smoother,\nmigrate your teams to groups.\n\n\u003e **Important**\nYou can't delete the Account Owners team. **Deleting all other teams in your organization will disable the teams feature.**\nYou won't be able to create new teams or access your Account Owners team.\n\n","inputs":{"description":"A collection of arguments for invoking getAccountTeamProject.\n","properties":{"accountId":{"type":"string","description":"The unique account id\n"},"projectName":{"type":"string","description":"The name of an already existing project\n"},"teamId":{"type":"string","description":"An account team id\n"}},"type":"object","required":["accountId","projectName","teamId"]},"outputs":{"description":"A collection of values returned by getAccountTeamProject.\n","properties":{"accountId":{"description":"The unique account id\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"projectName":{"description":"The name of an already existing project\n","type":"string"},"teamId":{"description":"An account team id\n","type":"string"},"teamType":{"description":"The Account team project type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n","type":"string"}},"required":["accountId","projectName","teamId","teamType","id"],"type":"object"}},"aiven:index/getAlloydbomni:getAlloydbomni":{"inputs":{"description":"A collection of arguments for invoking getAlloydbomni.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getAlloydbomni.\n","properties":{"additionalDiskSpace":{"type":"string"},"alloydbomniUserConfigs":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomniUserConfig:getAlloydbomniAlloydbomniUserConfig"},"type":"array"},"alloydbomnis":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniAlloydbomni:getAlloydbomniAlloydbomni"},"secret":true,"type":"array"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniComponent:getAlloydbomniComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceAccountCredentials":{"secret":true,"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniServiceIntegration:getAlloydbomniServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniTag:getAlloydbomniTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getAlloydbomniTechEmail:getAlloydbomniTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","alloydbomnis","alloydbomniUserConfigs","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceAccountCredentials","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getAlloydbomniDatabase:getAlloydbomniDatabase":{"inputs":{"description":"A collection of arguments for invoking getAlloydbomniDatabase.\n","properties":{"databaseName":{"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["databaseName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getAlloydbomniDatabase.\n","properties":{"databaseName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"lcCollate":{"type":"string"},"lcCtype":{"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"}},"required":["databaseName","lcCollate","lcCtype","project","serviceName","id"],"type":"object"}},"aiven:index/getAlloydbomniUser:getAlloydbomniUser":{"inputs":{"description":"A collection of arguments for invoking getAlloydbomniUser.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getAlloydbomniUser.\n","properties":{"accessCert":{"secret":true,"type":"string"},"accessKey":{"secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"secret":true,"type":"string"},"pgAllowReplication":{"type":"boolean"},"project":{"type":"string"},"serviceName":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"required":["accessCert","accessKey","password","pgAllowReplication","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getAwsOrgVpcPeeringConnection:getAwsOrgVpcPeeringConnection":{"description":"Gets information about an AWS VPC peering connection.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getAwsOrgVpcPeeringConnection.\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n"},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC. For example, `eu-central-1`.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"}},"type":"object","required":["awsAccountId","awsVpcId","awsVpcRegion","organizationId","organizationVpcId"]},"outputs":{"description":"A collection of values returned by getAwsOrgVpcPeeringConnection.\n","properties":{"awsAccountId":{"description":"AWS account ID. Changing this property forces recreation of the resource.\n","type":"string"},"awsVpcId":{"description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","type":"string"},"awsVpcPeeringConnectionId":{"description":"The ID of the AWS VPC peering connection.\n","type":"string"},"awsVpcRegion":{"description":"The AWS region of the peered VPC. For example, `eu-central-1`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"organizationId":{"description":"Identifier of the organization.\n","type":"string"},"organizationVpcId":{"description":"Identifier of the organization VPC.\n","type":"string"},"peeringConnectionId":{"description":"The ID of the peering connection.\n","type":"string"},"state":{"description":"State of the peering connection. The possible values are `ACTIVE`, `APPROVED`, `APPROVED_PEER_REQUESTED`, `DELETED`, `DELETED_BY_PEER`, `DELETING`, `ERROR`, `INVALID_SPECIFICATION`, `PENDING_PEER` and `REJECTED_BY_PEER`.\n","type":"string"}},"required":["awsAccountId","awsVpcId","awsVpcPeeringConnectionId","awsVpcRegion","organizationId","organizationVpcId","peeringConnectionId","state","id"],"type":"object"}},"aiven:index/getAwsPrivatelink:getAwsPrivatelink":{"description":"Gets information about an AWS PrivateLink connection for an Aiven service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getAwsPrivatelink({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_aws_privatelink(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetAwsPrivatelink.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupAwsPrivatelink(ctx, \u0026aiven.LookupAwsPrivatelinkArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleKafka.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetAwsPrivatelinkArgs;\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 main = AivenFunctions.getAwsPrivatelink(GetAwsPrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getAwsPrivatelink\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsPrivatelink.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getAwsPrivatelink.\n","properties":{"awsServiceId":{"description":"AWS service ID.\n","type":"string"},"awsServiceName":{"description":"AWS service name.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"principals":{"description":"List of the ARNs of the AWS accounts or IAM users allowed to connect to the VPC endpoint.\n","items":{"type":"string"},"type":"array"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["awsServiceId","awsServiceName","principals","project","serviceName","id"],"type":"object"}},"aiven:index/getAwsVpcPeeringConnection:getAwsVpcPeeringConnection":{"description":"Gets information about an AWS VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = new aiven.ProjectVpc(\"example_vpc\", {\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n    networkCidr: \"192.168.1.0/24\",\n});\nconst awsToAivenPeering = exampleVpc.id.apply(id =\u003e aiven.getAwsVpcPeeringConnectionOutput({\n    vpcId: id,\n    awsAccountId: awsId,\n    awsVpcId: \"vpc-1a2b3c4d5e6f7g8h9\",\n    awsVpcRegion: \"aws-us-east-2\",\n}));\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.ProjectVpc(\"example_vpc\",\n    project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\",\n    network_cidr=\"192.168.1.0/24\")\naws_to_aiven_peering = example_vpc.id.apply(lambda id: aiven.get_aws_vpc_peering_connection_output(vpc_id=id,\n    aws_account_id=aws_id,\n    aws_vpc_id=\"vpc-1a2b3c4d5e6f7g8h9\",\n    aws_vpc_region=\"aws-us-east-2\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = new Aiven.ProjectVpc(\"example_vpc\", new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n        NetworkCidr = \"192.168.1.0/24\",\n    });\n\n    var awsToAivenPeering = Aiven.GetAwsVpcPeeringConnection.Invoke(new()\n    {\n        VpcId = exampleVpc.Id,\n        AwsAccountId = awsId,\n        AwsVpcId = \"vpc-1a2b3c4d5e6f7g8h9\",\n        AwsVpcRegion = \"aws-us-east-2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleVpc, err := aiven.NewProjectVpc(ctx, \"example_vpc\", \u0026aiven.ProjectVpcArgs{\n\t\t\tProject:     pulumi.Any(exampleProject.Project),\n\t\t\tCloudName:   pulumi.String(\"google-europe-west1\"),\n\t\t\tNetworkCidr: pulumi.String(\"192.168.1.0/24\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_ = exampleVpc.ID().ApplyT(func(id string) (aiven.GetAwsVpcPeeringConnectionResult, error) {\n\t\t\treturn aiven.GetAwsVpcPeeringConnectionResult(interface{}(aiven.LookupAwsVpcPeeringConnection(ctx, \u0026aiven.LookupAwsVpcPeeringConnectionArgs{\n\t\t\t\tVpcId:        id,\n\t\t\t\tAwsAccountId: awsId,\n\t\t\t\tAwsVpcId:     \"vpc-1a2b3c4d5e6f7g8h9\",\n\t\t\t\tAwsVpcRegion: \"aws-us-east-2\",\n\t\t\t}, nil))), nil\n\t\t}).(aiven.GetAwsVpcPeeringConnectionResultOutput)\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.aiven.ProjectVpc;\nimport com.pulumi.aiven.ProjectVpcArgs;\nimport com.pulumi.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetAwsVpcPeeringConnectionArgs;\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 exampleVpc = new ProjectVpc(\"exampleVpc\", ProjectVpcArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .networkCidr(\"192.168.1.0/24\")\n            .build());\n\n        final var awsToAivenPeering = exampleVpc.id().applyValue(_id -\u003e AivenFunctions.getAwsVpcPeeringConnection(GetAwsVpcPeeringConnectionArgs.builder()\n            .vpcId(_id)\n            .awsAccountId(awsId)\n            .awsVpcId(\"vpc-1a2b3c4d5e6f7g8h9\")\n            .awsVpcRegion(\"aws-us-east-2\")\n            .build()));\n\n    }\n}\n```\n```yaml\nresources:\n  exampleVpc:\n    type: aiven:ProjectVpc\n    name: example_vpc\n    properties:\n      project: ${exampleProject.project}\n      cloudName: google-europe-west1\n      networkCidr: 192.168.1.0/24\nvariables:\n  awsToAivenPeering:\n    fn::invoke:\n      function: aiven:getAwsVpcPeeringConnection\n      arguments:\n        vpcId: ${exampleVpc.id}\n        awsAccountId: ${awsId}\n        awsVpcId: vpc-1a2b3c4d5e6f7g8h9\n        awsVpcRegion: aws-us-east-2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsVpcPeeringConnection.\n","properties":{"awsAccountId":{"type":"string","description":"AWS account ID. Changing this property forces recreation of the resource.\n"},"awsVpcId":{"type":"string","description":"AWS VPC ID. Changing this property forces recreation of the resource.\n"},"awsVpcRegion":{"type":"string","description":"The AWS region of the peered VPC, if different from the Aiven VPC region. Changing this property forces recreation of the resource.\n"},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["awsAccountId","awsVpcId","awsVpcRegion","vpcId"]},"outputs":{"description":"A collection of values returned by getAwsVpcPeeringConnection.\n","properties":{"awsAccountId":{"description":"AWS account ID. Changing this property forces recreation of the resource.\n","type":"string"},"awsVpcId":{"description":"AWS VPC ID. Changing this property forces recreation of the resource.\n","type":"string"},"awsVpcPeeringConnectionId":{"description":"The ID of the AWS VPC peering connection.\n","type":"string"},"awsVpcRegion":{"description":"The AWS region of the peered VPC, if different from the Aiven VPC region. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"state":{"description":"The state of the peering connection.\n","type":"string"},"stateInfo":{"additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n","type":"object"},"vpcId":{"description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["awsAccountId","awsVpcId","awsVpcPeeringConnectionId","awsVpcRegion","state","stateInfo","vpcId","id"],"type":"object"}},"aiven:index/getAzureOrgVpcPeeringConnection:getAzureOrgVpcPeeringConnection":{"description":"Gets information about about an Azure VPC peering connection.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getAzureOrgVpcPeeringConnection.\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["azureSubscriptionId","organizationId","organizationVpcId","peerResourceGroup","vnetName"]},"outputs":{"description":"A collection of values returned by getAzureOrgVpcPeeringConnection.\n","properties":{"azureSubscriptionId":{"description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"organizationId":{"description":"Identifier of the organization.\n","type":"string"},"organizationVpcId":{"description":"Identifier of the organization VPC.\n","type":"string"},"peerAzureAppId":{"description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"peerAzureTenantId":{"description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"peerResourceGroup":{"description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","type":"string"},"peeringConnectionId":{"description":"The ID of the cloud provider for the peering connection.\n","type":"string"},"state":{"description":"State of the peering connection\n","type":"string"},"vnetName":{"description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["azureSubscriptionId","organizationId","organizationVpcId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","peeringConnectionId","state","vnetName","id"],"type":"object"}},"aiven:index/getAzurePrivatelink:getAzurePrivatelink":{"description":"Gets information about an Azure Private Link connection for an Aiven service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getAzurePrivatelink({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_azure_privatelink(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetAzurePrivatelink.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupAzurePrivatelink(ctx, \u0026aiven.LookupAzurePrivatelinkArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleKafka.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetAzurePrivatelinkArgs;\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 main = AivenFunctions.getAzurePrivatelink(GetAzurePrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getAzurePrivatelink\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzurePrivatelink.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getAzurePrivatelink.\n","properties":{"azureServiceAlias":{"description":"The Azure Private Link service alias.\n","type":"string"},"azureServiceId":{"description":"The Azure Private Link service ID.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"message":{"description":"Printable result of the Azure Private Link request.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"state":{"description":"The state of the Private Link resource.\n","type":"string"},"userSubscriptionIds":{"description":"A list of allowed subscription IDs. Maximum length: \u003cspan pulumi-lang-nodejs=\"`16`\" pulumi-lang-dotnet=\"`16`\" pulumi-lang-go=\"`16`\" pulumi-lang-python=\"`16`\" pulumi-lang-yaml=\"`16`\" pulumi-lang-java=\"`16`\"\u003e`16`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"}},"required":["azureServiceAlias","azureServiceId","message","project","serviceName","state","userSubscriptionIds","id"],"type":"object"}},"aiven:index/getAzureVpcPeeringConnection:getAzureVpcPeeringConnection":{"description":"Gets information about about an Azure VPC peering connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst azureToAivenPeering = aiven.getAzureVpcPeeringConnection({\n    vpcId: exampleVpc.id,\n    azureSubscriptionId: \"00000000-0000-0000-0000-000000000000\",\n    peerResourceGroup: \"example-resource-group\",\n    vnetName: \"example-vnet\",\n    peerAzureAppId: \"00000000-0000-0000-0000-000000000000\",\n    peerAzureTenantId: \"00000000-0000-0000-0000-000000000000\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nazure_to_aiven_peering = aiven.get_azure_vpc_peering_connection(vpc_id=example_vpc[\"id\"],\n    azure_subscription_id=\"00000000-0000-0000-0000-000000000000\",\n    peer_resource_group=\"example-resource-group\",\n    vnet_name=\"example-vnet\",\n    peer_azure_app_id=\"00000000-0000-0000-0000-000000000000\",\n    peer_azure_tenant_id=\"00000000-0000-0000-0000-000000000000\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var azureToAivenPeering = Aiven.GetAzureVpcPeeringConnection.Invoke(new()\n    {\n        VpcId = exampleVpc.Id,\n        AzureSubscriptionId = \"00000000-0000-0000-0000-000000000000\",\n        PeerResourceGroup = \"example-resource-group\",\n        VnetName = \"example-vnet\",\n        PeerAzureAppId = \"00000000-0000-0000-0000-000000000000\",\n        PeerAzureTenantId = \"00000000-0000-0000-0000-000000000000\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupAzureVpcPeeringConnection(ctx, \u0026aiven.LookupAzureVpcPeeringConnectionArgs{\n\t\t\tVpcId:               exampleVpc.Id,\n\t\t\tAzureSubscriptionId: \"00000000-0000-0000-0000-000000000000\",\n\t\t\tPeerResourceGroup:   \"example-resource-group\",\n\t\t\tVnetName:            \"example-vnet\",\n\t\t\tPeerAzureAppId:      \"00000000-0000-0000-0000-000000000000\",\n\t\t\tPeerAzureTenantId:   \"00000000-0000-0000-0000-000000000000\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetAzureVpcPeeringConnectionArgs;\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 azureToAivenPeering = AivenFunctions.getAzureVpcPeeringConnection(GetAzureVpcPeeringConnectionArgs.builder()\n            .vpcId(exampleVpc.id())\n            .azureSubscriptionId(\"00000000-0000-0000-0000-000000000000\")\n            .peerResourceGroup(\"example-resource-group\")\n            .vnetName(\"example-vnet\")\n            .peerAzureAppId(\"00000000-0000-0000-0000-000000000000\")\n            .peerAzureTenantId(\"00000000-0000-0000-0000-000000000000\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  azureToAivenPeering:\n    fn::invoke:\n      function: aiven:getAzureVpcPeeringConnection\n      arguments:\n        vpcId: ${exampleVpc.id}\n        azureSubscriptionId: 00000000-0000-0000-0000-000000000000\n        peerResourceGroup: example-resource-group\n        vnetName: example-vnet\n        peerAzureAppId: 00000000-0000-0000-0000-000000000000\n        peerAzureTenantId: 00000000-0000-0000-0000-000000000000\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureVpcPeeringConnection.\n","properties":{"azureSubscriptionId":{"type":"string","description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerAzureAppId":{"type":"string","description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerAzureTenantId":{"type":"string","description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n"},"peerResourceGroup":{"type":"string","description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n"},"vnetName":{"type":"string","description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n"},"vpcId":{"type":"string","description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["azureSubscriptionId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","vnetName","vpcId"]},"outputs":{"description":"A collection of values returned by getAzureVpcPeeringConnection.\n","properties":{"azureSubscriptionId":{"description":"The ID of the Azure subscription in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"peerAzureAppId":{"description":"The ID of the Azure app that is allowed to create a peering to the Azure Virtual Network (VNet) in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"peerAzureTenantId":{"description":"The Azure tenant ID in UUID4 format. Changing this property forces recreation of the resource.\n","type":"string"},"peerResourceGroup":{"description":"The name of the Azure resource group associated with the VNet. Changing this property forces recreation of the resource.\n","type":"string"},"peeringConnectionId":{"description":"The ID of the cloud provider for the peering connection.\n","type":"string"},"state":{"description":"State of the peering connection\n","type":"string"},"stateInfo":{"additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n","type":"object"},"vnetName":{"description":"The name of the Azure VNet. Changing this property forces recreation of the resource.\n","type":"string"},"vpcId":{"description":"The ID of the Aiven VPC. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["azureSubscriptionId","peerAzureAppId","peerAzureTenantId","peerResourceGroup","peeringConnectionId","state","stateInfo","vnetName","vpcId","id"],"type":"object"}},"aiven:index/getBillingGroup:getBillingGroup":{"description":"Gets information about a billing group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleBillingGroup = aiven.getBillingGroup({\n    billingGroupId: \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_billing_group = aiven.get_billing_group(billing_group_id=\"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleBillingGroup = Aiven.GetBillingGroup.Invoke(new()\n    {\n        BillingGroupId = \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupBillingGroup(ctx, \u0026aiven.LookupBillingGroupArgs{\n\t\t\tBillingGroupId: \"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetBillingGroupArgs;\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 exampleBillingGroup = AivenFunctions.getBillingGroup(GetBillingGroupArgs.builder()\n            .billingGroupId(\"1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleBillingGroup:\n    fn::invoke:\n      function: aiven:getBillingGroup\n      arguments:\n        billingGroupId: 1a2b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBillingGroup.\n","properties":{"billingGroupId":{"type":"string","description":"The [ID of the billing group](https://aiven.io/docs/platform/reference/get-resource-IDs#get-a-billing-group-id). To set up proper dependencies please refer to this variable as a reference.\n"},"timeouts":{"$ref":"#/types/aiven:index/getBillingGroupTimeouts:getBillingGroupTimeouts"}},"type":"object","required":["billingGroupId"]},"outputs":{"description":"A collection of values returned by getBillingGroup.\n","properties":{"accountId":{"deprecationMessage":"Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release.","description":"Account ID. **Deprecated**: Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. This field will be removed in the next major release.\n","type":"string"},"addressLines":{"description":"Address lines 1 and 2. For example, street, PO box, or building.\n","items":{"type":"string"},"type":"array"},"billingContactEmails":{"description":"List of billing groups contact email addresses.\n","items":{"type":"string"},"type":"array"},"billingCurrency":{"description":"Billing currency. The possible values are `AUD`, `CAD`, `CHF`, `DKK`, `EUR`, `GBP`, `JPY`, `NOK`, `NZD`, `SEK`, `SGD` and `USD`.\n","type":"string"},"billingEmails":{"description":"List of project billing email addresses.\n","items":{"type":"string"},"type":"array"},"billingExtraText":{"description":"Extra text to be included in all project invoices, e.g. purchase order or cost center number.\n","type":"string"},"billingGroupId":{"description":"The [ID of the billing group](https://aiven.io/docs/platform/reference/get-resource-IDs#get-a-billing-group-id). To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"cardId":{"description":"Credit card ID.\n","type":"string"},"city":{"description":"Address city.\n","type":"string"},"company":{"description":"Name of a company.\n","type":"string"},"copyFromBillingGroup":{"description":"Billing group ID.\n","type":"string"},"countryCode":{"description":"Two letter country code for billing country.\n","type":"string"},"id":{"description":"Resource ID, equal to \u003cspan pulumi-lang-nodejs=\"`billingGroupId`\" pulumi-lang-dotnet=\"`BillingGroupId`\" pulumi-lang-go=\"`billingGroupId`\" pulumi-lang-python=\"`billing_group_id`\" pulumi-lang-yaml=\"`billingGroupId`\" pulumi-lang-java=\"`billingGroupId`\"\u003e`billing_group_id`\u003c/span\u003e.\n","type":"string"},"name":{"description":"Billing group name.\n","type":"string"},"parentId":{"description":"Link a billing group to an existing organization by using its ID.\n","type":"string"},"state":{"description":"Address state or province.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getBillingGroupTimeouts:getBillingGroupTimeouts"},"vatId":{"description":"EU VAT Identification Number.\n","type":"string"},"zipCode":{"description":"Address zip code.\n","type":"string"}},"required":["accountId","addressLines","billingContactEmails","billingCurrency","billingEmails","billingExtraText","billingGroupId","cardId","city","company","copyFromBillingGroup","countryCode","id","name","parentId","state","vatId","zipCode"],"type":"object"}},"aiven:index/getCassanda:getCassanda":{"deprecationMessage":"aiven.getCassanda has been deprecated in favor of aiven.getCassandra","inputs":{"description":"A collection of arguments for invoking getCassanda.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getCassanda.\n","properties":{"additionalDiskSpace":{"type":"string"},"cassandraUserConfigs":{"items":{"$ref":"#/types/aiven:index/getCassandaCassandraUserConfig:getCassandaCassandraUserConfig"},"type":"array"},"cassandras":{"items":{"$ref":"#/types/aiven:index/getCassandaCassandra:getCassandaCassandra"},"secret":true,"type":"array"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getCassandaComponent:getCassandaComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getCassandaServiceIntegration:getCassandaServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getCassandaTag:getCassandaTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getCassandaTechEmail:getCassandaTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cassandras","cassandraUserConfigs","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getCassandra:getCassandra":{"inputs":{"description":"A collection of arguments for invoking getCassandra.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getCassandra.\n","properties":{"additionalDiskSpace":{"type":"string"},"cassandraUserConfigs":{"items":{"$ref":"#/types/aiven:index/getCassandraCassandraUserConfig:getCassandraCassandraUserConfig"},"type":"array"},"cassandras":{"items":{"$ref":"#/types/aiven:index/getCassandraCassandra:getCassandraCassandra"},"secret":true,"type":"array"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getCassandraComponent:getCassandraComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getCassandraServiceIntegration:getCassandraServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getCassandraTag:getCassandraTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getCassandraTechEmail:getCassandraTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cassandras","cassandraUserConfigs","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getCassandraUser:getCassandraUser":{"inputs":{"description":"A collection of arguments for invoking getCassandraUser.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getCassandraUser.\n","properties":{"accessCert":{"secret":true,"type":"string"},"accessKey":{"secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"secret":true,"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"required":["accessCert","accessKey","password","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getClickhouse:getClickhouse":{"description":"Gets information about a ClickHouse service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleClickhouse = aiven.getClickhouse({\n    project: exampleProject.project,\n    serviceName: \"example-clickhouse-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_clickhouse = aiven.get_clickhouse(project=example_project[\"project\"],\n    service_name=\"example-clickhouse-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickhouse = Aiven.GetClickhouse.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-clickhouse-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupClickhouse(ctx, \u0026aiven.LookupClickhouseArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-clickhouse-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetClickhouseArgs;\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 exampleClickhouse = AivenFunctions.getClickhouse(GetClickhouseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-clickhouse-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleClickhouse:\n    fn::invoke:\n      function: aiven:getClickhouse\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-clickhouse-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClickhouse.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getClickhouse.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"clickhouseUserConfigs":{"description":"Clickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getClickhouseClickhouseUserConfig:getClickhouseClickhouseUserConfig"},"type":"array"},"clickhouses":{"description":"Values provided by the ClickHouse server.\n","items":{"$ref":"#/types/aiven:index/getClickhouseClickhouse:getClickhouseClickhouse"},"secret":true,"type":"array"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getClickhouseComponent:getClickhouseComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getClickhouseServiceIntegration:getClickhouseServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"The service URI for the ClickHouse service, which contains the hostname and port (e.g., 'service-name.h.aivencloud.com:16539') used to connect to the service. For protocol-specific connections, see the ClickHouse service example.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getClickhouseTag:getClickhouseTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getClickhouseTechEmail:getClickhouseTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","clickhouses","clickhouseUserConfigs","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getClickhouseDatabase:getClickhouseDatabase":{"description":"Gets information about an Aiven for ClickHouse database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleClickhouseDb = aiven.getClickhouseDatabase({\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    name: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_clickhouse_db = aiven.get_clickhouse_database(project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleClickhouseDb = Aiven.GetClickhouseDatabase.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Name = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupClickhouseDatabase(ctx, \u0026aiven.LookupClickhouseDatabaseArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleClickhouse.ServiceName,\n\t\t\tName:        \"example-database\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetClickhouseDatabaseArgs;\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 exampleClickhouseDb = AivenFunctions.getClickhouseDatabase(GetClickhouseDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .name(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleClickhouseDb:\n    fn::invoke:\n      function: aiven:getClickhouseDatabase\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleClickhouse.serviceName}\n        name: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClickhouseDatabase.\n","properties":{"name":{"type":"string","description":"Service database name.\n"},"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"timeouts":{"$ref":"#/types/aiven:index/getClickhouseDatabaseTimeouts:getClickhouseDatabaseTimeouts"}},"type":"object","required":["name","project","serviceName"]},"outputs":{"description":"A collection of values returned by getClickhouseDatabase.\n","properties":{"id":{"description":"Resource ID composed as: `project/service_name/name`.\n","type":"string"},"name":{"description":"Service database name.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"Service name.\n","type":"string"},"terminationProtection":{"deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","type":"boolean"},"timeouts":{"$ref":"#/types/aiven:index/getClickhouseDatabaseTimeouts:getClickhouseDatabaseTimeouts"}},"required":["id","name","project","serviceName","terminationProtection"],"type":"object"}},"aiven:index/getClickhouseUser:getClickhouseUser":{"description":"Gets information about a ClickHouse user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUser = aiven.getClickhouseUser({\n    project: exampleProject.project,\n    serviceName: exampleClickhouse.serviceName,\n    username: \"analyst\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_user = aiven.get_clickhouse_user(project=example_project[\"project\"],\n    service_name=example_clickhouse[\"serviceName\"],\n    username=\"analyst\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = Aiven.GetClickhouseUser.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleClickhouse.ServiceName,\n        Username = \"analyst\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupClickhouseUser(ctx, \u0026aiven.LookupClickhouseUserArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleClickhouse.ServiceName,\n\t\t\tUsername:    \"analyst\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetClickhouseUserArgs;\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 exampleUser = AivenFunctions.getClickhouseUser(GetClickhouseUserArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleClickhouse.serviceName())\n            .username(\"analyst\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUser:\n    fn::invoke:\n      function: aiven:getClickhouseUser\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleClickhouse.serviceName}\n        username: analyst\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getClickhouseUser.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The name of the ClickHouse user. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getClickhouseUser.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.\n","secret":true,"type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"required":{"description":"Indicates if a ClickHouse user is required.\n","type":"boolean"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"username":{"description":"The name of the ClickHouse user. Changing this property forces recreation of the resource.\n","type":"string"},"uuid":{"description":"UUID of the ClickHouse user.\n","type":"string"}},"required":["password","project","required","serviceName","username","uuid","id"],"type":"object"}},"aiven:index/getConnectionPool:getConnectionPool":{"description":"Gets information about a connection pool in an Aiven for PostgreSQL® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getConnectionPool({\n    project: exampleProject.project,\n    serviceName: examplePostgres.serviceName,\n    poolName: \"example-pool\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_connection_pool(project=example_project[\"project\"],\n    service_name=example_postgres[\"serviceName\"],\n    pool_name=\"example-pool\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetConnectionPool.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = examplePostgres.ServiceName,\n        PoolName = \"example-pool\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupConnectionPool(ctx, \u0026aiven.LookupConnectionPoolArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: examplePostgres.ServiceName,\n\t\t\tPoolName:    \"example-pool\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetConnectionPoolArgs;\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 main = AivenFunctions.getConnectionPool(GetConnectionPoolArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(examplePostgres.serviceName())\n            .poolName(\"example-pool\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getConnectionPool\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${examplePostgres.serviceName}\n        poolName: example-pool\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConnectionPool.\n","properties":{"poolName":{"type":"string","description":"Name of the pool. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["poolName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getConnectionPool.\n","properties":{"connectionUri":{"description":"The URI for connecting to the pool.\n","secret":true,"type":"string"},"databaseName":{"description":"The name of the database the pool connects to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"poolMode":{"description":"The [operational mode](https://aiven.io/docs/products/postgresql/concepts/pg-connection-pooling#pooling-modes). The possible values are \u003cspan pulumi-lang-nodejs=\"`session`\" pulumi-lang-dotnet=\"`Session`\" pulumi-lang-go=\"`session`\" pulumi-lang-python=\"`session`\" pulumi-lang-yaml=\"`session`\" pulumi-lang-java=\"`session`\"\u003e`session`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`statement`\" pulumi-lang-dotnet=\"`Statement`\" pulumi-lang-go=\"`statement`\" pulumi-lang-python=\"`statement`\" pulumi-lang-yaml=\"`statement`\" pulumi-lang-java=\"`statement`\"\u003e`statement`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e. The default value is \u003cspan pulumi-lang-nodejs=\"`transaction`\" pulumi-lang-dotnet=\"`Transaction`\" pulumi-lang-go=\"`transaction`\" pulumi-lang-python=\"`transaction`\" pulumi-lang-yaml=\"`transaction`\" pulumi-lang-java=\"`transaction`\"\u003e`transaction`\u003c/span\u003e.\n","type":"string"},"poolName":{"description":"Name of the pool. Changing this property forces recreation of the resource.\n","type":"string"},"poolSize":{"description":"The number of PostgreSQL server connections this pool can use at a time. This does not affect the number of incoming connections. Each pool can handle a minimum of 5000 client connections. The default value is \u003cspan pulumi-lang-nodejs=\"`10`\" pulumi-lang-dotnet=\"`10`\" pulumi-lang-go=\"`10`\" pulumi-lang-python=\"`10`\" pulumi-lang-yaml=\"`10`\" pulumi-lang-java=\"`10`\"\u003e`10`\u003c/span\u003e.\n","type":"integer"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"username":{"description":"The name of the service user used to connect to the database. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"}},"required":["connectionUri","databaseName","poolMode","poolName","poolSize","project","serviceName","username","id"],"type":"object"}},"aiven:index/getDragonfly:getDragonfly":{"description":"Gets information about an Aiven for Dragonfly® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleDragonfly = aiven.getDragonfly({\n    project: exampleProject.project,\n    serviceName: \"example-dragonfly-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_dragonfly = aiven.get_dragonfly(project=example_project[\"project\"],\n    service_name=\"example-dragonfly-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDragonfly = Aiven.GetDragonfly.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-dragonfly-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupDragonfly(ctx, \u0026aiven.LookupDragonflyArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-dragonfly-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetDragonflyArgs;\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 exampleDragonfly = AivenFunctions.getDragonfly(GetDragonflyArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-dragonfly-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDragonfly:\n    fn::invoke:\n      function: aiven:getDragonfly\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-dragonfly-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDragonfly.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getDragonfly.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getDragonflyComponent:getDragonflyComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"dragonflies":{"description":"Dragonfly server provided values\n","items":{"$ref":"#/types/aiven:index/getDragonflyDragonfly:getDragonflyDragonfly"},"secret":true,"type":"array"},"dragonflyUserConfigs":{"description":"Dragonfly user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getDragonflyDragonflyUserConfig:getDragonflyDragonflyUserConfig"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getDragonflyServiceIntegration:getDragonflyServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getDragonflyTag:getDragonflyTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getDragonflyTechEmail:getDragonflyTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","dragonflies","dragonflyUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getExternalIdentity:getExternalIdentity":{"description":"Links external usernames to Aiven users, ensuring that requesters and approvers are correctly identified for Aiven for Apache Kafka® Governance approval workflows.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n","inputs":{"description":"A collection of arguments for invoking getExternalIdentity.\n","properties":{"externalServiceName":{"type":"string","description":"The name of the external service. The possible value is \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e.\n"},"externalUserId":{"type":"string","description":"The user's ID on the external service. For GitHub, this is their GitHub username.\n"},"internalUserId":{"type":"string","description":"The Aiven user ID.\n"},"organizationId":{"type":"string","description":"The ID of the Aiven organization that the user is part of.\n"}},"type":"object","required":["externalServiceName","externalUserId","internalUserId","organizationId"]},"outputs":{"description":"A collection of values returned by getExternalIdentity.\n","properties":{"externalServiceName":{"description":"The name of the external service. The possible value is \u003cspan pulumi-lang-nodejs=\"`github`\" pulumi-lang-dotnet=\"`Github`\" pulumi-lang-go=\"`github`\" pulumi-lang-python=\"`github`\" pulumi-lang-yaml=\"`github`\" pulumi-lang-java=\"`github`\"\u003e`github`\u003c/span\u003e.\n","type":"string"},"externalUserId":{"description":"The user's ID on the external service. For GitHub, this is their GitHub username.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"internalUserId":{"description":"The Aiven user ID.\n","type":"string"},"organizationId":{"description":"The ID of the Aiven organization that the user is part of.\n","type":"string"}},"required":["externalServiceName","externalUserId","internalUserId","organizationId","id"],"type":"object"}},"aiven:index/getFlink:getFlink":{"description":"Gets information about an Aiven for Apache Flink® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleFlink = aiven.getFlink({\n    project: exampleProject.project,\n    serviceName: \"example-flink-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_flink = aiven.get_flink(project=example_project[\"project\"],\n    service_name=\"example-flink-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleFlink = Aiven.GetFlink.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-flink-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupFlink(ctx, \u0026aiven.LookupFlinkArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-flink-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetFlinkArgs;\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 exampleFlink = AivenFunctions.getFlink(GetFlinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-flink-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleFlink:\n    fn::invoke:\n      function: aiven:getFlink\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-flink-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlink.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getFlink.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getFlinkComponent:getFlinkComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"flinkUserConfigs":{"description":"Flink user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getFlinkFlinkUserConfig:getFlinkFlinkUserConfig"},"type":"array"},"flinks":{"description":"Values provided by the Flink server.\n","items":{"$ref":"#/types/aiven:index/getFlinkFlink:getFlinkFlink"},"secret":true,"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getFlinkServiceIntegration:getFlinkServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getFlinkTag:getFlinkTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getFlinkTechEmail:getFlinkTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","flinks","flinkUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getFlinkApplication:getFlinkApplication":{"description":"Gets information about an Aiven for Apache Flink® application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleApp = aiven.getFlinkApplication({\n    project: exampleProject.project,\n    serviceName: \"example-flink-service\",\n    name: \"example-app\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_app = aiven.get_flink_application(project=example_project[\"project\"],\n    service_name=\"example-flink-service\",\n    name=\"example-app\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleApp = Aiven.GetFlinkApplication.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-flink-service\",\n        Name = \"example-app\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupFlinkApplication(ctx, \u0026aiven.LookupFlinkApplicationArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-flink-service\",\n\t\t\tName:        pulumi.StringRef(\"example-app\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetFlinkApplicationArgs;\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 exampleApp = AivenFunctions.getFlinkApplication(GetFlinkApplicationArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-flink-service\")\n            .name(\"example-app\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleApp:\n    fn::invoke:\n      function: aiven:getFlinkApplication\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-flink-service\n        name: example-app\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlinkApplication.\n","properties":{"applicationId":{"type":"string","description":"Application ID. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Application name. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"timeouts":{"$ref":"#/types/aiven:index/getFlinkApplicationTimeouts:getFlinkApplicationTimeouts"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getFlinkApplication.\n","properties":{"applicationId":{"description":"Application ID. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"createdAt":{"description":"The creation timestamp of this entity in ISO 8601 format, always in UTC.\n","type":"string"},"createdBy":{"description":"The creator of this entity.\n","type":"string"},"id":{"description":"Resource ID composed as: `project/service_name/application_id`.\n","type":"string"},"name":{"description":"Application name. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`applicationId`\" pulumi-lang-dotnet=\"`ApplicationId`\" pulumi-lang-go=\"`applicationId`\" pulumi-lang-python=\"`application_id`\" pulumi-lang-yaml=\"`applicationId`\" pulumi-lang-java=\"`applicationId`\"\u003e`application_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"Service name.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getFlinkApplicationTimeouts:getFlinkApplicationTimeouts"},"updatedAt":{"description":"The update timestamp of this entity in ISO 8601 format, always in UTC.\n","type":"string"},"updatedBy":{"description":"The latest updater of this entity.\n","type":"string"}},"required":["applicationId","createdAt","createdBy","id","name","project","serviceName","updatedAt","updatedBy"],"type":"object"}},"aiven:index/getFlinkApplicationVersion:getFlinkApplicationVersion":{"description":"Gets information about an Aiven for Apache Flink® application version.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getFlinkApplicationVersion({\n    project: exampleProject.project,\n    serviceName: exampleFlink.serviceName,\n    applicationId: exampleApp.applicationId,\n    applicationVersionId: \"d6e7f71c-cadf-49b5-a4ad-126c805fe684\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_flink_application_version(project=example_project[\"project\"],\n    service_name=example_flink[\"serviceName\"],\n    application_id=example_app[\"applicationId\"],\n    application_version_id=\"d6e7f71c-cadf-49b5-a4ad-126c805fe684\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetFlinkApplicationVersion.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleFlink.ServiceName,\n        ApplicationId = exampleApp.ApplicationId,\n        ApplicationVersionId = \"d6e7f71c-cadf-49b5-a4ad-126c805fe684\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupFlinkApplicationVersion(ctx, \u0026aiven.LookupFlinkApplicationVersionArgs{\n\t\t\tProject:              exampleProject.Project,\n\t\t\tServiceName:          exampleFlink.ServiceName,\n\t\t\tApplicationId:        exampleApp.ApplicationId,\n\t\t\tApplicationVersionId: \"d6e7f71c-cadf-49b5-a4ad-126c805fe684\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetFlinkApplicationVersionArgs;\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 main = AivenFunctions.getFlinkApplicationVersion(GetFlinkApplicationVersionArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleFlink.serviceName())\n            .applicationId(exampleApp.applicationId())\n            .applicationVersionId(\"d6e7f71c-cadf-49b5-a4ad-126c805fe684\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getFlinkApplicationVersion\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleFlink.serviceName}\n        applicationId: ${exampleApp.applicationId}\n        applicationVersionId: d6e7f71c-cadf-49b5-a4ad-126c805fe684\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFlinkApplicationVersion.\n","properties":{"applicationId":{"type":"string","description":"Application ID.\n"},"applicationVersionId":{"type":"string","description":"Application version ID.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["applicationId","applicationVersionId","project","serviceName"]},"outputs":{"description":"A collection of values returned by getFlinkApplicationVersion.\n","properties":{"applicationId":{"description":"Application ID.\n","type":"string"},"applicationVersionId":{"description":"Application version ID.\n","type":"string"},"createdAt":{"description":"Application version creation time.\n","type":"string"},"createdBy":{"description":"The user who created the application.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"sink":{"description":"The sink table for the application.\n","items":{"$ref":"#/types/aiven:index/getFlinkApplicationVersionSink:getFlinkApplicationVersionSink"},"type":"array"},"sinks":{"description":"Application sinks\n","items":{"$ref":"#/types/aiven:index/getFlinkApplicationVersionSink:getFlinkApplicationVersionSink"},"type":"array"},"source":{"description":"The source table for the application.\n","items":{"$ref":"#/types/aiven:index/getFlinkApplicationVersionSource:getFlinkApplicationVersionSource"},"type":"array"},"sources":{"description":"Application sources\n","items":{"$ref":"#/types/aiven:index/getFlinkApplicationVersionSource:getFlinkApplicationVersionSource"},"type":"array"},"statement":{"description":"Job SQL statement.\n","type":"string"},"version":{"description":"Application version number.\n","type":"integer"}},"required":["applicationId","applicationVersionId","createdAt","createdBy","project","serviceName","sink","sinks","source","sources","statement","version","id"],"type":"object"}},"aiven:index/getGcpOrgVpcPeeringConnection:getGcpOrgVpcPeeringConnection":{"description":"The GCP VPC Peering Connection data source provides information about the existing Aiven VPC Peering Connection.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getGcpOrgVpcPeeringConnection.\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"Identifier of the organization.\n"},"organizationVpcId":{"type":"string","description":"Identifier of the organization VPC.\n"},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["gcpProjectId","organizationId","organizationVpcId","peerVpc"]},"outputs":{"description":"A collection of values returned by getGcpOrgVpcPeeringConnection.\n","properties":{"gcpProjectId":{"description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"organizationId":{"description":"Identifier of the organization.\n","type":"string"},"organizationVpcId":{"description":"Identifier of the organization VPC.\n","type":"string"},"peerVpc":{"description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","type":"string"},"selfLink":{"description":"Computed Google Cloud network peering link.\n","type":"string"},"state":{"description":"State of the peering connection.\n","type":"string"}},"required":["gcpProjectId","organizationId","organizationVpcId","peerVpc","selfLink","state","id"],"type":"object"}},"aiven:index/getGcpPrivatelink:getGcpPrivatelink":{"description":"Gets information about a Google Private Service Connect connection for an Aiven service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getGcpPrivatelink({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_gcp_privatelink(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetGcpPrivatelink.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupGcpPrivatelink(ctx, \u0026aiven.LookupGcpPrivatelinkArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleKafka.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetGcpPrivatelinkArgs;\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 main = AivenFunctions.getGcpPrivatelink(GetGcpPrivatelinkArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getGcpPrivatelink\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpPrivatelink.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getGcpPrivatelink.\n","properties":{"googleServiceAttachment":{"description":"Google Private Service Connect service attachment.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"message":{"description":"Printable result of the Google Cloud Private Service Connect request.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"state":{"description":"The state of the Private Service Connect resource.\n","type":"string"}},"required":["googleServiceAttachment","message","project","serviceName","state","id"],"type":"object"}},"aiven:index/getGcpVpcPeeringConnection:getGcpVpcPeeringConnection":{"description":"The GCP VPC Peering Connection data source provides information about the existing Aiven VPC Peering Connection.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getGcpVpcPeeringConnection({\n    vpcId: vpc.id,\n    gcpProjectId: \"example-project\",\n    peerVpc: \"example-network\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_gcp_vpc_peering_connection(vpc_id=vpc[\"id\"],\n    gcp_project_id=\"example-project\",\n    peer_vpc=\"example-network\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetGcpVpcPeeringConnection.Invoke(new()\n    {\n        VpcId = vpc.Id,\n        GcpProjectId = \"example-project\",\n        PeerVpc = \"example-network\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupGcpVpcPeeringConnection(ctx, \u0026aiven.LookupGcpVpcPeeringConnectionArgs{\n\t\t\tVpcId:        vpc.Id,\n\t\t\tGcpProjectId: \"example-project\",\n\t\t\tPeerVpc:      \"example-network\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetGcpVpcPeeringConnectionArgs;\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 main = AivenFunctions.getGcpVpcPeeringConnection(GetGcpVpcPeeringConnectionArgs.builder()\n            .vpcId(vpc.id())\n            .gcpProjectId(\"example-project\")\n            .peerVpc(\"example-network\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getGcpVpcPeeringConnection\n      arguments:\n        vpcId: ${vpc.id}\n        gcpProjectId: example-project\n        peerVpc: example-network\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpVpcPeeringConnection.\n","properties":{"gcpProjectId":{"type":"string","description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n"},"peerVpc":{"type":"string","description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["gcpProjectId","peerVpc","vpcId"]},"outputs":{"description":"A collection of values returned by getGcpVpcPeeringConnection.\n","properties":{"gcpProjectId":{"description":"Google Cloud project ID. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"peerVpc":{"description":"Google Cloud VPC network name. Changing this property forces recreation of the resource.\n","type":"string"},"selfLink":{"description":"Computed Google Cloud network peering link.\n","type":"string"},"state":{"description":"State of the peering connection.\n","type":"string"},"stateInfo":{"additionalProperties":{"type":"string"},"description":"State-specific help or error information.\n","type":"object"},"vpcId":{"description":"The VPC the peering connection belongs to. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["gcpProjectId","peerVpc","selfLink","state","stateInfo","vpcId","id"],"type":"object"}},"aiven:index/getGrafana:getGrafana":{"description":"Gets information about an Aiven for Grafana® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleGrafana = aiven.getGrafana({\n    project: exampleProject.project,\n    serviceName: \"example-grafana-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_grafana = aiven.get_grafana(project=example_project[\"project\"],\n    service_name=\"example-grafana-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleGrafana = Aiven.GetGrafana.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-grafana-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupGrafana(ctx, \u0026aiven.LookupGrafanaArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-grafana-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetGrafanaArgs;\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 exampleGrafana = AivenFunctions.getGrafana(GetGrafanaArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-grafana-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleGrafana:\n    fn::invoke:\n      function: aiven:getGrafana\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-grafana-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGrafana.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getGrafana.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getGrafanaComponent:getGrafanaComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"grafanaUserConfigs":{"description":"Grafana user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getGrafanaGrafanaUserConfig:getGrafanaGrafanaUserConfig"},"type":"array"},"grafanas":{"description":"Values provided by the Grafana server.\n","items":{"$ref":"#/types/aiven:index/getGrafanaGrafana:getGrafanaGrafana"},"secret":true,"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getGrafanaServiceIntegration:getGrafanaServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getGrafanaTag:getGrafanaTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getGrafanaTechEmail:getGrafanaTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","grafanas","grafanaUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getInfluxDb:getInfluxDb":{"inputs":{"description":"A collection of arguments for invoking getInfluxDb.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getInfluxDb.\n","properties":{"additionalDiskSpace":{"type":"string"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getInfluxDbComponent:getInfluxDbComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"influxdbUserConfigs":{"items":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdbUserConfig:getInfluxDbInfluxdbUserConfig"},"type":"array"},"influxdbs":{"items":{"$ref":"#/types/aiven:index/getInfluxDbInfluxdb:getInfluxDbInfluxdb"},"secret":true,"type":"array"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getInfluxDbServiceIntegration:getInfluxDbServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getInfluxDbTag:getInfluxDbTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getInfluxDbTechEmail:getInfluxDbTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","influxdbs","influxdbUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getInfluxdbDatabase:getInfluxdbDatabase":{"inputs":{"description":"A collection of arguments for invoking getInfluxdbDatabase.\n","properties":{"databaseName":{"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["databaseName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getInfluxdbDatabase.\n","properties":{"databaseName":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"},"terminationProtection":{"type":"boolean"}},"required":["databaseName","project","serviceName","terminationProtection","id"],"type":"object"}},"aiven:index/getInfluxdbUser:getInfluxdbUser":{"inputs":{"description":"A collection of arguments for invoking getInfluxdbUser.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getInfluxdbUser.\n","properties":{"accessCert":{"secret":true,"type":"string"},"accessKey":{"secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"secret":true,"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"required":["accessCert","accessKey","password","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getKafka:getKafka":{"description":"Gets information about an Aiven for Apache Kafka® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleKafka = aiven.getKafka({\n    project: exampleProject.project,\n    serviceName: \"example-kafka\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_kafka = aiven.get_kafka(project=example_project[\"project\"],\n    service_name=\"example-kafka\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleKafka = Aiven.GetKafka.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-kafka\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafka(ctx, \u0026aiven.LookupKafkaArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-kafka\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaArgs;\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 exampleKafka = AivenFunctions.getKafka(GetKafkaArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-kafka\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleKafka:\n    fn::invoke:\n      function: aiven:getKafka\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-kafka\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafka.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafka.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getKafkaComponent:getKafkaComponent"},"type":"array"},"defaultAcl":{"description":"Create a default wildcard Kafka ACL.\n","type":"boolean"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaUserConfigs":{"description":"Kafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getKafkaKafkaUserConfig:getKafkaKafkaUserConfig"},"type":"array"},"kafkas":{"description":"Kafka server connection details.\n","items":{"$ref":"#/types/aiven:index/getKafkaKafka:getKafkaKafka"},"secret":true,"type":"array"},"karapace":{"description":"Switch the service to use [Karapace](https://aiven.io/docs/products/kafka/karapace) for schema registry and REST proxy. This attribute is deprecated, use \u003cspan pulumi-lang-nodejs=\"`schemaRegistry`\" pulumi-lang-dotnet=\"`SchemaRegistry`\" pulumi-lang-go=\"`schemaRegistry`\" pulumi-lang-python=\"`schema_registry`\" pulumi-lang-yaml=\"`schemaRegistry`\" pulumi-lang-java=\"`schemaRegistry`\"\u003e`schema_registry`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`kafkaRest`\" pulumi-lang-dotnet=\"`KafkaRest`\" pulumi-lang-go=\"`kafkaRest`\" pulumi-lang-python=\"`kafka_rest`\" pulumi-lang-yaml=\"`kafkaRest`\" pulumi-lang-java=\"`kafkaRest`\"\u003e`kafka_rest`\u003c/span\u003e instead.\n","type":"boolean"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getKafkaServiceIntegration:getKafkaServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getKafkaTag:getKafkaTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getKafkaTechEmail:getKafkaTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","defaultAcl","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","kafkas","kafkaUserConfigs","karapace","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getKafkaAcl:getKafkaAcl":{"description":"Gets information about an ACL entry for an Aiven for Apache Kafka® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleAcl = aiven.getKafkaAcl({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    topic: \"example-topic\",\n    permission: \"admin\",\n    username: \"example-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_acl = aiven.get_kafka_acl(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    topic=\"example-topic\",\n    permission=\"admin\",\n    username=\"example-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleAcl = Aiven.GetKafkaAcl.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        Topic = \"example-topic\",\n        Permission = \"admin\",\n        Username = \"example-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaAcl(ctx, \u0026aiven.LookupKafkaAclArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleKafka.ServiceName,\n\t\t\tTopic:       \"example-topic\",\n\t\t\tPermission:  \"admin\",\n\t\t\tUsername:    \"example-user\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaAclArgs;\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 exampleAcl = AivenFunctions.getKafkaAcl(GetKafkaAclArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .topic(\"example-topic\")\n            .permission(\"admin\")\n            .username(\"example-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleAcl:\n    fn::invoke:\n      function: aiven:getKafkaAcl\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n        topic: example-topic\n        permission: admin\n        username: example-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaAcl.\n","properties":{"permission":{"type":"string","description":"Permissions to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"topic":{"type":"string","description":"Topics that the permissions apply to. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Usernames to grant permissions to. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["permission","project","serviceName","topic","username"]},"outputs":{"description":"A collection of values returned by getKafkaAcl.\n","properties":{"aclId":{"description":"Kafka ACL ID.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"permission":{"description":"Permissions to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"topic":{"description":"Topics that the permissions apply to. Changing this property forces recreation of the resource.\n","type":"string"},"username":{"description":"Usernames to grant permissions to. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["aclId","permission","project","serviceName","topic","username","id"],"type":"object"}},"aiven:index/getKafkaConnect:getKafkaConnect":{"description":"Gets information about an Aiven for Apache Kafka® Connect service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleKafkaConnect = aiven.getKafkaConnect({\n    project: exampleProject.project,\n    serviceName: \"example-connect-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_kafka_connect = aiven.get_kafka_connect(project=example_project[\"project\"],\n    service_name=\"example-connect-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleKafkaConnect = Aiven.GetKafkaConnect.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-connect-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaConnect(ctx, \u0026aiven.LookupKafkaConnectArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-connect-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaConnectArgs;\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 exampleKafkaConnect = AivenFunctions.getKafkaConnect(GetKafkaConnectArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-connect-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleKafkaConnect:\n    fn::invoke:\n      function: aiven:getKafkaConnect\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-connect-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaConnect.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafkaConnect.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectComponent:getKafkaConnectComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaConnectUserConfigs":{"description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectKafkaConnectUserConfig:getKafkaConnectKafkaConnectUserConfig"},"type":"array"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectServiceIntegration:getKafkaConnectServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectTag:getKafkaConnectTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectTechEmail:getKafkaConnectTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","kafkaConnectUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getKafkaConnector:getKafkaConnector":{"description":"Gets information about an Aiven for Apache Kafka® connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst kafka_os_connector = aiven.getKafkaConnector({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    connectorName: \"kafka-opensearch-connector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nkafka_os_connector = aiven.get_kafka_connector(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    connector_name=\"kafka-opensearch-connector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var kafka_os_connector = Aiven.GetKafkaConnector.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        ConnectorName = \"kafka-opensearch-connector\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaConnector(ctx, \u0026aiven.LookupKafkaConnectorArgs{\n\t\t\tProject:       exampleProject.Project,\n\t\t\tServiceName:   exampleKafka.ServiceName,\n\t\t\tConnectorName: \"kafka-opensearch-connector\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaConnectorArgs;\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 kafka-os-connector = AivenFunctions.getKafkaConnector(GetKafkaConnectorArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .connectorName(\"kafka-opensearch-connector\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  kafka-os-connector:\n    fn::invoke:\n      function: aiven:getKafkaConnector\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n        connectorName: kafka-opensearch-connector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaConnector.\n","properties":{"connectorName":{"type":"string","description":"The Kafka connector name. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["connectorName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafkaConnector.\n","properties":{"config":{"additionalProperties":{"type":"string"},"description":"The Kafka connector configuration parameters.\n","type":"object"},"connectorName":{"description":"The Kafka connector name. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"pluginAuthor":{"description":"The Kafka connector author.\n","type":"string"},"pluginClass":{"description":"The Kafka connector Java class.\n","type":"string"},"pluginDocUrl":{"description":"The Kafka connector documentation URL.\n","type":"string"},"pluginTitle":{"description":"The Kafka connector title.\n","type":"string"},"pluginType":{"description":"The Kafka connector type.\n","type":"string"},"pluginVersion":{"description":"The version of the Kafka connector.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"tasks":{"description":"List of tasks of a connector.\n","items":{"$ref":"#/types/aiven:index/getKafkaConnectorTask:getKafkaConnectorTask"},"type":"array"}},"required":["config","connectorName","pluginAuthor","pluginClass","pluginDocUrl","pluginTitle","pluginType","pluginVersion","project","serviceName","tasks","id"],"type":"object"}},"aiven:index/getKafkaMirrorMaker:getKafkaMirrorMaker":{"description":"Gets information about an Aiven for Apache Kafka® MirrorMaker 2 service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMirrormaker = aiven.getKafkaMirrorMaker({\n    project: exampleProject.project,\n    serviceName: \"example-mirrormaker-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mirrormaker = aiven.get_kafka_mirror_maker(project=example_project[\"project\"],\n    service_name=\"example-mirrormaker-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMirrormaker = Aiven.GetKafkaMirrorMaker.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-mirrormaker-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaMirrorMaker(ctx, \u0026aiven.LookupKafkaMirrorMakerArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-mirrormaker-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaMirrorMakerArgs;\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 exampleMirrormaker = AivenFunctions.getKafkaMirrorMaker(GetKafkaMirrorMakerArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-mirrormaker-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMirrormaker:\n    fn::invoke:\n      function: aiven:getKafkaMirrorMaker\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-mirrormaker-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaMirrorMaker.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafkaMirrorMaker.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerComponent:getKafkaMirrorMakerComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaMirrormakerUserConfigs":{"description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerKafkaMirrormakerUserConfig:getKafkaMirrorMakerKafkaMirrormakerUserConfig"},"type":"array"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerServiceIntegration:getKafkaMirrorMakerServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerTag:getKafkaMirrorMakerTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getKafkaMirrorMakerTechEmail:getKafkaMirrorMakerTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","kafkaMirrormakerUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getKafkaSchema:getKafkaSchema":{"description":"The Kafka Schema data source provides information about the existing Aiven Kafka Schema.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst config = aiven.getKafkaSchemaConfiguration({\n    project: kafka_schemas_project1.project,\n    serviceName: kafka_service1.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nconfig = aiven.get_kafka_schema_configuration(project=kafka_schemas_project1[\"project\"],\n    service_name=kafka_service1[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = Aiven.GetKafkaSchemaConfiguration.Invoke(new()\n    {\n        Project = kafka_schemas_project1.Project,\n        ServiceName = kafka_service1.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaSchemaConfiguration(ctx, \u0026aiven.LookupKafkaSchemaConfigurationArgs{\n\t\t\tProject:     kafka_schemas_project1.Project,\n\t\t\tServiceName: kafka_service1.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaSchemaConfigurationArgs;\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 config = AivenFunctions.getKafkaSchemaConfiguration(GetKafkaSchemaConfigurationArgs.builder()\n            .project(kafka_schemas_project1.project())\n            .serviceName(kafka_service1.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  config:\n    fn::invoke:\n      function: aiven:getKafkaSchemaConfiguration\n      arguments:\n        project: ${[\"kafka-schemas-project1\"].project}\n        serviceName: ${[\"kafka-service1\"].serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaSchema.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"subjectName":{"type":"string","description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","subjectName"]},"outputs":{"description":"A collection of values returned by getKafkaSchema.\n","properties":{"compatibilityLevel":{"description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"schema":{"description":"Kafka Schema configuration. Should be a valid Avro, JSON, or Protobuf schema, depending on the schema type.\n","type":"string"},"schemaType":{"description":"Kafka Schema configuration type. Defaults to AVRO. The possible values are `AVRO`, `JSON` and `PROTOBUF`.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"subjectName":{"description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n","type":"string"},"version":{"description":"Kafka Schema configuration version.\n","type":"integer"}},"required":["compatibilityLevel","project","schema","schemaType","serviceName","subjectName","version","id"],"type":"object"}},"aiven:index/getKafkaSchemaConfiguration:getKafkaSchemaConfiguration":{"description":"The Kafka Schema Configuration data source provides information about the existing Aiven Kafka Schema Configuration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst config = new aiven.KafkaSchemaConfiguration(\"config\", {\n    project: kafka_schemas_project1.project,\n    serviceName: kafka_service1.serviceName,\n    compatibilityLevel: \"BACKWARD\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nconfig = aiven.KafkaSchemaConfiguration(\"config\",\n    project=kafka_schemas_project1[\"project\"],\n    service_name=kafka_service1[\"serviceName\"],\n    compatibility_level=\"BACKWARD\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var config = new Aiven.KafkaSchemaConfiguration(\"config\", new()\n    {\n        Project = kafka_schemas_project1.Project,\n        ServiceName = kafka_service1.ServiceName,\n        CompatibilityLevel = \"BACKWARD\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.NewKafkaSchemaConfiguration(ctx, \"config\", \u0026aiven.KafkaSchemaConfigurationArgs{\n\t\t\tProject:            pulumi.Any(kafka_schemas_project1.Project),\n\t\t\tServiceName:        pulumi.Any(kafka_service1.ServiceName),\n\t\t\tCompatibilityLevel: pulumi.String(\"BACKWARD\"),\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.aiven.KafkaSchemaConfiguration;\nimport com.pulumi.aiven.KafkaSchemaConfigurationArgs;\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 config = new KafkaSchemaConfiguration(\"config\", KafkaSchemaConfigurationArgs.builder()\n            .project(kafka_schemas_project1.project())\n            .serviceName(kafka_service1.serviceName())\n            .compatibilityLevel(\"BACKWARD\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  config:\n    type: aiven:KafkaSchemaConfiguration\n    properties:\n      project: ${[\"kafka-schemas-project1\"].project}\n      serviceName: ${[\"kafka-service1\"].serviceName}\n      compatibilityLevel: BACKWARD\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaSchemaConfiguration.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafkaSchemaConfiguration.\n","properties":{"compatibilityLevel":{"description":"Kafka Schemas compatibility level. The possible values are `BACKWARD`, `BACKWARD_TRANSITIVE`, `FORWARD`, `FORWARD_TRANSITIVE`, `FULL`, `FULL_TRANSITIVE` and `NONE`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"schema":{"description":"Kafka Schema configuration. Should be a valid Avro, JSON, or Protobuf schema, depending on the schema type.\n","type":"string"},"schemaType":{"description":"Kafka Schema configuration type. Defaults to AVRO. The possible values are `AVRO`, `JSON` and `PROTOBUF`.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"subjectName":{"description":"The Kafka Schema Subject name. Changing this property forces recreation of the resource.\n","type":"string"},"version":{"description":"Kafka Schema configuration version.\n","type":"integer"}},"required":["compatibilityLevel","project","schema","schemaType","serviceName","subjectName","version","id"],"type":"object"}},"aiven:index/getKafkaSchemaRegistryAcl:getKafkaSchemaRegistryAcl":{"description":"The Data Source Kafka Schema Registry ACL data source provides information about the existing Aiven Kafka Schema Registry ACL for a Kafka service.\n","inputs":{"description":"A collection of arguments for invoking getKafkaSchemaRegistryAcl.\n","properties":{"permission":{"type":"string","description":"Kafka Schema Registry permission to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`schemaRegistryRead`\" pulumi-lang-dotnet=\"`SchemaRegistryRead`\" pulumi-lang-go=\"`schemaRegistryRead`\" pulumi-lang-python=\"`schema_registry_read`\" pulumi-lang-yaml=\"`schemaRegistryRead`\" pulumi-lang-java=\"`schemaRegistryRead`\"\u003e`schema_registry_read`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schemaRegistryWrite`\" pulumi-lang-dotnet=\"`SchemaRegistryWrite`\" pulumi-lang-go=\"`schemaRegistryWrite`\" pulumi-lang-python=\"`schema_registry_write`\" pulumi-lang-yaml=\"`schemaRegistryWrite`\" pulumi-lang-java=\"`schemaRegistryWrite`\"\u003e`schema_registry_write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"resource":{"type":"string","description":"Resource name pattern for the Schema Registry ACL entry. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Username pattern for the ACL entry. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["permission","project","resource","serviceName","username"]},"outputs":{"description":"A collection of values returned by getKafkaSchemaRegistryAcl.\n","properties":{"aclId":{"description":"Kafka Schema Registry ACL ID\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"permission":{"description":"Kafka Schema Registry permission to grant. The possible values are \u003cspan pulumi-lang-nodejs=\"`schemaRegistryRead`\" pulumi-lang-dotnet=\"`SchemaRegistryRead`\" pulumi-lang-go=\"`schemaRegistryRead`\" pulumi-lang-python=\"`schema_registry_read`\" pulumi-lang-yaml=\"`schemaRegistryRead`\" pulumi-lang-java=\"`schemaRegistryRead`\"\u003e`schema_registry_read`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`schemaRegistryWrite`\" pulumi-lang-dotnet=\"`SchemaRegistryWrite`\" pulumi-lang-go=\"`schemaRegistryWrite`\" pulumi-lang-python=\"`schema_registry_write`\" pulumi-lang-yaml=\"`schemaRegistryWrite`\" pulumi-lang-java=\"`schemaRegistryWrite`\"\u003e`schema_registry_write`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"resource":{"description":"Resource name pattern for the Schema Registry ACL entry. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"username":{"description":"Username pattern for the ACL entry. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["aclId","permission","project","resource","serviceName","username","id"],"type":"object"}},"aiven:index/getKafkaTopic:getKafkaTopic":{"description":"Gets information about an Aiven for Apache Kafka® topic.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleTopic = aiven.getKafkaTopic({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    topicName: \"example-topic\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_topic = aiven.get_kafka_topic(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    topic_name=\"example-topic\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleTopic = Aiven.GetKafkaTopic.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        TopicName = \"example-topic\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaTopic(ctx, \u0026aiven.LookupKafkaTopicArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleKafka.ServiceName,\n\t\t\tTopicName:   \"example-topic\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaTopicArgs;\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 exampleTopic = AivenFunctions.getKafkaTopic(GetKafkaTopicArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .topicName(\"example-topic\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleTopic:\n    fn::invoke:\n      function: aiven:getKafkaTopic\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n        topicName: example-topic\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaTopic.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"topicName":{"type":"string","description":"The name of the topic. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","topicName"]},"outputs":{"description":"A collection of values returned by getKafkaTopic.\n","properties":{"configs":{"description":"[Advanced parameters](https://aiven.io/docs/products/kafka/reference/advanced-params) to configure topics.\n","items":{"$ref":"#/types/aiven:index/getKafkaTopicConfig:getKafkaTopicConfig"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"ownerUserGroupId":{"description":"The ID of the user group that owns the topic. Assigning ownership to decentralize topic management is part of [Aiven for Apache Kafka® governance](https://aiven.io/docs/products/kafka/concepts/governance-overview).\n","type":"string"},"partitions":{"description":"The number of partitions to create in the topic.\n","type":"integer"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"replication":{"description":"The replication factor for the topic.\n","type":"integer"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"tags":{"description":"Tags for the topic.\n","items":{"$ref":"#/types/aiven:index/getKafkaTopicTag:getKafkaTopicTag"},"type":"array"},"terminationProtection":{"description":"Prevents topics from being deleted by Terraform. It's recommended for topics containing critical data. **Topics can still be deleted in the Aiven Console.**\n","type":"boolean"},"topicDescription":{"description":"The description of the topic\n","type":"string"},"topicName":{"description":"The name of the topic. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["configs","ownerUserGroupId","partitions","project","replication","serviceName","tags","terminationProtection","topicDescription","topicName","id"],"type":"object"}},"aiven:index/getKafkaTopicList:getKafkaTopicList":{"description":"Lists Kafka topics for a service.\n","inputs":{"description":"A collection of arguments for invoking getKafkaTopicList.\n","properties":{"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"timeouts":{"$ref":"#/types/aiven:index/getKafkaTopicListTimeouts:getKafkaTopicListTimeouts"},"topics":{"type":"array","items":{"$ref":"#/types/aiven:index/getKafkaTopicListTopic:getKafkaTopicListTopic"},"description":"List of Kafka topics.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getKafkaTopicList.\n","properties":{"id":{"description":"Resource ID composed as: `project/service_name`.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"Service name.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getKafkaTopicListTimeouts:getKafkaTopicListTimeouts"},"topics":{"description":"List of Kafka topics.\n","items":{"$ref":"#/types/aiven:index/getKafkaTopicListTopic:getKafkaTopicListTopic"},"type":"array"}},"required":["id","project","serviceName"],"type":"object"}},"aiven:index/getKafkaUser:getKafkaUser":{"description":"Gets information about an Aiven for Apache Kafka® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleServiceUser = aiven.getKafkaUser({\n    serviceName: exampleKafka.serviceName,\n    project: exampleProject.project,\n    username: \"example-kafka-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_service_user = aiven.get_kafka_user(service_name=example_kafka[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-kafka-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleServiceUser = Aiven.GetKafkaUser.Invoke(new()\n    {\n        ServiceName = exampleKafka.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-kafka-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupKafkaUser(ctx, \u0026aiven.LookupKafkaUserArgs{\n\t\t\tServiceName: exampleKafka.ServiceName,\n\t\t\tProject:     exampleProject.Project,\n\t\t\tUsername:    \"example-kafka-user\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetKafkaUserArgs;\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 exampleServiceUser = AivenFunctions.getKafkaUser(GetKafkaUserArgs.builder()\n            .serviceName(exampleKafka.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-kafka-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleServiceUser:\n    fn::invoke:\n      function: aiven:getKafkaUser\n      arguments:\n        serviceName: ${exampleKafka.serviceName}\n        project: ${exampleProject.project}\n        username: example-kafka-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKafkaUser.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Name of the Kafka service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getKafkaUser.\n","properties":{"accessCert":{"description":"Access certificate for the user.\n","secret":true,"type":"string"},"accessKey":{"description":"Access certificate key for the user.\n","secret":true,"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.\n","secret":true,"type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"type":{"description":"User account type, such as primary or regular account.\n","type":"string"},"username":{"description":"Name of the Kafka service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["accessCert","accessKey","password","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getM3Aggregator:getM3Aggregator":{"inputs":{"description":"A collection of arguments for invoking getM3Aggregator.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getM3Aggregator.\n","properties":{"additionalDiskSpace":{"type":"string"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorComponent:getM3AggregatorComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"m3aggregatorUserConfigs":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorM3aggregatorUserConfig:getM3AggregatorM3aggregatorUserConfig"},"type":"array"},"m3aggregators":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorM3aggregator:getM3AggregatorM3aggregator"},"secret":true,"type":"array"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorServiceIntegration:getM3AggregatorServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorTag:getM3AggregatorTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getM3AggregatorTechEmail:getM3AggregatorTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","m3aggregators","m3aggregatorUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getM3Db:getM3Db":{"inputs":{"description":"A collection of arguments for invoking getM3Db.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getM3Db.\n","properties":{"additionalDiskSpace":{"type":"string"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getM3DbComponent:getM3DbComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"m3dbUserConfigs":{"items":{"$ref":"#/types/aiven:index/getM3DbM3dbUserConfig:getM3DbM3dbUserConfig"},"type":"array"},"m3dbs":{"items":{"$ref":"#/types/aiven:index/getM3DbM3db:getM3DbM3db"},"secret":true,"type":"array"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getM3DbServiceIntegration:getM3DbServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getM3DbTag:getM3DbTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getM3DbTechEmail:getM3DbTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","m3dbs","m3dbUserConfigs","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getM3dbUser:getM3dbUser":{"inputs":{"description":"A collection of arguments for invoking getM3dbUser.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getM3dbUser.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"secret":true,"type":"string"},"project":{"type":"string"},"serviceName":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"required":["password","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getMirrorMakerReplicationFlow:getMirrorMakerReplicationFlow":{"description":"Gets information about an [Aiven for Apache Kafka® MirrorMaker 2](https://aiven.io/docs/products/kafka/kafka-mirrormaker) replication flow.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleReplicationFlow = aiven.getMirrorMakerReplicationFlow({\n    project: exampleProject.project,\n    serviceName: exampleKafka.serviceName,\n    sourceCluster: source.serviceName,\n    targetCluster: target.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_replication_flow = aiven.get_mirror_maker_replication_flow(project=example_project[\"project\"],\n    service_name=example_kafka[\"serviceName\"],\n    source_cluster=source[\"serviceName\"],\n    target_cluster=target[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleReplicationFlow = Aiven.GetMirrorMakerReplicationFlow.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleKafka.ServiceName,\n        SourceCluster = source.ServiceName,\n        TargetCluster = target.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupMirrorMakerReplicationFlow(ctx, \u0026aiven.LookupMirrorMakerReplicationFlowArgs{\n\t\t\tProject:       exampleProject.Project,\n\t\t\tServiceName:   exampleKafka.ServiceName,\n\t\t\tSourceCluster: source.ServiceName,\n\t\t\tTargetCluster: target.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetMirrorMakerReplicationFlowArgs;\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 exampleReplicationFlow = AivenFunctions.getMirrorMakerReplicationFlow(GetMirrorMakerReplicationFlowArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleKafka.serviceName())\n            .sourceCluster(source.serviceName())\n            .targetCluster(target.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleReplicationFlow:\n    fn::invoke:\n      function: aiven:getMirrorMakerReplicationFlow\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleKafka.serviceName}\n        sourceCluster: ${source.serviceName}\n        targetCluster: ${target.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMirrorMakerReplicationFlow.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"sourceCluster":{"type":"string","description":"Source cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"},"targetCluster":{"type":"string","description":"Target cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n"}},"type":"object","required":["project","serviceName","sourceCluster","targetCluster"]},"outputs":{"description":"A collection of values returned by getMirrorMakerReplicationFlow.\n","properties":{"configPropertiesExcludes":{"description":"List of topic configuration properties and regular expressions to not replicate. The properties that are not replicated by default are: `follower.replication.throttled.replicas`, `leader.replication.throttled.replicas`, `message.timestamp.difference.max.ms`, `message.timestamp.type`, `unclean.leader.election.enable`, and `min.insync.replicas`. Setting this overrides the defaults. For example, to enable replication for 'min.insync.replicas' and 'unclean.leader.election.enable' set this to: [\"follower\\\\.replication\\\\.throttled\\\\.replicas\", \"leader\\\\.replication\\\\.throttled\\\\.replicas\", \"message\\\\.timestamp\\\\.difference\\\\.max\\\\.ms\",  \"message\\\\.timestamp\\\\.type\"]\n","items":{"type":"string"},"type":"array"},"emitBackwardHeartbeatsEnabled":{"description":"Enables emitting heartbeats to the direction opposite to the flow, i.e. to the source cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"emitHeartbeatsEnabled":{"description":"Enables emitting heartbeats to the target cluster. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"enable":{"description":"Enables replication flow for a service.\n","type":"boolean"},"exactlyOnceDeliveryEnabled":{"description":"Enables exactly-once message delivery. Set this to \u003cspan pulumi-lang-nodejs=\"`enabled`\" pulumi-lang-dotnet=\"`Enabled`\" pulumi-lang-go=\"`enabled`\" pulumi-lang-python=\"`enabled`\" pulumi-lang-yaml=\"`enabled`\" pulumi-lang-java=\"`enabled`\"\u003e`enabled`\u003c/span\u003e for new replications. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"followerFetchingEnabled":{"description":"Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. Defaults to enabled by the service for new flows, but is left unchanged for existing ones when not set.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"offsetSyncsTopicLocation":{"description":"Offset syncs topic location. The possible values are \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`target`\" pulumi-lang-dotnet=\"`Target`\" pulumi-lang-go=\"`target`\" pulumi-lang-python=\"`target`\" pulumi-lang-yaml=\"`target`\" pulumi-lang-java=\"`target`\"\u003e`target`\u003c/span\u003e.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"replicationFactor":{"description":"Replication factor, `\u003e= 1`.\n","type":"integer"},"replicationPolicyClass":{"description":"Replication policy class. The possible values are `org.apache.kafka.connect.mirror.DefaultReplicationPolicy` and `org.apache.kafka.connect.mirror.IdentityReplicationPolicy`. The default value is `org.apache.kafka.connect.mirror.DefaultReplicationPolicy`.\n","type":"string"},"serviceName":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"sourceCluster":{"description":"Source cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n","type":"string"},"syncGroupOffsetsEnabled":{"description":"Sync consumer group offsets. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"syncGroupOffsetsIntervalSeconds":{"description":"Frequency of consumer group offset sync. The default value is \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\"\u003e`1`\u003c/span\u003e.\n","type":"integer"},"targetCluster":{"description":"Target cluster alias. Maximum length: \u003cspan pulumi-lang-nodejs=\"`128`\" pulumi-lang-dotnet=\"`128`\" pulumi-lang-go=\"`128`\" pulumi-lang-python=\"`128`\" pulumi-lang-yaml=\"`128`\" pulumi-lang-java=\"`128`\"\u003e`128`\u003c/span\u003e.\n","type":"string"},"topics":{"description":"The topics to include in the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n","items":{"type":"string"},"type":"array"},"topicsBlacklists":{"description":"The topics to exclude from the replica defined by a [list of regular expressions in Java format](https://aiven.io/docs/products/kafka/kafka-mirrormaker/concepts/replication-flow-topics-regex).\n","items":{"type":"string"},"type":"array"}},"required":["configPropertiesExcludes","emitBackwardHeartbeatsEnabled","emitHeartbeatsEnabled","enable","exactlyOnceDeliveryEnabled","followerFetchingEnabled","offsetSyncsTopicLocation","project","replicationFactor","replicationPolicyClass","serviceName","sourceCluster","syncGroupOffsetsEnabled","syncGroupOffsetsIntervalSeconds","targetCluster","topics","topicsBlacklists","id"],"type":"object"}},"aiven:index/getMySql:getMySql":{"description":"Gets information about an Aiven for MySQL® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMysql = aiven.getMySql({\n    project: exampleProject.project,\n    serviceName: \"example-mysql\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mysql = aiven.get_my_sql(project=example_project[\"project\"],\n    service_name=\"example-mysql\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMysql = Aiven.GetMySql.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-mysql\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupMySql(ctx, \u0026aiven.LookupMySqlArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-mysql\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetMySqlArgs;\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 exampleMysql = AivenFunctions.getMySql(GetMySqlArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-mysql\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMysql:\n    fn::invoke:\n      function: aiven:getMySql\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-mysql\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMySql.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getMySql.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getMySqlComponent:getMySqlComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"mysqlUserConfigs":{"description":"Mysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getMySqlMysqlUserConfig:getMySqlMysqlUserConfig"},"type":"array"},"mysqls":{"description":"MySQL server-provided values.\n","items":{"$ref":"#/types/aiven:index/getMySqlMysql:getMySqlMysql"},"secret":true,"type":"array"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getMySqlServiceIntegration:getMySqlServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getMySqlTag:getMySqlTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getMySqlTechEmail:getMySqlTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","mysqls","mysqlUserConfigs","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getMysqlDatabase:getMysqlDatabase":{"description":"Gets information about an Aiven for MySQL® database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleDatabase = aiven.getMysqlDatabase({\n    project: exampleProject.project,\n    serviceName: exampleMysql.serviceName,\n    databaseName: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_database = aiven.get_mysql_database(project=example_project[\"project\"],\n    service_name=example_mysql[\"serviceName\"],\n    database_name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDatabase = Aiven.GetMysqlDatabase.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleMysql.ServiceName,\n        DatabaseName = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupMysqlDatabase(ctx, \u0026aiven.LookupMysqlDatabaseArgs{\n\t\t\tProject:      exampleProject.Project,\n\t\t\tServiceName:  exampleMysql.ServiceName,\n\t\t\tDatabaseName: \"example-database\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetMysqlDatabaseArgs;\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 exampleDatabase = AivenFunctions.getMysqlDatabase(GetMysqlDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleMysql.serviceName())\n            .databaseName(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDatabase:\n    fn::invoke:\n      function: aiven:getMysqlDatabase\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleMysql.serviceName}\n        databaseName: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMysqlDatabase.\n","properties":{"databaseName":{"type":"string","description":"Service database name.\n"},"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"timeouts":{"$ref":"#/types/aiven:index/getMysqlDatabaseTimeouts:getMysqlDatabaseTimeouts"}},"type":"object","required":["databaseName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getMysqlDatabase.\n","properties":{"databaseName":{"description":"Service database name.\n","type":"string"},"id":{"description":"Resource ID composed as: `project/service_name/database_name`.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"Service name.\n","type":"string"},"terminationProtection":{"deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","type":"boolean"},"timeouts":{"$ref":"#/types/aiven:index/getMysqlDatabaseTimeouts:getMysqlDatabaseTimeouts"}},"required":["databaseName","id","project","serviceName","terminationProtection"],"type":"object"}},"aiven:index/getMysqlUser:getMysqlUser":{"description":"Gets information about an Aiven for MySQL® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleMysqlUser = aiven.getMysqlUser({\n    serviceName: exampleMysql.serviceName,\n    project: exampleProject.project,\n    username: \"example-mysql-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_mysql_user = aiven.get_mysql_user(service_name=example_mysql[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-mysql-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleMysqlUser = Aiven.GetMysqlUser.Invoke(new()\n    {\n        ServiceName = exampleMysql.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-mysql-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupMysqlUser(ctx, \u0026aiven.LookupMysqlUserArgs{\n\t\t\tServiceName: exampleMysql.ServiceName,\n\t\t\tProject:     exampleProject.Project,\n\t\t\tUsername:    \"example-mysql-user\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetMysqlUserArgs;\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 exampleMysqlUser = AivenFunctions.getMysqlUser(GetMysqlUserArgs.builder()\n            .serviceName(exampleMysql.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-mysql-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleMysqlUser:\n    fn::invoke:\n      function: aiven:getMysqlUser\n      arguments:\n        serviceName: ${exampleMysql.serviceName}\n        project: ${exampleProject.project}\n        username: example-mysql-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMysqlUser.\n","properties":{"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"The name of the MySQL® service user.\n"},"timeouts":{"$ref":"#/types/aiven:index/getMysqlUserTimeouts:getMysqlUserTimeouts"},"username":{"type":"string","description":"The name of the MySQL® service user.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getMysqlUser.\n","properties":{"accessCert":{"description":"Access certificate for TLS client authentication.\n","secret":true,"type":"string"},"accessKey":{"description":"Access key for TLS client authentication.\n","secret":true,"type":"string"},"authentication":{"description":"Service specific authentication details. Currently only used for MySQL where accepted options are 'mysql*native*password' and 'caching*sha2*password', latter being default when this is not explicitly set. The possible values are \u003cspan pulumi-lang-nodejs=\"`cachingSha2Password`\" pulumi-lang-dotnet=\"`CachingSha2Password`\" pulumi-lang-go=\"`cachingSha2Password`\" pulumi-lang-python=\"`caching_sha2_password`\" pulumi-lang-yaml=\"`cachingSha2Password`\" pulumi-lang-java=\"`cachingSha2Password`\"\u003e`caching_sha2_password`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`mysqlNativePassword`\" pulumi-lang-dotnet=\"`MysqlNativePassword`\" pulumi-lang-go=\"`mysqlNativePassword`\" pulumi-lang-python=\"`mysql_native_password`\" pulumi-lang-yaml=\"`mysqlNativePassword`\" pulumi-lang-java=\"`mysqlNativePassword`\"\u003e`mysql_native_password`\u003c/span\u003e.\n","type":"string"},"id":{"description":"Resource ID composed as: `project/service_name/username`.\n","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e.\n","secret":true,"type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"The name of the MySQL® service user.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getMysqlUserTimeouts:getMysqlUserTimeouts"},"type":{"description":"User account type, such as primary or regular account.\n","type":"string"},"username":{"description":"The name of the MySQL® service user.\n","type":"string"}},"required":["accessCert","accessKey","authentication","id","password","project","serviceName","type","username"],"type":"object"}},"aiven:index/getOpenSearch:getOpenSearch":{"description":"Gets information about an Aiven for OpenSearch® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleOpensearch = aiven.getOpenSearch({\n    project: exampleProject.project,\n    serviceName: \"example-opensearch\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_opensearch = aiven.get_open_search(project=example_project[\"project\"],\n    service_name=\"example-opensearch\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleOpensearch = Aiven.GetOpenSearch.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-opensearch\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpenSearch(ctx, \u0026aiven.LookupOpenSearchArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-opensearch\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpenSearchArgs;\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 exampleOpensearch = AivenFunctions.getOpenSearch(GetOpenSearchArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-opensearch\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleOpensearch:\n    fn::invoke:\n      function: aiven:getOpenSearch\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-opensearch\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOpenSearch.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getOpenSearch.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getOpenSearchComponent:getOpenSearchComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"opensearchUserConfigs":{"description":"Opensearch user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getOpenSearchOpensearchUserConfig:getOpenSearchOpensearchUserConfig"},"type":"array"},"opensearches":{"description":"Values provided by the OpenSearch server.\n","items":{"$ref":"#/types/aiven:index/getOpenSearchOpensearch:getOpenSearchOpensearch"},"secret":true,"type":"array"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getOpenSearchServiceIntegration:getOpenSearchServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getOpenSearchTag:getOpenSearchTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getOpenSearchTechEmail:getOpenSearchTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","opensearches","opensearchUserConfigs","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getOpenSearchAclConfig:getOpenSearchAclConfig":{"description":"Gets information about access control for an Aiven for OpenSearch® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst os_acl_config = aiven.getOpenSearchAclConfig({\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nos_acl_config = aiven.get_open_search_acl_config(project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var os_acl_config = Aiven.GetOpenSearchAclConfig.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpenSearchAclConfig(ctx, \u0026aiven.LookupOpenSearchAclConfigArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleOpensearch.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpenSearchAclConfigArgs;\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 os-acl-config = AivenFunctions.getOpenSearchAclConfig(GetOpenSearchAclConfigArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleOpensearch.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  os-acl-config:\n    fn::invoke:\n      function: aiven:getOpenSearchAclConfig\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleOpensearch.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOpenSearchAclConfig.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getOpenSearchAclConfig.\n","properties":{"enabled":{"description":"Enable OpenSearch ACLs. When disabled, authenticated service users have unrestricted access. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","type":"boolean"},"extendedAcl":{"description":"Index rules can be applied in a limited fashion to the _mget, _msearch and _bulk APIs (and only those) by enabling the ExtendedAcl option for the service. When it is enabled, users can use these APIs as long as all operations only target indexes they have been granted access to. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["enabled","extendedAcl","project","serviceName","id"],"type":"object"}},"aiven:index/getOpenSearchAclRule:getOpenSearchAclRule":{"description":"Gets information about an Aiven for OpenSearch® ACL rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst osAclRule = aiven.getOpenSearchAclRule({\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n    username: \"documentation-user-1\",\n    index: \"index5\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nos_acl_rule = aiven.get_open_search_acl_rule(project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"],\n    username=\"documentation-user-1\",\n    index=\"index5\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var osAclRule = Aiven.GetOpenSearchAclRule.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n        Username = \"documentation-user-1\",\n        Index = \"index5\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpenSearchAclRule(ctx, \u0026aiven.LookupOpenSearchAclRuleArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleOpensearch.ServiceName,\n\t\t\tUsername:    \"documentation-user-1\",\n\t\t\tIndex:       \"index5\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpenSearchAclRuleArgs;\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 osAclRule = AivenFunctions.getOpenSearchAclRule(GetOpenSearchAclRuleArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleOpensearch.serviceName())\n            .username(\"documentation-user-1\")\n            .index(\"index5\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  osAclRule:\n    fn::invoke:\n      function: aiven:getOpenSearchAclRule\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleOpensearch.serviceName}\n        username: documentation-user-1\n        index: index5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOpenSearchAclRule.\n","properties":{"index":{"type":"string","description":"The index pattern for this ACL rule. Maximum length: \u003cspan pulumi-lang-nodejs=\"`249`\" pulumi-lang-dotnet=\"`249`\" pulumi-lang-go=\"`249`\" pulumi-lang-python=\"`249`\" pulumi-lang-yaml=\"`249`\" pulumi-lang-java=\"`249`\"\u003e`249`\u003c/span\u003e. Changing this property forces recreation of the resource.\n"},"permission":{"type":"string","description":"The permissions for this ACL rule. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"The username for the OpenSearch user this ACL rule applies to. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["index","permission","project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getOpenSearchAclRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"index":{"description":"The index pattern for this ACL rule. Maximum length: \u003cspan pulumi-lang-nodejs=\"`249`\" pulumi-lang-dotnet=\"`249`\" pulumi-lang-go=\"`249`\" pulumi-lang-python=\"`249`\" pulumi-lang-yaml=\"`249`\" pulumi-lang-java=\"`249`\"\u003e`249`\u003c/span\u003e. Changing this property forces recreation of the resource.\n","type":"string"},"permission":{"description":"The permissions for this ACL rule. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`deny`\" pulumi-lang-dotnet=\"`Deny`\" pulumi-lang-go=\"`deny`\" pulumi-lang-python=\"`deny`\" pulumi-lang-yaml=\"`deny`\" pulumi-lang-java=\"`deny`\"\u003e`deny`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`read`\" pulumi-lang-dotnet=\"`Read`\" pulumi-lang-go=\"`read`\" pulumi-lang-python=\"`read`\" pulumi-lang-yaml=\"`read`\" pulumi-lang-java=\"`read`\"\u003e`read`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readwrite`\" pulumi-lang-dotnet=\"`Readwrite`\" pulumi-lang-go=\"`readwrite`\" pulumi-lang-python=\"`readwrite`\" pulumi-lang-yaml=\"`readwrite`\" pulumi-lang-java=\"`readwrite`\"\u003e`readwrite`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`write`\" pulumi-lang-dotnet=\"`Write`\" pulumi-lang-go=\"`write`\" pulumi-lang-python=\"`write`\" pulumi-lang-yaml=\"`write`\" pulumi-lang-java=\"`write`\"\u003e`write`\u003c/span\u003e.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"username":{"description":"The username for the OpenSearch user this ACL rule applies to. Maximum length: \u003cspan pulumi-lang-nodejs=\"`40`\" pulumi-lang-dotnet=\"`40`\" pulumi-lang-go=\"`40`\" pulumi-lang-python=\"`40`\" pulumi-lang-yaml=\"`40`\" pulumi-lang-java=\"`40`\"\u003e`40`\u003c/span\u003e. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["index","permission","project","serviceName","username","id"],"type":"object"}},"aiven:index/getOpensearchSecurityPluginConfig:getOpensearchSecurityPluginConfig":{"description":"Gets information about OpenSearch Security configuration for an Aiven for OpenSearch® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst os_sec_config = aiven.getOpensearchSecurityPluginConfig({\n    project: exampleProject.project,\n    serviceName: exampleOpensearch.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nos_sec_config = aiven.get_opensearch_security_plugin_config(project=example_project[\"project\"],\n    service_name=example_opensearch[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var os_sec_config = Aiven.GetOpensearchSecurityPluginConfig.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = exampleOpensearch.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpensearchSecurityPluginConfig(ctx, \u0026aiven.LookupOpensearchSecurityPluginConfigArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: exampleOpensearch.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpensearchSecurityPluginConfigArgs;\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 os-sec-config = AivenFunctions.getOpensearchSecurityPluginConfig(GetOpensearchSecurityPluginConfigArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(exampleOpensearch.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  os-sec-config:\n    fn::invoke:\n      function: aiven:getOpensearchSecurityPluginConfig\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${exampleOpensearch.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOpensearchSecurityPluginConfig.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getOpensearchSecurityPluginConfig.\n","properties":{"adminEnabled":{"description":"Whether the os-sec-admin user is enabled. This indicates whether OpenSearch Security management is enabled. This is always true when the os-sec-admin password was set at least once.\n","type":"boolean"},"adminPassword":{"description":"The password for the os-sec-admin user.\n","secret":true,"type":"string"},"available":{"description":"Whether the security plugin is available. This is always true for recently created services.\n","type":"boolean"},"enabled":{"description":"Whether the security plugin is enabled. This is always true for recently created services.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["adminEnabled","adminPassword","available","enabled","project","serviceName","id"],"type":"object"}},"aiven:index/getOpensearchUser:getOpensearchUser":{"description":"Gets information about an Aiven for OpenSearch® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleOpensearchUser = aiven.getOpensearchUser({\n    serviceName: \"example-opensearch-service\",\n    project: exampleProject.project,\n    username: \"example-opensearch-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_opensearch_user = aiven.get_opensearch_user(service_name=\"example-opensearch-service\",\n    project=example_project[\"project\"],\n    username=\"example-opensearch-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleOpensearchUser = Aiven.GetOpensearchUser.Invoke(new()\n    {\n        ServiceName = \"example-opensearch-service\",\n        Project = exampleProject.Project,\n        Username = \"example-opensearch-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOpensearchUser(ctx, \u0026aiven.LookupOpensearchUserArgs{\n\t\t\tServiceName: \"example-opensearch-service\",\n\t\t\tProject:     exampleProject.Project,\n\t\t\tUsername:    \"example-opensearch-user\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOpensearchUserArgs;\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 exampleOpensearchUser = AivenFunctions.getOpensearchUser(GetOpensearchUserArgs.builder()\n            .serviceName(\"example-opensearch-service\")\n            .project(exampleProject.project())\n            .username(\"example-opensearch-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleOpensearchUser:\n    fn::invoke:\n      function: aiven:getOpensearchUser\n      arguments:\n        serviceName: example-opensearch-service\n        project: ${exampleProject.project}\n        username: example-opensearch-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOpensearchUser.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Name of the OpenSearch service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getOpensearchUser.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.\n","secret":true,"type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"type":{"description":"User account type, such as primary or regular account.\n","type":"string"},"username":{"description":"Name of the OpenSearch service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["password","project","serviceName","type","username","id"],"type":"object"}},"aiven:index/getOrganization:getOrganization":{"description":"Gets information about an organization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getOrganization({\n    name: \"Example organization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_organization(name=\"Example organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetOrganization.Invoke(new()\n    {\n        Name = \"Example organization\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOrganization(ctx, \u0026aiven.LookupOrganizationArgs{\n\t\t\tName: pulumi.StringRef(\"Example organization\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationArgs;\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 main = AivenFunctions.getOrganization(GetOrganizationArgs.builder()\n            .name(\"Example organization\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getOrganization\n      arguments:\n        name: Example organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganization.\n","properties":{"id":{"type":"string","description":"Organization ID. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Name of the organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationTimeouts:getOrganizationTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getOrganization.\n","properties":{"createTime":{"description":"Timestamp in ISO 8601 format, always in UTC.\n","type":"string"},"id":{"description":"Organization ID. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"name":{"description":"Name of the organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"tenantId":{"deprecationMessage":"This field is deprecated and will be removed in the next major release.","description":"Tenant identifier. **Deprecated**: This field is deprecated and will be removed in the next major release.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationTimeouts:getOrganizationTimeouts"},"updateTime":{"description":"Timestamp in ISO 8601 format, always in UTC.\n","type":"string"}},"required":["createTime","id","name","tenantId","updateTime"],"type":"object"}},"aiven:index/getOrganizationAddress:getOrganizationAddress":{"description":"Gets information about an organization address.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationAddress.\n","properties":{"addressId":{"type":"string","description":"Address ID.\n"},"organizationId":{"type":"string","description":"ID of an organization.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationAddressTimeouts:getOrganizationAddressTimeouts"}},"type":"object","required":["addressId","organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationAddress.\n","properties":{"addressId":{"description":"Address ID.\n","type":"string"},"addressLines":{"description":"Address Lines.\n","items":{"type":"string"},"type":"array"},"city":{"description":"City.\n","type":"string"},"countryCode":{"description":"Country Code.\n","type":"string"},"createTime":{"description":"Create Time.\n","type":"string"},"id":{"description":"Resource ID composed as: `organization_id/address_id`.\n","type":"string"},"name":{"description":"Name of a company.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"state":{"description":"State.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationAddressTimeouts:getOrganizationAddressTimeouts"},"updateTime":{"description":"Update Time.\n","type":"string"},"zipCode":{"description":"Zip Code.\n","type":"string"}},"required":["addressId","addressLines","city","countryCode","createTime","id","name","organizationId","state","updateTime","zipCode"],"type":"object"}},"aiven:index/getOrganizationApplicationUser:getOrganizationApplicationUser":{"description":"Gets information about an application user.\n\n","inputs":{"description":"A collection of arguments for invoking getOrganizationApplicationUser.\n","properties":{"organizationId":{"type":"string","description":"ID of an organization.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationApplicationUserTimeouts:getOrganizationApplicationUserTimeouts"},"userId":{"type":"string","description":"User ID.\n"}},"type":"object","required":["organizationId","userId"]},"outputs":{"description":"A collection of values returned by getOrganizationApplicationUser.\n","properties":{"email":{"description":"User Email.\n","type":"string"},"id":{"description":"Resource ID composed as: `organization_id/user_id`.\n","type":"string"},"isSuperAdmin":{"deprecationMessage":"This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.","description":"Alters super admin state of the organization application user. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: This field is no longer accepted by the API. For administrative tasks, assign application users the organization admin role instead using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resource.\n","type":"boolean"},"name":{"description":"Name.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationApplicationUserTimeouts:getOrganizationApplicationUserTimeouts"},"userId":{"description":"User ID.\n","type":"string"}},"required":["email","id","isSuperAdmin","name","organizationId","userId"],"type":"object"}},"aiven:index/getOrganizationBillingGroup:getOrganizationBillingGroup":{"description":"Gets information about a billing group.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationBillingGroup.\n","properties":{"billingContactEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupBillingContactEmail:getOrganizationBillingGroupBillingContactEmail"},"description":"List of billing contact emails.\n"},"billingEmails":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupBillingEmail:getOrganizationBillingGroupBillingEmail"},"description":"List of billing contact emails.\n"},"billingGroupId":{"type":"string","description":"Billing group ID.\n"},"organizationId":{"type":"string","description":"ID of an organization.\n"},"paymentMethods":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupPaymentMethod:getOrganizationBillingGroupPaymentMethod"},"description":"Payment method.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupTimeouts:getOrganizationBillingGroupTimeouts"}},"type":"object","required":["billingGroupId","organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationBillingGroup.\n","properties":{"billingAddressId":{"description":"Billing address ID.\n","type":"string"},"billingContactEmails":{"description":"List of billing contact emails.\n","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupBillingContactEmail:getOrganizationBillingGroupBillingContactEmail"},"type":"array"},"billingEmails":{"description":"List of billing contact emails.\n","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupBillingEmail:getOrganizationBillingGroupBillingEmail"},"type":"array"},"billingGroupId":{"description":"Billing group ID.\n","type":"string"},"billingGroupName":{"description":"Billing Group Name.\n","type":"string"},"customInvoiceText":{"description":"Extra billing text.\n","type":"string"},"id":{"description":"Resource ID composed as: `organization_id/billing_group_id`.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"paymentMethods":{"description":"Payment method.\n","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupPaymentMethod:getOrganizationBillingGroupPaymentMethod"},"type":"array"},"shippingAddressId":{"description":"Shipping address ID.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupTimeouts:getOrganizationBillingGroupTimeouts"},"vatId":{"description":"VAT ID.\n","type":"string"}},"required":["billingAddressId","billingGroupId","billingGroupName","customInvoiceText","id","organizationId","shippingAddressId","vatId"],"type":"object"}},"aiven:index/getOrganizationBillingGroupList:getOrganizationBillingGroupList":{"description":"Lists billing groups for an organization.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationBillingGroupList.\n","properties":{"billingGroups":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListBillingGroup:getOrganizationBillingGroupListBillingGroup"},"description":"A list of all billing groups belonging to the organization.\n"},"organizationId":{"type":"string","description":"ID of an organization.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListTimeouts:getOrganizationBillingGroupListTimeouts"}},"type":"object","required":["organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationBillingGroupList.\n","properties":{"billingGroups":{"description":"A list of all billing groups belonging to the organization.\n","items":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListBillingGroup:getOrganizationBillingGroupListBillingGroup"},"type":"array"},"id":{"description":"Resource ID, equal to \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationBillingGroupListTimeouts:getOrganizationBillingGroupListTimeouts"}},"required":["id","organizationId"],"type":"object"}},"aiven:index/getOrganizationPaymentMethodList:getOrganizationPaymentMethodList":{"description":"Lists payment methods for an organization.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationPaymentMethodList.\n","properties":{"organizationId":{"type":"string","description":"ID of an organization.\n"},"paymentMethods":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationPaymentMethodListPaymentMethod:getOrganizationPaymentMethodListPaymentMethod"},"description":"Payment Methods.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationPaymentMethodListTimeouts:getOrganizationPaymentMethodListTimeouts"}},"type":"object","required":["organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationPaymentMethodList.\n","properties":{"id":{"description":"Resource ID, equal to \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"paymentMethods":{"description":"Payment Methods.\n","items":{"$ref":"#/types/aiven:index/getOrganizationPaymentMethodListPaymentMethod:getOrganizationPaymentMethodListPaymentMethod"},"type":"array"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationPaymentMethodListTimeouts:getOrganizationPaymentMethodListTimeouts"}},"required":["id","organizationId"],"type":"object"}},"aiven:index/getOrganizationProject:getOrganizationProject":{"description":"Gets information about an Aiven project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = aiven.getOrganizationProject({\n    projectId: foo.projectId,\n    organizationId: foo.organizationId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.get_organization_project(project_id=foo[\"projectId\"],\n    organization_id=foo[\"organizationId\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Aiven.GetOrganizationProject.Invoke(new()\n    {\n        ProjectId = foo.ProjectId,\n        OrganizationId = foo.OrganizationId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOrganizationProject(ctx, \u0026aiven.LookupOrganizationProjectArgs{\n\t\t\tProjectId:      foo.ProjectId,\n\t\t\tOrganizationId: foo.OrganizationId,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationProjectArgs;\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 = AivenFunctions.getOrganizationProject(GetOrganizationProjectArgs.builder()\n            .projectId(foo.projectId())\n            .organizationId(foo.organizationId())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: aiven:getOrganizationProject\n      arguments:\n        projectId: ${foo.projectId}\n        organizationId: ${foo.organizationId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganizationProject.\n","properties":{"organizationId":{"type":"string","description":"ID of an organization.\n"},"projectId":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource.\n"},"tags":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationProjectTag:getOrganizationProjectTag"},"description":"Tags are key-value pairs that allow you to categorize projects.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationProjectTimeouts:getOrganizationProjectTimeouts"}},"type":"object","required":["organizationId","projectId"]},"outputs":{"description":"A collection of values returned by getOrganizationProject.\n","properties":{"basePort":{"description":"Valid port number (10000-30000) to use as a base for service port allocation.\n","type":"integer"},"billingGroupId":{"description":"Billing group ID to assign to the project. It's required when moving projects between organizations.\n","type":"string"},"caCert":{"description":"PEM encoded certificate.\n","secret":true,"type":"string"},"id":{"description":"Resource ID composed as: `organization_id/project_id`.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"parentId":{"description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"projectId":{"description":"The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource.\n","type":"string"},"tags":{"description":"Tags are key-value pairs that allow you to categorize projects.\n","items":{"$ref":"#/types/aiven:index/getOrganizationProjectTag:getOrganizationProjectTag"},"type":"array"},"technicalEmails":{"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n","items":{"type":"string"},"type":"array"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationProjectTimeouts:getOrganizationProjectTimeouts"}},"required":["basePort","billingGroupId","caCert","id","organizationId","parentId","projectId","technicalEmails"],"type":"object"}},"aiven:index/getOrganizationUser:getOrganizationUser":{"description":"The Organization User data source provides information about the existing Aiven Organization User.\n\n\u003e **This resource is deprecated**\nUsers cannot be invited to an organization using Terraform.\nUse the Aiven Console to [invite users to your organization](https://aiven.io/docs/platform/howto/manage-org-users).\nAfter the user accepts the invite you can get their information using the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUser`\" pulumi-lang-dotnet=\"`aiven.OrganizationUser`\" pulumi-lang-go=\"`OrganizationUser`\" pulumi-lang-python=\"`OrganizationUser`\" pulumi-lang-yaml=\"`aiven.OrganizationUser`\" pulumi-lang-java=\"`aiven.OrganizationUser`\"\u003e`aiven.OrganizationUser`\u003c/span\u003e data source. You can manage\nuser access to projects with the \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUserGroup`\" pulumi-lang-dotnet=\"`aiven.OrganizationUserGroup`\" pulumi-lang-go=\"`OrganizationUserGroup`\" pulumi-lang-python=\"`OrganizationUserGroup`\" pulumi-lang-yaml=\"`aiven.OrganizationUserGroup`\" pulumi-lang-java=\"`aiven.OrganizationUserGroup`\"\u003e`aiven.OrganizationUserGroup`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-dotnet=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-go=\"`OrganizationUserGroupMember`\" pulumi-lang-python=\"`OrganizationUserGroupMember`\" pulumi-lang-yaml=\"`aiven.OrganizationUserGroupMember`\" pulumi-lang-java=\"`aiven.OrganizationUserGroupMember`\"\u003e`aiven.OrganizationUserGroupMember`\u003c/span\u003e,\nand \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resources.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationUser.\n","properties":{"organizationId":{"type":"string","description":"The unique organization ID.\n"},"userEmail":{"type":"string","description":"This is a user email address\n"},"userId":{"type":"string","description":"The unique organization user ID\n"}},"type":"object","required":["organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationUser.\n","properties":{"createTime":{"description":"Time of creation\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"organizationId":{"description":"The unique organization ID.\n","type":"string"},"userEmail":{"description":"This is a user email address\n","type":"string"},"userId":{"description":"The unique organization user ID\n","type":"string"}},"required":["createTime","organizationId","id"],"type":"object"}},"aiven:index/getOrganizationUserGroup:getOrganizationUserGroup":{"description":"Gets information about an existing user group in an organization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst example = aiven.getOrganizationUserGroup({\n    name: \"Example group\",\n    organizationId: main.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample = aiven.get_organization_user_group(name=\"Example group\",\n    organization_id=main[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Aiven.GetOrganizationUserGroup.Invoke(new()\n    {\n        Name = \"Example group\",\n        OrganizationId = main.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOrganizationUserGroup(ctx, \u0026aiven.LookupOrganizationUserGroupArgs{\n\t\t\tName:           \"Example group\",\n\t\t\tOrganizationId: main.Id,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationUserGroupArgs;\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 = AivenFunctions.getOrganizationUserGroup(GetOrganizationUserGroupArgs.builder()\n            .name(\"Example group\")\n            .organizationId(main.id())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: aiven:getOrganizationUserGroup\n      arguments:\n        name: Example group\n        organizationId: ${main.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganizationUserGroup.\n","properties":{"name":{"type":"string","description":"The name of the user group. Changing this property forces recreation of the resource.\n"},"organizationId":{"type":"string","description":"The ID of the organization. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["name","organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationUserGroup.\n","properties":{"createTime":{"description":"Time of creation.\n","type":"string"},"description":{"description":"The description of the user group. Changing this property forces recreation of the resource.\n","type":"string"},"groupId":{"description":"The ID of the user group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the user group. Changing this property forces recreation of the resource.\n","type":"string"},"organizationId":{"description":"The ID of the organization. Changing this property forces recreation of the resource.\n","type":"string"},"updateTime":{"description":"Time of last update.\n","type":"string"}},"required":["createTime","description","groupId","name","organizationId","updateTime","id"],"type":"object"}},"aiven:index/getOrganizationUserGroupList:getOrganizationUserGroupList":{"description":"List all user groups within an organization.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationUserGroupList.\n","properties":{"organizationId":{"type":"string","description":"ID of an organization.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserGroupListTimeouts:getOrganizationUserGroupListTimeouts"},"userGroups":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationUserGroupListUserGroup:getOrganizationUserGroupListUserGroup"},"description":"User Groups.\n"}},"type":"object","required":["organizationId"]},"outputs":{"description":"A collection of values returned by getOrganizationUserGroupList.\n","properties":{"id":{"description":"Resource ID, equal to \u003cspan pulumi-lang-nodejs=\"`organizationId`\" pulumi-lang-dotnet=\"`OrganizationId`\" pulumi-lang-go=\"`organizationId`\" pulumi-lang-python=\"`organization_id`\" pulumi-lang-yaml=\"`organizationId`\" pulumi-lang-java=\"`organizationId`\"\u003e`organization_id`\u003c/span\u003e.\n","type":"string"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserGroupListTimeouts:getOrganizationUserGroupListTimeouts"},"userGroups":{"description":"User Groups.\n","items":{"$ref":"#/types/aiven:index/getOrganizationUserGroupListUserGroup:getOrganizationUserGroupListUserGroup"},"type":"array"}},"required":["id","organizationId"],"type":"object"}},"aiven:index/getOrganizationUserGroupMemberList:getOrganizationUserGroupMemberList":{"description":"List members of a user group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst foo = aiven.getOrganizationUserGroupMemberList({\n    organizationId: organizationId,\n    userGroupId: userGroupId,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nfoo = aiven.get_organization_user_group_member_list(organization_id=organization_id,\n    user_group_id=user_group_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var foo = Aiven.GetOrganizationUserGroupMemberList.Invoke(new()\n    {\n        OrganizationId = organizationId,\n        UserGroupId = userGroupId,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.GetOrganizationUserGroupMemberList(ctx, \u0026aiven.GetOrganizationUserGroupMemberListArgs{\n\t\t\tOrganizationId: organizationId,\n\t\t\tUserGroupId:    userGroupId,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationUserGroupMemberListArgs;\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 foo = AivenFunctions.getOrganizationUserGroupMemberList(GetOrganizationUserGroupMemberListArgs.builder()\n            .organizationId(organizationId)\n            .userGroupId(userGroupId)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  foo:\n    fn::invoke:\n      function: aiven:getOrganizationUserGroupMemberList\n      arguments:\n        organizationId: ${organizationId}\n        userGroupId: ${userGroupId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganizationUserGroupMemberList.\n","properties":{"members":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationUserGroupMemberListMember:getOrganizationUserGroupMemberListMember"},"description":"User group members.\n"},"organizationId":{"type":"string","description":"ID of an organization.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserGroupMemberListTimeouts:getOrganizationUserGroupMemberListTimeouts"},"userGroupId":{"type":"string","description":"ID of the user group.\n"}},"type":"object","required":["organizationId","userGroupId"]},"outputs":{"description":"A collection of values returned by getOrganizationUserGroupMemberList.\n","properties":{"id":{"description":"Resource ID composed as: `organization_id/user_group_id`.\n","type":"string"},"members":{"description":"User group members.\n","items":{"$ref":"#/types/aiven:index/getOrganizationUserGroupMemberListMember:getOrganizationUserGroupMemberListMember"},"type":"array"},"organizationId":{"description":"ID of an organization.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserGroupMemberListTimeouts:getOrganizationUserGroupMemberListTimeouts"},"userGroupId":{"description":"ID of the user group.\n","type":"string"}},"required":["id","organizationId","userGroupId"],"type":"object"}},"aiven:index/getOrganizationUserList:getOrganizationUserList":{"description":"Returns a list of [users in the organization](https://aiven.io/docs/platform/concepts/user-access-management), their profile details, and other data . This includes users you add to your organization and application users.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst users = aiven.getOrganizationUserList({\n    name: \"Example organization\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nusers = aiven.get_organization_user_list(name=\"Example organization\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var users = Aiven.GetOrganizationUserList.Invoke(new()\n    {\n        Name = \"Example organization\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.GetOrganizationUserList(ctx, \u0026aiven.GetOrganizationUserListArgs{\n\t\t\tName: pulumi.StringRef(\"Example organization\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationUserListArgs;\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 users = AivenFunctions.getOrganizationUserList(GetOrganizationUserListArgs.builder()\n            .name(\"Example organization\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  users:\n    fn::invoke:\n      function: aiven:getOrganizationUserList\n      arguments:\n        name: Example organization\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganizationUserList.\n","properties":{"id":{"type":"string","description":"ID of an organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserListTimeouts:getOrganizationUserListTimeouts"},"users":{"type":"array","items":{"$ref":"#/types/aiven:index/getOrganizationUserListUser:getOrganizationUserListUser"},"description":"List of users of the organization.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getOrganizationUserList.\n","properties":{"id":{"description":"ID of an organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"name":{"description":"The name of the organization. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationUserListTimeouts:getOrganizationUserListTimeouts"},"users":{"description":"List of users of the organization.\n","items":{"$ref":"#/types/aiven:index/getOrganizationUserListUser:getOrganizationUserListUser"},"type":"array"}},"required":["id","name"],"type":"object"}},"aiven:index/getOrganizationVpc:getOrganizationVpc":{"description":"Gets information about an existing VPC in an Aiven organization.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n","inputs":{"description":"A collection of arguments for invoking getOrganizationVpc.\n","properties":{"organizationId":{"type":"string","description":"The ID of the organization.\n"},"organizationVpcId":{"type":"string","description":"The ID of the Aiven Organization VPC.\n"}},"type":"object","required":["organizationId","organizationVpcId"]},"outputs":{"description":"A collection of values returned by getOrganizationVpc.\n","properties":{"cloudName":{"description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.\n","type":"string"},"createTime":{"description":"Time of creation of the VPC.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"networkCidr":{"description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","type":"string"},"organizationId":{"description":"The ID of the organization.\n","type":"string"},"organizationVpcId":{"description":"The ID of the Aiven Organization VPC.\n","type":"string"},"state":{"description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n","type":"string"},"updateTime":{"description":"Time of the last update of the VPC.\n","type":"string"}},"required":["cloudName","createTime","networkCidr","organizationId","organizationVpcId","state","updateTime","id"],"type":"object"}},"aiven:index/getOrganizationalUnit:getOrganizationalUnit":{"description":"Gets information about an organizational unit.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUnit = aiven.getOrganizationalUnit({\n    name: \"Example organizational unit\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_unit = aiven.get_organizational_unit(name=\"Example organizational unit\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUnit = Aiven.GetOrganizationalUnit.Invoke(new()\n    {\n        Name = \"Example organizational unit\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupOrganizationalUnit(ctx, \u0026aiven.LookupOrganizationalUnitArgs{\n\t\t\tName: pulumi.StringRef(\"Example organizational unit\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetOrganizationalUnitArgs;\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 exampleUnit = AivenFunctions.getOrganizationalUnit(GetOrganizationalUnitArgs.builder()\n            .name(\"Example organizational unit\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUnit:\n    fn::invoke:\n      function: aiven:getOrganizationalUnit\n      arguments:\n        name: Example organizational unit\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganizationalUnit.\n","properties":{"id":{"type":"string","description":"The ID of this resource. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"The name of the organizational unit. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationalUnitTimeouts:getOrganizationalUnitTimeouts"}},"type":"object"},"outputs":{"description":"A collection of values returned by getOrganizationalUnit.\n","properties":{"createTime":{"description":"Timestamp in ISO 8601 format, always in UTC.\n","type":"string"},"id":{"description":"The ID of this resource. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"name":{"description":"The name of the organizational unit. Exactly one of the fields must be specified: \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n","type":"string"},"parentId":{"description":"The ID of the organization that the unit is created in.\n","type":"string"},"tenantId":{"description":"Tenant identifier.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getOrganizationalUnitTimeouts:getOrganizationalUnitTimeouts"},"updateTime":{"description":"Timestamp in ISO 8601 format, always in UTC.\n","type":"string"}},"required":["createTime","id","name","parentId","tenantId","updateTime"],"type":"object"}},"aiven:index/getPg:getPg":{"description":"Gets information about an Aiven for PostgreSQL® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst examplePostgres = aiven.getPg({\n    project: exampleProject.project,\n    serviceName: \"example-postgres-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_postgres = aiven.get_pg(project=example_project[\"project\"],\n    service_name=\"example-postgres-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var examplePostgres = Aiven.GetPg.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-postgres-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupPg(ctx, \u0026aiven.LookupPgArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-postgres-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetPgArgs;\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 examplePostgres = AivenFunctions.getPg(GetPgArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-postgres-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  examplePostgres:\n    fn::invoke:\n      function: aiven:getPg\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-postgres-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPg.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getPg.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getPgComponent:getPgComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"pgUserConfigs":{"description":"Pg user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getPgPgUserConfig:getPgPgUserConfig"},"type":"array"},"pgs":{"description":"Values provided by the PostgreSQL server.\n","items":{"$ref":"#/types/aiven:index/getPgPg:getPgPg"},"secret":true,"type":"array"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getPgServiceIntegration:getPgServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getPgTag:getPgTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getPgTechEmail:getPgTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","pgs","pgUserConfigs","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getPgDatabase:getPgDatabase":{"description":"Gets information about an Aiven for PostgreSQL® database.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst main = aiven.getPgDatabase({\n    project: exampleProject.project,\n    serviceName: examplePostgres.serviceName,\n    databaseName: \"example-database\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmain = aiven.get_pg_database(project=example_project[\"project\"],\n    service_name=example_postgres[\"serviceName\"],\n    database_name=\"example-database\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var main = Aiven.GetPgDatabase.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = examplePostgres.ServiceName,\n        DatabaseName = \"example-database\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupPgDatabase(ctx, \u0026aiven.LookupPgDatabaseArgs{\n\t\t\tProject:      exampleProject.Project,\n\t\t\tServiceName:  examplePostgres.ServiceName,\n\t\t\tDatabaseName: \"example-database\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetPgDatabaseArgs;\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 main = AivenFunctions.getPgDatabase(GetPgDatabaseArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(examplePostgres.serviceName())\n            .databaseName(\"example-database\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  main:\n    fn::invoke:\n      function: aiven:getPgDatabase\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: ${examplePostgres.serviceName}\n        databaseName: example-database\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPgDatabase.\n","properties":{"databaseName":{"type":"string","description":"Service database name.\n"},"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"Service name.\n"},"timeouts":{"$ref":"#/types/aiven:index/getPgDatabaseTimeouts:getPgDatabaseTimeouts"}},"type":"object","required":["databaseName","project","serviceName"]},"outputs":{"description":"A collection of values returned by getPgDatabase.\n","properties":{"databaseName":{"description":"Service database name.\n","type":"string"},"id":{"description":"Resource ID composed as: `project/service_name/database_name`.\n","type":"string"},"lcCollate":{"description":"Default string sort order (`LC_COLLATE`) of the database. The default value is `en_US.UTF-8`.\n","type":"string"},"lcCtype":{"description":"Default character classification (`LC_CTYPE`) of the database. The default value is `en_US.UTF-8`.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"Service name.\n","type":"string"},"terminationProtection":{"deprecationMessage":"Instead, use [\u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e](https://developer.hashicorp.com/terraform/tutorials/state/resource-lifecycle#prevent-resource-deletion)","description":"Client-side deletion protection that prevents the resource from being deleted by Terraform. **Resource can still be deleted in the Aiven Console**. The default value is \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e. **Deprecated**: Instead, use \u003cspan pulumi-lang-nodejs=\"`preventDestroy`\" pulumi-lang-dotnet=\"`PreventDestroy`\" pulumi-lang-go=\"`preventDestroy`\" pulumi-lang-python=\"`prevent_destroy`\" pulumi-lang-yaml=\"`preventDestroy`\" pulumi-lang-java=\"`preventDestroy`\"\u003e`prevent_destroy`\u003c/span\u003e\n","type":"boolean"},"timeouts":{"$ref":"#/types/aiven:index/getPgDatabaseTimeouts:getPgDatabaseTimeouts"}},"required":["databaseName","id","lcCollate","lcCtype","project","serviceName","terminationProtection"],"type":"object"}},"aiven:index/getPgUser:getPgUser":{"description":"Gets information about an Aiven for PostgreSQL® service user.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleUser = aiven.getPgUser({\n    serviceName: examplePostgres.serviceName,\n    project: exampleProject.project,\n    username: \"example-service-user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_user = aiven.get_pg_user(service_name=example_postgres[\"serviceName\"],\n    project=example_project[\"project\"],\n    username=\"example-service-user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = Aiven.GetPgUser.Invoke(new()\n    {\n        ServiceName = examplePostgres.ServiceName,\n        Project = exampleProject.Project,\n        Username = \"example-service-user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupPgUser(ctx, \u0026aiven.LookupPgUserArgs{\n\t\t\tServiceName: examplePostgres.ServiceName,\n\t\t\tProject:     exampleProject.Project,\n\t\t\tUsername:    \"example-service-user\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetPgUserArgs;\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 exampleUser = AivenFunctions.getPgUser(GetPgUserArgs.builder()\n            .serviceName(examplePostgres.serviceName())\n            .project(exampleProject.project())\n            .username(\"example-service-user\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleUser:\n    fn::invoke:\n      function: aiven:getPgUser\n      arguments:\n        serviceName: ${examplePostgres.serviceName}\n        project: ${exampleProject.project}\n        username: example-service-user\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPgUser.\n","properties":{"project":{"type":"string","description":"Project name.\n"},"serviceName":{"type":"string","description":"The name of the service.\n"},"timeouts":{"$ref":"#/types/aiven:index/getPgUserTimeouts:getPgUserTimeouts"},"username":{"type":"string","description":"The name of the service user for this service.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getPgUser.\n","properties":{"accessCert":{"description":"Access certificate for TLS client authentication.\n","secret":true,"type":"string"},"accessKey":{"description":"Access key for TLS client authentication.\n","secret":true,"type":"string"},"id":{"description":"Resource ID composed as: `project/service_name/username`.\n","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). The field conflicts with \u003cspan pulumi-lang-nodejs=\"`passwordWo`\" pulumi-lang-dotnet=\"`PasswordWo`\" pulumi-lang-go=\"`passwordWo`\" pulumi-lang-python=\"`password_wo`\" pulumi-lang-yaml=\"`passwordWo`\" pulumi-lang-java=\"`passwordWo`\"\u003e`password_wo`\u003c/span\u003e.\n","secret":true,"type":"string"},"pgAllowReplication":{"description":"Allows replication. For the default avnadmin user this attribute is required and is always \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","type":"boolean"},"project":{"description":"Project name.\n","type":"string"},"serviceName":{"description":"The name of the service.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getPgUserTimeouts:getPgUserTimeouts"},"type":{"description":"The service user account type, either primary or regular.\n","type":"string"},"username":{"description":"The name of the service user for this service.\n","type":"string"}},"required":["accessCert","accessKey","id","password","pgAllowReplication","project","serviceName","type","username"],"type":"object"}},"aiven:index/getProject:getProject":{"description":"Gets information about an Aiven project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleProject = aiven.getProject({\n    project: \"example-project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_project = aiven.get_project(project=\"example-project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleProject = Aiven.GetProject.Invoke(new()\n    {\n        Project = \"example-project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupProject(ctx, \u0026aiven.LookupProjectArgs{\n\t\t\tProject: \"example-project\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetProjectArgs;\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 exampleProject = AivenFunctions.getProject(GetProjectArgs.builder()\n            .project(\"example-project\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleProject:\n    fn::invoke:\n      function: aiven:getProject\n      arguments:\n        project: example-project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"project":{"type":"string","description":"The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources.\n"}},"type":"object","required":["project"]},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"accountId":{"description":"Link a project to an existing account using its account ID. This field is deprecated. Use \u003cspan pulumi-lang-nodejs=\"`parentId`\" pulumi-lang-dotnet=\"`ParentId`\" pulumi-lang-go=\"`parentId`\" pulumi-lang-python=\"`parent_id`\" pulumi-lang-yaml=\"`parentId`\" pulumi-lang-java=\"`parentId`\"\u003e`parent_id`\u003c/span\u003e instead. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"addAccountOwnersAdminAccess":{"description":"If\u003cspan pulumi-lang-nodejs=\" parentId \" pulumi-lang-dotnet=\" ParentId \" pulumi-lang-go=\" parentId \" pulumi-lang-python=\" parent_id \" pulumi-lang-yaml=\" parentId \" pulumi-lang-java=\" parentId \"\u003e parent_id \u003c/span\u003eis set, grant account owner team admin access to the new project. The default value is \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e.\n","type":"boolean"},"availableCredits":{"description":"The number of trial or promotional credits remaining for this project.\n","type":"string"},"billingGroup":{"description":"The ID of the billing group this project is assigned to. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"caCert":{"description":"The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka.\n","secret":true,"type":"string"},"copyFromProject":{"description":"The name of the project to copy billing information, technical contacts, and some other project attributes from. This is most useful to set up the same billing method when you use bank transfers to pay invoices for other projects. You can only do this when creating a project. You can't set the billing over the API for an existing. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"defaultCloud":{"description":"Default cloud provider and region where services are hosted. This can be changed after the project is created and will not affect existing services.\n","type":"string"},"estimatedBalance":{"description":"The monthly running estimate for this project for the current billing period.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"parentId":{"description":"Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.\n","type":"string"},"paymentMethod":{"description":"The payment type used for this project. For example,\u003cspan pulumi-lang-nodejs=\"`card`\" pulumi-lang-dotnet=\"`Card`\" pulumi-lang-go=\"`card`\" pulumi-lang-python=\"`card`\" pulumi-lang-yaml=\"`card`\" pulumi-lang-java=\"`card`\"\u003e`card`\u003c/span\u003e.\n","type":"string"},"project":{"description":"The name of the project. Names must be globally unique among all Aiven customers and cannot be changed later without destroying and re-creating the project, including all sub-resources.\n","type":"string"},"tags":{"description":"Tags are key-value pairs that allow you to categorize projects.\n","items":{"$ref":"#/types/aiven:index/getProjectTag:getProjectTag"},"type":"array"},"technicalEmails":{"description":"The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.\n","items":{"type":"string"},"type":"array"},"useSourceProjectBillingGroup":{"description":"Use the same billing group that is used in source project.\n","type":"boolean"}},"required":["accountId","addAccountOwnersAdminAccess","availableCredits","billingGroup","caCert","copyFromProject","defaultCloud","estimatedBalance","parentId","paymentMethod","project","tags","technicalEmails","useSourceProjectBillingGroup","id"],"type":"object"}},"aiven:index/getProjectUser:getProjectUser":{"description":"The Project User data source provides information about the existing Aiven Project User.\n\n\u003e **This resource is deprecated**\nUse \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e instead and\nmigrate existing \u003cspan pulumi-lang-nodejs=\"`aiven.ProjectUser`\" pulumi-lang-dotnet=\"`aiven.ProjectUser`\" pulumi-lang-go=\"`ProjectUser`\" pulumi-lang-python=\"`ProjectUser`\" pulumi-lang-yaml=\"`aiven.ProjectUser`\" pulumi-lang-java=\"`aiven.ProjectUser`\"\u003e`aiven.ProjectUser`\u003c/span\u003e resources\nto the new resource. **Do not use the \u003cspan pulumi-lang-nodejs=\"`aiven.ProjectUser`\" pulumi-lang-dotnet=\"`aiven.ProjectUser`\" pulumi-lang-go=\"`ProjectUser`\" pulumi-lang-python=\"`ProjectUser`\" pulumi-lang-yaml=\"`aiven.ProjectUser`\" pulumi-lang-java=\"`aiven.ProjectUser`\"\u003e`aiven.ProjectUser`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`aiven.OrganizationPermission`\" pulumi-lang-dotnet=\"`aiven.OrganizationPermission`\" pulumi-lang-go=\"`OrganizationPermission`\" pulumi-lang-python=\"`OrganizationPermission`\" pulumi-lang-yaml=\"`aiven.OrganizationPermission`\" pulumi-lang-java=\"`aiven.OrganizationPermission`\"\u003e`aiven.OrganizationPermission`\u003c/span\u003e resources together**.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst mytestuser = aiven.getProjectUser({\n    project: myproject.project,\n    email: \"john.doe@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nmytestuser = aiven.get_project_user(project=myproject[\"project\"],\n    email=\"john.doe@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var mytestuser = Aiven.GetProjectUser.Invoke(new()\n    {\n        Project = myproject.Project,\n        Email = \"john.doe@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupProjectUser(ctx, \u0026aiven.LookupProjectUserArgs{\n\t\t\tProject: myproject.Project,\n\t\t\tEmail:   \"john.doe@example.com\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetProjectUserArgs;\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 mytestuser = AivenFunctions.getProjectUser(GetProjectUserArgs.builder()\n            .project(myproject.project())\n            .email(\"john.doe@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  mytestuser:\n    fn::invoke:\n      function: aiven:getProjectUser\n      arguments:\n        project: ${myproject.project}\n        email: john.doe@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProjectUser.\n","properties":{"email":{"type":"string","description":"Email address of the user in lowercase. Changing this property forces recreation of the resource.\n"},"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["email","project"]},"outputs":{"description":"A collection of values returned by getProjectUser.\n","properties":{"accepted":{"description":"Whether the user has accepted the request to join the project. Users get an invite and become project members after accepting the invite.\n","type":"boolean"},"email":{"description":"Email address of the user in lowercase. Changing this property forces recreation of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"memberType":{"description":"Project membership type. The possible values are \u003cspan pulumi-lang-nodejs=\"`admin`\" pulumi-lang-dotnet=\"`Admin`\" pulumi-lang-go=\"`admin`\" pulumi-lang-python=\"`admin`\" pulumi-lang-yaml=\"`admin`\" pulumi-lang-java=\"`admin`\"\u003e`admin`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`developer`\" pulumi-lang-dotnet=\"`Developer`\" pulumi-lang-go=\"`developer`\" pulumi-lang-python=\"`developer`\" pulumi-lang-yaml=\"`developer`\" pulumi-lang-java=\"`developer`\"\u003e`developer`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\"\u003e`operator`\u003c/span\u003e, `organization:app_users:write`, `organization:audit_logs:read`, `organization:billing:read`, `organization:billing:write`, `organization:domains:write`, `organization:groups:write`, `organization:networking:read`, `organization:networking:write`, `organization:projects:write`, `organization:users:write`, `project:audit_logs:read`, `project:integrations:read`, `project:integrations:write`, `project:networking:read`, `project:networking:write`, `project:permissions:read`, `project:services:read`, `project:services:write`, \u003cspan pulumi-lang-nodejs=\"`readOnly`\" pulumi-lang-dotnet=\"`ReadOnly`\" pulumi-lang-go=\"`readOnly`\" pulumi-lang-python=\"`read_only`\" pulumi-lang-yaml=\"`readOnly`\" pulumi-lang-java=\"`readOnly`\"\u003e`read_only`\u003c/span\u003e, `role:organization:admin`, `role:project:admin`, `role:services:maintenance`, `role:services:recover`, `service:configuration:write`, `service:data:write`, `service:logs:read`, `service:secrets:read` and `service:users:write`.\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["accepted","email","memberType","project","id"],"type":"object"}},"aiven:index/getProjectVpc:getProjectVpc":{"description":"Gets information about the VPC for an Aiven project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleVpc = aiven.getProjectVpc({\n    project: exampleProject.project,\n    cloudName: \"google-europe-west1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_vpc = aiven.get_project_vpc(project=example_project[\"project\"],\n    cloud_name=\"google-europe-west1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleVpc = Aiven.GetProjectVpc.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        CloudName = \"google-europe-west1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupProjectVpc(ctx, \u0026aiven.LookupProjectVpcArgs{\n\t\t\tProject:   pulumi.StringRef(exampleProject.Project),\n\t\t\tCloudName: pulumi.StringRef(\"google-europe-west1\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetProjectVpcArgs;\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 exampleVpc = AivenFunctions.getProjectVpc(GetProjectVpcArgs.builder()\n            .project(exampleProject.project())\n            .cloudName(\"google-europe-west1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleVpc:\n    fn::invoke:\n      function: aiven:getProjectVpc\n      arguments:\n        project: ${exampleProject.project}\n        cloudName: google-europe-west1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProjectVpc.\n","properties":{"cloudName":{"type":"string","description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`.\n"},"project":{"type":"string","description":"Identifies the project this resource belongs to.\n"},"vpcId":{"type":"string","description":"The ID of the VPC. This can be used to filter out the other VPCs if there are more than one for the project and cloud.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getProjectVpc.\n","properties":{"cloudName":{"description":"The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"networkCidr":{"description":"Network address range used by the VPC. For example, `192.168.0.0/24`.\n","type":"string"},"project":{"description":"Identifies the project this resource belongs to.\n","type":"string"},"state":{"description":"State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.\n","type":"string"},"vpcId":{"description":"The ID of the VPC. This can be used to filter out the other VPCs if there are more than one for the project and cloud.\n","type":"string"}},"required":["networkCidr","state","id"],"type":"object"}},"aiven:index/getRedis:getRedis":{"inputs":{"description":"A collection of arguments for invoking getRedis.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getRedis.\n","properties":{"additionalDiskSpace":{"type":"string"},"cloudName":{"type":"string"},"components":{"items":{"$ref":"#/types/aiven:index/getRedisComponent:getRedisComponent"},"type":"array"},"diskSpace":{"type":"string"},"diskSpaceCap":{"type":"string"},"diskSpaceDefault":{"type":"string"},"diskSpaceStep":{"type":"string"},"diskSpaceUsed":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"type":"string"},"maintenanceWindowEnabled":{"type":"boolean"},"maintenanceWindowTime":{"type":"string"},"plan":{"type":"string"},"project":{"type":"string"},"projectVpcId":{"type":"string"},"redis":{"items":{"$ref":"#/types/aiven:index/getRedisRedi:getRedisRedi"},"secret":true,"type":"array"},"redisUserConfigs":{"items":{"$ref":"#/types/aiven:index/getRedisRedisUserConfig:getRedisRedisUserConfig"},"type":"array"},"serviceHost":{"type":"string"},"serviceIntegrations":{"items":{"$ref":"#/types/aiven:index/getRedisServiceIntegration:getRedisServiceIntegration"},"type":"array"},"serviceName":{"type":"string"},"servicePassword":{"secret":true,"type":"string"},"servicePort":{"type":"integer"},"serviceType":{"type":"string"},"serviceUri":{"secret":true,"type":"string"},"serviceUsername":{"type":"string"},"state":{"type":"string"},"staticIps":{"items":{"type":"string"},"type":"array"},"tags":{"items":{"$ref":"#/types/aiven:index/getRedisTag:getRedisTag"},"type":"array"},"techEmails":{"items":{"$ref":"#/types/aiven:index/getRedisTechEmail:getRedisTechEmail"},"type":"array"},"terminationProtection":{"type":"boolean"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","redis","redisUserConfigs","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","id"],"type":"object"}},"aiven:index/getRedisUser:getRedisUser":{"inputs":{"description":"A collection of arguments for invoking getRedisUser.\n","properties":{"project":{"type":"string"},"serviceName":{"type":"string"},"username":{"type":"string"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getRedisUser.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"secret":true,"type":"string"},"project":{"type":"string"},"redisAclCategories":{"items":{"type":"string"},"type":"array"},"redisAclChannels":{"items":{"type":"string"},"type":"array"},"redisAclCommands":{"items":{"type":"string"},"type":"array"},"redisAclKeys":{"items":{"type":"string"},"type":"array"},"serviceName":{"type":"string"},"type":{"type":"string"},"username":{"type":"string"}},"required":["password","project","redisAclCategories","redisAclChannels","redisAclCommands","redisAclKeys","serviceName","type","username","id"],"type":"object"}},"aiven:index/getServiceComponent:getServiceComponent":{"description":"The Service Component data source provides information about the existing Aiven service Component.\n\nService components can be defined to get the connection info for specific service. Services may support multiple different access routes (VPC peering and public access), have additional components or support various authentication methods. Each of these may be represented by different DNS name or TCP port and the specific component to match can be selected by specifying appropriate filters as shown below.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst sc1 = aiven.getServiceComponent({\n    project: project1.project,\n    serviceName: service1.serviceName,\n    component: \"kafka\",\n    route: \"dynamic\",\n    kafkaAuthenticationMethod: \"certificate\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nsc1 = aiven.get_service_component(project=project1[\"project\"],\n    service_name=service1[\"serviceName\"],\n    component=\"kafka\",\n    route=\"dynamic\",\n    kafka_authentication_method=\"certificate\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var sc1 = Aiven.GetServiceComponent.Invoke(new()\n    {\n        Project = project1.Project,\n        ServiceName = service1.ServiceName,\n        Component = \"kafka\",\n        Route = \"dynamic\",\n        KafkaAuthenticationMethod = \"certificate\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.GetServiceComponent(ctx, \u0026aiven.GetServiceComponentArgs{\n\t\t\tProject:                   project1.Project,\n\t\t\tServiceName:               pulumi.StringRef(service1.ServiceName),\n\t\t\tComponent:                 \"kafka\",\n\t\t\tRoute:                     pulumi.StringRef(\"dynamic\"),\n\t\t\tKafkaAuthenticationMethod: pulumi.StringRef(\"certificate\"),\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetServiceComponentArgs;\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 sc1 = AivenFunctions.getServiceComponent(GetServiceComponentArgs.builder()\n            .project(project1.project())\n            .serviceName(service1.serviceName())\n            .component(\"kafka\")\n            .route(\"dynamic\")\n            .kafkaAuthenticationMethod(\"certificate\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  sc1:\n    fn::invoke:\n      function: aiven:getServiceComponent\n      arguments:\n        project: ${project1.project}\n        serviceName: ${service1.serviceName}\n        component: kafka\n        route: dynamic\n        kafkaAuthenticationMethod: certificate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceComponent.\n","properties":{"component":{"type":"string","description":"Service component name\n"},"kafkaAuthenticationMethod":{"type":"string","description":"Kafka authentication method. This is a value specific to the 'kafka' service component. The possible values are \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasl`\" pulumi-lang-dotnet=\"`Sasl`\" pulumi-lang-go=\"`sasl`\" pulumi-lang-python=\"`sasl`\" pulumi-lang-yaml=\"`sasl`\" pulumi-lang-java=\"`sasl`\"\u003e`sasl`\u003c/span\u003e.\n"},"kafkaSslCa":{"type":"string","description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n"},"privatelinkConnectionId":{"type":"string","description":"Privatelink connection ID\n"},"project":{"type":"string","description":"Project name\n"},"route":{"type":"string","description":"Network access route. The possible values are \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privatelink`\" pulumi-lang-dotnet=\"`Privatelink`\" pulumi-lang-go=\"`privatelink`\" pulumi-lang-python=\"`privatelink`\" pulumi-lang-yaml=\"`privatelink`\" pulumi-lang-java=\"`privatelink`\"\u003e`privatelink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\n"},"serviceName":{"type":"string","description":"Service name\n"},"ssl":{"type":"boolean","description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components that may disable encryption\n"},"usage":{"type":"string","description":"DNS usage name. The possible values are \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`haReplica`\" pulumi-lang-dotnet=\"`HaReplica`\" pulumi-lang-go=\"`haReplica`\" pulumi-lang-python=\"`ha_replica`\" pulumi-lang-yaml=\"`haReplica`\" pulumi-lang-java=\"`haReplica`\"\u003e`ha_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e.\n"}},"type":"object","required":["component","project"]},"outputs":{"description":"A collection of values returned by getServiceComponent.\n","properties":{"component":{"description":"Service component name\n","type":"string"},"host":{"description":"DNS name for connecting to the service component\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"kafkaAuthenticationMethod":{"description":"Kafka authentication method. This is a value specific to the 'kafka' service component. The possible values are \u003cspan pulumi-lang-nodejs=\"`certificate`\" pulumi-lang-dotnet=\"`Certificate`\" pulumi-lang-go=\"`certificate`\" pulumi-lang-python=\"`certificate`\" pulumi-lang-yaml=\"`certificate`\" pulumi-lang-java=\"`certificate`\"\u003e`certificate`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`sasl`\" pulumi-lang-dotnet=\"`Sasl`\" pulumi-lang-go=\"`sasl`\" pulumi-lang-python=\"`sasl`\" pulumi-lang-yaml=\"`sasl`\" pulumi-lang-java=\"`sasl`\"\u003e`sasl`\u003c/span\u003e.\n","type":"string"},"kafkaSslCa":{"description":"Kafka certificate used. The possible values are \u003cspan pulumi-lang-nodejs=\"`letsencrypt`\" pulumi-lang-dotnet=\"`Letsencrypt`\" pulumi-lang-go=\"`letsencrypt`\" pulumi-lang-python=\"`letsencrypt`\" pulumi-lang-yaml=\"`letsencrypt`\" pulumi-lang-java=\"`letsencrypt`\"\u003e`letsencrypt`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`projectCa`\" pulumi-lang-dotnet=\"`ProjectCa`\" pulumi-lang-go=\"`projectCa`\" pulumi-lang-python=\"`project_ca`\" pulumi-lang-yaml=\"`projectCa`\" pulumi-lang-java=\"`projectCa`\"\u003e`project_ca`\u003c/span\u003e.\n","type":"string"},"port":{"description":"Port number for connecting to the service component\n","type":"integer"},"privatelinkConnectionId":{"description":"Privatelink connection ID\n","type":"string"},"project":{"description":"Project name\n","type":"string"},"route":{"description":"Network access route. The possible values are \u003cspan pulumi-lang-nodejs=\"`dynamic`\" pulumi-lang-dotnet=\"`Dynamic`\" pulumi-lang-go=\"`dynamic`\" pulumi-lang-python=\"`dynamic`\" pulumi-lang-yaml=\"`dynamic`\" pulumi-lang-java=\"`dynamic`\"\u003e`dynamic`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`private`\" pulumi-lang-dotnet=\"`Private`\" pulumi-lang-go=\"`private`\" pulumi-lang-python=\"`private`\" pulumi-lang-yaml=\"`private`\" pulumi-lang-java=\"`private`\"\u003e`private`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`privatelink`\" pulumi-lang-dotnet=\"`Privatelink`\" pulumi-lang-go=\"`privatelink`\" pulumi-lang-python=\"`privatelink`\" pulumi-lang-yaml=\"`privatelink`\" pulumi-lang-java=\"`privatelink`\"\u003e`privatelink`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`public`\" pulumi-lang-dotnet=\"`Public`\" pulumi-lang-go=\"`public`\" pulumi-lang-python=\"`public`\" pulumi-lang-yaml=\"`public`\" pulumi-lang-java=\"`public`\"\u003e`public`\u003c/span\u003e.\n","type":"string"},"serviceName":{"description":"Service name\n","type":"string"},"ssl":{"description":"Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted and this property is only included for service components that may disable encryption\n","type":"boolean"},"usage":{"description":"DNS usage name. The possible values are \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`haReplica`\" pulumi-lang-dotnet=\"`HaReplica`\" pulumi-lang-go=\"`haReplica`\" pulumi-lang-python=\"`ha_replica`\" pulumi-lang-yaml=\"`haReplica`\" pulumi-lang-java=\"`haReplica`\"\u003e`ha_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`primary`\" pulumi-lang-dotnet=\"`Primary`\" pulumi-lang-go=\"`primary`\" pulumi-lang-python=\"`primary`\" pulumi-lang-yaml=\"`primary`\" pulumi-lang-java=\"`primary`\"\u003e`primary`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`replica`\" pulumi-lang-dotnet=\"`Replica`\" pulumi-lang-go=\"`replica`\" pulumi-lang-python=\"`replica`\" pulumi-lang-yaml=\"`replica`\" pulumi-lang-java=\"`replica`\"\u003e`replica`\u003c/span\u003e.\n","type":"string"}},"required":["component","host","kafkaSslCa","port","privatelinkConnectionId","project","id"],"type":"object"}},"aiven:index/getServiceIntegration:getServiceIntegration":{"description":"Gets information about an Aiven service integration.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleIntegration = aiven.getServiceIntegration({\n    project: exampleProject.project,\n    destinationServiceName: exampleThanos.serviceName,\n    integrationType: \"metrics\",\n    sourceServiceName: exampleKafka.serviceName,\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_integration = aiven.get_service_integration(project=example_project[\"project\"],\n    destination_service_name=example_thanos[\"serviceName\"],\n    integration_type=\"metrics\",\n    source_service_name=example_kafka[\"serviceName\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleIntegration = Aiven.GetServiceIntegration.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        DestinationServiceName = exampleThanos.ServiceName,\n        IntegrationType = \"metrics\",\n        SourceServiceName = exampleKafka.ServiceName,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupServiceIntegration(ctx, \u0026aiven.LookupServiceIntegrationArgs{\n\t\t\tProject:                exampleProject.Project,\n\t\t\tDestinationServiceName: exampleThanos.ServiceName,\n\t\t\tIntegrationType:        \"metrics\",\n\t\t\tSourceServiceName:      exampleKafka.ServiceName,\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetServiceIntegrationArgs;\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 exampleIntegration = AivenFunctions.getServiceIntegration(GetServiceIntegrationArgs.builder()\n            .project(exampleProject.project())\n            .destinationServiceName(exampleThanos.serviceName())\n            .integrationType(\"metrics\")\n            .sourceServiceName(exampleKafka.serviceName())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleIntegration:\n    fn::invoke:\n      function: aiven:getServiceIntegration\n      arguments:\n        project: ${exampleProject.project}\n        destinationServiceName: ${exampleThanos.serviceName}\n        integrationType: metrics\n        sourceServiceName: ${exampleKafka.serviceName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceIntegration.\n","properties":{"destinationServiceName":{"type":"string","description":"Destination service for the integration.\n"},"integrationType":{"type":"string","description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`alertmanager`\" pulumi-lang-dotnet=\"`Alertmanager`\" pulumi-lang-go=\"`alertmanager`\" pulumi-lang-python=\"`alertmanager`\" pulumi-lang-yaml=\"`alertmanager`\" pulumi-lang-java=\"`alertmanager`\"\u003e`alertmanager`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cassandraCrossServiceCluster`\" pulumi-lang-dotnet=\"`CassandraCrossServiceCluster`\" pulumi-lang-go=\"`cassandraCrossServiceCluster`\" pulumi-lang-python=\"`cassandra_cross_service_cluster`\" pulumi-lang-yaml=\"`cassandraCrossServiceCluster`\" pulumi-lang-java=\"`cassandraCrossServiceCluster`\"\u003e`cassandra_cross_service_cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseCredentials`\" pulumi-lang-dotnet=\"`ClickhouseCredentials`\" pulumi-lang-go=\"`clickhouseCredentials`\" pulumi-lang-python=\"`clickhouse_credentials`\" pulumi-lang-yaml=\"`clickhouseCredentials`\" pulumi-lang-java=\"`clickhouseCredentials`\"\u003e`clickhouse_credentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseKafka`\" pulumi-lang-dotnet=\"`ClickhouseKafka`\" pulumi-lang-go=\"`clickhouseKafka`\" pulumi-lang-python=\"`clickhouse_kafka`\" pulumi-lang-yaml=\"`clickhouseKafka`\" pulumi-lang-java=\"`clickhouseKafka`\"\u003e`clickhouse_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhousePostgresql`\" pulumi-lang-dotnet=\"`ClickhousePostgresql`\" pulumi-lang-go=\"`clickhousePostgresql`\" pulumi-lang-python=\"`clickhouse_postgresql`\" pulumi-lang-yaml=\"`clickhousePostgresql`\" pulumi-lang-java=\"`clickhousePostgresql`\"\u003e`clickhouse_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dashboard`\" pulumi-lang-dotnet=\"`Dashboard`\" pulumi-lang-go=\"`dashboard`\" pulumi-lang-python=\"`dashboard`\" pulumi-lang-yaml=\"`dashboard`\" pulumi-lang-java=\"`dashboard`\"\u003e`dashboard`\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, \u003cspan pulumi-lang-nodejs=\"`datasource`\" pulumi-lang-dotnet=\"`Datasource`\" pulumi-lang-go=\"`datasource`\" pulumi-lang-python=\"`datasource`\" pulumi-lang-yaml=\"`datasource`\" pulumi-lang-java=\"`datasource`\"\u003e`datasource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flink`\" pulumi-lang-dotnet=\"`Flink`\" pulumi-lang-go=\"`flink`\" pulumi-lang-python=\"`flink`\" pulumi-lang-yaml=\"`flink`\" pulumi-lang-java=\"`flink`\"\u003e`flink`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalBigquery`\" pulumi-lang-dotnet=\"`FlinkExternalBigquery`\" pulumi-lang-go=\"`flinkExternalBigquery`\" pulumi-lang-python=\"`flink_external_bigquery`\" pulumi-lang-yaml=\"`flinkExternalBigquery`\" pulumi-lang-java=\"`flinkExternalBigquery`\"\u003e`flink_external_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalKafka`\" pulumi-lang-dotnet=\"`FlinkExternalKafka`\" pulumi-lang-go=\"`flinkExternalKafka`\" pulumi-lang-python=\"`flink_external_kafka`\" pulumi-lang-yaml=\"`flinkExternalKafka`\" pulumi-lang-java=\"`flinkExternalKafka`\"\u003e`flink_external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalPostgresql`\" pulumi-lang-dotnet=\"`FlinkExternalPostgresql`\" pulumi-lang-go=\"`flinkExternalPostgresql`\" pulumi-lang-python=\"`flink_external_postgresql`\" pulumi-lang-yaml=\"`flinkExternalPostgresql`\" pulumi-lang-java=\"`flinkExternalPostgresql`\"\u003e`flink_external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internalConnectivity`\" pulumi-lang-dotnet=\"`InternalConnectivity`\" pulumi-lang-go=\"`internalConnectivity`\" pulumi-lang-python=\"`internal_connectivity`\" pulumi-lang-yaml=\"`internalConnectivity`\" pulumi-lang-java=\"`internalConnectivity`\"\u003e`internal_connectivity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnect`\" pulumi-lang-dotnet=\"`KafkaConnect`\" pulumi-lang-go=\"`kafkaConnect`\" pulumi-lang-python=\"`kafka_connect`\" pulumi-lang-yaml=\"`kafkaConnect`\" pulumi-lang-java=\"`kafkaConnect`\"\u003e`kafka_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnectPostgresql`\" pulumi-lang-dotnet=\"`KafkaConnectPostgresql`\" pulumi-lang-go=\"`kafkaConnectPostgresql`\" pulumi-lang-python=\"`kafka_connect_postgresql`\" pulumi-lang-yaml=\"`kafkaConnectPostgresql`\" pulumi-lang-java=\"`kafkaConnectPostgresql`\"\u003e`kafka_connect_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaLogs`\" pulumi-lang-dotnet=\"`KafkaLogs`\" pulumi-lang-go=\"`kafkaLogs`\" pulumi-lang-python=\"`kafka_logs`\" pulumi-lang-yaml=\"`kafkaLogs`\" pulumi-lang-java=\"`kafkaLogs`\"\u003e`kafka_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaMirrormaker`\" pulumi-lang-dotnet=\"`KafkaMirrormaker`\" pulumi-lang-go=\"`kafkaMirrormaker`\" pulumi-lang-python=\"`kafka_mirrormaker`\" pulumi-lang-yaml=\"`kafkaMirrormaker`\" pulumi-lang-java=\"`kafkaMirrormaker`\"\u003e`kafka_mirrormaker`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3aggregator`\" pulumi-lang-dotnet=\"`M3aggregator`\" pulumi-lang-go=\"`m3aggregator`\" pulumi-lang-python=\"`m3aggregator`\" pulumi-lang-yaml=\"`m3aggregator`\" pulumi-lang-java=\"`m3aggregator`\"\u003e`m3aggregator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3coordinator`\" pulumi-lang-dotnet=\"`M3coordinator`\" pulumi-lang-go=\"`m3coordinator`\" pulumi-lang-python=\"`m3coordinator`\" pulumi-lang-yaml=\"`m3coordinator`\" pulumi-lang-java=\"`m3coordinator`\"\u003e`m3coordinator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterReplication`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterReplication`\" pulumi-lang-go=\"`opensearchCrossClusterReplication`\" pulumi-lang-python=\"`opensearch_cross_cluster_replication`\" pulumi-lang-yaml=\"`opensearchCrossClusterReplication`\" pulumi-lang-java=\"`opensearchCrossClusterReplication`\"\u003e`opensearch_cross_cluster_replication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterSearch`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterSearch`\" pulumi-lang-go=\"`opensearchCrossClusterSearch`\" pulumi-lang-python=\"`opensearch_cross_cluster_search`\" pulumi-lang-yaml=\"`opensearchCrossClusterSearch`\" pulumi-lang-java=\"`opensearchCrossClusterSearch`\"\u003e`opensearch_cross_cluster_search`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schemaRegistryProxy`\" pulumi-lang-dotnet=\"`SchemaRegistryProxy`\" pulumi-lang-go=\"`schemaRegistryProxy`\" pulumi-lang-python=\"`schema_registry_proxy`\" pulumi-lang-yaml=\"`schemaRegistryProxy`\" pulumi-lang-java=\"`schemaRegistryProxy`\"\u003e`schema_registry_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stresstester`\" pulumi-lang-dotnet=\"`Stresstester`\" pulumi-lang-go=\"`stresstester`\" pulumi-lang-python=\"`stresstester`\" pulumi-lang-yaml=\"`stresstester`\" pulumi-lang-java=\"`stresstester`\"\u003e`stresstester`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosDistributedQuery`\" pulumi-lang-dotnet=\"`ThanosDistributedQuery`\" pulumi-lang-go=\"`thanosDistributedQuery`\" pulumi-lang-python=\"`thanos_distributed_query`\" pulumi-lang-yaml=\"`thanosDistributedQuery`\" pulumi-lang-java=\"`thanosDistributedQuery`\"\u003e`thanos_distributed_query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosMigrate`\" pulumi-lang-dotnet=\"`ThanosMigrate`\" pulumi-lang-go=\"`thanosMigrate`\" pulumi-lang-python=\"`thanos_migrate`\" pulumi-lang-yaml=\"`thanosMigrate`\" pulumi-lang-java=\"`thanosMigrate`\"\u003e`thanos_migrate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanoscompactor`\" pulumi-lang-dotnet=\"`Thanoscompactor`\" pulumi-lang-go=\"`thanoscompactor`\" pulumi-lang-python=\"`thanoscompactor`\" pulumi-lang-yaml=\"`thanoscompactor`\" pulumi-lang-java=\"`thanoscompactor`\"\u003e`thanoscompactor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosquery`\" pulumi-lang-dotnet=\"`Thanosquery`\" pulumi-lang-go=\"`thanosquery`\" pulumi-lang-python=\"`thanosquery`\" pulumi-lang-yaml=\"`thanosquery`\" pulumi-lang-java=\"`thanosquery`\"\u003e`thanosquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosruler`\" pulumi-lang-dotnet=\"`Thanosruler`\" pulumi-lang-go=\"`thanosruler`\" pulumi-lang-python=\"`thanosruler`\" pulumi-lang-yaml=\"`thanosruler`\" pulumi-lang-java=\"`thanosruler`\"\u003e`thanosruler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosstore`\" pulumi-lang-dotnet=\"`Thanosstore`\" pulumi-lang-go=\"`thanosstore`\" pulumi-lang-python=\"`thanosstore`\" pulumi-lang-yaml=\"`thanosstore`\" pulumi-lang-java=\"`thanosstore`\"\u003e`thanosstore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vector`\" pulumi-lang-dotnet=\"`Vector`\" pulumi-lang-go=\"`vector`\" pulumi-lang-python=\"`vector`\" pulumi-lang-yaml=\"`vector`\" pulumi-lang-java=\"`vector`\"\u003e`vector`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vmalert`\" pulumi-lang-dotnet=\"`Vmalert`\" pulumi-lang-go=\"`vmalert`\" pulumi-lang-python=\"`vmalert`\" pulumi-lang-yaml=\"`vmalert`\" pulumi-lang-java=\"`vmalert`\"\u003e`vmalert`\u003c/span\u003e.\n"},"project":{"type":"string","description":"Project the integration belongs to.\n"},"sourceServiceName":{"type":"string","description":"Source service for the integration (if any)\n"}},"type":"object","required":["destinationServiceName","integrationType","project","sourceServiceName"]},"outputs":{"description":"A collection of values returned by getServiceIntegration.\n","properties":{"clickhouseCredentialsUserConfigs":{"description":"ClickhouseCredentials user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseCredentialsUserConfig:getServiceIntegrationClickhouseCredentialsUserConfig"},"type":"array"},"clickhouseKafkaUserConfigs":{"description":"ClickhouseKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhouseKafkaUserConfig:getServiceIntegrationClickhouseKafkaUserConfig"},"type":"array"},"clickhousePostgresqlUserConfigs":{"description":"ClickhousePostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationClickhousePostgresqlUserConfig:getServiceIntegrationClickhousePostgresqlUserConfig"},"type":"array"},"datadogUserConfigs":{"description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationDatadogUserConfig:getServiceIntegrationDatadogUserConfig"},"type":"array"},"destinationEndpointId":{"description":"Destination endpoint for the integration.\n","type":"string"},"destinationServiceName":{"description":"Destination service for the integration.\n","type":"string"},"destinationServiceProject":{"description":"Destination service project name\n","type":"string"},"externalAwsCloudwatchLogsUserConfigs":{"description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalAwsCloudwatchLogsUserConfig:getServiceIntegrationExternalAwsCloudwatchLogsUserConfig"},"type":"array"},"externalAwsCloudwatchMetricsUserConfigs":{"description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalAwsCloudwatchMetricsUserConfig:getServiceIntegrationExternalAwsCloudwatchMetricsUserConfig"},"type":"array"},"externalElasticsearchLogsUserConfigs":{"description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalElasticsearchLogsUserConfig:getServiceIntegrationExternalElasticsearchLogsUserConfig"},"type":"array"},"externalOpensearchLogsUserConfigs":{"description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationExternalOpensearchLogsUserConfig:getServiceIntegrationExternalOpensearchLogsUserConfig"},"type":"array"},"flinkExternalPostgresqlUserConfigs":{"description":"FlinkExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationFlinkExternalPostgresqlUserConfig:getServiceIntegrationFlinkExternalPostgresqlUserConfig"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"integrationId":{"description":"The ID of the Aiven service integration.\n","type":"string"},"integrationType":{"description":"Type of the service integration. The possible values are \u003cspan pulumi-lang-nodejs=\"`alertmanager`\" pulumi-lang-dotnet=\"`Alertmanager`\" pulumi-lang-go=\"`alertmanager`\" pulumi-lang-python=\"`alertmanager`\" pulumi-lang-yaml=\"`alertmanager`\" pulumi-lang-java=\"`alertmanager`\"\u003e`alertmanager`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`caching`\" pulumi-lang-dotnet=\"`Caching`\" pulumi-lang-go=\"`caching`\" pulumi-lang-python=\"`caching`\" pulumi-lang-yaml=\"`caching`\" pulumi-lang-java=\"`caching`\"\u003e`caching`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`cassandraCrossServiceCluster`\" pulumi-lang-dotnet=\"`CassandraCrossServiceCluster`\" pulumi-lang-go=\"`cassandraCrossServiceCluster`\" pulumi-lang-python=\"`cassandra_cross_service_cluster`\" pulumi-lang-yaml=\"`cassandraCrossServiceCluster`\" pulumi-lang-java=\"`cassandraCrossServiceCluster`\"\u003e`cassandra_cross_service_cluster`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseCredentials`\" pulumi-lang-dotnet=\"`ClickhouseCredentials`\" pulumi-lang-go=\"`clickhouseCredentials`\" pulumi-lang-python=\"`clickhouse_credentials`\" pulumi-lang-yaml=\"`clickhouseCredentials`\" pulumi-lang-java=\"`clickhouseCredentials`\"\u003e`clickhouse_credentials`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhouseKafka`\" pulumi-lang-dotnet=\"`ClickhouseKafka`\" pulumi-lang-go=\"`clickhouseKafka`\" pulumi-lang-python=\"`clickhouse_kafka`\" pulumi-lang-yaml=\"`clickhouseKafka`\" pulumi-lang-java=\"`clickhouseKafka`\"\u003e`clickhouse_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`clickhousePostgresql`\" pulumi-lang-dotnet=\"`ClickhousePostgresql`\" pulumi-lang-go=\"`clickhousePostgresql`\" pulumi-lang-python=\"`clickhouse_postgresql`\" pulumi-lang-yaml=\"`clickhousePostgresql`\" pulumi-lang-java=\"`clickhousePostgresql`\"\u003e`clickhouse_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`dashboard`\" pulumi-lang-dotnet=\"`Dashboard`\" pulumi-lang-go=\"`dashboard`\" pulumi-lang-python=\"`dashboard`\" pulumi-lang-yaml=\"`dashboard`\" pulumi-lang-java=\"`dashboard`\"\u003e`dashboard`\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, \u003cspan pulumi-lang-nodejs=\"`datasource`\" pulumi-lang-dotnet=\"`Datasource`\" pulumi-lang-go=\"`datasource`\" pulumi-lang-python=\"`datasource`\" pulumi-lang-yaml=\"`datasource`\" pulumi-lang-java=\"`datasource`\"\u003e`datasource`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`disasterRecovery`\" pulumi-lang-dotnet=\"`DisasterRecovery`\" pulumi-lang-go=\"`disasterRecovery`\" pulumi-lang-python=\"`disaster_recovery`\" pulumi-lang-yaml=\"`disasterRecovery`\" pulumi-lang-java=\"`disasterRecovery`\"\u003e`disaster_recovery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flink`\" pulumi-lang-dotnet=\"`Flink`\" pulumi-lang-go=\"`flink`\" pulumi-lang-python=\"`flink`\" pulumi-lang-yaml=\"`flink`\" pulumi-lang-java=\"`flink`\"\u003e`flink`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalBigquery`\" pulumi-lang-dotnet=\"`FlinkExternalBigquery`\" pulumi-lang-go=\"`flinkExternalBigquery`\" pulumi-lang-python=\"`flink_external_bigquery`\" pulumi-lang-yaml=\"`flinkExternalBigquery`\" pulumi-lang-java=\"`flinkExternalBigquery`\"\u003e`flink_external_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalKafka`\" pulumi-lang-dotnet=\"`FlinkExternalKafka`\" pulumi-lang-go=\"`flinkExternalKafka`\" pulumi-lang-python=\"`flink_external_kafka`\" pulumi-lang-yaml=\"`flinkExternalKafka`\" pulumi-lang-java=\"`flinkExternalKafka`\"\u003e`flink_external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`flinkExternalPostgresql`\" pulumi-lang-dotnet=\"`FlinkExternalPostgresql`\" pulumi-lang-go=\"`flinkExternalPostgresql`\" pulumi-lang-python=\"`flink_external_postgresql`\" pulumi-lang-yaml=\"`flinkExternalPostgresql`\" pulumi-lang-java=\"`flinkExternalPostgresql`\"\u003e`flink_external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`internalConnectivity`\" pulumi-lang-dotnet=\"`InternalConnectivity`\" pulumi-lang-go=\"`internalConnectivity`\" pulumi-lang-python=\"`internal_connectivity`\" pulumi-lang-yaml=\"`internalConnectivity`\" pulumi-lang-java=\"`internalConnectivity`\"\u003e`internal_connectivity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnect`\" pulumi-lang-dotnet=\"`KafkaConnect`\" pulumi-lang-go=\"`kafkaConnect`\" pulumi-lang-python=\"`kafka_connect`\" pulumi-lang-yaml=\"`kafkaConnect`\" pulumi-lang-java=\"`kafkaConnect`\"\u003e`kafka_connect`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaConnectPostgresql`\" pulumi-lang-dotnet=\"`KafkaConnectPostgresql`\" pulumi-lang-go=\"`kafkaConnectPostgresql`\" pulumi-lang-python=\"`kafka_connect_postgresql`\" pulumi-lang-yaml=\"`kafkaConnectPostgresql`\" pulumi-lang-java=\"`kafkaConnectPostgresql`\"\u003e`kafka_connect_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaLogs`\" pulumi-lang-dotnet=\"`KafkaLogs`\" pulumi-lang-go=\"`kafkaLogs`\" pulumi-lang-python=\"`kafka_logs`\" pulumi-lang-yaml=\"`kafkaLogs`\" pulumi-lang-java=\"`kafkaLogs`\"\u003e`kafka_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`kafkaMirrormaker`\" pulumi-lang-dotnet=\"`KafkaMirrormaker`\" pulumi-lang-go=\"`kafkaMirrormaker`\" pulumi-lang-python=\"`kafka_mirrormaker`\" pulumi-lang-yaml=\"`kafkaMirrormaker`\" pulumi-lang-java=\"`kafkaMirrormaker`\"\u003e`kafka_mirrormaker`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`logs`\" pulumi-lang-dotnet=\"`Logs`\" pulumi-lang-go=\"`logs`\" pulumi-lang-python=\"`logs`\" pulumi-lang-yaml=\"`logs`\" pulumi-lang-java=\"`logs`\"\u003e`logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3aggregator`\" pulumi-lang-dotnet=\"`M3aggregator`\" pulumi-lang-go=\"`m3aggregator`\" pulumi-lang-python=\"`m3aggregator`\" pulumi-lang-yaml=\"`m3aggregator`\" pulumi-lang-java=\"`m3aggregator`\"\u003e`m3aggregator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`m3coordinator`\" pulumi-lang-dotnet=\"`M3coordinator`\" pulumi-lang-go=\"`m3coordinator`\" pulumi-lang-python=\"`m3coordinator`\" pulumi-lang-yaml=\"`m3coordinator`\" pulumi-lang-java=\"`m3coordinator`\"\u003e`m3coordinator`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`metrics`\" pulumi-lang-dotnet=\"`Metrics`\" pulumi-lang-go=\"`metrics`\" pulumi-lang-python=\"`metrics`\" pulumi-lang-yaml=\"`metrics`\" pulumi-lang-java=\"`metrics`\"\u003e`metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterReplication`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterReplication`\" pulumi-lang-go=\"`opensearchCrossClusterReplication`\" pulumi-lang-python=\"`opensearch_cross_cluster_replication`\" pulumi-lang-yaml=\"`opensearchCrossClusterReplication`\" pulumi-lang-java=\"`opensearchCrossClusterReplication`\"\u003e`opensearch_cross_cluster_replication`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`opensearchCrossClusterSearch`\" pulumi-lang-dotnet=\"`OpensearchCrossClusterSearch`\" pulumi-lang-go=\"`opensearchCrossClusterSearch`\" pulumi-lang-python=\"`opensearch_cross_cluster_search`\" pulumi-lang-yaml=\"`opensearchCrossClusterSearch`\" pulumi-lang-java=\"`opensearchCrossClusterSearch`\"\u003e`opensearch_cross_cluster_search`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`readReplica`\" pulumi-lang-dotnet=\"`ReadReplica`\" pulumi-lang-go=\"`readReplica`\" pulumi-lang-python=\"`read_replica`\" pulumi-lang-yaml=\"`readReplica`\" pulumi-lang-java=\"`readReplica`\"\u003e`read_replica`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`schemaRegistryProxy`\" pulumi-lang-dotnet=\"`SchemaRegistryProxy`\" pulumi-lang-go=\"`schemaRegistryProxy`\" pulumi-lang-python=\"`schema_registry_proxy`\" pulumi-lang-yaml=\"`schemaRegistryProxy`\" pulumi-lang-java=\"`schemaRegistryProxy`\"\u003e`schema_registry_proxy`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`stresstester`\" pulumi-lang-dotnet=\"`Stresstester`\" pulumi-lang-go=\"`stresstester`\" pulumi-lang-python=\"`stresstester`\" pulumi-lang-yaml=\"`stresstester`\" pulumi-lang-java=\"`stresstester`\"\u003e`stresstester`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosDistributedQuery`\" pulumi-lang-dotnet=\"`ThanosDistributedQuery`\" pulumi-lang-go=\"`thanosDistributedQuery`\" pulumi-lang-python=\"`thanos_distributed_query`\" pulumi-lang-yaml=\"`thanosDistributedQuery`\" pulumi-lang-java=\"`thanosDistributedQuery`\"\u003e`thanos_distributed_query`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosMigrate`\" pulumi-lang-dotnet=\"`ThanosMigrate`\" pulumi-lang-go=\"`thanosMigrate`\" pulumi-lang-python=\"`thanos_migrate`\" pulumi-lang-yaml=\"`thanosMigrate`\" pulumi-lang-java=\"`thanosMigrate`\"\u003e`thanos_migrate`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanoscompactor`\" pulumi-lang-dotnet=\"`Thanoscompactor`\" pulumi-lang-go=\"`thanoscompactor`\" pulumi-lang-python=\"`thanoscompactor`\" pulumi-lang-yaml=\"`thanoscompactor`\" pulumi-lang-java=\"`thanoscompactor`\"\u003e`thanoscompactor`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosquery`\" pulumi-lang-dotnet=\"`Thanosquery`\" pulumi-lang-go=\"`thanosquery`\" pulumi-lang-python=\"`thanosquery`\" pulumi-lang-yaml=\"`thanosquery`\" pulumi-lang-java=\"`thanosquery`\"\u003e`thanosquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosruler`\" pulumi-lang-dotnet=\"`Thanosruler`\" pulumi-lang-go=\"`thanosruler`\" pulumi-lang-python=\"`thanosruler`\" pulumi-lang-yaml=\"`thanosruler`\" pulumi-lang-java=\"`thanosruler`\"\u003e`thanosruler`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`thanosstore`\" pulumi-lang-dotnet=\"`Thanosstore`\" pulumi-lang-go=\"`thanosstore`\" pulumi-lang-python=\"`thanosstore`\" pulumi-lang-yaml=\"`thanosstore`\" pulumi-lang-java=\"`thanosstore`\"\u003e`thanosstore`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`vector`\" pulumi-lang-dotnet=\"`Vector`\" pulumi-lang-go=\"`vector`\" pulumi-lang-python=\"`vector`\" pulumi-lang-yaml=\"`vector`\" pulumi-lang-java=\"`vector`\"\u003e`vector`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`vmalert`\" pulumi-lang-dotnet=\"`Vmalert`\" pulumi-lang-go=\"`vmalert`\" pulumi-lang-python=\"`vmalert`\" pulumi-lang-yaml=\"`vmalert`\" pulumi-lang-java=\"`vmalert`\"\u003e`vmalert`\u003c/span\u003e.\n","type":"string"},"kafkaConnectUserConfigs":{"description":"KafkaConnect user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationKafkaConnectUserConfig:getServiceIntegrationKafkaConnectUserConfig"},"type":"array"},"kafkaLogsUserConfigs":{"description":"KafkaLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationKafkaLogsUserConfig:getServiceIntegrationKafkaLogsUserConfig"},"type":"array"},"kafkaMirrormakerUserConfigs":{"description":"KafkaMirrormaker user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationKafkaMirrormakerUserConfig:getServiceIntegrationKafkaMirrormakerUserConfig"},"type":"array"},"logsUserConfigs":{"description":"Logs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationLogsUserConfig:getServiceIntegrationLogsUserConfig"},"type":"array"},"metricsUserConfigs":{"description":"Metrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationMetricsUserConfig:getServiceIntegrationMetricsUserConfig"},"type":"array"},"project":{"description":"Project the integration belongs to.\n","type":"string"},"prometheusUserConfigs":{"description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationPrometheusUserConfig:getServiceIntegrationPrometheusUserConfig"},"type":"array"},"sourceEndpointId":{"description":"Source endpoint for the integration.\n","type":"string"},"sourceServiceName":{"description":"Source service for the integration (if any)\n","type":"string"},"sourceServiceProject":{"description":"Source service project name\n","type":"string"}},"required":["clickhouseCredentialsUserConfigs","clickhouseKafkaUserConfigs","clickhousePostgresqlUserConfigs","datadogUserConfigs","destinationEndpointId","destinationServiceName","destinationServiceProject","externalAwsCloudwatchLogsUserConfigs","externalAwsCloudwatchMetricsUserConfigs","externalElasticsearchLogsUserConfigs","externalOpensearchLogsUserConfigs","flinkExternalPostgresqlUserConfigs","integrationId","integrationType","kafkaConnectUserConfigs","kafkaLogsUserConfigs","kafkaMirrormakerUserConfigs","logsUserConfigs","metricsUserConfigs","project","prometheusUserConfigs","sourceEndpointId","sourceServiceName","sourceServiceProject","id"],"type":"object"}},"aiven:index/getServiceIntegrationEndpoint:getServiceIntegrationEndpoint":{"description":"Gets information about an integration endpoint.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleDatadogEndpoint = aiven.getServiceIntegrationEndpoint({\n    project: exampleProject.project,\n    endpointName: \"Datadog endpoint\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_datadog_endpoint = aiven.get_service_integration_endpoint(project=example_project[\"project\"],\n    endpoint_name=\"Datadog endpoint\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleDatadogEndpoint = Aiven.GetServiceIntegrationEndpoint.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        EndpointName = \"Datadog endpoint\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupServiceIntegrationEndpoint(ctx, \u0026aiven.LookupServiceIntegrationEndpointArgs{\n\t\t\tProject:      exampleProject.Project,\n\t\t\tEndpointName: \"Datadog endpoint\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetServiceIntegrationEndpointArgs;\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 exampleDatadogEndpoint = AivenFunctions.getServiceIntegrationEndpoint(GetServiceIntegrationEndpointArgs.builder()\n            .project(exampleProject.project())\n            .endpointName(\"Datadog endpoint\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleDatadogEndpoint:\n    fn::invoke:\n      function: aiven:getServiceIntegrationEndpoint\n      arguments:\n        project: ${exampleProject.project}\n        endpointName: Datadog endpoint\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceIntegrationEndpoint.\n","properties":{"endpointName":{"type":"string","description":"Name of the service integration endpoint.\n"},"project":{"type":"string","description":"Project the service integration endpoint is in.\n"}},"type":"object","required":["endpointName","project"]},"outputs":{"description":"A collection of values returned by getServiceIntegrationEndpoint.\n","properties":{"autoscalerUserConfigs":{"description":"Autoscaler user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointAutoscalerUserConfig:getServiceIntegrationEndpointAutoscalerUserConfig"},"type":"array"},"datadogUserConfigs":{"description":"Datadog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointDatadogUserConfig:getServiceIntegrationEndpointDatadogUserConfig"},"type":"array"},"endpointConfig":{"additionalProperties":{"type":"string"},"description":"Backend configuration for the endpoint.\n","type":"object"},"endpointName":{"description":"Name of the service integration endpoint.\n","type":"string"},"endpointType":{"description":"The type of service integration endpoint. The possible values are \u003cspan pulumi-lang-nodejs=\"`autoscaler`\" pulumi-lang-dotnet=\"`Autoscaler`\" pulumi-lang-go=\"`autoscaler`\" pulumi-lang-python=\"`autoscaler`\" pulumi-lang-yaml=\"`autoscaler`\" pulumi-lang-java=\"`autoscaler`\"\u003e`autoscaler`\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, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchLogs`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchLogs`\" pulumi-lang-go=\"`externalAwsCloudwatchLogs`\" pulumi-lang-python=\"`external_aws_cloudwatch_logs`\" pulumi-lang-yaml=\"`externalAwsCloudwatchLogs`\" pulumi-lang-java=\"`externalAwsCloudwatchLogs`\"\u003e`external_aws_cloudwatch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-dotnet=\"`ExternalAwsCloudwatchMetrics`\" pulumi-lang-go=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-python=\"`external_aws_cloudwatch_metrics`\" pulumi-lang-yaml=\"`externalAwsCloudwatchMetrics`\" pulumi-lang-java=\"`externalAwsCloudwatchMetrics`\"\u003e`external_aws_cloudwatch_metrics`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAwsS3`\" pulumi-lang-dotnet=\"`ExternalAwsS3`\" pulumi-lang-go=\"`externalAwsS3`\" pulumi-lang-python=\"`external_aws_s3`\" pulumi-lang-yaml=\"`externalAwsS3`\" pulumi-lang-java=\"`externalAwsS3`\"\u003e`external_aws_s3`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalAzureBlobStorage`\" pulumi-lang-dotnet=\"`ExternalAzureBlobStorage`\" pulumi-lang-go=\"`externalAzureBlobStorage`\" pulumi-lang-python=\"`external_azure_blob_storage`\" pulumi-lang-yaml=\"`externalAzureBlobStorage`\" pulumi-lang-java=\"`externalAzureBlobStorage`\"\u003e`external_azure_blob_storage`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalClickhouse`\" pulumi-lang-dotnet=\"`ExternalClickhouse`\" pulumi-lang-go=\"`externalClickhouse`\" pulumi-lang-python=\"`external_clickhouse`\" pulumi-lang-yaml=\"`externalClickhouse`\" pulumi-lang-java=\"`externalClickhouse`\"\u003e`external_clickhouse`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalElasticsearchLogs`\" pulumi-lang-dotnet=\"`ExternalElasticsearchLogs`\" pulumi-lang-go=\"`externalElasticsearchLogs`\" pulumi-lang-python=\"`external_elasticsearch_logs`\" pulumi-lang-yaml=\"`externalElasticsearchLogs`\" pulumi-lang-java=\"`externalElasticsearchLogs`\"\u003e`external_elasticsearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudBigquery`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudBigquery`\" pulumi-lang-go=\"`externalGoogleCloudBigquery`\" pulumi-lang-python=\"`external_google_cloud_bigquery`\" pulumi-lang-yaml=\"`externalGoogleCloudBigquery`\" pulumi-lang-java=\"`externalGoogleCloudBigquery`\"\u003e`external_google_cloud_bigquery`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalGoogleCloudLogging`\" pulumi-lang-dotnet=\"`ExternalGoogleCloudLogging`\" pulumi-lang-go=\"`externalGoogleCloudLogging`\" pulumi-lang-python=\"`external_google_cloud_logging`\" pulumi-lang-yaml=\"`externalGoogleCloudLogging`\" pulumi-lang-java=\"`externalGoogleCloudLogging`\"\u003e`external_google_cloud_logging`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalKafka`\" pulumi-lang-dotnet=\"`ExternalKafka`\" pulumi-lang-go=\"`externalKafka`\" pulumi-lang-python=\"`external_kafka`\" pulumi-lang-yaml=\"`externalKafka`\" pulumi-lang-java=\"`externalKafka`\"\u003e`external_kafka`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalMysql`\" pulumi-lang-dotnet=\"`ExternalMysql`\" pulumi-lang-go=\"`externalMysql`\" pulumi-lang-python=\"`external_mysql`\" pulumi-lang-yaml=\"`externalMysql`\" pulumi-lang-java=\"`externalMysql`\"\u003e`external_mysql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalOpensearchLogs`\" pulumi-lang-dotnet=\"`ExternalOpensearchLogs`\" pulumi-lang-go=\"`externalOpensearchLogs`\" pulumi-lang-python=\"`external_opensearch_logs`\" pulumi-lang-yaml=\"`externalOpensearchLogs`\" pulumi-lang-java=\"`externalOpensearchLogs`\"\u003e`external_opensearch_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPostgresql`\" pulumi-lang-dotnet=\"`ExternalPostgresql`\" pulumi-lang-go=\"`externalPostgresql`\" pulumi-lang-python=\"`external_postgresql`\" pulumi-lang-yaml=\"`externalPostgresql`\" pulumi-lang-java=\"`externalPostgresql`\"\u003e`external_postgresql`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalPrometheus`\" pulumi-lang-dotnet=\"`ExternalPrometheus`\" pulumi-lang-go=\"`externalPrometheus`\" pulumi-lang-python=\"`external_prometheus`\" pulumi-lang-yaml=\"`externalPrometheus`\" pulumi-lang-java=\"`externalPrometheus`\"\u003e`external_prometheus`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalRedis`\" pulumi-lang-dotnet=\"`ExternalRedis`\" pulumi-lang-go=\"`externalRedis`\" pulumi-lang-python=\"`external_redis`\" pulumi-lang-yaml=\"`externalRedis`\" pulumi-lang-java=\"`externalRedis`\"\u003e`external_redis`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSchemaRegistry`\" pulumi-lang-dotnet=\"`ExternalSchemaRegistry`\" pulumi-lang-go=\"`externalSchemaRegistry`\" pulumi-lang-python=\"`external_schema_registry`\" pulumi-lang-yaml=\"`externalSchemaRegistry`\" pulumi-lang-java=\"`externalSchemaRegistry`\"\u003e`external_schema_registry`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`externalSumologicLogs`\" pulumi-lang-dotnet=\"`ExternalSumologicLogs`\" pulumi-lang-go=\"`externalSumologicLogs`\" pulumi-lang-python=\"`external_sumologic_logs`\" pulumi-lang-yaml=\"`externalSumologicLogs`\" pulumi-lang-java=\"`externalSumologicLogs`\"\u003e`external_sumologic_logs`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`jolokia`\" pulumi-lang-dotnet=\"`Jolokia`\" pulumi-lang-go=\"`jolokia`\" pulumi-lang-python=\"`jolokia`\" pulumi-lang-yaml=\"`jolokia`\" pulumi-lang-java=\"`jolokia`\"\u003e`jolokia`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`prometheus`\" pulumi-lang-dotnet=\"`Prometheus`\" pulumi-lang-go=\"`prometheus`\" pulumi-lang-python=\"`prometheus`\" pulumi-lang-yaml=\"`prometheus`\" pulumi-lang-java=\"`prometheus`\"\u003e`prometheus`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`rsyslog`\" pulumi-lang-dotnet=\"`Rsyslog`\" pulumi-lang-go=\"`rsyslog`\" pulumi-lang-python=\"`rsyslog`\" pulumi-lang-yaml=\"`rsyslog`\" pulumi-lang-java=\"`rsyslog`\"\u003e`rsyslog`\u003c/span\u003e.\n","type":"string"},"externalAwsCloudwatchLogsUserConfigs":{"description":"ExternalAwsCloudwatchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig:getServiceIntegrationEndpointExternalAwsCloudwatchLogsUserConfig"},"type":"array"},"externalAwsCloudwatchMetricsUserConfigs":{"description":"ExternalAwsCloudwatchMetrics user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig:getServiceIntegrationEndpointExternalAwsCloudwatchMetricsUserConfig"},"type":"array"},"externalAwsS3UserConfigs":{"description":"ExternalAwsS3 user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalAwsS3UserConfig:getServiceIntegrationEndpointExternalAwsS3UserConfig"},"type":"array"},"externalAzureBlobStorageUserConfigs":{"description":"ExternalAzureBlobStorage user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalAzureBlobStorageUserConfig:getServiceIntegrationEndpointExternalAzureBlobStorageUserConfig"},"type":"array"},"externalClickhouseUserConfigs":{"description":"ExternalClickhouse user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalClickhouseUserConfig:getServiceIntegrationEndpointExternalClickhouseUserConfig"},"type":"array"},"externalElasticsearchLogsUserConfigs":{"description":"ExternalElasticsearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalElasticsearchLogsUserConfig:getServiceIntegrationEndpointExternalElasticsearchLogsUserConfig"},"type":"array"},"externalGoogleCloudBigqueries":{"description":"ExternalGoogleCloudBigquery user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalGoogleCloudBigquery:getServiceIntegrationEndpointExternalGoogleCloudBigquery"},"type":"array"},"externalGoogleCloudLoggingUserConfigs":{"description":"ExternalGoogleCloudLogging user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig:getServiceIntegrationEndpointExternalGoogleCloudLoggingUserConfig"},"type":"array"},"externalKafkaUserConfigs":{"description":"ExternalKafka user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalKafkaUserConfig:getServiceIntegrationEndpointExternalKafkaUserConfig"},"type":"array"},"externalMysqlUserConfigs":{"description":"ExternalMysql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalMysqlUserConfig:getServiceIntegrationEndpointExternalMysqlUserConfig"},"type":"array"},"externalOpensearchLogsUserConfigs":{"description":"ExternalOpensearchLogs user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalOpensearchLogsUserConfig:getServiceIntegrationEndpointExternalOpensearchLogsUserConfig"},"type":"array"},"externalPostgresqls":{"description":"ExternalPostgresql user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalPostgresql:getServiceIntegrationEndpointExternalPostgresql"},"type":"array"},"externalPrometheusUserConfigs":{"description":"ExternalPrometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalPrometheusUserConfig:getServiceIntegrationEndpointExternalPrometheusUserConfig"},"type":"array"},"externalSchemaRegistryUserConfigs":{"description":"ExternalSchemaRegistry user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointExternalSchemaRegistryUserConfig:getServiceIntegrationEndpointExternalSchemaRegistryUserConfig"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"jolokiaUserConfigs":{"description":"Jolokia user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointJolokiaUserConfig:getServiceIntegrationEndpointJolokiaUserConfig"},"type":"array"},"project":{"description":"Project the service integration endpoint is in.\n","type":"string"},"prometheusUserConfigs":{"description":"Prometheus user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointPrometheusUserConfig:getServiceIntegrationEndpointPrometheusUserConfig"},"type":"array"},"rsyslogUserConfigs":{"description":"Rsyslog user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getServiceIntegrationEndpointRsyslogUserConfig:getServiceIntegrationEndpointRsyslogUserConfig"},"type":"array"}},"required":["autoscalerUserConfigs","datadogUserConfigs","endpointConfig","endpointName","endpointType","externalAwsCloudwatchLogsUserConfigs","externalAwsCloudwatchMetricsUserConfigs","externalAwsS3UserConfigs","externalAzureBlobStorageUserConfigs","externalClickhouseUserConfigs","externalElasticsearchLogsUserConfigs","externalGoogleCloudBigqueries","externalGoogleCloudLoggingUserConfigs","externalKafkaUserConfigs","externalMysqlUserConfigs","externalOpensearchLogsUserConfigs","externalPostgresqls","externalPrometheusUserConfigs","externalSchemaRegistryUserConfigs","jolokiaUserConfigs","project","prometheusUserConfigs","rsyslogUserConfigs","id"],"type":"object"}},"aiven:index/getServiceList:getServiceList":{"description":"A list of all services in a project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\n// Use the `aiven_service_list` data source to query all services in a project.\nconst allServices = aiven.getServiceList({\n    project: \"example-project-name\",\n});\nexport const serviceNames = allServices.then(allServices =\u003e .map(service =\u003e (service.name)));\nexport const serviceTypes = allServices.then(allServices =\u003e .map(service =\u003e (service.serviceType)));\nconst kafkaServices = allServices.then(allServices =\u003e .filter(service =\u003e service.serviceType == \"kafka\").map(service =\u003e (service)));\nexport const kafkaServiceNames = kafkaServices.map(service =\u003e (service.name));\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\n# Use the `aiven_service_list` data source to query all services in a project.\nall_services = aiven.get_service_list(project=\"example-project-name\")\npulumi.export(\"serviceNames\", [service.name for service in all_services.services])\npulumi.export(\"serviceTypes\", [service.service_type for service in all_services.services])\nkafka_services = [service for service in all_services.services if service.service_type == \"kafka\"]\npulumi.export(\"kafkaServiceNames\", [service.name for service in kafka_services])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Use the `aiven_service_list` data source to query all services in a project.\n    var allServices = Aiven.GetServiceList.Invoke(new()\n    {\n        Project = \"example-project-name\",\n    });\n\n    var kafkaServices = .Where(service =\u003e service.ServiceType == \"kafka\").Select(service =\u003e \n    {\n        return service;\n    }).ToList();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"serviceNames\"] = .Select(service =\u003e \n        {\n            return service.Name;\n        }).ToList(),\n        [\"serviceTypes\"] = .Select(service =\u003e \n        {\n            return service.ServiceType;\n        }).ToList(),\n        [\"kafkaServiceNames\"] = kafkaServices.Select(service =\u003e \n        {\n            return service.Name;\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceList.\n","properties":{"project":{"type":"string","description":"Project name.\n"},"services":{"type":"array","items":{"$ref":"#/types/aiven:index/getServiceListService:getServiceListService"},"description":"List of services under the project.\n"},"timeouts":{"$ref":"#/types/aiven:index/getServiceListTimeouts:getServiceListTimeouts"}},"type":"object","required":["project"]},"outputs":{"description":"A collection of values returned by getServiceList.\n","properties":{"id":{"description":"Resource ID, equal to \u003cspan pulumi-lang-nodejs=\"`project`\" pulumi-lang-dotnet=\"`Project`\" pulumi-lang-go=\"`project`\" pulumi-lang-python=\"`project`\" pulumi-lang-yaml=\"`project`\" pulumi-lang-java=\"`project`\"\u003e`project`\u003c/span\u003e.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"services":{"description":"List of services under the project.\n","items":{"$ref":"#/types/aiven:index/getServiceListService:getServiceListService"},"type":"array"},"timeouts":{"$ref":"#/types/aiven:index/getServiceListTimeouts:getServiceListTimeouts"}},"required":["id","project"],"type":"object"}},"aiven:index/getServicePlan:getServicePlan":{"description":"Gets detailed information about a specific service plan, including specifications and pricing for a cloud region.\n\n**This resource is in the beta stage and may change without notice.** Set\nthe `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.\n\n","inputs":{"description":"A collection of arguments for invoking getServicePlan.\n","properties":{"backupConfigs":{"type":"array","items":{"$ref":"#/types/aiven:index/getServicePlanBackupConfig:getServicePlanBackupConfig"},"description":"Backup configuration for this service plan.\n"},"cloudName":{"type":"string","description":"Cloud region name.\n"},"project":{"type":"string","description":"Project name.\n"},"servicePlan":{"type":"string","description":"Service plan name.\n"},"serviceType":{"type":"string","description":"Service type code.\n"},"timeouts":{"$ref":"#/types/aiven:index/getServicePlanTimeouts:getServicePlanTimeouts"}},"type":"object","required":["cloudName","project","servicePlan","serviceType"]},"outputs":{"description":"A collection of values returned by getServicePlan.\n","properties":{"backupConfigs":{"description":"Backup configuration for this service plan.\n","items":{"$ref":"#/types/aiven:index/getServicePlanBackupConfig:getServicePlanBackupConfig"},"type":"array"},"basePriceUsd":{"description":"Hourly service price in this region in USD.\n","type":"string"},"cloudName":{"description":"Cloud region name.\n","type":"string"},"diskSpaceCapMb":{"description":"Maximum amount of disk space possible for the plan in the given region.\n","type":"integer"},"diskSpaceMb":{"description":"Combined amount of service disk space of all service nodes in megabytes.\n","type":"integer"},"diskSpaceStepMb":{"description":"Disk space change step size.\n","type":"integer"},"id":{"description":"Resource ID composed as: `project/service_type/service_plan/cloud_name`.\n","type":"string"},"maxMemoryPercent":{"description":"Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load.\n","type":"integer"},"nodeCount":{"description":"Number of nodes in this service plan.\n","type":"integer"},"objectStorageGbPriceUsd":{"description":"Hourly object storage price per GiB in this region in USD.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"servicePlan":{"description":"Service plan name.\n","type":"string"},"serviceType":{"description":"Service type code.\n","type":"string"},"shardCount":{"description":"Number of shards in this service plan.\n","type":"integer"},"timeouts":{"$ref":"#/types/aiven:index/getServicePlanTimeouts:getServicePlanTimeouts"}},"required":["basePriceUsd","cloudName","diskSpaceCapMb","diskSpaceMb","diskSpaceStepMb","id","maxMemoryPercent","nodeCount","objectStorageGbPriceUsd","project","servicePlan","serviceType","shardCount"],"type":"object"}},"aiven:index/getServicePlanList:getServicePlanList":{"description":"A list of service plans for a given project and service type.\n\n","inputs":{"description":"A collection of arguments for invoking getServicePlanList.\n","properties":{"project":{"type":"string","description":"Project name.\n"},"servicePlans":{"type":"array","items":{"$ref":"#/types/aiven:index/getServicePlanListServicePlan:getServicePlanListServicePlan"},"description":"List of plans available for this type of service.\n"},"serviceType":{"type":"string","description":"Service type.\n"},"timeouts":{"$ref":"#/types/aiven:index/getServicePlanListTimeouts:getServicePlanListTimeouts"}},"type":"object","required":["project","serviceType"]},"outputs":{"description":"A collection of values returned by getServicePlanList.\n","properties":{"id":{"description":"Resource ID composed as: `project/service_type`.\n","type":"string"},"project":{"description":"Project name.\n","type":"string"},"servicePlans":{"description":"List of plans available for this type of service.\n","items":{"$ref":"#/types/aiven:index/getServicePlanListServicePlan:getServicePlanListServicePlan"},"type":"array"},"serviceType":{"description":"Service type.\n","type":"string"},"timeouts":{"$ref":"#/types/aiven:index/getServicePlanListTimeouts:getServicePlanListTimeouts"}},"required":["id","project","serviceType"],"type":"object"}},"aiven:index/getThanos:getThanos":{"description":"Gets information about an Aiven for Thanos® service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleThanos = aiven.getThanos({\n    project: exampleProject.project,\n    serviceName: \"example-thanos-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_thanos = aiven.get_thanos(project=example_project[\"project\"],\n    service_name=\"example-thanos-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleThanos = Aiven.GetThanos.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-thanos-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupThanos(ctx, \u0026aiven.LookupThanosArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-thanos-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetThanosArgs;\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 exampleThanos = AivenFunctions.getThanos(GetThanosArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-thanos-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleThanos:\n    fn::invoke:\n      function: aiven:getThanos\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-thanos-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getThanos.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getThanos.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getThanosComponent:getThanosComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getThanosServiceIntegration:getThanosServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getThanosTag:getThanosTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getThanosTechEmail:getThanosTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"},"thanos":{"description":"Thanos server connection details.\n","items":{"$ref":"#/types/aiven:index/getThanosThano:getThanosThano"},"secret":true,"type":"array"},"thanosUserConfigs":{"description":"Thanos user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getThanosThanosUserConfig:getThanosThanosUserConfig"},"type":"array"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","thanos","thanosUserConfigs","id"],"type":"object"}},"aiven:index/getTransitGatewayVpcAttachment:getTransitGatewayVpcAttachment":{"description":"The Transit Gateway VPC Attachment resource allows the creation and management Transit Gateway VPC Attachment VPC peering connection between Aiven and AWS.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst attachment = aiven.getTransitGatewayVpcAttachment({\n    vpcId: bar.id,\n    peerCloudAccount: \"\u003cPEER_ACCOUNT_ID\u003e\",\n    peerVpc: \"google-project1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nattachment = aiven.get_transit_gateway_vpc_attachment(vpc_id=bar[\"id\"],\n    peer_cloud_account=\"\u003cPEER_ACCOUNT_ID\u003e\",\n    peer_vpc=\"google-project1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var attachment = Aiven.GetTransitGatewayVpcAttachment.Invoke(new()\n    {\n        VpcId = bar.Id,\n        PeerCloudAccount = \"\u003cPEER_ACCOUNT_ID\u003e\",\n        PeerVpc = \"google-project1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupTransitGatewayVpcAttachment(ctx, \u0026aiven.LookupTransitGatewayVpcAttachmentArgs{\n\t\t\tVpcId:            bar.Id,\n\t\t\tPeerCloudAccount: \"\u003cPEER_ACCOUNT_ID\u003e\",\n\t\t\tPeerVpc:          \"google-project1\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetTransitGatewayVpcAttachmentArgs;\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 attachment = AivenFunctions.getTransitGatewayVpcAttachment(GetTransitGatewayVpcAttachmentArgs.builder()\n            .vpcId(bar.id())\n            .peerCloudAccount(\"\u003cPEER_ACCOUNT_ID\u003e\")\n            .peerVpc(\"google-project1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  attachment:\n    fn::invoke:\n      function: aiven:getTransitGatewayVpcAttachment\n      arguments:\n        vpcId: ${bar.id}\n        peerCloudAccount: \u003cPEER_ACCOUNT_ID\u003e\n        peerVpc: google-project1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTransitGatewayVpcAttachment.\n","properties":{"peerCloudAccount":{"type":"string","description":"AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.\n"},"peerVpc":{"type":"string","description":"Transit gateway ID. Changing this property forces recreation of the resource.\n"},"vpcId":{"type":"string","description":"The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["peerCloudAccount","peerVpc","vpcId"]},"outputs":{"description":"A collection of values returned by getTransitGatewayVpcAttachment.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"peerCloudAccount":{"description":"AWS account ID or GCP project ID of the peered VPC. Changing this property forces recreation of the resource.\n","type":"string"},"peerRegion":{"description":"AWS region of the peered VPC (if not in the same region as Aiven VPC). This value can't be changed.\n","type":"string"},"peerVpc":{"description":"Transit gateway ID. Changing this property forces recreation of the resource.\n","type":"string"},"peeringConnectionId":{"description":"Cloud provider identifier for the peering connection if available\n","type":"string"},"state":{"description":"State of the peering connection\n","type":"string"},"stateInfo":{"additionalProperties":{"type":"string"},"description":"State-specific help or error information\n","type":"object"},"userPeerNetworkCidrs":{"description":"List of private IPv4 ranges to route through the peering connection\n","items":{"type":"string"},"type":"array"},"vpcId":{"description":"The VPC the peering connection belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"}},"required":["peerCloudAccount","peerRegion","peerVpc","peeringConnectionId","state","stateInfo","userPeerNetworkCidrs","vpcId","id"],"type":"object"}},"aiven:index/getValkey:getValkey":{"description":"Gets information about an Aiven for Valkey service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aiven from \"@pulumi/aiven\";\n\nconst exampleValkey = aiven.getValkey({\n    project: exampleProject.project,\n    serviceName: \"example-valkey-service\",\n});\n```\n```python\nimport pulumi\nimport pulumi_aiven as aiven\n\nexample_valkey = aiven.get_valkey(project=example_project[\"project\"],\n    service_name=\"example-valkey-service\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aiven = Pulumi.Aiven;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleValkey = Aiven.GetValkey.Invoke(new()\n    {\n        Project = exampleProject.Project,\n        ServiceName = \"example-valkey-service\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aiven/sdk/v6/go/aiven\"\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 := aiven.LookupValkey(ctx, \u0026aiven.LookupValkeyArgs{\n\t\t\tProject:     exampleProject.Project,\n\t\t\tServiceName: \"example-valkey-service\",\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.aiven.AivenFunctions;\nimport com.pulumi.aiven.inputs.GetValkeyArgs;\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 exampleValkey = AivenFunctions.getValkey(GetValkeyArgs.builder()\n            .project(exampleProject.project())\n            .serviceName(\"example-valkey-service\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleValkey:\n    fn::invoke:\n      function: aiven:getValkey\n      arguments:\n        project: ${exampleProject.project}\n        serviceName: example-valkey-service\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getValkey.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n"}},"type":"object","required":["project","serviceName"]},"outputs":{"description":"A collection of values returned by getValkey.\n","properties":{"additionalDiskSpace":{"description":"Add [disk storage](https://aiven.io/docs/platform/howto/add-storage-space) in increments of 30 GiB to the default disk space defined by the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e. The maximum value depends on the service type and cloud provider. Removing additional storage causes the service nodes to go through a rolling restart, and there might be a short downtime for services without an autoscaler integration or high availability capabilities. The field can be safely removed when autoscaler is enabled without causing any changes.\n","type":"string"},"cloudName":{"description":"The cloud provider and region the service is hosted in. The format is `provider-region`, for example: `google-europe-west1`. The [available cloud regions](https://aiven.io/docs/platform/reference/list_of_clouds) can differ per project and service. Changing this value [migrates the service to another cloud provider or region](https://aiven.io/docs/platform/howto/migrate-services-cloud-region). The migration runs in the background and includes a DNS update to redirect traffic to the new region. Most services experience no downtime, but some databases may have a brief interruption during DNS propagation.\n","type":"string"},"components":{"description":"Service component information objects\n","items":{"$ref":"#/types/aiven:index/getValkeyComponent:getValkeyComponent"},"type":"array"},"diskSpace":{"description":"Service disk space to set. Possible values depend on the service type, the cloud provider and the project. Reducing will result in the service rebalancing.\n","type":"string"},"diskSpaceCap":{"description":"The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.\n","type":"string"},"diskSpaceDefault":{"description":"The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e\n","type":"string"},"diskSpaceStep":{"description":"The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. \u003cspan pulumi-lang-nodejs=\"`diskSpace`\" pulumi-lang-dotnet=\"`DiskSpace`\" pulumi-lang-go=\"`diskSpace`\" pulumi-lang-python=\"`disk_space`\" pulumi-lang-yaml=\"`diskSpace`\" pulumi-lang-java=\"`diskSpace`\"\u003e`disk_space`\u003c/span\u003e needs to increment from \u003cspan pulumi-lang-nodejs=\"`diskSpaceDefault`\" pulumi-lang-dotnet=\"`DiskSpaceDefault`\" pulumi-lang-go=\"`diskSpaceDefault`\" pulumi-lang-python=\"`disk_space_default`\" pulumi-lang-yaml=\"`diskSpaceDefault`\" pulumi-lang-java=\"`diskSpaceDefault`\"\u003e`disk_space_default`\u003c/span\u003e by increments of this size.\n","type":"string"},"diskSpaceUsed":{"description":"The disk space that the service is currently using. This is the sum of the \u003cspan pulumi-lang-nodejs=\"`plan`\" pulumi-lang-dotnet=\"`Plan`\" pulumi-lang-go=\"`plan`\" pulumi-lang-python=\"`plan`\" pulumi-lang-yaml=\"`plan`\" pulumi-lang-java=\"`plan`\"\u003e`plan`\u003c/span\u003e default disk space and \u003cspan pulumi-lang-nodejs=\"`additionalDiskSpace`\" pulumi-lang-dotnet=\"`AdditionalDiskSpace`\" pulumi-lang-go=\"`additionalDiskSpace`\" pulumi-lang-python=\"`additional_disk_space`\" pulumi-lang-yaml=\"`additionalDiskSpace`\" pulumi-lang-java=\"`additionalDiskSpace`\"\u003e`additional_disk_space`\u003c/span\u003e in human-readable format (for example: `90GiB`).\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"maintenanceWindowDow":{"description":"Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.\n","type":"string"},"maintenanceWindowEnabled":{"description":"Indicates whether the maintenance window is currently enabled for this service.\n","type":"boolean"},"maintenanceWindowTime":{"description":"Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.\n","type":"string"},"plan":{"description":"Defines what kind of computing resources are allocated for the service. Plan names must be lowercase alphanumeric (e.g., `business-8`, \u003cspan pulumi-lang-nodejs=\"`myPlan16`\" pulumi-lang-dotnet=\"`MyPlan16`\" pulumi-lang-go=\"`myPlan16`\" pulumi-lang-python=\"`my_plan_16`\" pulumi-lang-yaml=\"`myPlan16`\" pulumi-lang-java=\"`myPlan16`\"\u003e`my_plan_16`\u003c/span\u003e). It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are \u003cspan pulumi-lang-nodejs=\"`hobbyist`\" pulumi-lang-dotnet=\"`Hobbyist`\" pulumi-lang-go=\"`hobbyist`\" pulumi-lang-python=\"`hobbyist`\" pulumi-lang-yaml=\"`hobbyist`\" pulumi-lang-java=\"`hobbyist`\"\u003e`hobbyist`\u003c/span\u003e, `startup-x`, `business-x` and `premium-x` where \u003cspan pulumi-lang-nodejs=\"`x`\" pulumi-lang-dotnet=\"`X`\" pulumi-lang-go=\"`x`\" pulumi-lang-python=\"`x`\" pulumi-lang-yaml=\"`x`\" pulumi-lang-java=\"`x`\"\u003e`x`\u003c/span\u003e is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seen from the [Aiven pricing page](https://aiven.io/pricing).\n","type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"projectVpcId":{"description":"Specifies the VPC the service should run in. If the value is not set, the service runs on the Public Internet. When set, the value should be given as a reference to set up dependencies correctly, and the VPC must be in the same cloud and region as the service itself. The service can be freely moved to and from VPC after creation, but doing so triggers migration to new servers, so the operation can take a significant amount of time to complete if the service has a lot of data.\n","type":"string"},"serviceHost":{"description":"The hostname of the service.\n","type":"string"},"serviceIntegrations":{"description":"Service integrations to specify when creating a service. Not applied after initial service creation\n","items":{"$ref":"#/types/aiven:index/getValkeyServiceIntegration:getValkeyServiceIntegration"},"type":"array"},"serviceName":{"description":"Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.\n","type":"string"},"servicePassword":{"description":"Password used for connecting to the service, if applicable\n","secret":true,"type":"string"},"servicePort":{"description":"The port of the service\n","type":"integer"},"serviceType":{"description":"Aiven internal service type code\n","type":"string"},"serviceUri":{"description":"URI for connecting to the service. Service specific info is under \"kafka\", \"pg\", etc.\n","secret":true,"type":"string"},"serviceUsername":{"description":"Username used for connecting to the service, if applicable\n","type":"string"},"state":{"description":"Service state. Possible values are `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`. Services cannot be powered on or off with Terraform. To power a service on or off, [use the Aiven Console or Aiven CLI](https://aiven.io/docs/platform/concepts/service-power-cycle).\n","type":"string"},"staticIps":{"description":"Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again\n","items":{"type":"string"},"type":"array"},"tags":{"description":"Tags are key-value pairs that allow you to categorize services.\n","items":{"$ref":"#/types/aiven:index/getValkeyTag:getValkeyTag"},"type":"array"},"techEmails":{"description":"The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.\n","items":{"$ref":"#/types/aiven:index/getValkeyTechEmail:getValkeyTechEmail"},"type":"array"},"terminationProtection":{"description":"Prevents the service from being deleted. It is recommended to set this to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.\n","type":"boolean"},"valkeyUserConfigs":{"description":"Valkey user configurable settings. **Warning:** There's no way to reset advanced configuration options to default. Options that you add cannot be removed later\n","items":{"$ref":"#/types/aiven:index/getValkeyValkeyUserConfig:getValkeyValkeyUserConfig"},"type":"array"},"valkeys":{"description":"Valkey server provided values\n","items":{"$ref":"#/types/aiven:index/getValkeyValkey:getValkeyValkey"},"secret":true,"type":"array"}},"required":["additionalDiskSpace","cloudName","components","diskSpace","diskSpaceCap","diskSpaceDefault","diskSpaceStep","diskSpaceUsed","maintenanceWindowDow","maintenanceWindowEnabled","maintenanceWindowTime","plan","project","projectVpcId","serviceHost","serviceIntegrations","serviceName","servicePassword","servicePort","serviceType","serviceUri","serviceUsername","state","staticIps","tags","techEmails","terminationProtection","valkeys","valkeyUserConfigs","id"],"type":"object"}},"aiven:index/getValkeyUser:getValkeyUser":{"description":"The Valkey User data source provides information about the existing Aiven for Valkey user.\n","inputs":{"description":"A collection of arguments for invoking getValkeyUser.\n","properties":{"project":{"type":"string","description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"serviceName":{"type":"string","description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"},"username":{"type":"string","description":"Name of the Valkey service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n"}},"type":"object","required":["project","serviceName","username"]},"outputs":{"description":"A collection of values returned by getValkeyUser.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"password":{"description":"The password of the service user (auto-generated if not provided). Must be 8-256 characters if specified.\n","secret":true,"type":"string"},"project":{"description":"The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"serviceName":{"description":"The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"type":{"description":"User account type, such as primary or regular account.\n","type":"string"},"username":{"description":"Name of the Valkey service user. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.\n","type":"string"},"valkeyAclCategories":{"description":"Allow or disallow command categories. To allow a category use the prefix `+@` and to disallow use `-@`. See the [Valkey documentation](https://valkey.io/topics/acl/) for details on the ACL feature. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCommands`\" pulumi-lang-dotnet=\"`ValkeyAclCommands`\" pulumi-lang-go=\"`valkeyAclCommands`\" pulumi-lang-python=\"`valkey_acl_commands`\" pulumi-lang-yaml=\"`valkeyAclCommands`\" pulumi-lang-java=\"`valkeyAclCommands`\"\u003e`valkey_acl_commands`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"},"valkeyAclChannels":{"description":"Allows and disallows access to pub/sub channels. Entries are defined as standard glob patterns.\n","items":{"type":"string"},"type":"array"},"valkeyAclCommands":{"description":"Defines rules for individual commands. To allow a command use the prefix `+` and to disallow use `-`. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"},"valkeyAclKeys":{"description":"Key access rules. Entries are defined as standard glob patterns. The field is required with \u003cspan pulumi-lang-nodejs=\"`valkeyAclCategories`\" pulumi-lang-dotnet=\"`ValkeyAclCategories`\" pulumi-lang-go=\"`valkeyAclCategories`\" pulumi-lang-python=\"`valkey_acl_categories`\" pulumi-lang-yaml=\"`valkeyAclCategories`\" pulumi-lang-java=\"`valkeyAclCategories`\"\u003e`valkey_acl_categories`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`valkeyAclKeys`\" pulumi-lang-dotnet=\"`ValkeyAclKeys`\" pulumi-lang-go=\"`valkeyAclKeys`\" pulumi-lang-python=\"`valkey_acl_keys`\" pulumi-lang-yaml=\"`valkeyAclKeys`\" pulumi-lang-java=\"`valkeyAclKeys`\"\u003e`valkey_acl_keys`\u003c/span\u003e.\n","items":{"type":"string"},"type":"array"}},"required":["password","project","serviceName","type","username","valkeyAclCategories","valkeyAclChannels","valkeyAclCommands","valkeyAclKeys","id"],"type":"object"}},"pulumi:providers:aiven/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:aiven/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}