UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

304 lines (303 loc) 15.6 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface ServiceAccountConfig extends cdktf.TerraformMetaArguments { /** * Enable automatic mounting of the service account token * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#automount_service_account_token ServiceAccount#automount_service_account_token} */ readonly automountServiceAccountToken?: boolean | cdktf.IResolvable; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#id ServiceAccount#id} * * Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. * If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable. */ readonly id?: string; /** * image_pull_secret block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#image_pull_secret ServiceAccount#image_pull_secret} */ readonly imagePullSecret?: ServiceAccountImagePullSecret[] | cdktf.IResolvable; /** * metadata block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#metadata ServiceAccount#metadata} */ readonly metadata: ServiceAccountMetadata; /** * secret block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#secret ServiceAccount#secret} */ readonly secret?: ServiceAccountSecret[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#timeouts ServiceAccount#timeouts} */ readonly timeouts?: ServiceAccountTimeouts; } export interface ServiceAccountImagePullSecret { /** * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#name ServiceAccount#name} */ readonly name?: string; } export declare function serviceAccountImagePullSecretToTerraform(struct?: ServiceAccountImagePullSecret | cdktf.IResolvable): any; export declare function serviceAccountImagePullSecretToHclTerraform(struct?: ServiceAccountImagePullSecret | cdktf.IResolvable): any; export declare class ServiceAccountImagePullSecretOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServiceAccountImagePullSecret | cdktf.IResolvable | undefined; set internalValue(value: ServiceAccountImagePullSecret | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; } export declare class ServiceAccountImagePullSecretList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServiceAccountImagePullSecret[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServiceAccountImagePullSecretOutputReference; } export interface ServiceAccountMetadata { /** * An unstructured key value map stored with the service account that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#annotations ServiceAccount#annotations} */ readonly annotations?: { [key: string]: string; }; /** * Prefix, used by the server, to generate a unique name ONLY IF the `name` field has not been provided. This value will also be combined with a unique suffix. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#idempotency * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#generate_name ServiceAccount#generate_name} */ readonly generateName?: string; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the service account. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#labels ServiceAccount#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the service account, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#name ServiceAccount#name} */ readonly name?: string; /** * Namespace defines the space within which name of the service account must be unique. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#namespace ServiceAccount#namespace} */ readonly namespace?: string; } export declare function serviceAccountMetadataToTerraform(struct?: ServiceAccountMetadataOutputReference | ServiceAccountMetadata): any; export declare function serviceAccountMetadataToHclTerraform(struct?: ServiceAccountMetadataOutputReference | ServiceAccountMetadata): any; export declare class ServiceAccountMetadataOutputReference extends cdktf.ComplexObject { private isEmptyObject; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ServiceAccountMetadata | undefined; set internalValue(value: ServiceAccountMetadata | undefined); private _annotations?; get annotations(): { [key: string]: string; }; set annotations(value: { [key: string]: string; }); resetAnnotations(): void; get annotationsInput(): { [key: string]: string; } | undefined; private _generateName?; get generateName(): string; set generateName(value: string); resetGenerateName(): void; get generateNameInput(): string | undefined; get generation(): number; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; } | undefined; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; private _namespace?; get namespace(): string; set namespace(value: string); resetNamespace(): void; get namespaceInput(): string | undefined; get resourceVersion(): string; get uid(): string; } export interface ServiceAccountSecret { /** * Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#name ServiceAccount#name} */ readonly name?: string; } export declare function serviceAccountSecretToTerraform(struct?: ServiceAccountSecret | cdktf.IResolvable): any; export declare function serviceAccountSecretToHclTerraform(struct?: ServiceAccountSecret | cdktf.IResolvable): any; export declare class ServiceAccountSecretOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean); get internalValue(): ServiceAccountSecret | cdktf.IResolvable | undefined; set internalValue(value: ServiceAccountSecret | cdktf.IResolvable | undefined); private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string | undefined; } export declare class ServiceAccountSecretList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: ServiceAccountSecret[] | cdktf.IResolvable; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean); /** * @param index the index of the item to return */ get(index: number): ServiceAccountSecretOutputReference; } export interface ServiceAccountTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#create ServiceAccount#create} */ readonly create?: string; } export declare function serviceAccountTimeoutsToTerraform(struct?: ServiceAccountTimeouts | cdktf.IResolvable): any; export declare function serviceAccountTimeoutsToHclTerraform(struct?: ServiceAccountTimeouts | cdktf.IResolvable): any; export declare class ServiceAccountTimeoutsOutputReference extends cdktf.ComplexObject { private isEmptyObject; private resolvableValue?; /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource: cdktf.IInterpolatingParent, terraformAttribute: string); get internalValue(): ServiceAccountTimeouts | cdktf.IResolvable | undefined; set internalValue(value: ServiceAccountTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account kubernetes_service_account} */ export declare class ServiceAccount extends cdktf.TerraformResource { static readonly tfResourceType = "kubernetes_service_account"; /** * Generates CDKTF code for importing a ServiceAccount 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 ServiceAccount to import * @param importFromId The id of the existing ServiceAccount that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.37.1/docs/resources/service_account#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the ServiceAccount 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.37.1/docs/resources/service_account kubernetes_service_account} 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 ServiceAccountConfig */ constructor(scope: Construct, id: string, config: ServiceAccountConfig); private _automountServiceAccountToken?; get automountServiceAccountToken(): boolean | cdktf.IResolvable; set automountServiceAccountToken(value: boolean | cdktf.IResolvable); resetAutomountServiceAccountToken(): void; get automountServiceAccountTokenInput(): boolean | cdktf.IResolvable | undefined; get defaultSecretName(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _imagePullSecret; get imagePullSecret(): ServiceAccountImagePullSecretList; putImagePullSecret(value: ServiceAccountImagePullSecret[] | cdktf.IResolvable): void; resetImagePullSecret(): void; get imagePullSecretInput(): cdktf.IResolvable | ServiceAccountImagePullSecret[] | undefined; private _metadata; get metadata(): ServiceAccountMetadataOutputReference; putMetadata(value: ServiceAccountMetadata): void; get metadataInput(): ServiceAccountMetadata | undefined; private _secret; get secret(): ServiceAccountSecretList; putSecret(value: ServiceAccountSecret[] | cdktf.IResolvable): void; resetSecret(): void; get secretInput(): cdktf.IResolvable | ServiceAccountSecret[] | undefined; private _timeouts; get timeouts(): ServiceAccountTimeoutsOutputReference; putTimeouts(value: ServiceAccountTimeouts): void; resetTimeouts(): void; get timeoutsInput(): cdktf.IResolvable | ServiceAccountTimeouts | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }