@cdktf/provider-kubernetes
Version:
Prebuilt kubernetes Provider for Terraform CDK (cdktf)
283 lines (282 loc) • 13.6 kB
TypeScript
/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
import { Construct } from 'constructs';
import * as cdktf from 'cdktf';
export interface KubernetesProviderConfig {
/**
* PEM-encoded client certificate for TLS authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#client_certificate KubernetesProvider#client_certificate}
*/
readonly clientCertificate?: string;
/**
* PEM-encoded client certificate key for TLS authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#client_key KubernetesProvider#client_key}
*/
readonly clientKey?: string;
/**
* PEM-encoded root certificates bundle for TLS authentication.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#cluster_ca_certificate KubernetesProvider#cluster_ca_certificate}
*/
readonly clusterCaCertificate?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#config_context KubernetesProvider#config_context}
*/
readonly configContext?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#config_context_auth_info KubernetesProvider#config_context_auth_info}
*/
readonly configContextAuthInfo?: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#config_context_cluster KubernetesProvider#config_context_cluster}
*/
readonly configContextCluster?: string;
/**
* Path to the kube config file. Can be set with KUBE_CONFIG_PATH.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#config_path KubernetesProvider#config_path}
*/
readonly configPath?: string;
/**
* A list of paths to kube config files. Can be set with KUBE_CONFIG_PATHS environment variable.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#config_paths KubernetesProvider#config_paths}
*/
readonly configPaths?: string[];
/**
* The hostname (in form of URI) of Kubernetes master.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#host KubernetesProvider#host}
*/
readonly host?: string;
/**
* List of Kubernetes metadata annotations to ignore across all resources handled by this provider for situations where external systems are managing certain resource annotations. Each item is a regular expression.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#ignore_annotations KubernetesProvider#ignore_annotations}
*/
readonly ignoreAnnotations?: string[];
/**
* List of Kubernetes metadata labels to ignore across all resources handled by this provider for situations where external systems are managing certain resource labels. Each item is a regular expression.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#ignore_labels KubernetesProvider#ignore_labels}
*/
readonly ignoreLabels?: string[];
/**
* Whether server should be accessed without verifying the TLS certificate.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#insecure KubernetesProvider#insecure}
*/
readonly insecure?: boolean | cdktf.IResolvable;
/**
* The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#password KubernetesProvider#password}
*/
readonly password?: string;
/**
* URL to the proxy to be used for all API requests
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#proxy_url KubernetesProvider#proxy_url}
*/
readonly proxyUrl?: string;
/**
* Server name passed to the server for SNI and is used in the client to check server certificates against.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#tls_server_name KubernetesProvider#tls_server_name}
*/
readonly tlsServerName?: string;
/**
* Token to authenticate an service account
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#token KubernetesProvider#token}
*/
readonly token?: string;
/**
* The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#username KubernetesProvider#username}
*/
readonly username?: string;
/**
* Alias name
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#alias KubernetesProvider#alias}
*/
readonly alias?: string;
/**
* exec block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#exec KubernetesProvider#exec}
*/
readonly exec?: KubernetesProviderExec[] | cdktf.IResolvable;
/**
* experiments block
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#experiments KubernetesProvider#experiments}
*/
readonly experiments?: KubernetesProviderExperiments[] | cdktf.IResolvable;
}
export interface KubernetesProviderExec {
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#api_version KubernetesProvider#api_version}
*/
readonly apiVersion: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#args KubernetesProvider#args}
*/
readonly args?: string[];
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#command KubernetesProvider#command}
*/
readonly command: string;
/**
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#env KubernetesProvider#env}
*/
readonly env?: {
[key: string]: string;
};
}
export declare function kubernetesProviderExecToTerraform(struct?: KubernetesProviderExec | cdktf.IResolvable): any;
export declare function kubernetesProviderExecToHclTerraform(struct?: KubernetesProviderExec | cdktf.IResolvable): any;
export interface KubernetesProviderExperiments {
/**
* Enable the `kubernetes_manifest` resource.
*
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#manifest_resource KubernetesProvider#manifest_resource}
*/
readonly manifestResource?: boolean | cdktf.IResolvable;
}
export declare function kubernetesProviderExperimentsToTerraform(struct?: KubernetesProviderExperiments | cdktf.IResolvable): any;
export declare function kubernetesProviderExperimentsToHclTerraform(struct?: KubernetesProviderExperiments | cdktf.IResolvable): any;
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs kubernetes}
*/
export declare class KubernetesProvider extends cdktf.TerraformProvider {
static readonly tfResourceType = "kubernetes";
/**
* Generates CDKTF code for importing a KubernetesProvider resource upon running "cdktf plan <stack-name>"
* @param scope The scope in which to define this construct
* @param importToId The construct id used in the generated config for the KubernetesProvider to import
* @param importFromId The id of the existing KubernetesProvider that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the KubernetesProvider to import is found
*/
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): cdktf.ImportableResource;
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs kubernetes} Resource
*
* @param scope The scope in which to define this construct
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
* @param options KubernetesProviderConfig = {}
*/
constructor(scope: Construct, id: string, config?: KubernetesProviderConfig);
private _clientCertificate?;
get clientCertificate(): string | undefined;
set clientCertificate(value: string | undefined);
resetClientCertificate(): void;
get clientCertificateInput(): string | undefined;
private _clientKey?;
get clientKey(): string | undefined;
set clientKey(value: string | undefined);
resetClientKey(): void;
get clientKeyInput(): string | undefined;
private _clusterCaCertificate?;
get clusterCaCertificate(): string | undefined;
set clusterCaCertificate(value: string | undefined);
resetClusterCaCertificate(): void;
get clusterCaCertificateInput(): string | undefined;
private _configContext?;
get configContext(): string | undefined;
set configContext(value: string | undefined);
resetConfigContext(): void;
get configContextInput(): string | undefined;
private _configContextAuthInfo?;
get configContextAuthInfo(): string | undefined;
set configContextAuthInfo(value: string | undefined);
resetConfigContextAuthInfo(): void;
get configContextAuthInfoInput(): string | undefined;
private _configContextCluster?;
get configContextCluster(): string | undefined;
set configContextCluster(value: string | undefined);
resetConfigContextCluster(): void;
get configContextClusterInput(): string | undefined;
private _configPath?;
get configPath(): string | undefined;
set configPath(value: string | undefined);
resetConfigPath(): void;
get configPathInput(): string | undefined;
private _configPaths?;
get configPaths(): string[] | undefined;
set configPaths(value: string[] | undefined);
resetConfigPaths(): void;
get configPathsInput(): string[] | undefined;
private _host?;
get host(): string | undefined;
set host(value: string | undefined);
resetHost(): void;
get hostInput(): string | undefined;
private _ignoreAnnotations?;
get ignoreAnnotations(): string[] | undefined;
set ignoreAnnotations(value: string[] | undefined);
resetIgnoreAnnotations(): void;
get ignoreAnnotationsInput(): string[] | undefined;
private _ignoreLabels?;
get ignoreLabels(): string[] | undefined;
set ignoreLabels(value: string[] | undefined);
resetIgnoreLabels(): void;
get ignoreLabelsInput(): string[] | undefined;
private _insecure?;
get insecure(): boolean | cdktf.IResolvable | undefined;
set insecure(value: boolean | cdktf.IResolvable | undefined);
resetInsecure(): void;
get insecureInput(): boolean | cdktf.IResolvable | undefined;
private _password?;
get password(): string | undefined;
set password(value: string | undefined);
resetPassword(): void;
get passwordInput(): string | undefined;
private _proxyUrl?;
get proxyUrl(): string | undefined;
set proxyUrl(value: string | undefined);
resetProxyUrl(): void;
get proxyUrlInput(): string | undefined;
private _tlsServerName?;
get tlsServerName(): string | undefined;
set tlsServerName(value: string | undefined);
resetTlsServerName(): void;
get tlsServerNameInput(): string | undefined;
private _token?;
get token(): string | undefined;
set token(value: string | undefined);
resetToken(): void;
get tokenInput(): string | undefined;
private _username?;
get username(): string | undefined;
set username(value: string | undefined);
resetUsername(): void;
get usernameInput(): string | undefined;
private _alias?;
get alias(): string | undefined;
set alias(value: string | undefined);
resetAlias(): void;
get aliasInput(): string | undefined;
private _exec?;
get exec(): KubernetesProviderExec[] | cdktf.IResolvable | undefined;
set exec(value: KubernetesProviderExec[] | cdktf.IResolvable | undefined);
resetExec(): void;
get execInput(): cdktf.IResolvable | KubernetesProviderExec[] | undefined;
private _experiments?;
get experiments(): KubernetesProviderExperiments[] | cdktf.IResolvable | undefined;
set experiments(value: KubernetesProviderExperiments[] | cdktf.IResolvable | undefined);
resetExperiments(): void;
get experimentsInput(): cdktf.IResolvable | KubernetesProviderExperiments[] | undefined;
protected synthesizeAttributes(): {
[name: string]: any;
};
protected synthesizeHclAttributes(): {
[name: string]: any;
};
}