cdktf-crd
Version:
152 lines (151 loc) • 7.71 kB
TypeScript
import { Manifest, type ManifestConfig } from "@cdktf/provider-kubernetes/lib/manifest";
import { Construct } from "constructs";
export declare class KubernetesExternalSecretV1alpha1Manifest extends Manifest {
constructor(scope: Construct, id: string, config: KubernetesExternalSecretV1alpha1ManifestConfig);
}
export interface KubernetesExternalSecretV1alpha1ManifestConfig extends ManifestConfig {
manifest: {
apiVersion?: "external-secrets.io/v1alpha1";
kind?: "ExternalSecret";
metadata: {
annotations?: {
[key: string]: string;
};
labels?: {
[key: string]: string;
};
name: string;
namespace?: string;
};
/** @description ExternalSecretSpec defines the desired state of ExternalSecret. */
spec?: {
/** @description Data defines the connection between the Kubernetes Secret keys and the Provider data */
data?: {
/** @description ExternalSecretDataRemoteRef defines Provider data location. */
remoteRef: {
/**
* @description Used to define a conversion Strategy
* @default Default
* @enum {string}
*/
conversionStrategy: "Default" | "Unicode";
/** @description Key is the key used in the Provider, mandatory */
key: string;
/** @description Used to select a specific property of the Provider value (if a map), if supported */
property?: string;
/** @description Used to select a specific version of the Provider value, if supported */
version?: string;
};
/** @description The key in the Kubernetes Secret to store the value. */
secretKey: string;
}[];
/** @description DataFrom is used to fetch all properties from a specific Provider data
* If multiple entries are specified, the Secret keys are merged in the specified order */
dataFrom?: {
/**
* @description Used to define a conversion Strategy
* @default Default
* @enum {string}
*/
conversionStrategy: "Default" | "Unicode";
/** @description Key is the key used in the Provider, mandatory */
key: string;
/** @description Used to select a specific property of the Provider value (if a map), if supported */
property?: string;
/** @description Used to select a specific version of the Provider value, if supported */
version?: string;
}[];
/** @description RefreshInterval is the amount of time before the values are read again from the SecretStore provider
* Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h"
* May be set to zero to fetch and create it once. Defaults to 1h. */
refreshInterval?: string;
/** @description SecretStoreRef defines which SecretStore to fetch the ExternalSecret data. */
secretStoreRef: {
/** @description Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
* Defaults to `SecretStore` */
kind?: string;
/** @description Name of the SecretStore resource */
name?: string;
};
/** @description ExternalSecretTarget defines the Kubernetes Secret to be created
* There can be only one target per ExternalSecret. */
target: {
/** @description CreationPolicy defines rules on how to create the resulting Secret.
* Defaults to "Owner" */
creationPolicy?: string;
/** @description Immutable defines if the final secret will be immutable */
immutable?: boolean;
/** @description The name of the Secret resource to be managed.
* Defaults to the .metadata.name of the ExternalSecret resource */
name?: string;
/** @description Template defines a blueprint for the created Secret resource. */
template?: {
data?: {
[key: string]: string;
};
/** @description EngineVersion specifies the template engine version
* that should be used to compile/execute the
* template specified in .data and .templateFrom[]. */
engineVersion?: string;
/** @description ExternalSecretTemplateMetadata defines metadata fields for the Secret blueprint. */
metadata?: {
annotations?: {
[key: string]: string;
};
labels?: {
[key: string]: string;
};
};
templateFrom?: {
configMap?: {
/** @description A list of keys in the ConfigMap/Secret to use as templates for Secret data */
items: {
/** @description A key in the ConfigMap/Secret */
key: string;
}[];
/** @description The name of the ConfigMap/Secret resource */
name: string;
};
secret?: {
/** @description A list of keys in the ConfigMap/Secret to use as templates for Secret data */
items: {
/** @description A key in the ConfigMap/Secret */
key: string;
}[];
/** @description The name of the ConfigMap/Secret resource */
name: string;
};
}[];
type?: string;
};
};
};
status?: {
/** @description Binding represents a servicebinding.io Provisioned Service reference to the secret */
binding?: {
/** @description Name of the referent.
* This field is effectively required, but due to backwards compatibility is
* allowed to be empty. Instances of this type with an empty value here are
* almost certainly wrong.
* More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names */
name?: string;
};
conditions?: {
/** Format: date-time */
lastTransitionTime?: string;
message?: string;
reason?: string;
status: string;
type: string;
}[];
/**
* Format: date-time
* @description refreshTime is the time and date the external secret was fetched and
* the target secret updated
*/
refreshTime?: string | null;
/** @description SyncedResourceVersion keeps track of the last synced version */
syncedResourceVersion?: string;
};
};
}