import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config } from "../../common.k8s.elastic.co/v1/Config.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource } from "../../common.k8s.elastic.co/v1/ConfigSource.js"; import { IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DaemonSetSpec } from "./DaemonSetSpec.js"; import { IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DeploymentSpec } from "./DeploymentSpec.js"; import { IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1Output } from "./Output.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector } from "../../common.k8s.elastic.co/v1/ObjectSelector.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1HTTPConfig } from "../../common.k8s.elastic.co/v1/HTTPConfig.js"; import { IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1AgentMode } from "./AgentMode.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1SecretSource } from "../../common.k8s.elastic.co/v1/SecretSource.js"; import { IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1StatefulSetSpec } from "./StatefulSetSpec.js"; import { ModelData, Model } from "@kubernetes-models/base"; /** * AgentSpec defines the desired state of the Agent */ export interface IAgentSpec { /** * Config holds the Agent configuration. At most one of [`Config`, `ConfigRef`] can be specified. */ "config"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config; /** * ConfigRef contains a reference to an existing Kubernetes Secret holding the Agent configuration. * Agent settings must be specified as yaml, under a single "agent.yml" entry. At most one of [`Config`, `ConfigRef`] * can be specified. */ "configRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource; /** * DaemonSet specifies the Agent should be deployed as a DaemonSet, and allows providing its spec. * Cannot be used along with `deployment` or `statefulSet`. */ "daemonSet"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DaemonSetSpec; /** * Deployment specifies the Agent should be deployed as a Deployment, and allows providing its spec. * Cannot be used along with `daemonSet` or `statefulSet`. */ "deployment"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DeploymentSpec; /** * ElasticsearchRefs is a reference to a list of Elasticsearch clusters running in the same Kubernetes cluster. * Due to existing limitations, only a single ES cluster is currently supported. */ "elasticsearchRefs"?: Array; /** * FleetServerEnabled determines whether this Agent will launch Fleet Server. Don't set unless `mode` is set to `fleet`. */ "fleetServerEnabled"?: boolean; /** * FleetServerRef is a reference to Fleet Server that this Agent should connect to to obtain it's configuration. * Don't set unless `mode` is set to `fleet`. * References to Fleet servers running outside the Kubernetes cluster via the `secretName` attribute are not supported. */ "fleetServerRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; /** * HTTP holds the HTTP layer configuration for the Agent in Fleet mode with Fleet Server enabled. */ "http"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1HTTPConfig; /** * Image is the Agent Docker image to deploy. Version has to match the Agent in the image. */ "image"?: string; /** * KibanaRef is a reference to Kibana where Fleet should be set up and this Agent should be enrolled. Don't set * unless `mode` is set to `fleet`. */ "kibanaRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; /** * Mode specifies the runtime mode for the Agent. The configuration can be specified locally through * `config` or `configRef` (`standalone` mode), or come from Fleet during runtime (`fleet` mode). Starting with * version 8.13.0 Fleet-managed agents support advanced configuration via a local configuration file. * See https://www.elastic.co/docs/reference/fleet/advanced-kubernetes-managed-by-fleet * Defaults to `standalone` mode. */ "mode"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1AgentMode; /** * PolicyID determines into which Agent Policy this Agent will be enrolled. * This field will become mandatory in a future release, default policies are deprecated since 8.1.0. */ "policyID"?: string; /** * RevisionHistoryLimit is the number of revisions to retain to allow rollback in the underlying DaemonSet or Deployment or StatefulSet. */ "revisionHistoryLimit"?: number; /** * SecureSettings is a list of references to Kubernetes Secrets containing sensitive configuration options for the Agent. * Secrets data can be then referenced in the Agent 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 an Elasticsearch resource in a different namespace. * Can only be used if ECK is enforcing RBAC on references. */ "serviceAccountName"?: string; /** * StatefulSet specifies the Agent should be deployed as a StatefulSet, and allows providing its spec. * Cannot be used along with `daemonSet` or `deployment`. */ "statefulSet"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1StatefulSetSpec; /** * Version of the Agent. */ "version": string; } /** * AgentSpec defines the desired state of the Agent */ export declare class AgentSpec extends Model implements IAgentSpec { "config"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1Config; "configRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigSource; "daemonSet"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DaemonSetSpec; "deployment"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1DeploymentSpec; "elasticsearchRefs"?: Array; "fleetServerEnabled"?: boolean; "fleetServerRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; "http"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1HTTPConfig; "image"?: string; "kibanaRef"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ObjectSelector; "mode"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1AgentMode; "policyID"?: string; "revisionHistoryLimit"?: number; "secureSettings"?: Array; "serviceAccountName"?: string; "statefulSet"?: IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1StatefulSetSpec; "version": string; constructor(data?: ModelData); } export type { IAgentSpec as IComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1AgentSpec, AgentSpec as ComGithubElasticCloudOnK8sV3PkgApisAgentV1alpha1AgentSpec };