UNPKG

@yandex-cloud/nodejs-sdk

Version:
1,031 lines 203 kB
/// <reference types="node" /> import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from "@grpc/grpc-js"; import _m0 from "protobufjs/minimal"; import { FieldMask } from "../../../../google/protobuf/field_mask"; import { NodeTemplate, Node, Taint } from "../../../../yandex/cloud/k8s/v1/node"; import { ScalePolicy, NodeGroupAllocationPolicy, DeployPolicy, NodeGroupMaintenancePolicy, NodeGroup } from "../../../../yandex/cloud/k8s/v1/node_group"; import { UpdateVersionSpec } from "../../../../yandex/cloud/k8s/v1/version"; import { Operation } from "../../../../yandex/cloud/operation/operation"; export declare const protobufPackage = "yandex.cloud.k8s.v1"; export interface GetNodeGroupRequest { $type: "yandex.cloud.k8s.v1.GetNodeGroupRequest"; /** * ID of the node group to return. * To get the node group ID use a [NodeGroupService.List] request. */ nodeGroupId: string; } export interface ListNodeGroupsRequest { $type: "yandex.cloud.k8s.v1.ListNodeGroupsRequest"; /** * ID of the folder to list node groups in. * To get the folder ID use a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListNodeGroupsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize: number; /** * Page token. To get the next page of results, set `page_token` to the * [ListNodeGroupsResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * The expression must specify: * 1. The field name. Currently you can use filtering only on [NodeGroup.name] field. * 2. An `=` operator. * 3. The value in double quotes (`"`). Must be 3-63 characters long and match the regular expression `[a-z][-a-z0-9]{1,61}[a-z0-9]`. */ filter: string; } export interface ListNodeGroupsResponse { $type: "yandex.cloud.k8s.v1.ListNodeGroupsResponse"; /** List of node groups. */ nodeGroups: NodeGroup[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNodeGroupsRequest.page_size], use * the `next_page_token` as the value * for the [ListNodeGroupsRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * `next_page_token` to continue paging through the results. */ nextPageToken: string; } export interface ListNodeGroupNodesRequest { $type: "yandex.cloud.k8s.v1.ListNodeGroupNodesRequest"; /** * ID of the node group to list. * To get the node group ID use a [NodeGroupService.List] request. */ nodeGroupId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListNodeGroupsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize: number; /** * Page token. To get the next page of results, set `page_token` to the * [ListNodeGroupNodesResponse.next_page_token] returned by a previous list request. */ pageToken: string; } export interface ListNodeGroupNodesResponse { $type: "yandex.cloud.k8s.v1.ListNodeGroupNodesResponse"; /** List of nodes. */ nodes: Node[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNodeGroupNodesRequest.page_size], use * the `next_page_token` as the value * for the [ListNodeGroupNodesRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * `next_page_token` to continue paging through the results. */ nextPageToken: string; } export interface DeleteNodeGroupRequest { $type: "yandex.cloud.k8s.v1.DeleteNodeGroupRequest"; /** * ID of the node group to delete. * To get node group ID use a [NodeGroupService.List] request. */ nodeGroupId: string; } export interface DeleteNodeGroupMetadata { $type: "yandex.cloud.k8s.v1.DeleteNodeGroupMetadata"; /** ID of the node group that is being deleted. */ nodeGroupId: string; } export interface UpdateNodeGroupRequest { $type: "yandex.cloud.k8s.v1.UpdateNodeGroupRequest"; /** * ID of the node group to update. * To get the node group ID use a [NodeGroupService.List] request. */ nodeGroupId: string; /** Field mask that specifies which fields of the node group are going to be updated. */ updateMask?: FieldMask; /** * Name of the node group. * The name must be unique within the folder. */ name: string; /** Description of the node group. */ description: string; /** * Resource labels as `key:value` pairs. * * Existing set of `labels` is completely replaced by the provided set. */ labels: { [key: string]: string; }; /** * Node template for the node group. * Change may trigger nodes rolling reboot or recreate. */ nodeTemplate?: NodeTemplate; /** Scale policy of the node group. */ scalePolicy?: ScalePolicy; /** Allocation policy of the node group by the zones and regions. */ allocationPolicy?: NodeGroupAllocationPolicy; /** * Deploy policy according to which the updates are rolled out. If not specified, * the default is used. */ deployPolicy?: DeployPolicy; /** Version of Kubernetes components that runs on the nodes. */ version?: UpdateVersionSpec; /** Maintenance policy of the node group. */ maintenancePolicy?: NodeGroupMaintenancePolicy; /** Support for unsafe sysctl parameters. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/). */ allowedUnsafeSysctls: string[]; /** Taints that are applied to the nodes of the node group at creation time. */ nodeTaints: Taint[]; /** Labels that are assigned to the nodes of the node group at creation time. */ nodeLabels: { [key: string]: string; }; } export interface UpdateNodeGroupRequest_LabelsEntry { $type: "yandex.cloud.k8s.v1.UpdateNodeGroupRequest.LabelsEntry"; key: string; value: string; } export interface UpdateNodeGroupRequest_NodeLabelsEntry { $type: "yandex.cloud.k8s.v1.UpdateNodeGroupRequest.NodeLabelsEntry"; key: string; value: string; } export interface UpdateNodeGroupMetadata { $type: "yandex.cloud.k8s.v1.UpdateNodeGroupMetadata"; /** ID of the Node group that is being updated. */ nodeGroupId: string; } export interface CreateNodeGroupRequest { $type: "yandex.cloud.k8s.v1.CreateNodeGroupRequest"; /** * ID of the Kubernetes cluster to create a node group in. * To get the Kubernetes cluster ID, use a [ClusterService.List] request. */ clusterId: string; /** * Name of the node group. * The name must be unique within the folder. */ name: string; /** Description of the node group. */ description: string; /** Resource labels as `key:value` pairs. */ labels: { [key: string]: string; }; /** Node template for creating the node group. */ nodeTemplate?: NodeTemplate; /** Scale policy of the node group. */ scalePolicy?: ScalePolicy; /** Allocation policy of the node group by the zones and regions. */ allocationPolicy?: NodeGroupAllocationPolicy; /** * Deploy policy according to which the updates are rolled out. If not specified, * the default is used. */ deployPolicy?: DeployPolicy; /** Version of Kubernetes components that runs on the nodes. */ version: string; /** Maintenance policy of the node group. */ maintenancePolicy?: NodeGroupMaintenancePolicy; /** Support for unsafe sysctl parameters. For more details see [documentation](https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/). */ allowedUnsafeSysctls: string[]; /** Taints that are applied to the nodes of the node group at creation time. */ nodeTaints: Taint[]; /** Labels that are assigned to the nodes of the node group at creation time. */ nodeLabels: { [key: string]: string; }; } export interface CreateNodeGroupRequest_LabelsEntry { $type: "yandex.cloud.k8s.v1.CreateNodeGroupRequest.LabelsEntry"; key: string; value: string; } export interface CreateNodeGroupRequest_NodeLabelsEntry { $type: "yandex.cloud.k8s.v1.CreateNodeGroupRequest.NodeLabelsEntry"; key: string; value: string; } export interface CreateNodeGroupMetadata { $type: "yandex.cloud.k8s.v1.CreateNodeGroupMetadata"; /** ID of the node group that is being created. */ nodeGroupId: string; } export interface AutoUpgradeNodeGroupMetadata { $type: "yandex.cloud.k8s.v1.AutoUpgradeNodeGroupMetadata"; /** ID of the node group that is being auto upgraded. */ nodeGroupId: string; } export interface ListNodeGroupOperationsRequest { $type: "yandex.cloud.k8s.v1.ListNodeGroupOperationsRequest"; /** ID of the node group to list operations for. */ nodeGroupId: string; /** * The maximum number of results per page that should be returned. If the number of available * results is larger than [page_size], the service returns a [ListNodeGroupOperationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100. */ pageSize: number; /** * Page token. To get the next page of results, set `page_token` to the * [ListNodeGroupOperationsResponse.next_page_token] returned by a previous list request. */ pageToken: string; /** * A filter expression that filters resources listed in the response. * Currently you can use filtering only on [NodeGroup.name] field. */ filter: string; } export interface ListNodeGroupOperationsResponse { $type: "yandex.cloud.k8s.v1.ListNodeGroupOperationsResponse"; /** List of operations for the specified node group. */ operations: Operation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListNodeGroupOperationsRequest.page_size], use the `next_page_token` as the value * for the [ListNodeGroupOperationsRequest.page_token] query parameter in the next list request. * Each subsequent list request will have its own `next_page_token` to continue paging through the results. */ nextPageToken: string; } export declare const GetNodeGroupRequest: { $type: "yandex.cloud.k8s.v1.GetNodeGroupRequest"; encode(message: GetNodeGroupRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): GetNodeGroupRequest; fromJSON(object: any): GetNodeGroupRequest; toJSON(message: GetNodeGroupRequest): unknown; fromPartial<I extends { nodeGroupId?: string | undefined; } & { nodeGroupId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "nodeGroupId">, never>>(object: I): GetNodeGroupRequest; }; export declare const ListNodeGroupsRequest: { $type: "yandex.cloud.k8s.v1.ListNodeGroupsRequest"; encode(message: ListNodeGroupsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListNodeGroupsRequest; fromJSON(object: any): ListNodeGroupsRequest; toJSON(message: ListNodeGroupsRequest): unknown; fromPartial<I extends { pageSize?: number | undefined; pageToken?: string | undefined; filter?: string | undefined; folderId?: string | undefined; } & { pageSize?: number | undefined; pageToken?: string | undefined; filter?: string | undefined; folderId?: string | undefined; } & Record<Exclude<keyof I, "$type" | "pageSize" | "pageToken" | "filter" | "folderId">, never>>(object: I): ListNodeGroupsRequest; }; export declare const ListNodeGroupsResponse: { $type: "yandex.cloud.k8s.v1.ListNodeGroupsResponse"; encode(message: ListNodeGroupsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number | undefined): ListNodeGroupsResponse; fromJSON(object: any): ListNodeGroupsResponse; toJSON(message: ListNodeGroupsResponse): unknown; fromPartial<I extends { nextPageToken?: string | undefined; nodeGroups?: { description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/k8s/v1/node_group").NodeGroup_Status | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; allocationPolicy?: { locations?: { subnetId?: string | undefined; zoneId?: string | undefined; }[] | undefined; } | undefined; maintenancePolicy?: { autoUpgrade?: boolean | undefined; maintenanceWindow?: { anytime?: {} | undefined; dailyMaintenanceWindow?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; weeklyMaintenanceWindow?: { daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } | undefined; } | undefined; autoRepair?: boolean | undefined; } | undefined; scalePolicy?: { fixedScale?: { size?: number | undefined; } | undefined; autoScale?: { maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } | undefined; } | undefined; deployPolicy?: { maxUnavailable?: number | undefined; maxExpansion?: number | undefined; } | undefined; instanceGroupId?: string | undefined; clusterId?: string | undefined; versionInfo?: { currentVersion?: string | undefined; newRevisionAvailable?: boolean | undefined; newRevisionSummary?: string | undefined; versionDeprecated?: boolean | undefined; } | undefined; nodeVersion?: string | undefined; allowedUnsafeSysctls?: string[] | undefined; nodeTemplate?: { name?: string | undefined; metadata?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; platformId?: string | undefined; gpuSettings?: { gpuClusterId?: string | undefined; gpuEnvironment?: import("../../../../yandex/cloud/k8s/v1/node").GpuSettings_GpuEnvironment | undefined; } | undefined; schedulingPolicy?: { preemptible?: boolean | undefined; } | undefined; networkSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_NetworkSettings_Type | undefined; } | undefined; placementPolicy?: { placementGroupId?: string | undefined; } | undefined; resourcesSpec?: { memory?: number | undefined; cores?: number | undefined; coreFraction?: number | undefined; gpus?: number | undefined; } | undefined; bootDiskSpec?: { diskTypeId?: string | undefined; diskSize?: number | undefined; } | undefined; networkInterfaceSpecs?: { securityGroupIds?: string[] | undefined; primaryV4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; primaryV6AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; subnetIds?: string[] | undefined; }[] | undefined; v4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; containerRuntimeSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_ContainerRuntimeSettings_Type | undefined; } | undefined; containerNetworkSettings?: { podMtu?: number | undefined; } | undefined; } | undefined; nodeTaints?: { value?: string | undefined; key?: string | undefined; effect?: import("../../../../yandex/cloud/k8s/v1/node").Taint_Effect | undefined; }[] | undefined; nodeLabels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; }[] | undefined; } & { nextPageToken?: string | undefined; nodeGroups?: ({ description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/k8s/v1/node_group").NodeGroup_Status | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; allocationPolicy?: { locations?: { subnetId?: string | undefined; zoneId?: string | undefined; }[] | undefined; } | undefined; maintenancePolicy?: { autoUpgrade?: boolean | undefined; maintenanceWindow?: { anytime?: {} | undefined; dailyMaintenanceWindow?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; weeklyMaintenanceWindow?: { daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } | undefined; } | undefined; autoRepair?: boolean | undefined; } | undefined; scalePolicy?: { fixedScale?: { size?: number | undefined; } | undefined; autoScale?: { maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } | undefined; } | undefined; deployPolicy?: { maxUnavailable?: number | undefined; maxExpansion?: number | undefined; } | undefined; instanceGroupId?: string | undefined; clusterId?: string | undefined; versionInfo?: { currentVersion?: string | undefined; newRevisionAvailable?: boolean | undefined; newRevisionSummary?: string | undefined; versionDeprecated?: boolean | undefined; } | undefined; nodeVersion?: string | undefined; allowedUnsafeSysctls?: string[] | undefined; nodeTemplate?: { name?: string | undefined; metadata?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; platformId?: string | undefined; gpuSettings?: { gpuClusterId?: string | undefined; gpuEnvironment?: import("../../../../yandex/cloud/k8s/v1/node").GpuSettings_GpuEnvironment | undefined; } | undefined; schedulingPolicy?: { preemptible?: boolean | undefined; } | undefined; networkSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_NetworkSettings_Type | undefined; } | undefined; placementPolicy?: { placementGroupId?: string | undefined; } | undefined; resourcesSpec?: { memory?: number | undefined; cores?: number | undefined; coreFraction?: number | undefined; gpus?: number | undefined; } | undefined; bootDiskSpec?: { diskTypeId?: string | undefined; diskSize?: number | undefined; } | undefined; networkInterfaceSpecs?: { securityGroupIds?: string[] | undefined; primaryV4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; primaryV6AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; subnetIds?: string[] | undefined; }[] | undefined; v4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; containerRuntimeSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_ContainerRuntimeSettings_Type | undefined; } | undefined; containerNetworkSettings?: { podMtu?: number | undefined; } | undefined; } | undefined; nodeTaints?: { value?: string | undefined; key?: string | undefined; effect?: import("../../../../yandex/cloud/k8s/v1/node").Taint_Effect | undefined; }[] | undefined; nodeLabels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; }[] & ({ description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/k8s/v1/node_group").NodeGroup_Status | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; allocationPolicy?: { locations?: { subnetId?: string | undefined; zoneId?: string | undefined; }[] | undefined; } | undefined; maintenancePolicy?: { autoUpgrade?: boolean | undefined; maintenanceWindow?: { anytime?: {} | undefined; dailyMaintenanceWindow?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; weeklyMaintenanceWindow?: { daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } | undefined; } | undefined; autoRepair?: boolean | undefined; } | undefined; scalePolicy?: { fixedScale?: { size?: number | undefined; } | undefined; autoScale?: { maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } | undefined; } | undefined; deployPolicy?: { maxUnavailable?: number | undefined; maxExpansion?: number | undefined; } | undefined; instanceGroupId?: string | undefined; clusterId?: string | undefined; versionInfo?: { currentVersion?: string | undefined; newRevisionAvailable?: boolean | undefined; newRevisionSummary?: string | undefined; versionDeprecated?: boolean | undefined; } | undefined; nodeVersion?: string | undefined; allowedUnsafeSysctls?: string[] | undefined; nodeTemplate?: { name?: string | undefined; metadata?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; labels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; platformId?: string | undefined; gpuSettings?: { gpuClusterId?: string | undefined; gpuEnvironment?: import("../../../../yandex/cloud/k8s/v1/node").GpuSettings_GpuEnvironment | undefined; } | undefined; schedulingPolicy?: { preemptible?: boolean | undefined; } | undefined; networkSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_NetworkSettings_Type | undefined; } | undefined; placementPolicy?: { placementGroupId?: string | undefined; } | undefined; resourcesSpec?: { memory?: number | undefined; cores?: number | undefined; coreFraction?: number | undefined; gpus?: number | undefined; } | undefined; bootDiskSpec?: { diskTypeId?: string | undefined; diskSize?: number | undefined; } | undefined; networkInterfaceSpecs?: { securityGroupIds?: string[] | undefined; primaryV4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; primaryV6AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; subnetIds?: string[] | undefined; }[] | undefined; v4AddressSpec?: { oneToOneNatSpec?: { ipVersion?: import("../../../../yandex/cloud/k8s/v1/node").IpVersion | undefined; } | undefined; dnsRecordSpecs?: { ttl?: number | undefined; fqdn?: string | undefined; dnsZoneId?: string | undefined; ptr?: boolean | undefined; }[] | undefined; } | undefined; containerRuntimeSettings?: { type?: import("../../../../yandex/cloud/k8s/v1/node").NodeTemplate_ContainerRuntimeSettings_Type | undefined; } | undefined; containerNetworkSettings?: { podMtu?: number | undefined; } | undefined; } | undefined; nodeTaints?: { value?: string | undefined; key?: string | undefined; effect?: import("../../../../yandex/cloud/k8s/v1/node").Taint_Effect | undefined; }[] | undefined; nodeLabels?: { [x: string]: string | undefined; [x: number]: string | undefined; } | undefined; } & { description?: string | undefined; id?: string | undefined; name?: string | undefined; createdAt?: Date | undefined; status?: import("../../../../yandex/cloud/k8s/v1/node_group").NodeGroup_Status | undefined; labels?: ({ [x: string]: string | undefined; [x: number]: string | undefined; } & { [x: string]: string | undefined; [x: number]: string | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["labels"], string | number>, never>) | undefined; allocationPolicy?: ({ locations?: { subnetId?: string | undefined; zoneId?: string | undefined; }[] | undefined; } & { locations?: ({ subnetId?: string | undefined; zoneId?: string | undefined; }[] & ({ subnetId?: string | undefined; zoneId?: string | undefined; } & { subnetId?: string | undefined; zoneId?: string | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["allocationPolicy"]["locations"][number], "$type" | "subnetId" | "zoneId">, never>)[] & Record<Exclude<keyof I["nodeGroups"][number]["allocationPolicy"]["locations"], "$type" | keyof { subnetId?: string | undefined; zoneId?: string | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["allocationPolicy"], "$type" | "locations">, never>) | undefined; maintenancePolicy?: ({ autoUpgrade?: boolean | undefined; maintenanceWindow?: { anytime?: {} | undefined; dailyMaintenanceWindow?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; weeklyMaintenanceWindow?: { daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } | undefined; } | undefined; autoRepair?: boolean | undefined; } & { autoUpgrade?: boolean | undefined; maintenanceWindow?: ({ anytime?: {} | undefined; dailyMaintenanceWindow?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } | undefined; weeklyMaintenanceWindow?: { daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } | undefined; } & { anytime?: ({} & {} & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["anytime"], "$type">, never>) | undefined; dailyMaintenanceWindow?: ({ startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; } & { startTime?: ({ seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["dailyMaintenanceWindow"]["startTime"], "$type" | "seconds" | "nanos" | "hours" | "minutes">, never>) | undefined; duration?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["dailyMaintenanceWindow"]["duration"], "$type" | "seconds" | "nanos">, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["dailyMaintenanceWindow"], "$type" | "startTime" | "duration">, never>) | undefined; weeklyMaintenanceWindow?: ({ daysOfWeek?: { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] | undefined; } & { daysOfWeek?: ({ startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[] & ({ startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; } & { startTime?: ({ seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"]["daysOfWeek"][number]["startTime"], "$type" | "seconds" | "nanos" | "hours" | "minutes">, never>) | undefined; duration?: ({ seconds?: number | undefined; nanos?: number | undefined; } & { seconds?: number | undefined; nanos?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"]["daysOfWeek"][number]["duration"], "$type" | "seconds" | "nanos">, never>) | undefined; days?: (import("../../../../google/type/dayofweek").DayOfWeek[] & import("../../../../google/type/dayofweek").DayOfWeek[] & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"]["daysOfWeek"][number]["days"], "$type" | keyof import("../../../../google/type/dayofweek").DayOfWeek[]>, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"]["daysOfWeek"][number], "$type" | "startTime" | "duration" | "days">, never>)[] & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"]["daysOfWeek"], "$type" | keyof { startTime?: { seconds?: number | undefined; nanos?: number | undefined; hours?: number | undefined; minutes?: number | undefined; } | undefined; duration?: { seconds?: number | undefined; nanos?: number | undefined; } | undefined; days?: import("../../../../google/type/dayofweek").DayOfWeek[] | undefined; }[]>, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"]["weeklyMaintenanceWindow"], "$type" | "daysOfWeek">, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"]["maintenanceWindow"], "$type" | "anytime" | "dailyMaintenanceWindow" | "weeklyMaintenanceWindow">, never>) | undefined; autoRepair?: boolean | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["maintenancePolicy"], "$type" | "autoUpgrade" | "maintenanceWindow" | "autoRepair">, never>) | undefined; scalePolicy?: ({ fixedScale?: { size?: number | undefined; } | undefined; autoScale?: { maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } | undefined; } & { fixedScale?: ({ size?: number | undefined; } & { size?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["scalePolicy"]["fixedScale"], "$type" | "size">, never>) | undefined; autoScale?: ({ maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } & { maxSize?: number | undefined; initialSize?: number | undefined; minSize?: number | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["scalePolicy"]["autoScale"], "$type" | "maxSize" | "initialSize" | "minSize">, never>) | undefined; } & Record<Exclude<keyof I["nodeGroups"][number]["scalePolicy"], "$type" | "fixedScale" | "autoScale">, never>) | undefined; deployPolicy?: ({ maxUnavailable?: number | undefined; maxExpansion?: number | undefined; } & { maxUnavailable?: number | undefined; maxExpansion?: number | undefin