import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1SecretRef } from "../../common.k8s.elastic.co/v1/SecretRef.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigMapRef } from "../../common.k8s.elastic.co/v1/ConfigMapRef.js"; import { IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1SelfSignedTransportCertificates } from "./SelfSignedTransportCertificates.js"; import { IComGithubElasticCloudOnK8sV3PkgApisCommonV1SubjectAlternativeName } from "../../common.k8s.elastic.co/v1/SubjectAlternativeName.js"; import { ModelData, Model } from "@kubernetes-models/base"; export interface ITransportTLSOptions { /** * Certificate is a reference to a Kubernetes secret that contains the CA certificate * and private key for generating node certificates. * The referenced secret should contain the following: * * - `ca.crt`: The CA certificate in PEM format. * - `ca.key`: The private key for the CA certificate in PEM format. */ "certificate"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1SecretRef; /** * CertificateAuthorities is a reference to a config map that contains one or more x509 certificates for * trusted authorities in PEM format. The certificates need to be in a file called `ca.crt`. */ "certificateAuthorities"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigMapRef; /** * OtherNameSuffix when defined will be prefixed with the Pod name and used as the common name, * and the first DNSName, as well as an OtherName required by Elasticsearch in the Subject Alternative Name * extension of each Elasticsearch node's transport TLS certificate. * Example: if set to "node.cluster.local", the generated certificate will have its otherName set to ".node.cluster.local". */ "otherNameSuffix"?: string; /** * SelfSignedCertificates allows configuring the self-signed certificate generated by the operator. */ "selfSignedCertificates"?: IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1SelfSignedTransportCertificates; /** * SubjectAlternativeNames is a list of SANs to include in the generated node transport TLS certificates. */ "subjectAltNames"?: Array; } export declare class TransportTLSOptions extends Model implements ITransportTLSOptions { "certificate"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1SecretRef; "certificateAuthorities"?: IComGithubElasticCloudOnK8sV3PkgApisCommonV1ConfigMapRef; "otherNameSuffix"?: string; "selfSignedCertificates"?: IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1SelfSignedTransportCertificates; "subjectAltNames"?: Array; constructor(data?: ModelData); } export type { ITransportTLSOptions as IComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1TransportTLSOptions, TransportTLSOptions as ComGithubElasticCloudOnK8sV3PkgApisElasticsearchV1TransportTLSOptions };