import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface LbTargetGroupConfig extends cdktf.TerraformMetaArguments { /** * Description of the target group. 0-256 characters long. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#description LbTargetGroup#description} */ readonly description?: string; /** * ID of the folder that the target group belongs to. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#folder_id LbTargetGroup#folder_id} */ readonly folderId?: string; /** * ID of the TargetGroup resource to return. * To get the target group ID, use a [TargetGroupService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#id LbTargetGroup#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; /** * Resource labels as `` key:value `` pairs. Maximum of 64 per resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#labels LbTargetGroup#labels} */ readonly labels?: { [key: string]: string; }; /** * Name of the target group. * The name is unique within the folder. 3-63 characters long. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#name LbTargetGroup#name} */ readonly name?: string; /** * ID of the region where the target group resides. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#region_id LbTargetGroup#region_id} */ readonly regionId?: string; /** * ID of the TargetGroup resource to return. * To get the target group ID, use a [TargetGroupService.List] request. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#target_group_id LbTargetGroup#target_group_id} */ readonly targetGroupId?: string; /** * target block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#target LbTargetGroup#target} */ readonly target?: LbTargetGroupTarget[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#timeouts LbTargetGroup#timeouts} */ readonly timeouts?: LbTargetGroupTimeouts; } export interface LbTargetGroupTarget { /** * IP address of the target. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#address LbTargetGroup#address} */ readonly address?: string; /** * ID of the subnet that targets are connected to. * All targets in the target group must be connected to the same subnet within a single availability zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#subnet_id LbTargetGroup#subnet_id} */ readonly subnetId?: string; } export declare function lbTargetGroupTargetToTerraform(struct?: LbTargetGroupTarget | cdktf.IResolvable): any; export declare function lbTargetGroupTargetToHclTerraform(struct?: LbTargetGroupTarget | cdktf.IResolvable): any; export declare class LbTargetGroupTargetOutputReference 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(): LbTargetGroupTarget | cdktf.IResolvable | undefined; set internalValue(value: LbTargetGroupTarget | cdktf.IResolvable | undefined); private _address?; get address(): string; set address(value: string); resetAddress(): void; get addressInput(): string; private _subnetId?; get subnetId(): string; set subnetId(value: string); resetSubnetId(): void; get subnetIdInput(): string; } export declare class LbTargetGroupTargetList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: LbTargetGroupTarget[] | 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): LbTargetGroupTargetOutputReference; } export interface LbTargetGroupTimeouts { /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#create LbTargetGroup#create} */ readonly create?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#delete LbTargetGroup#delete} */ readonly delete?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Read operations occur during any refresh or planning operation when refresh is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#read LbTargetGroup#read} */ readonly read?: string; /** * A string that can be [parsed as a duration](https://pkg.go.dev/time#ParseDuration) consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#update LbTargetGroup#update} */ readonly update?: string; } export declare function lbTargetGroupTimeoutsToTerraform(struct?: LbTargetGroupTimeouts | cdktf.IResolvable): any; export declare function lbTargetGroupTimeoutsToHclTerraform(struct?: LbTargetGroupTimeouts | cdktf.IResolvable): any; export declare class LbTargetGroupTimeoutsOutputReference 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(): LbTargetGroupTimeouts | cdktf.IResolvable | undefined; set internalValue(value: LbTargetGroupTimeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _delete?; get delete(): string; set delete(value: string); resetDelete(): void; get deleteInput(): string; private _read?; get read(): string; set read(value: string); resetRead(): void; get readInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group yandex_lb_target_group} */ export declare class LbTargetGroup extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_lb_target_group"; /** * Generates CDKTF code for importing a LbTargetGroup resource upon running "cdktf plan " * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the LbTargetGroup to import * @param importFromId The id of the existing LbTargetGroup that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the LbTargetGroup to import is found */ static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktf.TerraformProvider): any; /** * Create a new {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/lb_target_group yandex_lb_target_group} 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 LbTargetGroupConfig = {} */ constructor(scope: Construct, id: string, config?: LbTargetGroupConfig); get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _folderId?; get folderId(): string; set folderId(value: string); resetFolderId(): void; get folderIdInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _name?; get name(): string; set name(value: string); resetName(): void; get nameInput(): string; private _regionId?; get regionId(): string; set regionId(value: string); resetRegionId(): void; get regionIdInput(): string; private _targetGroupId?; get targetGroupId(): string; set targetGroupId(value: string); resetTargetGroupId(): void; get targetGroupIdInput(): string; private _target; get target(): LbTargetGroupTargetList; putTarget(value: LbTargetGroupTarget[] | cdktf.IResolvable): void; resetTarget(): void; get targetInput(): any; private _timeouts; get timeouts(): LbTargetGroupTimeoutsOutputReference; putTimeouts(value: LbTargetGroupTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }