UNPKG

@cdktf/provider-kubernetes

Version:

Prebuilt kubernetes Provider for Terraform CDK (cdktf)

258 lines (257 loc) 13.9 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface HorizontalPodAutoscalerV1Config extends cdktf.TerraformMetaArguments { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#id HorizontalPodAutoscalerV1#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; /** * metadata block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#metadata HorizontalPodAutoscalerV1#metadata} */ readonly metadata: HorizontalPodAutoscalerV1Metadata; /** * spec block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#spec HorizontalPodAutoscalerV1#spec} */ readonly spec: HorizontalPodAutoscalerV1Spec; } export interface HorizontalPodAutoscalerV1Metadata { /** * An unstructured key value map stored with the horizontal pod autoscaler 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.38.0/docs/resources/horizontal_pod_autoscaler_v1#annotations HorizontalPodAutoscalerV1#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.38.0/docs/resources/horizontal_pod_autoscaler_v1#generate_name HorizontalPodAutoscalerV1#generate_name} */ readonly generateName?: string; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the horizontal pod autoscaler. 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.38.0/docs/resources/horizontal_pod_autoscaler_v1#labels HorizontalPodAutoscalerV1#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the horizontal pod autoscaler, 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.38.0/docs/resources/horizontal_pod_autoscaler_v1#name HorizontalPodAutoscalerV1#name} */ readonly name?: string; /** * Namespace defines the space within which name of the horizontal pod autoscaler must be unique. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#namespace HorizontalPodAutoscalerV1#namespace} */ readonly namespace?: string; } export declare function horizontalPodAutoscalerV1MetadataToTerraform(struct?: HorizontalPodAutoscalerV1MetadataOutputReference | HorizontalPodAutoscalerV1Metadata): any; export declare function horizontalPodAutoscalerV1MetadataToHclTerraform(struct?: HorizontalPodAutoscalerV1MetadataOutputReference | HorizontalPodAutoscalerV1Metadata): any; export declare class HorizontalPodAutoscalerV1MetadataOutputReference 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(): HorizontalPodAutoscalerV1Metadata | undefined; set internalValue(value: HorizontalPodAutoscalerV1Metadata | 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 HorizontalPodAutoscalerV1SpecScaleTargetRef { /** * API version of the referent * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#api_version HorizontalPodAutoscalerV1#api_version} */ readonly apiVersion?: string; /** * Kind of the referent. e.g. `ReplicationController`. More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#types-kinds * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#kind HorizontalPodAutoscalerV1#kind} */ readonly kind: string; /** * 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.38.0/docs/resources/horizontal_pod_autoscaler_v1#name HorizontalPodAutoscalerV1#name} */ readonly name: string; } export declare function horizontalPodAutoscalerV1SpecScaleTargetRefToTerraform(struct?: HorizontalPodAutoscalerV1SpecScaleTargetRefOutputReference | HorizontalPodAutoscalerV1SpecScaleTargetRef): any; export declare function horizontalPodAutoscalerV1SpecScaleTargetRefToHclTerraform(struct?: HorizontalPodAutoscalerV1SpecScaleTargetRefOutputReference | HorizontalPodAutoscalerV1SpecScaleTargetRef): any; export declare class HorizontalPodAutoscalerV1SpecScaleTargetRefOutputReference 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(): HorizontalPodAutoscalerV1SpecScaleTargetRef | undefined; set internalValue(value: HorizontalPodAutoscalerV1SpecScaleTargetRef | undefined); private _apiVersion?; get apiVersion(): string; set apiVersion(value: string); resetApiVersion(): void; get apiVersionInput(): string | undefined; private _kind?; get kind(): string; set kind(value: string); get kindInput(): string | undefined; private _name?; get name(): string; set name(value: string); get nameInput(): string | undefined; } export interface HorizontalPodAutoscalerV1Spec { /** * Upper limit for the number of pods that can be set by the autoscaler. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#max_replicas HorizontalPodAutoscalerV1#max_replicas} */ readonly maxReplicas: number; /** * Lower limit for the number of pods that can be set by the autoscaler, defaults to `1`. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#min_replicas HorizontalPodAutoscalerV1#min_replicas} */ readonly minReplicas?: number; /** * Target average CPU utilization (represented as a percentage of requested CPU) over all the pods. If not specified the default autoscaling policy will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#target_cpu_utilization_percentage HorizontalPodAutoscalerV1#target_cpu_utilization_percentage} */ readonly targetCpuUtilizationPercentage?: number; /** * scale_target_ref block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#scale_target_ref HorizontalPodAutoscalerV1#scale_target_ref} */ readonly scaleTargetRef: HorizontalPodAutoscalerV1SpecScaleTargetRef; } export declare function horizontalPodAutoscalerV1SpecToTerraform(struct?: HorizontalPodAutoscalerV1SpecOutputReference | HorizontalPodAutoscalerV1Spec): any; export declare function horizontalPodAutoscalerV1SpecToHclTerraform(struct?: HorizontalPodAutoscalerV1SpecOutputReference | HorizontalPodAutoscalerV1Spec): any; export declare class HorizontalPodAutoscalerV1SpecOutputReference 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(): HorizontalPodAutoscalerV1Spec | undefined; set internalValue(value: HorizontalPodAutoscalerV1Spec | undefined); private _maxReplicas?; get maxReplicas(): number; set maxReplicas(value: number); get maxReplicasInput(): number | undefined; private _minReplicas?; get minReplicas(): number; set minReplicas(value: number); resetMinReplicas(): void; get minReplicasInput(): number | undefined; private _targetCpuUtilizationPercentage?; get targetCpuUtilizationPercentage(): number; set targetCpuUtilizationPercentage(value: number); resetTargetCpuUtilizationPercentage(): void; get targetCpuUtilizationPercentageInput(): number | undefined; private _scaleTargetRef; get scaleTargetRef(): HorizontalPodAutoscalerV1SpecScaleTargetRefOutputReference; putScaleTargetRef(value: HorizontalPodAutoscalerV1SpecScaleTargetRef): void; get scaleTargetRefInput(): HorizontalPodAutoscalerV1SpecScaleTargetRef | undefined; } /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1 kubernetes_horizontal_pod_autoscaler_v1} */ export declare class HorizontalPodAutoscalerV1 extends cdktf.TerraformResource { static readonly tfResourceType = "kubernetes_horizontal_pod_autoscaler_v1"; /** * Generates CDKTF code for importing a HorizontalPodAutoscalerV1 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 HorizontalPodAutoscalerV1 to import * @param importFromId The id of the existing HorizontalPodAutoscalerV1 that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/kubernetes/2.38.0/docs/resources/horizontal_pod_autoscaler_v1#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the HorizontalPodAutoscalerV1 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/resources/horizontal_pod_autoscaler_v1 kubernetes_horizontal_pod_autoscaler_v1} 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 HorizontalPodAutoscalerV1Config */ constructor(scope: Construct, id: string, config: HorizontalPodAutoscalerV1Config); private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string | undefined; private _metadata; get metadata(): HorizontalPodAutoscalerV1MetadataOutputReference; putMetadata(value: HorizontalPodAutoscalerV1Metadata): void; get metadataInput(): HorizontalPodAutoscalerV1Metadata | undefined; private _spec; get spec(): HorizontalPodAutoscalerV1SpecOutputReference; putSpec(value: HorizontalPodAutoscalerV1Spec): void; get specInput(): HorizontalPodAutoscalerV1Spec | undefined; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }