UNPKG

@cdktf/provider-google

Version:

Prebuilt google Provider for Terraform CDK (cdktf)

795 lines 168 kB
/** * Copyright (c) HashiCorp, Inc. * SPDX-License-Identifier: MPL-2.0 */ import { Construct } from 'constructs'; import * as cdktf from 'cdktf'; export interface DataprocClusterConfig extends cdktf.TerraformMetaArguments { /** * The timeout duration which allows graceful decomissioning when you change the number of worker nodes directly through a terraform apply * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#graceful_decommission_timeout DataprocCluster#graceful_decommission_timeout} */ readonly gracefulDecommissionTimeout?: string; /** * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#id DataprocCluster#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; /** * The list of the labels (key/value pairs) configured on the resource and to be applied to instances in the cluster. * * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. * Please refer to the field 'effective_labels' for all of the labels present on the resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#labels DataprocCluster#labels} */ readonly labels?: { [key: string]: string; }; /** * The name of the cluster, unique within the project and zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#name DataprocCluster#name} */ readonly name: string; /** * The ID of the project in which the cluster will exist. If it is not provided, the provider project is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#project DataprocCluster#project} */ readonly project?: string; /** * The region in which the cluster and associated nodes will be created in. Defaults to global. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#region DataprocCluster#region} */ readonly region?: string; /** * cluster_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#cluster_config DataprocCluster#cluster_config} */ readonly clusterConfig?: DataprocClusterClusterConfig; /** * timeouts block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#timeouts DataprocCluster#timeouts} */ readonly timeouts?: DataprocClusterTimeouts; /** * virtual_cluster_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#virtual_cluster_config DataprocCluster#virtual_cluster_config} */ readonly virtualClusterConfig?: DataprocClusterVirtualClusterConfig; } export interface DataprocClusterClusterConfigAutoscalingConfig { /** * The autoscaling policy used by the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#policy_uri DataprocCluster#policy_uri} */ readonly policyUri: string; } export declare function dataprocClusterClusterConfigAutoscalingConfigToTerraform(struct?: DataprocClusterClusterConfigAutoscalingConfigOutputReference | DataprocClusterClusterConfigAutoscalingConfig): any; export declare function dataprocClusterClusterConfigAutoscalingConfigToHclTerraform(struct?: DataprocClusterClusterConfigAutoscalingConfigOutputReference | DataprocClusterClusterConfigAutoscalingConfig): any; export declare class DataprocClusterClusterConfigAutoscalingConfigOutputReference 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(): DataprocClusterClusterConfigAutoscalingConfig | undefined; set internalValue(value: DataprocClusterClusterConfigAutoscalingConfig | undefined); private _policyUri?; get policyUri(): string; set policyUri(value: string); get policyUriInput(): string | undefined; } export interface DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators { /** * The number of the accelerator cards of this type exposed to this instance. Often restricted to one of 1, 2, 4, or 8. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#accelerator_count DataprocCluster#accelerator_count} */ readonly acceleratorCount: number; /** * The short name of the accelerator type to expose to this instance. For example, nvidia-tesla-k80. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#accelerator_type DataprocCluster#accelerator_type} */ readonly acceleratorType: string; } export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsToTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators | cdktf.IResolvable): any; export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsToHclTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators | cdktf.IResolvable): any; export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsOutputReference 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(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators | cdktf.IResolvable | undefined; set internalValue(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators | cdktf.IResolvable | undefined); private _acceleratorCount?; get acceleratorCount(): number; set acceleratorCount(value: number); get acceleratorCountInput(): number | undefined; private _acceleratorType?; get acceleratorType(): string; set acceleratorType(value: string); get acceleratorTypeInput(): string | undefined; } export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators[] | 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): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsOutputReference; } export interface DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig { /** * Size of the primary disk attached to each node, specified in GB. The primary disk contains the boot volume and system libraries, and the smallest allowed disk size is 10GB. GCP will default to a predetermined computed value if not set (currently 500GB). Note: If SSDs are not attached, it also contains the HDFS data blocks and Hadoop working directories. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#boot_disk_size_gb DataprocCluster#boot_disk_size_gb} */ readonly bootDiskSizeGb?: number; /** * The disk type of the primary disk attached to each node. Such as "pd-ssd" or "pd-standard". Defaults to "pd-standard". * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#boot_disk_type DataprocCluster#boot_disk_type} */ readonly bootDiskType?: string; /** * Interface type of local SSDs (default is "scsi"). Valid values: "scsi" (Small Computer System Interface), "nvme" (Non-Volatile Memory Express). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#local_ssd_interface DataprocCluster#local_ssd_interface} */ readonly localSsdInterface?: string; /** * The amount of local SSD disks that will be attached to each master cluster node. Defaults to 0. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#num_local_ssds DataprocCluster#num_local_ssds} */ readonly numLocalSsds?: number; } export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigToTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigOutputReference | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig): any; export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigToHclTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigOutputReference | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig): any; export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigOutputReference 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(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig | undefined; set internalValue(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig | undefined); private _bootDiskSizeGb?; get bootDiskSizeGb(): number; set bootDiskSizeGb(value: number); resetBootDiskSizeGb(): void; get bootDiskSizeGbInput(): number | undefined; private _bootDiskType?; get bootDiskType(): string; set bootDiskType(value: string); resetBootDiskType(): void; get bootDiskTypeInput(): string | undefined; private _localSsdInterface?; get localSsdInterface(): string; set localSsdInterface(value: string); resetLocalSsdInterface(): void; get localSsdInterfaceInput(): string | undefined; private _numLocalSsds?; get numLocalSsds(): number; set numLocalSsds(value: number); resetNumLocalSsds(): void; get numLocalSsdsInput(): number | undefined; } export interface DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig { /** * The name of a Google Compute Engine machine type to create for the master * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#machine_type DataprocCluster#machine_type} */ readonly machineType?: string; /** * The name of a minimum generation of CPU family for the auxiliary node group. If not specified, GCP will default to a predetermined computed value for each zone. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#min_cpu_platform DataprocCluster#min_cpu_platform} */ readonly minCpuPlatform?: string; /** * Specifies the number of auxiliary nodes to create. If not specified, GCP will default to a predetermined computed value. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#num_instances DataprocCluster#num_instances} */ readonly numInstances?: number; /** * accelerators block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#accelerators DataprocCluster#accelerators} */ readonly accelerators?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators[] | cdktf.IResolvable; /** * disk_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#disk_config DataprocCluster#disk_config} */ readonly diskConfig?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig; } export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigToTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigOutputReference | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig): any; export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigToHclTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigOutputReference | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig): any; export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigOutputReference 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(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig | undefined; set internalValue(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig | undefined); get instanceNames(): string[]; private _machineType?; get machineType(): string; set machineType(value: string); resetMachineType(): void; get machineTypeInput(): string | undefined; private _minCpuPlatform?; get minCpuPlatform(): string; set minCpuPlatform(value: string); resetMinCpuPlatform(): void; get minCpuPlatformInput(): string | undefined; private _numInstances?; get numInstances(): number; set numInstances(value: number); resetNumInstances(): void; get numInstancesInput(): number | undefined; private _accelerators; get accelerators(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAcceleratorsList; putAccelerators(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators[] | cdktf.IResolvable): void; resetAccelerators(): void; get acceleratorsInput(): cdktf.IResolvable | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigAccelerators[] | undefined; private _diskConfig; get diskConfig(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfigOutputReference; putDiskConfig(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig): void; resetDiskConfig(): void; get diskConfigInput(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigDiskConfig | undefined; } export interface DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup { /** * Node group roles. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#roles DataprocCluster#roles} */ readonly roles: string[]; /** * node_group_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#node_group_config DataprocCluster#node_group_config} */ readonly nodeGroupConfig?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig; } export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupToTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup | cdktf.IResolvable): any; export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupToHclTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup | cdktf.IResolvable): any; export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupOutputReference 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(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup | cdktf.IResolvable | undefined; set internalValue(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup | cdktf.IResolvable | undefined); get name(): string; private _roles?; get roles(): string[]; set roles(value: string[]); get rolesInput(): string[] | undefined; private _nodeGroupConfig; get nodeGroupConfig(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfigOutputReference; putNodeGroupConfig(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig): void; resetNodeGroupConfig(): void; get nodeGroupConfigInput(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupNodeGroupConfig | undefined; } export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup[] | 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): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupOutputReference; } export interface DataprocClusterClusterConfigAuxiliaryNodeGroups { /** * A node group ID. Generated if not specified. The ID must contain only letters (a-z, A-Z), numbers (0-9), underscores (_), and hyphens (-). Cannot begin or end with underscore or hyphen. Must consist of from 3 to 33 characters. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#node_group_id DataprocCluster#node_group_id} */ readonly nodeGroupId?: string; /** * node_group block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#node_group DataprocCluster#node_group} */ readonly nodeGroup: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup[] | cdktf.IResolvable; } export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsToTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroups | cdktf.IResolvable): any; export declare function dataprocClusterClusterConfigAuxiliaryNodeGroupsToHclTerraform(struct?: DataprocClusterClusterConfigAuxiliaryNodeGroups | cdktf.IResolvable): any; export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsOutputReference 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(): DataprocClusterClusterConfigAuxiliaryNodeGroups | cdktf.IResolvable | undefined; set internalValue(value: DataprocClusterClusterConfigAuxiliaryNodeGroups | cdktf.IResolvable | undefined); private _nodeGroupId?; get nodeGroupId(): string; set nodeGroupId(value: string); resetNodeGroupId(): void; get nodeGroupIdInput(): string | undefined; private _nodeGroup; get nodeGroup(): DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroupList; putNodeGroup(value: DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup[] | cdktf.IResolvable): void; get nodeGroupInput(): cdktf.IResolvable | DataprocClusterClusterConfigAuxiliaryNodeGroupsNodeGroup[] | undefined; } export declare class DataprocClusterClusterConfigAuxiliaryNodeGroupsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataprocClusterClusterConfigAuxiliaryNodeGroups[] | 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): DataprocClusterClusterConfigAuxiliaryNodeGroupsOutputReference; } export interface DataprocClusterClusterConfigDataprocMetricConfigMetrics { /** * Specify one or more [available OSS metrics] (https://cloud.google.com/dataproc/docs/guides/monitoring#available_oss_metrics) to collect. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#metric_overrides DataprocCluster#metric_overrides} */ readonly metricOverrides?: string[]; /** * A source for the collection of Dataproc OSS metrics (see [available OSS metrics] (https://cloud.google.com//dataproc/docs/guides/monitoring#available_oss_metrics)). * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#metric_source DataprocCluster#metric_source} */ readonly metricSource: string; } export declare function dataprocClusterClusterConfigDataprocMetricConfigMetricsToTerraform(struct?: DataprocClusterClusterConfigDataprocMetricConfigMetrics | cdktf.IResolvable): any; export declare function dataprocClusterClusterConfigDataprocMetricConfigMetricsToHclTerraform(struct?: DataprocClusterClusterConfigDataprocMetricConfigMetrics | cdktf.IResolvable): any; export declare class DataprocClusterClusterConfigDataprocMetricConfigMetricsOutputReference 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(): DataprocClusterClusterConfigDataprocMetricConfigMetrics | cdktf.IResolvable | undefined; set internalValue(value: DataprocClusterClusterConfigDataprocMetricConfigMetrics | cdktf.IResolvable | undefined); private _metricOverrides?; get metricOverrides(): string[]; set metricOverrides(value: string[]); resetMetricOverrides(): void; get metricOverridesInput(): string[] | undefined; private _metricSource?; get metricSource(): string; set metricSource(value: string); get metricSourceInput(): string | undefined; } export declare class DataprocClusterClusterConfigDataprocMetricConfigMetricsList extends cdktf.ComplexList { protected terraformResource: cdktf.IInterpolatingParent; protected terraformAttribute: string; protected wrapsSet: boolean; internalValue?: DataprocClusterClusterConfigDataprocMetricConfigMetrics[] | 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): DataprocClusterClusterConfigDataprocMetricConfigMetricsOutputReference; } export interface DataprocClusterClusterConfigDataprocMetricConfig { /** * metrics block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#metrics DataprocCluster#metrics} */ readonly metrics: DataprocClusterClusterConfigDataprocMetricConfigMetrics[] | cdktf.IResolvable; } export declare function dataprocClusterClusterConfigDataprocMetricConfigToTerraform(struct?: DataprocClusterClusterConfigDataprocMetricConfigOutputReference | DataprocClusterClusterConfigDataprocMetricConfig): any; export declare function dataprocClusterClusterConfigDataprocMetricConfigToHclTerraform(struct?: DataprocClusterClusterConfigDataprocMetricConfigOutputReference | DataprocClusterClusterConfigDataprocMetricConfig): any; export declare class DataprocClusterClusterConfigDataprocMetricConfigOutputReference 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(): DataprocClusterClusterConfigDataprocMetricConfig | undefined; set internalValue(value: DataprocClusterClusterConfigDataprocMetricConfig | undefined); private _metrics; get metrics(): DataprocClusterClusterConfigDataprocMetricConfigMetricsList; putMetrics(value: DataprocClusterClusterConfigDataprocMetricConfigMetrics[] | cdktf.IResolvable): void; get metricsInput(): cdktf.IResolvable | DataprocClusterClusterConfigDataprocMetricConfigMetrics[] | undefined; } export interface DataprocClusterClusterConfigEncryptionConfig { /** * The Cloud KMS key name to use for PD disk encryption for all instances in the cluster. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#kms_key_name DataprocCluster#kms_key_name} */ readonly kmsKeyName: string; } export declare function dataprocClusterClusterConfigEncryptionConfigToTerraform(struct?: DataprocClusterClusterConfigEncryptionConfigOutputReference | DataprocClusterClusterConfigEncryptionConfig): any; export declare function dataprocClusterClusterConfigEncryptionConfigToHclTerraform(struct?: DataprocClusterClusterConfigEncryptionConfigOutputReference | DataprocClusterClusterConfigEncryptionConfig): any; export declare class DataprocClusterClusterConfigEncryptionConfigOutputReference 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(): DataprocClusterClusterConfigEncryptionConfig | undefined; set internalValue(value: DataprocClusterClusterConfigEncryptionConfig | undefined); private _kmsKeyName?; get kmsKeyName(): string; set kmsKeyName(value: string); get kmsKeyNameInput(): string | undefined; } export interface DataprocClusterClusterConfigEndpointConfig { /** * The flag to enable http access to specific ports on the cluster from external sources (aka Component Gateway). Defaults to false. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#enable_http_port_access DataprocCluster#enable_http_port_access} */ readonly enableHttpPortAccess: boolean | cdktf.IResolvable; } export declare function dataprocClusterClusterConfigEndpointConfigToTerraform(struct?: DataprocClusterClusterConfigEndpointConfigOutputReference | DataprocClusterClusterConfigEndpointConfig): any; export declare function dataprocClusterClusterConfigEndpointConfigToHclTerraform(struct?: DataprocClusterClusterConfigEndpointConfigOutputReference | DataprocClusterClusterConfigEndpointConfig): any; export declare class DataprocClusterClusterConfigEndpointConfigOutputReference 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(): DataprocClusterClusterConfigEndpointConfig | undefined; set internalValue(value: DataprocClusterClusterConfigEndpointConfig | undefined); private _enableHttpPortAccess?; get enableHttpPortAccess(): boolean | cdktf.IResolvable; set enableHttpPortAccess(value: boolean | cdktf.IResolvable); get enableHttpPortAccessInput(): boolean | cdktf.IResolvable | undefined; private _httpPorts; get httpPorts(): cdktf.StringMap; } export interface DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig { /** * Defines whether the instance should have confidential compute enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#enable_confidential_compute DataprocCluster#enable_confidential_compute} */ readonly enableConfidentialCompute?: boolean | cdktf.IResolvable; } export declare function dataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigToTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigOutputReference | DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig): any; export declare function dataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigToHclTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigOutputReference | DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig): any; export declare class DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigOutputReference 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(): DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig | undefined; set internalValue(value: DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig | undefined); private _enableConfidentialCompute?; get enableConfidentialCompute(): boolean | cdktf.IResolvable; set enableConfidentialCompute(value: boolean | cdktf.IResolvable); resetEnableConfidentialCompute(): void; get enableConfidentialComputeInput(): boolean | cdktf.IResolvable | undefined; } export interface DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity { /** * The URI of a sole-tenant that the cluster will be created on. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#node_group_uri DataprocCluster#node_group_uri} */ readonly nodeGroupUri: string; } export declare function dataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityToTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityOutputReference | DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity): any; export declare function dataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityToHclTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityOutputReference | DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity): any; export declare class DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityOutputReference 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(): DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity | undefined; set internalValue(value: DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity | undefined); private _nodeGroupUri?; get nodeGroupUri(): string; set nodeGroupUri(value: string); get nodeGroupUriInput(): string | undefined; } export interface DataprocClusterClusterConfigGceClusterConfigReservationAffinity { /** * Type of reservation to consume. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#consume_reservation_type DataprocCluster#consume_reservation_type} */ readonly consumeReservationType?: string; /** * Corresponds to the label key of reservation resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#key DataprocCluster#key} */ readonly key?: string; /** * Corresponds to the label values of reservation resource. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#values DataprocCluster#values} */ readonly values?: string[]; } export declare function dataprocClusterClusterConfigGceClusterConfigReservationAffinityToTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigReservationAffinityOutputReference | DataprocClusterClusterConfigGceClusterConfigReservationAffinity): any; export declare function dataprocClusterClusterConfigGceClusterConfigReservationAffinityToHclTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigReservationAffinityOutputReference | DataprocClusterClusterConfigGceClusterConfigReservationAffinity): any; export declare class DataprocClusterClusterConfigGceClusterConfigReservationAffinityOutputReference 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(): DataprocClusterClusterConfigGceClusterConfigReservationAffinity | undefined; set internalValue(value: DataprocClusterClusterConfigGceClusterConfigReservationAffinity | undefined); private _consumeReservationType?; get consumeReservationType(): string; set consumeReservationType(value: string); resetConsumeReservationType(): void; get consumeReservationTypeInput(): string | undefined; private _key?; get key(): string; set key(value: string); resetKey(): void; get keyInput(): string | undefined; private _values?; get values(): string[]; set values(value: string[]); resetValues(): void; get valuesInput(): string[] | undefined; } export interface DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig { /** * Defines whether instances have integrity monitoring enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#enable_integrity_monitoring DataprocCluster#enable_integrity_monitoring} */ readonly enableIntegrityMonitoring?: boolean | cdktf.IResolvable; /** * Defines whether instances have Secure Boot enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#enable_secure_boot DataprocCluster#enable_secure_boot} */ readonly enableSecureBoot?: boolean | cdktf.IResolvable; /** * Defines whether instances have the vTPM enabled. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#enable_vtpm DataprocCluster#enable_vtpm} */ readonly enableVtpm?: boolean | cdktf.IResolvable; } export declare function dataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfigToTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfigOutputReference | DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig): any; export declare function dataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfigToHclTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfigOutputReference | DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig): any; export declare class DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfigOutputReference 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(): DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig | undefined; set internalValue(value: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig | undefined); private _enableIntegrityMonitoring?; get enableIntegrityMonitoring(): boolean | cdktf.IResolvable; set enableIntegrityMonitoring(value: boolean | cdktf.IResolvable); resetEnableIntegrityMonitoring(): void; get enableIntegrityMonitoringInput(): boolean | cdktf.IResolvable | undefined; private _enableSecureBoot?; get enableSecureBoot(): boolean | cdktf.IResolvable; set enableSecureBoot(value: boolean | cdktf.IResolvable); resetEnableSecureBoot(): void; get enableSecureBootInput(): boolean | cdktf.IResolvable | undefined; private _enableVtpm?; get enableVtpm(): boolean | cdktf.IResolvable; set enableVtpm(value: boolean | cdktf.IResolvable); resetEnableVtpm(): void; get enableVtpmInput(): boolean | cdktf.IResolvable | undefined; } export interface DataprocClusterClusterConfigGceClusterConfig { /** * By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. If set to true, all instances in the cluster will only have internal IP addresses. Note: Private Google Access (also known as privateIpGoogleAccess) must be enabled on the subnetwork that the cluster will be launched in. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#internal_ip_only DataprocCluster#internal_ip_only} */ readonly internalIpOnly?: boolean | cdktf.IResolvable; /** * A map of the Compute Engine metadata entries to add to all instances * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#metadata DataprocCluster#metadata} */ readonly metadata?: { [key: string]: string; }; /** * The name or self_link of the Google Compute Engine network to the cluster will be part of. Conflicts with subnetwork. If neither is specified, this defaults to the "default" network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#network DataprocCluster#network} */ readonly network?: string; /** * The service account to be used by the Node VMs. If not specified, the "default" service account is used. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#service_account DataprocCluster#service_account} */ readonly serviceAccount?: string; /** * The set of Google API scopes to be made available on all of the node VMs under the service_account specified. These can be either FQDNs, or scope aliases. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#service_account_scopes DataprocCluster#service_account_scopes} */ readonly serviceAccountScopes?: string[]; /** * The name or self_link of the Google Compute Engine subnetwork the cluster will be part of. Conflicts with network. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#subnetwork DataprocCluster#subnetwork} */ readonly subnetwork?: string; /** * The list of instance tags applied to instances in the cluster. Tags are used to identify valid sources or targets for network firewalls. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#tags DataprocCluster#tags} */ readonly tags?: string[]; /** * The GCP zone where your data is stored and used (i.e. where the master and the worker nodes will be created in). If region is set to 'global' (default) then zone is mandatory, otherwise GCP is able to make use of Auto Zone Placement to determine this automatically for you. Note: This setting additionally determines and restricts which computing resources are available for use with other configs such as cluster_config.master_config.machine_type and cluster_config.worker_config.machine_type. * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#zone DataprocCluster#zone} */ readonly zone?: string; /** * confidential_instance_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#confidential_instance_config DataprocCluster#confidential_instance_config} */ readonly confidentialInstanceConfig?: DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig; /** * node_group_affinity block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#node_group_affinity DataprocCluster#node_group_affinity} */ readonly nodeGroupAffinity?: DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity; /** * reservation_affinity block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#reservation_affinity DataprocCluster#reservation_affinity} */ readonly reservationAffinity?: DataprocClusterClusterConfigGceClusterConfigReservationAffinity; /** * shielded_instance_config block * * Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/dataproc_cluster#shielded_instance_config DataprocCluster#shielded_instance_config} */ readonly shieldedInstanceConfig?: DataprocClusterClusterConfigGceClusterConfigShieldedInstanceConfig; } export declare function dataprocClusterClusterConfigGceClusterConfigToTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigOutputReference | DataprocClusterClusterConfigGceClusterConfig): any; export declare function dataprocClusterClusterConfigGceClusterConfigToHclTerraform(struct?: DataprocClusterClusterConfigGceClusterConfigOutputReference | DataprocClusterClusterConfigGceClusterConfig): any; export declare class DataprocClusterClusterConfigGceClusterConfigOutputReference 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(): DataprocClusterClusterConfigGceClusterConfig | undefined; set internalValue(value: DataprocClusterClusterConfigGceClusterConfig | undefined); private _internalIpOnly?; get internalIpOnly(): boolean | cdktf.IResolvable; set internalIpOnly(value: boolean | cdktf.IResolvable); resetInternalIpOnly(): void; get internalIpOnlyInput(): boolean | cdktf.IResolvable | undefined; private _metadata?; get metadata(): { [key: string]: string; }; set metadata(value: { [key: string]: string; }); resetMetadata(): void; get metadataInput(): { [key: string]: string; } | undefined; private _network?; get network(): string; set network(value: string); resetNetwork(): void; get networkInput(): string | undefined; private _serviceAccount?; get serviceAccount(): string; set serviceAccount(value: string); resetServiceAccount(): void; get serviceAccountInput(): string | undefined; private _serviceAccountScopes?; get serviceAccountScopes(): string[]; set serviceAccountScopes(value: string[]); resetServiceAccountScopes(): void; get serviceAccountScopesInput(): string[] | undefined; private _subnetwork?; get subnetwork(): string; set subnetwork(value: string); resetSubnetwork(): void; get subnetworkInput(): string | undefined; private _tags?; get tags(): string[]; set tags(value: string[]); resetTags(): void; get tagsInput(): string[] | undefined; private _zone?; get zone(): string; set zone(value: string); resetZone(): void; get zoneInput(): string | undefined; private _confidentialInstanceConfig; get confidentialInstanceConfig(): DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfigOutputReference; putConfidentialInstanceConfig(value: DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig): void; resetConfidentialInstanceConfig(): void; get confidentialInstanceConfigInput(): DataprocClusterClusterConfigGceClusterConfigConfidentialInstanceConfig | undefined; private _nodeGroupAffinity; get nodeGroupAffinity(): DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinityOutputReference; putNodeGroupAffinity(value: DataprocClusterClusterConfigGceClusterConfigNodeGroupAffinity): void; resetNodeGroup