import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1HTTPConfig } from "../../common.k8s.elastic.co/v1beta1/HTTPConfig.js"; import { IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1NodeSet } from "./NodeSet.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1PodDisruptionBudgetTemplate } from "../../common.k8s.elastic.co/v1beta1/PodDisruptionBudgetTemplate.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1SecretSource } from "../../common.k8s.elastic.co/v1beta1/SecretSource.js"; import { IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1UpdateStrategy } from "./UpdateStrategy.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * ElasticsearchSpec holds the specification of an Elasticsearch cluster. */ export interface IElasticsearchSpec { /** * HTTP holds HTTP layer settings for Elasticsearch. */ "http"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1HTTPConfig; /** * Image is the Elasticsearch Docker image to deploy. */ "image"?: string; /** * NodeSets allow specifying groups of Elasticsearch nodes sharing the same configuration and Pod templates. */ "nodeSets": Array; /** * PodDisruptionBudget provides access to the default pod disruption budget for the Elasticsearch cluster. * The default budget selects all cluster pods and sets `maxUnavailable` to 1. To disable, set `PodDisruptionBudget` * to the empty value (`{}` in YAML). */ "podDisruptionBudget"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1PodDisruptionBudgetTemplate; /** * SecureSettings is a list of references to Kubernetes secrets containing sensitive configuration options for Elasticsearch. */ "secureSettings"?: Array; /** * UpdateStrategy specifies how updates to the cluster should be performed. */ "updateStrategy"?: IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1UpdateStrategy; /** * Version of Elasticsearch. */ "version"?: string; } /** * ElasticsearchSpec holds the specification of an Elasticsearch cluster. */ export declare class ElasticsearchSpec extends Model implements IElasticsearchSpec { "http"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1HTTPConfig; "image"?: string; "nodeSets": Array; "podDisruptionBudget"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1beta1PodDisruptionBudgetTemplate; "secureSettings"?: Array; "updateStrategy"?: IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1UpdateStrategy; "version"?: string; constructor(data?: ModelData); } export type { IElasticsearchSpec as IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1ElasticsearchSpec, ElasticsearchSpec as ComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1beta1ElasticsearchSpec };