import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config } from "../../common.k8s.elastic.co/v1/Config.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource } from "../../common.k8s.elastic.co/v1/ConfigSource.js"; import { IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DaemonSetSpec } from "./DaemonSetSpec.js"; import { IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DeploymentSpec } from "./DeploymentSpec.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector } from "../../common.k8s.elastic.co/v1/ObjectSelector.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1Monitoring } from "../../common.k8s.elastic.co/v1/Monitoring.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1SecretSource } from "../../common.k8s.elastic.co/v1/SecretSource.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * BeatSpec defines the desired state of a Beat. */ export interface IBeatSpec { /** * Config holds the Beat configuration. At most one of [`Config`, `ConfigRef`] can be specified. */ "config"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config; /** * ConfigRef contains a reference to an existing Kubernetes Secret holding the Beat configuration. * Beat settings must be specified as yaml, under a single "beat.yml" entry. At most one of [`Config`, `ConfigRef`] * can be specified. */ "configRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource; /** * DaemonSet specifies the Beat should be deployed as a DaemonSet, and allows providing its spec. * Cannot be used along with `deployment`. If both are absent a default for the Type is used. */ "daemonSet"?: IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DaemonSetSpec; /** * Deployment specifies the Beat should be deployed as a Deployment, and allows providing its spec. * Cannot be used along with `daemonSet`. If both are absent a default for the Type is used. */ "deployment"?: IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DeploymentSpec; /** * ElasticsearchRef is a reference to an Elasticsearch cluster running in the same Kubernetes cluster. */ "elasticsearchRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; /** * Image is the Beat Docker image to deploy. Version and Type have to match the Beat in the image. */ "image"?: string; /** * KibanaRef is a reference to a Kibana instance running in the same Kubernetes cluster. * It allows automatic setup of dashboards and visualizations. */ "kibanaRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; /** * Monitoring enables you to collect and ship logs and metrics for this Beat. * Metricbeat and/or Filebeat sidecars are configured and send monitoring data to an * Elasticsearch monitoring cluster running in the same Kubernetes cluster. */ "monitoring"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Monitoring; /** * RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment. */ "revisionHistoryLimit"?: number; /** * SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Beat. * Secrets data can be then referenced in the Beat config using the Secret's keys or as specified in `Entries` field of * each SecureSetting. */ "secureSettings"?: Array; /** * ServiceAccountName is used to check access from the current resource to Elasticsearch resource in a different namespace. * Can only be used if ECK is enforcing RBAC on references. */ "serviceAccountName"?: string; /** * Type is the type of the Beat to deploy (filebeat, metricbeat, heartbeat, auditbeat, journalbeat, packetbeat, and so on). * Any string can be used, but well-known types will have the image field defaulted and have the appropriate * Elasticsearch roles created automatically. It also allows for dashboard setup when combined with a `KibanaRef`. */ "type": string; /** * Version of the Beat. */ "version": string; } /** * BeatSpec defines the desired state of a Beat. */ export declare class BeatSpec extends Model implements IBeatSpec { "config"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config; "configRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource; "daemonSet"?: IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DaemonSetSpec; "deployment"?: IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1DeploymentSpec; "elasticsearchRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; "image"?: string; "kibanaRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; "monitoring"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Monitoring; "revisionHistoryLimit"?: number; "secureSettings"?: Array; "serviceAccountName"?: string; "type": string; "version": string; constructor(data?: ModelData); } export type { IBeatSpec as IComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1BeatSpec, BeatSpec as ComGithubElasticCloudOnK8sV3PkgApisBeatV1beta1BeatSpec };