import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface K8Sv2Config extends cdktf.TerraformMetaArguments { /** * Cluster autoscaler configuration params. Keys and values are expected to follow the cluster-autoscaler option format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#autoscaler_config K8Sv2#autoscaler_config} */ readonly autoscalerConfig?: { [key: string]: string; }; /** * Fixed network used to allocate network addresses for cluster nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#fixed_network K8Sv2#fixed_network} */ readonly fixedNetwork?: string; /** * Fixed subnet used to allocate network addresses for cluster nodes. Subnet should have a router. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#fixed_subnet K8Sv2#fixed_subnet} */ readonly fixedSubnet?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#id K8Sv2#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; /** * Enable public IPv6 address. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#is_ipv6 K8Sv2#is_ipv6} */ readonly isIpv6?: boolean | cdktf.IResolvable; /** * Name of the keypair used for SSH access to nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#keypair K8Sv2#keypair} */ readonly keypair: string; /** * Cluster name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#name K8Sv2#name} */ readonly name: string; /** * Pods IPv4 IP pool in CIDR notation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#pods_ip_pool K8Sv2#pods_ip_pool} */ readonly podsIpPool?: string; /** * Pods IPv6 IP pool in CIDR notation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#pods_ipv6_pool K8Sv2#pods_ipv6_pool} */ readonly podsIpv6Pool?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#project_id K8Sv2#project_id} */ readonly projectId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#project_name K8Sv2#project_name} */ readonly projectName?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#region_id K8Sv2#region_id} */ readonly regionId?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#region_name K8Sv2#region_name} */ readonly regionName?: string; /** * Services IPv4 IP pool in CIDR notation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#services_ip_pool K8Sv2#services_ip_pool} */ readonly servicesIpPool?: string; /** * Services IPv6 IP pool in CIDR notation. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#services_ipv6_pool K8Sv2#services_ipv6_pool} */ readonly servicesIpv6Pool?: string; /** * Kubernetes version. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#version K8Sv2#version} */ readonly version: string; /** * authentication block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#authentication K8Sv2#authentication} */ readonly authentication?: K8Sv2Authentication; /** * cni block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#cni K8Sv2#cni} */ readonly cni?: K8Sv2Cni; /** * csi block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#csi K8Sv2#csi} */ readonly csi?: K8Sv2Csi; /** * ddos_profile block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#ddos_profile K8Sv2#ddos_profile} */ readonly ddosProfile?: K8Sv2DdosProfile; /** * pool block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#pool K8Sv2#pool} */ readonly pool: K8Sv2Pool[] | cdktf.IResolvable; /** * security_group_rules block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#security_group_rules K8Sv2#security_group_rules} */ readonly securityGroupRules?: K8Sv2SecurityGroupRules[] | cdktf.IResolvable; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#timeouts K8Sv2#timeouts} */ readonly timeouts?: K8Sv2Timeouts; } export interface K8Sv2AuthenticationOidc { /** * A client id that all tokens must be issued for. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#client_id K8Sv2#client_id} */ readonly clientId?: string; /** * JWT claim to use as the user's group. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#groups_claim K8Sv2#groups_claim} */ readonly groupsClaim?: string; /** * Prefix prepended to group claims to prevent clashes with existing names. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#groups_prefix K8Sv2#groups_prefix} */ readonly groupsPrefix?: string; /** * URL of the provider that allows the API server to discover public signing keys. Only URLs that use the https:// scheme are accepted. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#issuer_url K8Sv2#issuer_url} */ readonly issuerUrl?: string; /** * A map describing required claims in the ID Token. Each claim is verified to be present in the ID Token with a matching value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#required_claims K8Sv2#required_claims} */ readonly requiredClaims?: { [key: string]: string; }; /** * Accepted signing algorithms. Supported values are: RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384, PS512. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#signing_algs K8Sv2#signing_algs} */ readonly signingAlgs?: string[]; /** * JWT claim to use as the user name. When not specified, the `sub` claim will be used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#username_claim K8Sv2#username_claim} */ readonly usernameClaim?: string; /** * Prefix prepended to username claims to prevent clashes with existing names. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#username_prefix K8Sv2#username_prefix} */ readonly usernamePrefix?: string; } export declare function k8Sv2AuthenticationOidcToTerraform(struct?: K8Sv2AuthenticationOidcOutputReference | K8Sv2AuthenticationOidc): any; export declare function k8Sv2AuthenticationOidcToHclTerraform(struct?: K8Sv2AuthenticationOidcOutputReference | K8Sv2AuthenticationOidc): any; export declare class K8Sv2AuthenticationOidcOutputReference 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(): K8Sv2AuthenticationOidc | undefined; set internalValue(value: K8Sv2AuthenticationOidc | undefined); private _clientId?; get clientId(): string; set clientId(value: string); resetClientId(): void; get clientIdInput(): string; private _groupsClaim?; get groupsClaim(): string; set groupsClaim(value: string); resetGroupsClaim(): void; get groupsClaimInput(): string; private _groupsPrefix?; get groupsPrefix(): string; set groupsPrefix(value: string); resetGroupsPrefix(): void; get groupsPrefixInput(): string; private _issuerUrl?; get issuerUrl(): string; set issuerUrl(value: string); resetIssuerUrl(): void; get issuerUrlInput(): string; private _requiredClaims?; get requiredClaims(): { [key: string]: string; }; set requiredClaims(value: { [key: string]: string; }); resetRequiredClaims(): void; get requiredClaimsInput(): { [key: string]: string; }; private _signingAlgs?; get signingAlgs(): string[]; set signingAlgs(value: string[]); resetSigningAlgs(): void; get signingAlgsInput(): string[]; private _usernameClaim?; get usernameClaim(): string; set usernameClaim(value: string); resetUsernameClaim(): void; get usernameClaimInput(): string; private _usernamePrefix?; get usernamePrefix(): string; set usernamePrefix(value: string); resetUsernamePrefix(): void; get usernamePrefixInput(): string; } export interface K8Sv2Authentication { /** * oidc block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#oidc K8Sv2#oidc} */ readonly oidc?: K8Sv2AuthenticationOidc; } export declare function k8Sv2AuthenticationToTerraform(struct?: K8Sv2AuthenticationOutputReference | K8Sv2Authentication): any; export declare function k8Sv2AuthenticationToHclTerraform(struct?: K8Sv2AuthenticationOutputReference | K8Sv2Authentication): any; export declare class K8Sv2AuthenticationOutputReference 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(): K8Sv2Authentication | undefined; set internalValue(value: K8Sv2Authentication | undefined); private _oidc; get oidc(): K8Sv2AuthenticationOidcOutputReference; putOidc(value: K8Sv2AuthenticationOidc): void; resetOidc(): void; get oidcInput(): K8Sv2AuthenticationOidc; } export interface K8Sv2CniCilium { /** * Enables transparent network encryption. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#encryption K8Sv2#encryption} */ readonly encryption?: boolean | cdktf.IResolvable; /** * Enables Hubble Relay. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#hubble_relay K8Sv2#hubble_relay} */ readonly hubbleRelay?: boolean | cdktf.IResolvable; /** * Enables Hubble UI. Requires `hubble_relay=true`. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#hubble_ui K8Sv2#hubble_ui} */ readonly hubbleUi?: boolean | cdktf.IResolvable; /** * Enables load balancer acceleration via XDP. The default value is false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#lb_acceleration K8Sv2#lb_acceleration} */ readonly lbAcceleration?: boolean | cdktf.IResolvable; /** * The operation mode of load balancing for remote backends. Supported values are snat, dsr, hybrid. The default value is snat. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#lb_mode K8Sv2#lb_mode} */ readonly lbMode?: string; /** * Specifies the size allocated from pods_ip_pool CIDR to node.ipam.podCIDRs. The default value is 24. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#mask_size K8Sv2#mask_size} */ readonly maskSize?: number; /** * Specifies the size allocated from pods_ipv6_pool CIDR to node.ipam.podCIDRs. The default value is 120. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#mask_size_v6 K8Sv2#mask_size_v6} */ readonly maskSizeV6?: number; /** * Enables native-routing mode or tunneling mode. The default value is tunnel. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#routing_mode K8Sv2#routing_mode} */ readonly routingMode?: string; /** * Tunneling protocol to use in tunneling mode and for ad-hoc tunnels. The default value is geneve. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#tunnel K8Sv2#tunnel} */ readonly tunnel?: string; } export declare function k8Sv2CniCiliumToTerraform(struct?: K8Sv2CniCiliumOutputReference | K8Sv2CniCilium): any; export declare function k8Sv2CniCiliumToHclTerraform(struct?: K8Sv2CniCiliumOutputReference | K8Sv2CniCilium): any; export declare class K8Sv2CniCiliumOutputReference 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(): K8Sv2CniCilium | undefined; set internalValue(value: K8Sv2CniCilium | undefined); private _encryption?; get encryption(): boolean | cdktf.IResolvable; set encryption(value: boolean | cdktf.IResolvable); resetEncryption(): void; get encryptionInput(): any; private _hubbleRelay?; get hubbleRelay(): boolean | cdktf.IResolvable; set hubbleRelay(value: boolean | cdktf.IResolvable); resetHubbleRelay(): void; get hubbleRelayInput(): any; private _hubbleUi?; get hubbleUi(): boolean | cdktf.IResolvable; set hubbleUi(value: boolean | cdktf.IResolvable); resetHubbleUi(): void; get hubbleUiInput(): any; private _lbAcceleration?; get lbAcceleration(): boolean | cdktf.IResolvable; set lbAcceleration(value: boolean | cdktf.IResolvable); resetLbAcceleration(): void; get lbAccelerationInput(): any; private _lbMode?; get lbMode(): string; set lbMode(value: string); resetLbMode(): void; get lbModeInput(): string; private _maskSize?; get maskSize(): number; set maskSize(value: number); resetMaskSize(): void; get maskSizeInput(): number; private _maskSizeV6?; get maskSizeV6(): number; set maskSizeV6(value: number); resetMaskSizeV6(): void; get maskSizeV6Input(): number; private _routingMode?; get routingMode(): string; set routingMode(value: string); resetRoutingMode(): void; get routingModeInput(): string; private _tunnel?; get tunnel(): string; set tunnel(value: string); resetTunnel(): void; get tunnelInput(): string; } export interface K8Sv2Cni { /** * CNI provider to use when creating the cluster. Supported values are: calico, cilium. The default value is calico. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#provider K8Sv2#provider} */ readonly provider?: string; /** * cilium block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#cilium K8Sv2#cilium} */ readonly cilium?: K8Sv2CniCilium; } export declare function k8Sv2CniToTerraform(struct?: K8Sv2CniOutputReference | K8Sv2Cni): any; export declare function k8Sv2CniToHclTerraform(struct?: K8Sv2CniOutputReference | K8Sv2Cni): any; export declare class K8Sv2CniOutputReference 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(): K8Sv2Cni | undefined; set internalValue(value: K8Sv2Cni | undefined); private _provider?; get provider(): string; set provider(value: string); resetProvider(): void; get providerInput(): string; private _cilium; get cilium(): K8Sv2CniCiliumOutputReference; putCilium(value: K8Sv2CniCilium): void; resetCilium(): void; get ciliumInput(): K8Sv2CniCilium; } export interface K8Sv2CsiNfs { /** * Enable or disable VAST NFS integration. The default value is false. When set to true, a dedicated StorageClass will be created in the cluster for each VAST NFS file share defined in the cloud. All file shares created prior to cluster creation will be available immediately, while those created afterward may take a few minutes for to appear. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#vast_enabled K8Sv2#vast_enabled} */ readonly vastEnabled?: boolean | cdktf.IResolvable; } export declare function k8Sv2CsiNfsToTerraform(struct?: K8Sv2CsiNfsOutputReference | K8Sv2CsiNfs): any; export declare function k8Sv2CsiNfsToHclTerraform(struct?: K8Sv2CsiNfsOutputReference | K8Sv2CsiNfs): any; export declare class K8Sv2CsiNfsOutputReference 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(): K8Sv2CsiNfs | undefined; set internalValue(value: K8Sv2CsiNfs | undefined); private _vastEnabled?; get vastEnabled(): boolean | cdktf.IResolvable; set vastEnabled(value: boolean | cdktf.IResolvable); resetVastEnabled(): void; get vastEnabledInput(): any; } export interface K8Sv2Csi { /** * nfs block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#nfs K8Sv2#nfs} */ readonly nfs?: K8Sv2CsiNfs; } export declare function k8Sv2CsiToTerraform(struct?: K8Sv2CsiOutputReference | K8Sv2Csi): any; export declare function k8Sv2CsiToHclTerraform(struct?: K8Sv2CsiOutputReference | K8Sv2Csi): any; export declare class K8Sv2CsiOutputReference 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(): K8Sv2Csi | undefined; set internalValue(value: K8Sv2Csi | undefined); private _nfs; get nfs(): K8Sv2CsiNfsOutputReference; putNfs(value: K8Sv2CsiNfs): void; resetNfs(): void; get nfsInput(): K8Sv2CsiNfs; } export interface K8Sv2DdosProfileFields { /** * Base field ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#base_field K8Sv2#base_field} */ readonly baseField: number; /** * Complex value. Only one of 'value' or 'field_value' must be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#field_value K8Sv2#field_value} */ readonly fieldValue?: string; /** * Basic type value. Only one of 'value' or 'field_value' must be specified. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#value K8Sv2#value} */ readonly value?: string; } export declare function k8Sv2DdosProfileFieldsToTerraform(struct?: K8Sv2DdosProfileFields | cdktf.IResolvable): any; export declare function k8Sv2DdosProfileFieldsToHclTerraform(struct?: K8Sv2DdosProfileFields | cdktf.IResolvable): any; export declare class K8Sv2DdosProfileFieldsOutputReference 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(): K8Sv2DdosProfileFields | cdktf.IResolvable | undefined; set internalValue(value: K8Sv2DdosProfileFields | cdktf.IResolvable | undefined); private _baseField?; get baseField(): number; set baseField(value: number); get baseFieldInput(): number; private _fieldValue?; get fieldValue(): string; set fieldValue(value: string); resetFieldValue(): void; get fieldValueInput(): string; private _value?; get value(): string; set value(value: string); resetValue(): void; get valueInput(): string; } export declare class K8Sv2DdosProfileFieldsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: K8Sv2DdosProfileFields[] | 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): K8Sv2DdosProfileFieldsOutputReference; } export interface K8Sv2DdosProfile { /** * Indicates if the DDoS profile is enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#enabled K8Sv2#enabled} */ readonly enabled: boolean | cdktf.IResolvable; /** * Profile template ID. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#profile_template K8Sv2#profile_template} */ readonly profileTemplate?: number; /** * Profile template name. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#profile_template_name K8Sv2#profile_template_name} */ readonly profileTemplateName?: string; /** * fields block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#fields K8Sv2#fields} */ readonly fields?: K8Sv2DdosProfileFields[] | cdktf.IResolvable; } export declare function k8Sv2DdosProfileToTerraform(struct?: K8Sv2DdosProfileOutputReference | K8Sv2DdosProfile): any; export declare function k8Sv2DdosProfileToHclTerraform(struct?: K8Sv2DdosProfileOutputReference | K8Sv2DdosProfile): any; export declare class K8Sv2DdosProfileOutputReference 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(): K8Sv2DdosProfile | undefined; set internalValue(value: K8Sv2DdosProfile | undefined); private _enabled?; get enabled(): boolean | cdktf.IResolvable; set enabled(value: boolean | cdktf.IResolvable); get enabledInput(): any; private _profileTemplate?; get profileTemplate(): number; set profileTemplate(value: number); resetProfileTemplate(): void; get profileTemplateInput(): number; private _profileTemplateName?; get profileTemplateName(): string; set profileTemplateName(value: string); resetProfileTemplateName(): void; get profileTemplateNameInput(): string; private _fields; get fields(): K8Sv2DdosProfileFieldsList; putFields(value: K8Sv2DdosProfileFields[] | cdktf.IResolvable): void; resetFields(): void; get fieldsInput(): any; } export interface K8Sv2Pool { /** * Enable/disable auto healing of cluster pool nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#auto_healing_enabled K8Sv2#auto_healing_enabled} */ readonly autoHealingEnabled?: boolean | cdktf.IResolvable; /** * Cluster pool boot volume size. Must be set only for VM pools. Changing the value of this attribute will trigger recreation of the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#boot_volume_size K8Sv2#boot_volume_size} */ readonly bootVolumeSize?: number; /** * Cluster pool boot volume type. Must be set only for VM pools. Available values are 'standard', 'ssd_hiiops', 'cold', 'ultra'. Changing the value of this attribute will trigger recreation of the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#boot_volume_type K8Sv2#boot_volume_type} */ readonly bootVolumeType?: string; /** * Crio configuration for pool nodes. Keys and values are expected to follow the crio option format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#crio_config K8Sv2#crio_config} */ readonly crioConfig?: { [key: string]: string; }; /** * Cluster pool node flavor ID. Changing the value of this attribute will trigger recreation of the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#flavor_id K8Sv2#flavor_id} */ readonly flavorId: string; /** * Assign public IPv4 address to nodes in this pool. Changing the value of this attribute will trigger recreation of the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#is_public_ipv4 K8Sv2#is_public_ipv4} */ readonly isPublicIpv4?: boolean | cdktf.IResolvable; /** * Kubelet configuration for pool nodes. Keys and values are expected to follow the kubelet configuration file format. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#kubelet_config K8Sv2#kubelet_config} */ readonly kubeletConfig?: { [key: string]: string; }; /** * Labels applied to the cluster pool nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#labels K8Sv2#labels} */ readonly labels?: { [key: string]: string; }; /** * Maximum number of nodes in the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#max_node_count K8Sv2#max_node_count} */ readonly maxNodeCount?: number; /** * Minimum number of nodes in the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#min_node_count K8Sv2#min_node_count} */ readonly minNodeCount: number; /** * Cluster pool name. Changing the value of this attribute will trigger recreation of the cluster pool. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#name K8Sv2#name} */ readonly name: string; /** * Server group policy: anti-affinity, soft-anti-affinity or affinity * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#servergroup_policy K8Sv2#servergroup_policy} */ readonly servergroupPolicy?: string; /** * Taints applied to the cluster pool nodes. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#taints K8Sv2#taints} */ readonly taints?: { [key: string]: string; }; } export declare function k8Sv2PoolToTerraform(struct?: K8Sv2Pool | cdktf.IResolvable): any; export declare function k8Sv2PoolToHclTerraform(struct?: K8Sv2Pool | cdktf.IResolvable): any; export declare class K8Sv2PoolOutputReference 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(): K8Sv2Pool | cdktf.IResolvable | undefined; set internalValue(value: K8Sv2Pool | cdktf.IResolvable | undefined); private _autoHealingEnabled?; get autoHealingEnabled(): boolean | cdktf.IResolvable; set autoHealingEnabled(value: boolean | cdktf.IResolvable); resetAutoHealingEnabled(): void; get autoHealingEnabledInput(): any; private _bootVolumeSize?; get bootVolumeSize(): number; set bootVolumeSize(value: number); resetBootVolumeSize(): void; get bootVolumeSizeInput(): number; private _bootVolumeType?; get bootVolumeType(): string; set bootVolumeType(value: string); resetBootVolumeType(): void; get bootVolumeTypeInput(): string; get createdAt(): any; private _crioConfig?; get crioConfig(): { [key: string]: string; }; set crioConfig(value: { [key: string]: string; }); resetCrioConfig(): void; get crioConfigInput(): { [key: string]: string; }; private _flavorId?; get flavorId(): string; set flavorId(value: string); get flavorIdInput(): string; private _isPublicIpv4?; get isPublicIpv4(): boolean | cdktf.IResolvable; set isPublicIpv4(value: boolean | cdktf.IResolvable); resetIsPublicIpv4(): void; get isPublicIpv4Input(): any; private _kubeletConfig?; get kubeletConfig(): { [key: string]: string; }; set kubeletConfig(value: { [key: string]: string; }); resetKubeletConfig(): void; get kubeletConfigInput(): { [key: string]: string; }; private _labels?; get labels(): { [key: string]: string; }; set labels(value: { [key: string]: string; }); resetLabels(): void; get labelsInput(): { [key: string]: string; }; private _maxNodeCount?; get maxNodeCount(): number; set maxNodeCount(value: number); resetMaxNodeCount(): void; get maxNodeCountInput(): number; private _minNodeCount?; get minNodeCount(): number; set minNodeCount(value: number); get minNodeCountInput(): number; private _name?; get name(): string; set name(value: string); get nameInput(): string; get nodeCount(): any; get servergroupId(): any; get servergroupName(): any; private _servergroupPolicy?; get servergroupPolicy(): string; set servergroupPolicy(value: string); resetServergroupPolicy(): void; get servergroupPolicyInput(): string; get status(): any; private _taints?; get taints(): { [key: string]: string; }; set taints(value: { [key: string]: string; }); resetTaints(): void; get taintsInput(): { [key: string]: string; }; } export declare class K8Sv2PoolList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: K8Sv2Pool[] | 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): K8Sv2PoolOutputReference; } export interface K8Sv2SecurityGroupRules { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#description K8Sv2#description} */ readonly description?: string; /** * Available value is 'ingress', 'egress' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#direction K8Sv2#direction} */ readonly direction: string; /** * Available value is 'IPv4', 'IPv6' * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#ethertype K8Sv2#ethertype} */ readonly ethertype: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#port_range_max K8Sv2#port_range_max} */ readonly portRangeMax?: number; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#port_range_min K8Sv2#port_range_min} */ readonly portRangeMin?: number; /** * Available value is udp,tcp,any,ipv6-icmp,ipv6-route,ipv6-opts,ipv6-nonxt,ipv6-frag,ipv6-encap,icmp,ah,dccp,egp,esp,gre,igmp,ospf,pgm,rsvp,sctp,udplite,vrrp,51,50,112,0,4,ipip,ipencap * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#protocol K8Sv2#protocol} */ readonly protocol: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#remote_group_id K8Sv2#remote_group_id} */ readonly remoteGroupId?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#remote_ip_prefix K8Sv2#remote_ip_prefix} */ readonly remoteIpPrefix?: string; } export declare function k8Sv2SecurityGroupRulesToTerraform(struct?: K8Sv2SecurityGroupRules | cdktf.IResolvable): any; export declare function k8Sv2SecurityGroupRulesToHclTerraform(struct?: K8Sv2SecurityGroupRules | cdktf.IResolvable): any; export declare class K8Sv2SecurityGroupRulesOutputReference 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(): K8Sv2SecurityGroupRules | cdktf.IResolvable | undefined; set internalValue(value: K8Sv2SecurityGroupRules | cdktf.IResolvable | undefined); get createdAt(): any; private _description?; get description(): string; set description(value: string); resetDescription(): void; get descriptionInput(): string; private _direction?; get direction(): string; set direction(value: string); get directionInput(): string; private _ethertype?; get ethertype(): string; set ethertype(value: string); get ethertypeInput(): string; get id(): any; private _portRangeMax?; get portRangeMax(): number; set portRangeMax(value: number); resetPortRangeMax(): void; get portRangeMaxInput(): number; private _portRangeMin?; get portRangeMin(): number; set portRangeMin(value: number); resetPortRangeMin(): void; get portRangeMinInput(): number; private _protocol?; get protocol(): string; set protocol(value: string); get protocolInput(): string; private _remoteGroupId?; get remoteGroupId(): string; set remoteGroupId(value: string); resetRemoteGroupId(): void; get remoteGroupIdInput(): string; private _remoteIpPrefix?; get remoteIpPrefix(): string; set remoteIpPrefix(value: string); resetRemoteIpPrefix(): void; get remoteIpPrefixInput(): string; get updatedAt(): any; } export declare class K8Sv2SecurityGroupRulesList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: K8Sv2SecurityGroupRules[] | 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): K8Sv2SecurityGroupRulesOutputReference; } export interface K8Sv2Timeouts { /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#create K8Sv2#create} */ readonly create?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#update K8Sv2#update} */ readonly update?: string; } export declare function k8Sv2TimeoutsToTerraform(struct?: K8Sv2Timeouts | cdktf.IResolvable): any; export declare function k8Sv2TimeoutsToHclTerraform(struct?: K8Sv2Timeouts | cdktf.IResolvable): any; export declare class K8Sv2TimeoutsOutputReference 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(): K8Sv2Timeouts | cdktf.IResolvable | undefined; set internalValue(value: K8Sv2Timeouts | cdktf.IResolvable | undefined); private _create?; get create(): string; set create(value: string); resetCreate(): void; get createInput(): string; private _update?; get update(): string; set update(value: string); resetUpdate(): void; get updateInput(): string; } /** * Represents a {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2 gcore_k8sv2} */ export declare class K8Sv2 extends cdktf.TerraformResource { static readonly tfResourceType = "gcore_k8sv2"; /** * Generates CDKTF code for importing a K8Sv2 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 K8Sv2 to import * @param importFromId The id of the existing K8Sv2 that should be imported. Refer to the {@link https://registry.terraform.io/providers/g-core/gcore/0.32.5/docs/resources/k8sv2#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the K8Sv2 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/g-core/gcore/0.32.5/docs/resources/k8sv2 gcore_k8sv2} 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 K8Sv2Config */ constructor(scope: Construct, id: string, config: K8Sv2Config); private _autoscalerConfig?; get autoscalerConfig(): { [key: string]: string; }; set autoscalerConfig(value: { [key: string]: string; }); resetAutoscalerConfig(): void; get autoscalerConfigInput(): { [key: string]: string; }; get createdAt(): any; get creatorTaskId(): any; private _fixedNetwork?; get fixedNetwork(): string; set fixedNetwork(value: string); resetFixedNetwork(): void; get fixedNetworkInput(): string; private _fixedSubnet?; get fixedSubnet(): string; set fixedSubnet(value: string); resetFixedSubnet(): void; get fixedSubnetInput(): string; private _id?; get id(): string; set id(value: string); resetId(): void; get idInput(): string; private _isIpv6?; get isIpv6(): boolean | cdktf.IResolvable; set isIpv6(value: boolean | cdktf.IResolvable); resetIsIpv6(): void; get isIpv6Input(): any; get isPublic(): any; private _keypair?; get keypair(): string; set keypair(value: string); get keypairInput(): string; private _name?; get name(): string; set name(value: string); get nameInput(): string; private _podsIpPool?; get podsIpPool(): string; set podsIpPool(value: string); resetPodsIpPool(): void; get podsIpPoolInput(): string; private _podsIpv6Pool?; get podsIpv6Pool(): string; set podsIpv6Pool(value: string); resetPodsIpv6Pool(): void; get podsIpv6PoolInput(): string; private _projectId?; get projectId(): number; set projectId(value: number); resetProjectId(): void; get projectIdInput(): number; private _projectName?; get projectName(): string; set projectName(value: string); resetProjectName(): void; get projectNameInput(): string; private _regionId?; get regionId(): number; set regionId(value: number); resetRegionId(): void; get regionIdInput(): number; private _regionName?; get regionName(): string; set regionName(value: string); resetRegionName(): void; get regionNameInput(): string; get securityGroupId(): any; private _servicesIpPool?; get servicesIpPool(): string; set servicesIpPool(value: string); resetServicesIpPool(): void; get servicesIpPoolInput(): string; private _servicesIpv6Pool?; get servicesIpv6Pool(): string; set servicesIpv6Pool(value: string); resetServicesIpv6Pool(): void; get servicesIpv6PoolInput(): string; get status(): any; get taskId(): any; private _version?; get version(): string; set version(value: string); get versionInput(): string; private _authentication; get authentication(): K8Sv2AuthenticationOutputReference; putAuthentication(value: K8Sv2Authentication): void; resetAuthentication(): void; get authenticationInput(): K8Sv2Authentication; private _cni; get cni(): K8Sv2CniOutputReference; putCni(value: K8Sv2Cni): void; resetCni(): void; get cniInput(): K8Sv2Cni; private _csi; get csi(): K8Sv2CsiOutputReference; putCsi(value: K8Sv2Csi): void; resetCsi(): void; get csiInput(): K8Sv2Csi; private _ddosProfile; get ddosProfile(): K8Sv2DdosProfileOutputReference; putDdosProfile(value: K8Sv2DdosProfile): void; resetDdosProfile(): void; get ddosProfileInput(): K8Sv2DdosProfile; private _pool; get pool(): K8Sv2PoolList; putPool(value: K8Sv2Pool[] | cdktf.IResolvable): void; get poolInput(): any; private _securityGroupRules; get securityGroupRules(): K8Sv2SecurityGroupRulesList; putSecurityGroupRules(value: K8Sv2SecurityGroupRules[] | cdktf.IResolvable): void; resetSecurityGroupRules(): void; get securityGroupRulesInput(): any; private _timeouts; get timeouts(): K8Sv2TimeoutsOutputReference; putTimeouts(value: K8Sv2Timeouts): void; resetTimeouts(): void; get timeoutsInput(): any; protected synthesizeAttributes(): { [name: string]: any; }; protected synthesizeHclAttributes(): { [name: string]: any; }; }