import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface VpcSubnetConfig extends cdktf.TerraformMetaArguments { /** * The resource description. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#description VpcSubnet#description} */ readonly description?: string; /** * The folder identifier that resource belongs to. If it is not provided, the default provider `folder-id` is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#folder_id VpcSubnet#folder_id} */ readonly folderId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#id VpcSubnet#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; /** * A set of key/value label pairs which assigned to resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#labels VpcSubnet#labels} */ readonly labels?: { [key: string]: string; }; /** * The resource name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#name VpcSubnet#name} */ readonly name?: string; /** * ID of the network this subnet belongs to. Only networks that are in the distributed mode can have subnets. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#network_id VpcSubnet#network_id} */ readonly networkId: string; /** * The ID of the route table to assign to this subnet. Assigned route table should belong to the same network as this subnet. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#route_table_id VpcSubnet#route_table_id} */ readonly routeTableId?: string; /** * A list of blocks of internal IPv4 addresses that are owned by this subnet. Provide this property when you create the subnet. For example, `10.0.0.0/22` or `192.168.0.0/16`. Blocks of addresses must be unique and non-overlapping within a network. Minimum subnet size is `/28`, and maximum subnet size is `/16`. Only IPv4 is supported. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#v4_cidr_blocks VpcSubnet#v4_cidr_blocks} */ readonly v4CidrBlocks: string[]; /** * The [availability zone](https://yandex.cloud/docs/overview/concepts/geo-scope) where resource is located. If it is not provided, the default provider zone will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#zone VpcSubnet#zone} */ readonly zone?: string; /** * dhcp_options block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#dhcp_options VpcSubnet#dhcp_options} */ readonly dhcpOptions?: VpcSubnetDhcpOptions; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#timeouts VpcSubnet#timeouts} */ readonly timeouts?: VpcSubnetTimeouts; } export interface VpcSubnetDhcpOptions { /** * Domain name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#domain_name VpcSubnet#domain_name} */ readonly domainName?: string; /** * Domain name server IP addresses. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#domain_name_servers VpcSubnet#domain_name_servers} */ readonly domainNameServers?: string[]; /** * NTP server IP addresses. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#ntp_servers VpcSubnet#ntp_servers} */ readonly ntpServers?: string[]; } export declare function vpcSubnetDhcpOptionsToTerraform(struct?: VpcSubnetDhcpOptionsOutputReference | VpcSubnetDhcpOptions): any; export declare function vpcSubnetDhcpOptionsToHclTerraform(struct?: VpcSubnetDhcpOptionsOutputReference | VpcSubnetDhcpOptions): any; export declare class VpcSubnetDhcpOptionsOutputReference 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(): VpcSubnetDhcpOptions | undefined; set internalValue(value: VpcSubnetDhcpOptions | undefined); private _domainName?; get domainName(): string; set domainName(value: string); resetDomainName(): void; get domainNameInput(): string; private _domainNameServers?; get domainNameServers(): string[]; set domainNameServers(value: string[]); resetDomainNameServers(): void; get domainNameServersInput(): string[]; private _ntpServers?; get ntpServers(): string[]; set ntpServers(value: string[]); resetNtpServers(): void; get ntpServersInput(): string[]; } export interface VpcSubnetTimeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#create VpcSubnet#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#delete VpcSubnet#delete} */ readonly delete?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#update VpcSubnet#update} */ readonly update?: string; } export declare function vpcSubnetTimeoutsToTerraform(struct?: VpcSubnetTimeouts | cdktf.IResolvable): any; export declare function vpcSubnetTimeoutsToHclTerraform(struct?: VpcSubnetTimeouts | cdktf.IResolvable): any; export declare class VpcSubnetTimeoutsOutputReference 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(): VpcSubnetTimeouts | cdktf.IResolvable | undefined; set internalValue(value: VpcSubnetTimeouts | 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 _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/vpc_subnet yandex_vpc_subnet} */ export declare class VpcSubnet extends cdktf.TerraformResource { static readonly tfResourceType = "yandex_vpc_subnet"; /** * Generates CDKTF code for importing a VpcSubnet 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 VpcSubnet to import * @param importFromId The id of the existing VpcSubnet that should be imported. Refer to the {@link https://registry.terraform.io/providers/yandex-cloud/yandex/0.177.0/docs/resources/vpc_subnet#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the VpcSubnet 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/vpc_subnet yandex_vpc_subnet} 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 VpcSubnetConfig */ constructor(scope: Construct, id: string, config: VpcSubnetConfig); 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 _networkId?; get networkId(): string; set networkId(value: string); get networkIdInput(): string; private _routeTableId?; get routeTableId(): string; set routeTableId(value: string); resetRouteTableId(): void; get routeTableIdInput(): string; private _v4CidrBlocks?; get v4CidrBlocks(): string[]; set v4CidrBlocks(value: string[]); get v4CidrBlocksInput(): string[]; get v6CidrBlocks(): any; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string; private _dhcpOptions; get dhcpOptions(): VpcSubnetDhcpOptionsOutputReference; putDhcpOptions(value: VpcSubnetDhcpOptions): void; resetDhcpOptions(): void; get dhcpOptionsInput(): VpcSubnetDhcpOptions; private _timeouts; get timeouts(): VpcSubnetTimeoutsOutputReference; putTimeouts(value: VpcSubnetTimeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }