// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../types"; export interface ElasticsearchClusterSettingsElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchClusterSettingsPersistent { /** * Defines the setting in the cluster. */ settings: pulumi.Input[]>; } export interface ElasticsearchClusterSettingsPersistentSetting { name: pulumi.Input; value?: pulumi.Input; valueLists?: pulumi.Input[]>; } export interface ElasticsearchClusterSettingsTransient { /** * Defines the setting in the cluster. */ settings: pulumi.Input[]>; } export interface ElasticsearchClusterSettingsTransientSetting { name: pulumi.Input; value?: pulumi.Input; valueLists?: pulumi.Input[]>; } export interface ElasticsearchComponentTemplateElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchComponentTemplateTemplate { /** * Alias to add. */ aliases?: pulumi.Input[]>; /** * Mapping for fields in the index. */ mappings?: pulumi.Input; /** * Configuration options for the index. See, https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#index-modules-settings */ settings?: pulumi.Input; } export interface ElasticsearchComponentTemplateTemplateAlias { filter?: pulumi.Input; indexRouting?: pulumi.Input; isHidden?: pulumi.Input; isWriteIndex?: pulumi.Input; /** * Name of the component template to create. */ name: pulumi.Input; routing?: pulumi.Input; searchRouting?: pulumi.Input; } export interface ElasticsearchDataStreamElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchDataStreamIndex { indexName?: pulumi.Input; indexUuid?: pulumi.Input; } export interface ElasticsearchIndexAlias { /** * Query used to limit documents the alias can access. */ filter?: pulumi.Input; /** * Value used to route indexing operations to a specific shard. If specified, this overwrites the `routing` value for indexing operations. */ indexRouting?: pulumi.Input; /** * If true, the alias is hidden. */ isHidden?: pulumi.Input; /** * If true, the index is the write index for the alias. */ isWriteIndex?: pulumi.Input; /** * Index alias name. */ name: pulumi.Input; /** * Value used to route indexing and search operations to a specific shard. */ routing?: pulumi.Input; /** * Value used to route search operations to a specific shard. If specified, this overwrites the routing value for search operations. */ searchRouting?: pulumi.Input; } export interface ElasticsearchIndexElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchIndexLifecycleCold { /** * Updates the index settings to change which nodes are allowed to host the index shards and change the number of replicas. */ allocate?: pulumi.Input; /** * Freeze the index to minimize its memory footprint. */ freeze?: pulumi.Input; /** * Moves the index to the data tier that corresponds to the current phase by updating the "index.routing.allocation.include.*tier*preference" index setting. */ migrate?: pulumi.Input; /** * ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase. */ minAge?: pulumi.Input; /** * Makes the index read-only. */ readonly?: pulumi.Input; /** * Takes a snapshot of the managed index in the configured repository and mounts it as a searchable snapshot. */ searchableSnapshot?: pulumi.Input; /** * Sets a source index to read-only and shrinks it into a new index with fewer primary shards. */ setPriority?: pulumi.Input; /** * Convert a follower index to a regular index. Performed automatically before a rollover, shrink, or searchable snapshot action. */ unfollow?: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdAllocate { exclude?: pulumi.Input; include?: pulumi.Input; numberOfReplicas?: pulumi.Input; require?: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdFreeze { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdMigrate { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdReadonly { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdSearchableSnapshot { forceMergeIndex?: pulumi.Input; snapshotRepository: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdSetPriority { priority: pulumi.Input; } export interface ElasticsearchIndexLifecycleColdUnfollow { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleDelete { /** * Permanently removes the index. */ delete?: pulumi.Input; /** * ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase. */ minAge?: pulumi.Input; /** * Waits for the specified SLM policy to be executed before removing the index. This ensures that a snapshot of the deleted index is available. */ waitForSnapshot?: pulumi.Input; } export interface ElasticsearchIndexLifecycleDeleteDelete { deleteSearchableSnapshot?: pulumi.Input; } export interface ElasticsearchIndexLifecycleDeleteWaitForSnapshot { policy: pulumi.Input; } export interface ElasticsearchIndexLifecycleElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchIndexLifecycleFrozen { /** * ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase. */ minAge?: pulumi.Input; /** * Takes a snapshot of the managed index in the configured repository and mounts it as a searchable snapshot. */ searchableSnapshot?: pulumi.Input; } export interface ElasticsearchIndexLifecycleFrozenSearchableSnapshot { forceMergeIndex?: pulumi.Input; snapshotRepository: pulumi.Input; } export interface ElasticsearchIndexLifecycleHot { /** * Force merges the index into the specified maximum number of segments. This action makes the index read-only. */ forcemerge?: pulumi.Input; /** * ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase. */ minAge?: pulumi.Input; /** * Makes the index read-only. */ readonly?: pulumi.Input; /** * Rolls over a target to a new index when the existing index meets one or more of the rollover conditions. */ rollover?: pulumi.Input; /** * Takes a snapshot of the managed index in the configured repository and mounts it as a searchable snapshot. */ searchableSnapshot?: pulumi.Input; /** * Sets a source index to read-only and shrinks it into a new index with fewer primary shards. */ setPriority?: pulumi.Input; /** * Sets a source index to read-only and shrinks it into a new index with fewer primary shards. */ shrink?: pulumi.Input; /** * Convert a follower index to a regular index. Performed automatically before a rollover, shrink, or searchable snapshot action. */ unfollow?: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotForcemerge { indexCodec?: pulumi.Input; maxNumSegments: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotReadonly { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotRollover { maxAge?: pulumi.Input; maxDocs?: pulumi.Input; maxPrimaryShardSize?: pulumi.Input; maxSize?: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotSearchableSnapshot { forceMergeIndex?: pulumi.Input; snapshotRepository: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotSetPriority { priority: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotShrink { maxPrimaryShardSize?: pulumi.Input; numberOfShards?: pulumi.Input; } export interface ElasticsearchIndexLifecycleHotUnfollow { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarm { /** * Updates the index settings to change which nodes are allowed to host the index shards and change the number of replicas. */ allocate?: pulumi.Input; /** * Force merges the index into the specified maximum number of segments. This action makes the index read-only. */ forcemerge?: pulumi.Input; /** * Moves the index to the data tier that corresponds to the current phase by updating the "index.routing.allocation.include.*tier*preference" index setting. */ migrate?: pulumi.Input; /** * ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase. */ minAge?: pulumi.Input; /** * Makes the index read-only. */ readonly?: pulumi.Input; /** * Sets a source index to read-only and shrinks it into a new index with fewer primary shards. */ setPriority?: pulumi.Input; /** * Sets a source index to read-only and shrinks it into a new index with fewer primary shards. */ shrink?: pulumi.Input; /** * Convert a follower index to a regular index. Performed automatically before a rollover, shrink, or searchable snapshot action. */ unfollow?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmAllocate { exclude?: pulumi.Input; include?: pulumi.Input; numberOfReplicas?: pulumi.Input; require?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmForcemerge { indexCodec?: pulumi.Input; maxNumSegments: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmMigrate { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmReadonly { enabled?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmSetPriority { priority: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmShrink { maxPrimaryShardSize?: pulumi.Input; numberOfShards?: pulumi.Input; } export interface ElasticsearchIndexLifecycleWarmUnfollow { enabled?: pulumi.Input; } export interface ElasticsearchIndexSettings { /** * Defines the setting for the index. */ settings: pulumi.Input[]>; } export interface ElasticsearchIndexSettingsSetting { /** * Name of the index you wish to create. */ name: pulumi.Input; value: pulumi.Input; } export interface ElasticsearchIndexTemplateDataStream { /** * If true, the data stream is hidden. */ hidden?: pulumi.Input; } export interface ElasticsearchIndexTemplateElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchIndexTemplateTemplate { /** * Alias to add. */ aliases?: pulumi.Input[]>; /** * Mapping for fields in the index. */ mappings?: pulumi.Input; /** * Configuration options for the index. See, https://www.elastic.co/guide/en/elasticsearch/reference/current/index-modules.html#index-modules-settings */ settings?: pulumi.Input; } export interface ElasticsearchIndexTemplateTemplateAlias { filter?: pulumi.Input; indexRouting?: pulumi.Input; isHidden?: pulumi.Input; isWriteIndex?: pulumi.Input; /** * Name of the index template to create. */ name: pulumi.Input; routing?: pulumi.Input; searchRouting?: pulumi.Input; } export interface ElasticsearchIngestPipelineElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchSecurityRoleApplication { /** * The name of the application to which this entry applies. */ application: pulumi.Input; /** * A list of strings, where each element is the name of an application privilege or action. */ privileges: pulumi.Input[]>; /** * A list resources to which the privileges are applied. */ resources: pulumi.Input[]>; } export interface ElasticsearchSecurityRoleElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchSecurityRoleIndex { /** * The document fields that the owners of the role have read access to. */ fieldSecurity?: pulumi.Input; /** * A list of indices (or index name patterns) to which the permissions in this entry apply. */ names: pulumi.Input[]>; /** * The index level privileges that the owners of the role have on the specified indices. */ privileges: pulumi.Input[]>; /** * A search query that defines the documents the owners of the role have read access to. */ query?: pulumi.Input; } export interface ElasticsearchSecurityRoleIndexFieldSecurity { excepts?: pulumi.Input[]>; grants?: pulumi.Input[]>; } export interface ElasticsearchSecurityUserElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchSnapshotLifecycleElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryAzure { /** * Specifies the path within the container to the repository data. */ basePath?: pulumi.Input; /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * Azure named client to use. */ client?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Container name. You must create the Azure container before creating the repository. */ container: pulumi.Input; /** * Location mode. `primaryOnly` or `secondaryOnly`. See: https://docs.microsoft.com/en-us/azure/storage/common/storage-redundancy */ locationMode?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryElasticsearchConnection { /** * Path to a custom Certificate Authority certificate */ caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; /** * Disable TLS certificate validation */ insecure?: pulumi.Input; /** * A password to use for API authentication to Elasticsearch. */ password?: pulumi.Input; /** * A username to use for API authentication to Elasticsearch. */ username?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryFs { /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Location of the shared filesystem used to store and retrieve snapshots. */ location: pulumi.Input; /** * Maximum number of snapshots the repository can contain. */ maxNumberOfSnapshots?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryGcs { /** * Specifies the path within the bucket to the repository data. Defaults to the root of the bucket. */ basePath?: pulumi.Input; /** * The name of the bucket to be used for snapshots. */ bucket: pulumi.Input; /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * The name of the client to use to connect to Google Cloud Storage. */ client?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryHdfs { /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Whether to load the default Hadoop configuration or not. */ loadDefaults?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * The file path within the filesystem where data is stored/loaded. */ path: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; /** * The uri address for hdfs. ex: "hdfs://\n\n:\n\n/". */ uri: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryS3 { /** * Specifies the path to the repository data within its bucket. */ basePath?: pulumi.Input; /** * Name of the S3 bucket to use for snapshots. */ bucket: pulumi.Input; /** * Minimum threshold below which the chunk is uploaded using a single request. */ bufferSize?: pulumi.Input; /** * The S3 repository supports all S3 canned ACLs. */ cannedAcl?: pulumi.Input; /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * The name of the S3 client to use to connect to S3. */ client?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; /** * When true, files are encrypted server-side using AES-256 algorithm. */ serverSideEncryption?: pulumi.Input; /** * Sets the S3 storage class for objects stored in the snapshot repository. */ storageClass?: pulumi.Input; } export interface ElasticsearchSnapshotRepositoryUrl { /** * Maximum size of files in snapshots. */ chunkSize?: pulumi.Input; /** * If true, metadata files, such as index mappings and settings, are compressed in snapshots. */ compress?: pulumi.Input; /** * Maximum number of retries for http and https URLs. */ httpMaxRetries?: pulumi.Input; /** * Maximum wait time for data transfers over a connection. */ httpSocketTimeout?: pulumi.Input; /** * Maximum number of snapshots the repository can contain. */ maxNumberOfSnapshots?: pulumi.Input; /** * Maximum snapshot restore rate per node. */ maxRestoreBytesPerSec?: pulumi.Input; /** * Maximum snapshot creation rate per node. */ maxSnapshotBytesPerSec?: pulumi.Input; /** * If true, the repository is read-only. */ readonly?: pulumi.Input; /** * URL location of the root of the shared filesystem repository. */ url: pulumi.Input; } export interface ProviderElasticsearch { caFile?: pulumi.Input; endpoints?: pulumi.Input[]>; insecure?: pulumi.Input; password?: pulumi.Input; username?: pulumi.Input; } export namespace config { }