@databricks/sdk-instancepools 0.49.0 → 0.52.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/package.js CHANGED
@@ -1,6 +1,6 @@
1
1
  //#region package.json
2
2
  var name = "@databricks/sdk-instancepools";
3
- var version = "0.49.0";
3
+ var version = "0.52.0";
4
4
 
5
5
  //#endregion
6
6
  export { name, version };
@@ -507,7 +507,14 @@ interface InstancePoolAndStats {
507
507
  }
508
508
  /** Attributes set during instance pool creation which are related to Amazon Web Services. */
509
509
  interface InstancePoolAwsAttributes {
510
- /** Availability type used for the spot nodes. */
510
+ /**
511
+ * Availability type used for the instances in the pool. Supports on-demand, spot, and
512
+ * spot-with-fallback (the pool acquires spot instances first, and falls back to on-demand
513
+ * instances when spot capacity is unavailable).
514
+ *
515
+ * You can change this value on an existing pool. New clusters use the updated availability, and
516
+ * existing clusters keep the availability they launched with.
517
+ */
511
518
  availability?: AwsAvailability | undefined;
512
519
  /**
513
520
  * Identifier for the availability zone/datacenter in which the cluster resides.
@@ -517,6 +524,14 @@ interface InstancePoolAwsAttributes {
517
524
  * This is an optional field at cluster creation, and if not specified, a default zone will be used.
518
525
  * The list of available zones as well as the default value can be found by using the
519
526
  * `List Zones` method.
527
+ *
528
+ * Set this field to "auto" to enable Auto-AZ, in which case <Databricks> selects the availability
529
+ * zone for each cluster independently when the cluster launches, and retries another zone if the
530
+ * cluster can't be fulfilled because of insufficient capacity or quota. All nodes in a cluster
531
+ * land in the same zone, and different clusters backed by the pool can run in different zones.
532
+ *
533
+ * You can change the zone on an existing pool. New clusters use the updated zone, and existing
534
+ * clusters keep the zone they launched with.
520
535
  */
521
536
  zoneId?: string | undefined;
522
537
  /**
@@ -529,6 +544,9 @@ interface InstancePoolAwsAttributes {
529
544
  * When spot instances are requested for this cluster, only spot instances whose bid price
530
545
  * percentage matches this field will be considered.
531
546
  * Note that, for safety, we enforce this field to be no more than 10000.
547
+ *
548
+ * You can change this value on an existing pool. New clusters use the updated bid price, and
549
+ * existing clusters keep the bid price they launched with.
532
550
  */
533
551
  spotBidPricePercent?: number | undefined;
534
552
  /**
@@ -544,7 +562,14 @@ interface InstancePoolAwsAttributes {
544
562
  }
545
563
  /** Attributes set during instance pool creation which are related to Azure. */
546
564
  interface InstancePoolAzureAttributes {
547
- /** Availability type used for the spot nodes. */
565
+ /**
566
+ * Availability type used for the instances in the pool. Supports on-demand, spot, and
567
+ * spot-with-fallback (the pool acquires spot instances first, and falls back to on-demand
568
+ * instances when spot capacity is unavailable).
569
+ *
570
+ * You can change this value on an existing pool. New clusters use the updated availability, and
571
+ * existing clusters keep the availability they launched with.
572
+ */
548
573
  availability?: AzureAvailability | undefined;
549
574
  /**
550
575
  * With variable pricing, you have option to set a max price, in US dollars (USD)
@@ -552,6 +577,9 @@ interface InstancePoolAzureAttributes {
552
577
  * If you set the max price to be -1, the VM won't be evicted based on price.
553
578
  * The price for the VM will be the current price for spot or the price for a standard VM,
554
579
  * which ever is less, as long as there is capacity and quota available.
580
+ *
581
+ * You can change this value on an existing pool. New clusters use the updated max price, and
582
+ * existing clusters keep the max price they launched with.
555
583
  */
556
584
  spotBidMaxPrice?: number | undefined;
557
585
  /**
@@ -573,6 +601,14 @@ interface InstancePoolAzureAttributes {
573
601
  }
574
602
  /** Attributes set during instance pool creation which are related to GCP. */
575
603
  interface InstancePoolGcpAttributes {
604
+ /**
605
+ * Availability type for the instances in the pool. One of:
606
+ *
607
+ * - `ON_DEMAND_GCP`: the pool uses on-demand instances only.
608
+ * - `PREEMPTIBLE_GCP`: the pool uses preemptible instances only.
609
+ * - `PREEMPTIBLE_WITH_FALLBACK_GCP`: the pool acquires preemptible instances first, and falls
610
+ * back to on-demand instances when preemptible capacity is unavailable.
611
+ */
576
612
  gcpAvailability?: GcpAvailability | undefined;
577
613
  /**
578
614
  * If provided, each node in the instance pool will have this number of local SSDs attached.
@@ -589,9 +625,13 @@ interface InstancePoolGcpAttributes {
589
625
  *
590
626
  * This field can be one of the following:
591
627
  * - "HA" => High availability, spread nodes across availability zones for a <Databricks> deployment region
628
+ * - "auto" => Auto-AZ. <Databricks> selects the availability zone for each cluster independently when the cluster launches, and retries another zone if the cluster can't be fulfilled because of insufficient capacity or quota. All nodes in a cluster land in the same zone, and different clusters backed by the pool can run in different zones.
592
629
  * - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones (e.g. "us-west1-a").
593
630
  *
594
631
  * If empty, <Databricks> picks an availability zone to schedule the cluster on.
632
+ *
633
+ * You can change the zone on an existing pool. New clusters use the updated zone, and existing
634
+ * clusters keep the zone they launched with.
595
635
  */
596
636
  zoneId?: string | undefined;
597
637
  }
@@ -622,6 +662,11 @@ interface ListInstancePoolsResponse {
622
662
  interface NodeTypeFlexibility {
623
663
  /** A list of node type IDs to use as fallbacks when the primary node type is unavailable. */
624
664
  alternateNodeTypeIds?: string[] | undefined;
665
+ /**
666
+ * The AWS Context ID for EC2 Fleet.
667
+ * When set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet.
668
+ */
669
+ awsContextId?: string | undefined;
625
670
  }
626
671
  /** Error message of a failed pending instances */
627
672
  interface PendingInstanceError {
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","names":[],"sources":["../../src/v2/model.ts"],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","names":[],"sources":["../../src/v2/model.ts"],"mappings":"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"}
package/dist/v2/model.js CHANGED
@@ -233,7 +233,13 @@ const unmarshalInstancePoolStatsSchema = z.object({
233
233
  }));
234
234
  const unmarshalInstancePoolStatusSchema = z.object({ pending_instance_errors: z.array(z.lazy(() => unmarshalPendingInstanceErrorSchema)).optional() }).transform((d) => ({ pendingInstanceErrors: d.pending_instance_errors }));
235
235
  const unmarshalListInstancePoolsResponseSchema = z.object({ instance_pools: z.array(z.lazy(() => unmarshalInstancePoolAndStatsSchema)).optional() }).transform((d) => ({ instancePools: d.instance_pools }));
236
- const unmarshalNodeTypeFlexibilitySchema = z.object({ alternate_node_type_ids: z.array(z.string()).optional() }).transform((d) => ({ alternateNodeTypeIds: d.alternate_node_type_ids }));
236
+ const unmarshalNodeTypeFlexibilitySchema = z.object({
237
+ alternate_node_type_ids: z.array(z.string()).optional(),
238
+ aws_context_id: z.string().optional()
239
+ }).transform((d) => ({
240
+ alternateNodeTypeIds: d.alternate_node_type_ids,
241
+ awsContextId: d.aws_context_id
242
+ }));
237
243
  const unmarshalPendingInstanceErrorSchema = z.object({
238
244
  instance_id: z.string().optional(),
239
245
  message: z.string().optional()
@@ -383,7 +389,13 @@ const marshalInstancePoolGcpAttributesSchema = z.object({
383
389
  local_ssd_count: d.localSsdCount,
384
390
  zone_id: d.zoneId
385
391
  }));
386
- const marshalNodeTypeFlexibilitySchema = z.object({ alternateNodeTypeIds: z.array(z.string()).optional() }).transform((d) => ({ alternate_node_type_ids: d.alternateNodeTypeIds }));
392
+ const marshalNodeTypeFlexibilitySchema = z.object({
393
+ alternateNodeTypeIds: z.array(z.string()).optional(),
394
+ awsContextId: z.string().optional()
395
+ }).transform((d) => ({
396
+ alternate_node_type_ids: d.alternateNodeTypeIds,
397
+ aws_context_id: d.awsContextId
398
+ }));
387
399
 
388
400
  //#endregion
389
401
  export { AwsAvailability, AzureAvailability, AzureDiskVolumeType, EbsVolumeType, GcpAvailability, InstancePoolState, marshalCreateInstancePoolRequestSchema, marshalDeleteInstancePoolRequestSchema, marshalDiskSpecSchema, marshalDiskTypeSchema, marshalDockerBasicAuthSchema, marshalDockerImageSchema, marshalEditInstancePoolRequestSchema, marshalInstancePoolAwsAttributesSchema, marshalInstancePoolAzureAttributesSchema, marshalInstancePoolGcpAttributesSchema, marshalNodeTypeFlexibilitySchema, unmarshalCreateInstancePoolResponseSchema, unmarshalDeleteInstancePoolResponseSchema, unmarshalDiskSpecSchema, unmarshalDiskTypeSchema, unmarshalDockerBasicAuthSchema, unmarshalDockerImageSchema, unmarshalEditInstancePoolResponseSchema, unmarshalGetInstancePoolResponseSchema, unmarshalInstancePoolAndStatsSchema, unmarshalInstancePoolAwsAttributesSchema, unmarshalInstancePoolAzureAttributesSchema, unmarshalInstancePoolGcpAttributesSchema, unmarshalInstancePoolStatsSchema, unmarshalInstancePoolStatusSchema, unmarshalListInstancePoolsResponseSchema, unmarshalNodeTypeFlexibilitySchema, unmarshalPendingInstanceErrorSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","names":[],"sources":["../../src/v2/model.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport {z} from 'zod';\n\n/**\n * Availability type used for all subsequent nodes past the `first_on_demand` ones.\n *\n * Note: If `first_on_demand` is zero, this availability type will be used for the entire cluster.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AwsAvailability = {\n /** Use spot instances. */\n SPOT: 'SPOT',\n /** Use on-demand instances. */\n ON_DEMAND: 'ON_DEMAND',\n /**\n * Preferably use spot instances, but fall back to on-demand instances if spot instances cannot\n * be acquired (e.g., if AWS spot prices are too high).\n */\n SPOT_WITH_FALLBACK: 'SPOT_WITH_FALLBACK',\n} as const;\nexport type AwsAvailability =\n | (typeof AwsAvailability)[keyof typeof AwsAvailability]\n | (string & {});\n\n/**\n * Availability type used for all subsequent nodes past the `first_on_demand` ones.\n * Note: If `first_on_demand` is zero, this availability type will be used for the entire cluster.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AzureAvailability = {\n /** Use spot instances. */\n SPOT_AZURE: 'SPOT_AZURE',\n /** Use on-demand instances. */\n ON_DEMAND_AZURE: 'ON_DEMAND_AZURE',\n /**\n * Preferably use spot instances, but fall back to on-demand instances if spot instances cannot\n * be acquired (e.g., if Azure is out of Quota).\n */\n SPOT_WITH_FALLBACK_AZURE: 'SPOT_WITH_FALLBACK_AZURE',\n} as const;\nexport type AzureAvailability =\n | (typeof AzureAvailability)[keyof typeof AzureAvailability]\n | (string & {});\n\n/**\n * All Azure Disk types that <Databricks> supports.\n * See https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux#types-of-disks\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AzureDiskVolumeType = {\n /** Premium storage tier, backed by SSDs. */\n PREMIUM_LRS: 'PREMIUM_LRS',\n /** Standard storage tier, backed by HDDs. */\n STANDARD_LRS: 'STANDARD_LRS',\n} as const;\nexport type AzureDiskVolumeType =\n | (typeof AzureDiskVolumeType)[keyof typeof AzureDiskVolumeType]\n | (string & {});\n\n/**\n * All EBS volume types that <Databricks> supports.\n * See https://aws.amazon.com/ebs/details/ for details.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const EbsVolumeType = {\n /** Provision extra storage using AWS gp2 EBS volumes. */\n GENERAL_PURPOSE_SSD: 'GENERAL_PURPOSE_SSD',\n /** Provision extra storage using AWS st1 volumes. */\n THROUGHPUT_OPTIMIZED_HDD: 'THROUGHPUT_OPTIMIZED_HDD',\n} as const;\nexport type EbsVolumeType =\n | (typeof EbsVolumeType)[keyof typeof EbsVolumeType]\n | (string & {});\n\n/**\n * This field determines whether the instance pool will contain preemptible\n * VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const GcpAvailability = {\n PREEMPTIBLE_GCP: 'PREEMPTIBLE_GCP',\n ON_DEMAND_GCP: 'ON_DEMAND_GCP',\n PREEMPTIBLE_WITH_FALLBACK_GCP: 'PREEMPTIBLE_WITH_FALLBACK_GCP',\n} as const;\nexport type GcpAvailability =\n | (typeof GcpAvailability)[keyof typeof GcpAvailability]\n | (string & {});\n\n/**\n * The state of a Cluster. The current allowable state transitions are as follows:\n *\n * - ``ACTIVE`` -> ``STOPPED``\n * - ``ACTIVE`` -> ``DELETED``\n * - ``STOPPED`` -> ``ACTIVE``\n * - ``STOPPED`` -> ``DELETED``\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const InstancePoolState = {\n /** Indicates an instance pool is active for use. */\n ACTIVE: 'ACTIVE',\n /**\n * Indicates an instance pool has been stopped so no more clusters should be able to get instances\n * from the pool.\n */\n STOPPED: 'STOPPED',\n /** Indicates the instance pool has been deleted and should no longer exist. */\n DELETED: 'DELETED',\n} as const;\nexport type InstancePoolState =\n | (typeof InstancePoolState)[keyof typeof InstancePoolState]\n | (string & {});\n\nexport interface CreateInstancePoolRequest {\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\nexport interface CreateInstancePoolResponse {\n /** The ID of the created instance pool. */\n instancePoolId?: string | undefined;\n}\n\nexport interface DeleteInstancePoolRequest {\n /** The instance pool to be terminated. */\n instancePoolId?: string | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DeleteInstancePoolResponse {}\n\n/**\n * Describes the disks that are launched for each instance in the spark cluster.\n * For example, if the cluster has 3 instances, each instance is configured to launch\n * 2 disks, 100 GiB each, then <Databricks> will launch a total of 6 disks,\n * 100 GiB each, for this cluster.\n */\nexport interface DiskSpec {\n /** The type of disks that will be launched with this cluster. */\n diskType?: DiskType | undefined;\n /**\n * The number of disks launched for each instance:\n * - This feature is only enabled for supported node types.\n * - Users can choose up to the limit of the disks supported by the node type.\n * - For node types with no OS disk, at least one disk must be specified;\n * otherwise, cluster creation will fail.\n *\n * If disks are attached, <Databricks> will configure Spark to use only the disks for\n * scratch storage, because heterogenously sized scratch devices can lead to inefficient disk\n * utilization. If no disks are attached, <Databricks> will configure Spark to use\n * instance store disks.\n *\n * Note: If disks are specified, then the Spark configuration\n * `spark.local.dir` will be overridden.\n *\n * Disks will be mounted at:\n * - For AWS: `/ebs0`, `/ebs1`, and etc.\n * - For Azure: `/remote_volume0`, `/remote_volume1`, and etc.\n */\n diskCount?: number | undefined;\n /**\n * The size of each disk (in GiB) launched for each instance.\n * Values must fall into the supported range for a particular instance type.\n *\n * For AWS:\n * - General Purpose SSD: 100 - 4096 GiB\n * - Throughput Optimized HDD: 500 - 4096 GiB\n *\n * For Azure:\n * - Premium LRS (SSD): 1 - 1023 GiB\n * - Standard LRS (HDD): 1- 1023 GiB\n */\n diskSize?: number | undefined;\n diskIops?: number | undefined;\n diskThroughput?: number | undefined;\n}\n\n/** Describes the disk type. */\nexport interface DiskType {\n remoteVolumeType?:\n | {$case: 'ebsVolumeType'; ebsVolumeType: EbsVolumeType}\n | {$case: 'azureDiskVolumeType'; azureDiskVolumeType: AzureDiskVolumeType}\n | undefined;\n}\n\nexport interface DockerBasicAuth {\n /** Name of the user */\n username?: string | undefined;\n /** Password of the user */\n password?: string | undefined;\n}\n\nexport interface DockerImage {\n /** URL of the docker image. */\n url?: string | undefined;\n credsOneof?:\n | {\n $case: 'basicAuth';\n /** Basic auth with username and password */\n basicAuth: DockerBasicAuth;\n }\n | undefined;\n}\n\nexport interface EditInstancePoolRequest {\n /** Instance pool ID */\n instancePoolId?: string | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface EditInstancePoolResponse {}\n\nexport interface GetInstancePoolRequest {\n /** The canonical unique identifier for the instance pool. */\n instancePoolId?: string | undefined;\n}\n\nexport interface GetInstancePoolResponse {\n /** Usage statistics about the instance pool. */\n stats?: InstancePoolStats | undefined;\n /** Status of failed pending instances in the pool. */\n status?: InstancePoolStatus | undefined;\n /** Canonical unique identifier for the pool. */\n instancePoolId?: string | undefined;\n /**\n * Tags that are added by <Databricks> regardless of any ``custom_tags``, including:\n *\n * - Vendor: <Databricks>\n *\n * - InstancePoolCreator: <user_id_of_creator>\n *\n * - InstancePoolName: <name_of_pool>\n *\n * - InstancePoolId: <id_of_pool>\n */\n defaultTags?: Record<string, string> | undefined;\n /** Current state of the instance pool. */\n state?: InstancePoolState | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\nexport interface InstancePoolAndStats {\n /** Usage statistics about the instance pool. */\n stats?: InstancePoolStats | undefined;\n /** Status of failed pending instances in the pool. */\n status?: InstancePoolStatus | undefined;\n /** Canonical unique identifier for the pool. */\n instancePoolId?: string | undefined;\n /**\n * Tags that are added by <Databricks> regardless of any ``custom_tags``, including:\n *\n * - Vendor: <Databricks>\n *\n * - InstancePoolCreator: <user_id_of_creator>\n *\n * - InstancePoolName: <name_of_pool>\n *\n * - InstancePoolId: <id_of_pool>\n */\n defaultTags?: Record<string, string> | undefined;\n /** Current state of the instance pool. */\n state?: InstancePoolState | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to Amazon Web Services. */\nexport interface InstancePoolAwsAttributes {\n /** Availability type used for the spot nodes. */\n availability?: AwsAvailability | undefined;\n /**\n * Identifier for the availability zone/datacenter in which the cluster resides.\n * This string will be of a form like \"us-west-2a\". The provided availability\n * zone must be in the same region as the <Databricks> deployment. For example, \"us-west-2a\"\n * is not a valid zone id if the <Databricks> deployment resides in the \"us-east-1\" region.\n * This is an optional field at cluster creation, and if not specified, a default zone will be used.\n * The list of available zones as well as the default value can be found by using the\n * `List Zones` method.\n */\n zoneId?: string | undefined;\n /**\n * Calculates the bid price for AWS spot instances, as a percentage of the corresponding instance type's\n * on-demand price.\n * For example, if this field is set to 50, and the cluster needs a new `r3.xlarge` spot\n * instance, then the bid price is half of the price of\n * on-demand `r3.xlarge` instances. Similarly, if this field is set to 200, the bid price is twice\n * the price of on-demand `r3.xlarge` instances. If not specified, the default value is 100.\n * When spot instances are requested for this cluster, only spot instances whose bid price\n * percentage matches this field will be considered.\n * Note that, for safety, we enforce this field to be no more than 10000.\n */\n spotBidPricePercent?: number | undefined;\n /**\n * All AWS instances belonging to the instance pool will have this instance profile. If omitted, instances\n * will initially be launched with the workspace's default instance profile. If defined, clusters that use the\n * pool will inherit the instance profile, and must not specify their own instance profile on cluster creation or\n * update. If the pool does not specify an instance profile, clusters using the pool may specify any instance profile.\n * The instance profile must have previously been added to the <Databricks> environment by an account administrator.\n *\n * This feature may only be available to certain customer plans.\n */\n instanceProfileArn?: string | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to Azure. */\nexport interface InstancePoolAzureAttributes {\n /** Availability type used for the spot nodes. */\n availability?: AzureAvailability | undefined;\n /**\n * With variable pricing, you have option to set a max price, in US dollars (USD)\n * For example, the value 2 would be a max price of $2.00 USD per hour.\n * If you set the max price to be -1, the VM won't be evicted based on price.\n * The price for the VM will be the current price for spot or the price for a standard VM,\n * which ever is less, as long as there is capacity and quota available.\n */\n spotBidMaxPrice?: number | undefined;\n /**\n * The Azure capacity reservation group resource ID to use for launching VMs in this pool.\n * When specified, VMs will be launched using the provided capacity reservation.\n *\n * NOTE: Omitting this field will clear any existing configured capacity reservation group on the pool.\n *\n * Capacity reservations can only be specified when the workspace uses injected vnet (i.e. customer defined vnet not\n * managed by databricks). Ensure the databricks-login-prod Enterprise Application is granted the following four permissions:\n * 1. Microsoft.Compute/capacityReservationGroups/read\n * 2. Microsoft.Compute/capacityReservationGroups/deploy/action\n * 3. Microsoft.Compute/capacityReservationGroups/capacityReservations/read\n * 4. Microsoft.Compute/capacityReservationGroups/capacityReservations/deploy/action\n *\n * Format: `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}`\n */\n capacityReservationGroup?: string | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to GCP. */\nexport interface InstancePoolGcpAttributes {\n gcpAvailability?: GcpAvailability | undefined;\n /**\n * If provided, each node in the instance pool will have this number of local SSDs attached.\n * Each local SSD is 375GB in size. Refer to [GCP documentation](https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds)\n * for the supported number of local SSDs for each instance type.\n */\n localSsdCount?: number | undefined;\n /**\n * Identifier for the availability zone/datacenter in which the cluster resides.\n * This string will be of a form like \"us-west1-a\". The provided availability\n * zone must be in the same region as the <Databricks> workspace. For example, \"us-west1-a\"\n * is not a valid zone id if the <Databricks> workspace resides in the \"us-east1\" region.\n * This is an optional field at instance pool creation, and if not specified, a default zone will be used.\n *\n * This field can be one of the following:\n * - \"HA\" => High availability, spread nodes across availability zones for a <Databricks> deployment region\n * - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones (e.g. \"us-west1-a\").\n *\n * If empty, <Databricks> picks an availability zone to schedule the cluster on.\n */\n zoneId?: string | undefined;\n}\n\nexport interface InstancePoolStats {\n /** Number of active instances in the pool that are part of a cluster. */\n usedCount?: number | undefined;\n /** Number of active instances in the pool that are NOT part of a cluster. */\n idleCount?: number | undefined;\n /** Number of pending instances in the pool that are part of a cluster. */\n pendingUsedCount?: number | undefined;\n /** Number of pending instances in the pool that are NOT part of a cluster. */\n pendingIdleCount?: number | undefined;\n}\n\nexport interface InstancePoolStatus {\n /**\n * List of error messages for the failed pending instances.\n * The pending_instance_errors follows FIFO with maximum length of the min_idle of the pool.\n * The pending_instance_errors is emptied once the number of exiting available instances reaches\n * the min_idle of the pool.\n */\n pendingInstanceErrors?: PendingInstanceError[] | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ListInstancePoolsRequest {}\n\nexport interface ListInstancePoolsResponse {\n instancePools?: InstancePoolAndStats[] | undefined;\n}\n\n/** Configuration for flexible node types, allowing fallback to alternate node types during cluster launch and upscale. */\nexport interface NodeTypeFlexibility {\n /** A list of node type IDs to use as fallbacks when the primary node type is unavailable. */\n alternateNodeTypeIds?: string[] | undefined;\n}\n\n/** Error message of a failed pending instances */\nexport interface PendingInstanceError {\n instanceId?: string | undefined;\n message?: string | undefined;\n}\n\nexport const unmarshalCreateInstancePoolResponseSchema: z.ZodType<CreateInstancePoolResponse> =\n z\n .object({\n instance_pool_id: z.string().optional(),\n })\n .transform(d => ({\n instancePoolId: d.instance_pool_id,\n }));\n\nexport const unmarshalDeleteInstancePoolResponseSchema: z.ZodType<DeleteInstancePoolResponse> =\n z.object({});\n\nexport const unmarshalDiskSpecSchema: z.ZodType<DiskSpec> = z\n .object({\n disk_type: z.lazy(() => unmarshalDiskTypeSchema).optional(),\n disk_count: z.number().optional(),\n disk_size: z.number().optional(),\n disk_iops: z.number().optional(),\n disk_throughput: z.number().optional(),\n })\n .transform(d => ({\n diskType: d.disk_type,\n diskCount: d.disk_count,\n diskSize: d.disk_size,\n diskIops: d.disk_iops,\n diskThroughput: d.disk_throughput,\n }));\n\nexport const unmarshalDiskTypeSchema: z.ZodType<DiskType> = z\n .object({\n ebs_volume_type: z.string().optional(),\n azure_disk_volume_type: z.string().optional(),\n })\n .transform(d => ({\n remoteVolumeType:\n d.ebs_volume_type !== undefined\n ? {$case: 'ebsVolumeType' as const, ebsVolumeType: d.ebs_volume_type}\n : d.azure_disk_volume_type !== undefined\n ? {\n $case: 'azureDiskVolumeType' as const,\n azureDiskVolumeType: d.azure_disk_volume_type,\n }\n : undefined,\n }));\n\nexport const unmarshalDockerBasicAuthSchema: z.ZodType<DockerBasicAuth> = z\n .object({\n username: z.string().optional(),\n password: z.string().optional(),\n })\n .transform(d => ({\n username: d.username,\n password: d.password,\n }));\n\nexport const unmarshalDockerImageSchema: z.ZodType<DockerImage> = z\n .object({\n url: z.string().optional(),\n basic_auth: z.lazy(() => unmarshalDockerBasicAuthSchema).optional(),\n })\n .transform(d => ({\n url: d.url,\n credsOneof:\n d.basic_auth !== undefined\n ? {$case: 'basicAuth' as const, basicAuth: d.basic_auth}\n : undefined,\n }));\n\nexport const unmarshalEditInstancePoolResponseSchema: z.ZodType<EditInstancePoolResponse> =\n z.object({});\n\nexport const unmarshalGetInstancePoolResponseSchema: z.ZodType<GetInstancePoolResponse> =\n z\n .object({\n stats: z.lazy(() => unmarshalInstancePoolStatsSchema).optional(),\n status: z.lazy(() => unmarshalInstancePoolStatusSchema).optional(),\n instance_pool_id: z.string().optional(),\n default_tags: z.record(z.string(), z.string()).optional(),\n state: z.string().optional(),\n instance_pool_name: z.string().optional(),\n min_idle_instances: z.number().optional(),\n max_capacity: z.number().optional(),\n aws_attributes: z\n .lazy(() => unmarshalInstancePoolAwsAttributesSchema)\n .optional(),\n node_type_id: z.string().optional(),\n custom_tags: z.record(z.string(), z.string()).optional(),\n idle_instance_autotermination_minutes: z.number().optional(),\n enable_elastic_disk: z.boolean().optional(),\n disk_spec: z.lazy(() => unmarshalDiskSpecSchema).optional(),\n preloaded_docker_images: z\n .array(z.lazy(() => unmarshalDockerImageSchema))\n .optional(),\n preloaded_spark_versions: z.array(z.string()).optional(),\n azure_attributes: z\n .lazy(() => unmarshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcp_attributes: z\n .lazy(() => unmarshalInstancePoolGcpAttributesSchema)\n .optional(),\n node_type_flexibility: z\n .lazy(() => unmarshalNodeTypeFlexibilitySchema)\n .optional(),\n remote_disk_throughput: z.number().optional(),\n total_initial_remote_disk_size: z.number().optional(),\n })\n .transform(d => ({\n stats: d.stats,\n status: d.status,\n instancePoolId: d.instance_pool_id,\n defaultTags: d.default_tags,\n state: d.state,\n instancePoolName: d.instance_pool_name,\n minIdleInstances: d.min_idle_instances,\n maxCapacity: d.max_capacity,\n awsAttributes: d.aws_attributes,\n nodeTypeId: d.node_type_id,\n customTags: d.custom_tags,\n idleInstanceAutoterminationMinutes:\n d.idle_instance_autotermination_minutes,\n enableElasticDisk: d.enable_elastic_disk,\n diskSpec: d.disk_spec,\n preloadedDockerImages: d.preloaded_docker_images,\n preloadedSparkVersions: d.preloaded_spark_versions,\n azureAttributes: d.azure_attributes,\n gcpAttributes: d.gcp_attributes,\n nodeTypeFlexibility: d.node_type_flexibility,\n remoteDiskThroughput: d.remote_disk_throughput,\n totalInitialRemoteDiskSize: d.total_initial_remote_disk_size,\n }));\n\nexport const unmarshalInstancePoolAndStatsSchema: z.ZodType<InstancePoolAndStats> =\n z\n .object({\n stats: z.lazy(() => unmarshalInstancePoolStatsSchema).optional(),\n status: z.lazy(() => unmarshalInstancePoolStatusSchema).optional(),\n instance_pool_id: z.string().optional(),\n default_tags: z.record(z.string(), z.string()).optional(),\n state: z.string().optional(),\n instance_pool_name: z.string().optional(),\n min_idle_instances: z.number().optional(),\n max_capacity: z.number().optional(),\n aws_attributes: z\n .lazy(() => unmarshalInstancePoolAwsAttributesSchema)\n .optional(),\n node_type_id: z.string().optional(),\n custom_tags: z.record(z.string(), z.string()).optional(),\n idle_instance_autotermination_minutes: z.number().optional(),\n enable_elastic_disk: z.boolean().optional(),\n disk_spec: z.lazy(() => unmarshalDiskSpecSchema).optional(),\n preloaded_docker_images: z\n .array(z.lazy(() => unmarshalDockerImageSchema))\n .optional(),\n preloaded_spark_versions: z.array(z.string()).optional(),\n azure_attributes: z\n .lazy(() => unmarshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcp_attributes: z\n .lazy(() => unmarshalInstancePoolGcpAttributesSchema)\n .optional(),\n node_type_flexibility: z\n .lazy(() => unmarshalNodeTypeFlexibilitySchema)\n .optional(),\n remote_disk_throughput: z.number().optional(),\n total_initial_remote_disk_size: z.number().optional(),\n })\n .transform(d => ({\n stats: d.stats,\n status: d.status,\n instancePoolId: d.instance_pool_id,\n defaultTags: d.default_tags,\n state: d.state,\n instancePoolName: d.instance_pool_name,\n minIdleInstances: d.min_idle_instances,\n maxCapacity: d.max_capacity,\n awsAttributes: d.aws_attributes,\n nodeTypeId: d.node_type_id,\n customTags: d.custom_tags,\n idleInstanceAutoterminationMinutes:\n d.idle_instance_autotermination_minutes,\n enableElasticDisk: d.enable_elastic_disk,\n diskSpec: d.disk_spec,\n preloadedDockerImages: d.preloaded_docker_images,\n preloadedSparkVersions: d.preloaded_spark_versions,\n azureAttributes: d.azure_attributes,\n gcpAttributes: d.gcp_attributes,\n nodeTypeFlexibility: d.node_type_flexibility,\n remoteDiskThroughput: d.remote_disk_throughput,\n totalInitialRemoteDiskSize: d.total_initial_remote_disk_size,\n }));\n\nexport const unmarshalInstancePoolAwsAttributesSchema: z.ZodType<InstancePoolAwsAttributes> =\n z\n .object({\n availability: z.string().optional(),\n zone_id: z.string().optional(),\n spot_bid_price_percent: z.number().optional(),\n instance_profile_arn: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n zoneId: d.zone_id,\n spotBidPricePercent: d.spot_bid_price_percent,\n instanceProfileArn: d.instance_profile_arn,\n }));\n\nexport const unmarshalInstancePoolAzureAttributesSchema: z.ZodType<InstancePoolAzureAttributes> =\n z\n .object({\n availability: z.string().optional(),\n spot_bid_max_price: z.number().optional(),\n capacity_reservation_group: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n spotBidMaxPrice: d.spot_bid_max_price,\n capacityReservationGroup: d.capacity_reservation_group,\n }));\n\nexport const unmarshalInstancePoolGcpAttributesSchema: z.ZodType<InstancePoolGcpAttributes> =\n z\n .object({\n gcp_availability: z.string().optional(),\n local_ssd_count: z.number().optional(),\n zone_id: z.string().optional(),\n })\n .transform(d => ({\n gcpAvailability: d.gcp_availability,\n localSsdCount: d.local_ssd_count,\n zoneId: d.zone_id,\n }));\n\nexport const unmarshalInstancePoolStatsSchema: z.ZodType<InstancePoolStats> = z\n .object({\n used_count: z.number().optional(),\n idle_count: z.number().optional(),\n pending_used_count: z.number().optional(),\n pending_idle_count: z.number().optional(),\n })\n .transform(d => ({\n usedCount: d.used_count,\n idleCount: d.idle_count,\n pendingUsedCount: d.pending_used_count,\n pendingIdleCount: d.pending_idle_count,\n }));\n\nexport const unmarshalInstancePoolStatusSchema: z.ZodType<InstancePoolStatus> =\n z\n .object({\n pending_instance_errors: z\n .array(z.lazy(() => unmarshalPendingInstanceErrorSchema))\n .optional(),\n })\n .transform(d => ({\n pendingInstanceErrors: d.pending_instance_errors,\n }));\n\nexport const unmarshalListInstancePoolsResponseSchema: z.ZodType<ListInstancePoolsResponse> =\n z\n .object({\n instance_pools: z\n .array(z.lazy(() => unmarshalInstancePoolAndStatsSchema))\n .optional(),\n })\n .transform(d => ({\n instancePools: d.instance_pools,\n }));\n\nexport const unmarshalNodeTypeFlexibilitySchema: z.ZodType<NodeTypeFlexibility> =\n z\n .object({\n alternate_node_type_ids: z.array(z.string()).optional(),\n })\n .transform(d => ({\n alternateNodeTypeIds: d.alternate_node_type_ids,\n }));\n\nexport const unmarshalPendingInstanceErrorSchema: z.ZodType<PendingInstanceError> =\n z\n .object({\n instance_id: z.string().optional(),\n message: z.string().optional(),\n })\n .transform(d => ({\n instanceId: d.instance_id,\n message: d.message,\n }));\n\nexport const marshalCreateInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolName: z.string().optional(),\n minIdleInstances: z.number().optional(),\n maxCapacity: z.number().optional(),\n awsAttributes: z\n .lazy(() => marshalInstancePoolAwsAttributesSchema)\n .optional(),\n nodeTypeId: z.string().optional(),\n customTags: z.record(z.string(), z.string()).optional(),\n idleInstanceAutoterminationMinutes: z.number().optional(),\n enableElasticDisk: z.boolean().optional(),\n diskSpec: z.lazy(() => marshalDiskSpecSchema).optional(),\n preloadedDockerImages: z\n .array(z.lazy(() => marshalDockerImageSchema))\n .optional(),\n preloadedSparkVersions: z.array(z.string()).optional(),\n azureAttributes: z\n .lazy(() => marshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcpAttributes: z\n .lazy(() => marshalInstancePoolGcpAttributesSchema)\n .optional(),\n nodeTypeFlexibility: z\n .lazy(() => marshalNodeTypeFlexibilitySchema)\n .optional(),\n remoteDiskThroughput: z.number().optional(),\n totalInitialRemoteDiskSize: z.number().optional(),\n })\n .transform(d => ({\n instance_pool_name: d.instancePoolName,\n min_idle_instances: d.minIdleInstances,\n max_capacity: d.maxCapacity,\n aws_attributes: d.awsAttributes,\n node_type_id: d.nodeTypeId,\n custom_tags: d.customTags,\n idle_instance_autotermination_minutes: d.idleInstanceAutoterminationMinutes,\n enable_elastic_disk: d.enableElasticDisk,\n disk_spec: d.diskSpec,\n preloaded_docker_images: d.preloadedDockerImages,\n preloaded_spark_versions: d.preloadedSparkVersions,\n azure_attributes: d.azureAttributes,\n gcp_attributes: d.gcpAttributes,\n node_type_flexibility: d.nodeTypeFlexibility,\n remote_disk_throughput: d.remoteDiskThroughput,\n total_initial_remote_disk_size: d.totalInitialRemoteDiskSize,\n }));\n\nexport const marshalDeleteInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolId: z.string().optional(),\n })\n .transform(d => ({\n instance_pool_id: d.instancePoolId,\n }));\n\nexport const marshalDiskSpecSchema: z.ZodType = z\n .object({\n diskType: z.lazy(() => marshalDiskTypeSchema).optional(),\n diskCount: z.number().optional(),\n diskSize: z.number().optional(),\n diskIops: z.number().optional(),\n diskThroughput: z.number().optional(),\n })\n .transform(d => ({\n disk_type: d.diskType,\n disk_count: d.diskCount,\n disk_size: d.diskSize,\n disk_iops: d.diskIops,\n disk_throughput: d.diskThroughput,\n }));\n\nexport const marshalDiskTypeSchema: z.ZodType = z\n .object({\n remoteVolumeType: z\n .discriminatedUnion('$case', [\n z.object({\n $case: z.literal('ebsVolumeType'),\n ebsVolumeType: z.string(),\n }),\n z.object({\n $case: z.literal('azureDiskVolumeType'),\n azureDiskVolumeType: z.string(),\n }),\n ])\n .optional(),\n })\n .transform(d => ({\n ...(d.remoteVolumeType?.$case === 'ebsVolumeType' && {\n ebs_volume_type: d.remoteVolumeType.ebsVolumeType,\n }),\n ...(d.remoteVolumeType?.$case === 'azureDiskVolumeType' && {\n azure_disk_volume_type: d.remoteVolumeType.azureDiskVolumeType,\n }),\n }));\n\nexport const marshalDockerBasicAuthSchema: z.ZodType = z\n .object({\n username: z.string().optional(),\n password: z.string().optional(),\n })\n .transform(d => ({\n username: d.username,\n password: d.password,\n }));\n\nexport const marshalDockerImageSchema: z.ZodType = z\n .object({\n url: z.string().optional(),\n credsOneof: z\n .discriminatedUnion('$case', [\n z.object({\n $case: z.literal('basicAuth'),\n basicAuth: z.lazy(() => marshalDockerBasicAuthSchema),\n }),\n ])\n .optional(),\n })\n .transform(d => ({\n url: d.url,\n ...(d.credsOneof?.$case === 'basicAuth' && {\n basic_auth: d.credsOneof.basicAuth,\n }),\n }));\n\nexport const marshalEditInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolId: z.string().optional(),\n instancePoolName: z.string().optional(),\n minIdleInstances: z.number().optional(),\n maxCapacity: z.number().optional(),\n awsAttributes: z\n .lazy(() => marshalInstancePoolAwsAttributesSchema)\n .optional(),\n nodeTypeId: z.string().optional(),\n customTags: z.record(z.string(), z.string()).optional(),\n idleInstanceAutoterminationMinutes: z.number().optional(),\n enableElasticDisk: z.boolean().optional(),\n diskSpec: z.lazy(() => marshalDiskSpecSchema).optional(),\n preloadedDockerImages: z\n .array(z.lazy(() => marshalDockerImageSchema))\n .optional(),\n preloadedSparkVersions: z.array(z.string()).optional(),\n azureAttributes: z\n .lazy(() => marshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcpAttributes: z\n .lazy(() => marshalInstancePoolGcpAttributesSchema)\n .optional(),\n nodeTypeFlexibility: z\n .lazy(() => marshalNodeTypeFlexibilitySchema)\n .optional(),\n remoteDiskThroughput: z.number().optional(),\n totalInitialRemoteDiskSize: z.number().optional(),\n })\n .transform(d => ({\n instance_pool_id: d.instancePoolId,\n instance_pool_name: d.instancePoolName,\n min_idle_instances: d.minIdleInstances,\n max_capacity: d.maxCapacity,\n aws_attributes: d.awsAttributes,\n node_type_id: d.nodeTypeId,\n custom_tags: d.customTags,\n idle_instance_autotermination_minutes: d.idleInstanceAutoterminationMinutes,\n enable_elastic_disk: d.enableElasticDisk,\n disk_spec: d.diskSpec,\n preloaded_docker_images: d.preloadedDockerImages,\n preloaded_spark_versions: d.preloadedSparkVersions,\n azure_attributes: d.azureAttributes,\n gcp_attributes: d.gcpAttributes,\n node_type_flexibility: d.nodeTypeFlexibility,\n remote_disk_throughput: d.remoteDiskThroughput,\n total_initial_remote_disk_size: d.totalInitialRemoteDiskSize,\n }));\n\nexport const marshalInstancePoolAwsAttributesSchema: z.ZodType = z\n .object({\n availability: z.string().optional(),\n zoneId: z.string().optional(),\n spotBidPricePercent: z.number().optional(),\n instanceProfileArn: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n zone_id: d.zoneId,\n spot_bid_price_percent: d.spotBidPricePercent,\n instance_profile_arn: d.instanceProfileArn,\n }));\n\nexport const marshalInstancePoolAzureAttributesSchema: z.ZodType = z\n .object({\n availability: z.string().optional(),\n spotBidMaxPrice: z.number().optional(),\n capacityReservationGroup: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n spot_bid_max_price: d.spotBidMaxPrice,\n capacity_reservation_group: d.capacityReservationGroup,\n }));\n\nexport const marshalInstancePoolGcpAttributesSchema: z.ZodType = z\n .object({\n gcpAvailability: z.string().optional(),\n localSsdCount: z.number().optional(),\n zoneId: z.string().optional(),\n })\n .transform(d => ({\n gcp_availability: d.gcpAvailability,\n local_ssd_count: d.localSsdCount,\n zone_id: d.zoneId,\n }));\n\nexport const marshalNodeTypeFlexibilitySchema: z.ZodType = z\n .object({\n alternateNodeTypeIds: z.array(z.string()).optional(),\n })\n .transform(d => ({\n alternate_node_type_ids: d.alternateNodeTypeIds,\n }));\n"],"mappings":";;;;;;;;AAUA,MAAa,kBAAkB;CAE7B,MAAM;CAEN,WAAW;CAKX,oBAAoB;CACrB;;;;;AAUD,MAAa,oBAAoB;CAE/B,YAAY;CAEZ,iBAAiB;CAKjB,0BAA0B;CAC3B;;;;;AAUD,MAAa,sBAAsB;CAEjC,aAAa;CAEb,cAAc;CACf;;;;;AAUD,MAAa,gBAAgB;CAE3B,qBAAqB;CAErB,0BAA0B;CAC3B;;;;;AAUD,MAAa,kBAAkB;CAC7B,iBAAiB;CACjB,eAAe;CACf,+BAA+B;CAChC;;;;;;;;;AAcD,MAAa,oBAAoB;CAE/B,QAAQ;CAKR,SAAS;CAET,SAAS;CACV;AAskBD,MAAa,4CACX,EACG,OAAO,EACN,kBAAkB,EAAE,QAAQ,CAAC,UAAU,EACxC,CAAC,CACD,WAAU,OAAM,EACf,gBAAgB,EAAE,kBACnB,EAAE;AAEP,MAAa,4CACX,EAAE,OAAO,EAAE,CAAC;AAEd,MAAa,0BAA+C,EACzD,OAAO;CACN,WAAW,EAAE,WAAW,wBAAwB,CAAC,UAAU;CAC3D,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,iBAAiB,EAAE,QAAQ,CAAC,UAAU;CACvC,CAAC,CACD,WAAU,OAAM;CACf,UAAU,EAAE;CACZ,WAAW,EAAE;CACb,UAAU,EAAE;CACZ,UAAU,EAAE;CACZ,gBAAgB,EAAE;CACnB,EAAE;AAEL,MAAa,0BAA+C,EACzD,OAAO;CACN,iBAAiB,EAAE,QAAQ,CAAC,UAAU;CACtC,wBAAwB,EAAE,QAAQ,CAAC,UAAU;CAC9C,CAAC,CACD,WAAU,OAAM,EACf,kBACE,EAAE,oBAAoB,SAClB;CAAC,OAAO;CAA0B,eAAe,EAAE;CAAgB,GACnE,EAAE,2BAA2B,SAC3B;CACE,OAAO;CACP,qBAAqB,EAAE;CACxB,GACD,QACT,EAAE;AAEL,MAAa,iCAA6D,EACvE,OAAO;CACN,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;CAChC,CAAC,CACD,WAAU,OAAM;CACf,UAAU,EAAE;CACZ,UAAU,EAAE;CACb,EAAE;AAEL,MAAa,6BAAqD,EAC/D,OAAO;CACN,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC1B,YAAY,EAAE,WAAW,+BAA+B,CAAC,UAAU;CACpE,CAAC,CACD,WAAU,OAAM;CACf,KAAK,EAAE;CACP,YACE,EAAE,eAAe,SACb;EAAC,OAAO;EAAsB,WAAW,EAAE;EAAW,GACtD;CACP,EAAE;AAEL,MAAa,0CACX,EAAE,OAAO,EAAE,CAAC;AAEd,MAAa,yCACX,EACG,OAAO;CACN,OAAO,EAAE,WAAW,iCAAiC,CAAC,UAAU;CAChE,QAAQ,EAAE,WAAW,kCAAkC,CAAC,UAAU;CAClE,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACzD,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,gBAAgB,EACb,WAAW,yCAAyC,CACpD,UAAU;CACb,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxD,uCAAuC,EAAE,QAAQ,CAAC,UAAU;CAC5D,qBAAqB,EAAE,SAAS,CAAC,UAAU;CAC3C,WAAW,EAAE,WAAW,wBAAwB,CAAC,UAAU;CAC3D,yBAAyB,EACtB,MAAM,EAAE,WAAW,2BAA2B,CAAC,CAC/C,UAAU;CACb,0BAA0B,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxD,kBAAkB,EACf,WAAW,2CAA2C,CACtD,UAAU;CACb,gBAAgB,EACb,WAAW,yCAAyC,CACpD,UAAU;CACb,uBAAuB,EACpB,WAAW,mCAAmC,CAC9C,UAAU;CACb,wBAAwB,EAAE,QAAQ,CAAC,UAAU;CAC7C,gCAAgC,EAAE,QAAQ,CAAC,UAAU;CACtD,CAAC,CACD,WAAU,OAAM;CACf,OAAO,EAAE;CACT,QAAQ,EAAE;CACV,gBAAgB,EAAE;CAClB,aAAa,EAAE;CACf,OAAO,EAAE;CACT,kBAAkB,EAAE;CACpB,kBAAkB,EAAE;CACpB,aAAa,EAAE;CACf,eAAe,EAAE;CACjB,YAAY,EAAE;CACd,YAAY,EAAE;CACd,oCACE,EAAE;CACJ,mBAAmB,EAAE;CACrB,UAAU,EAAE;CACZ,uBAAuB,EAAE;CACzB,wBAAwB,EAAE;CAC1B,iBAAiB,EAAE;CACnB,eAAe,EAAE;CACjB,qBAAqB,EAAE;CACvB,sBAAsB,EAAE;CACxB,4BAA4B,EAAE;CAC/B,EAAE;AAEP,MAAa,sCACX,EACG,OAAO;CACN,OAAO,EAAE,WAAW,iCAAiC,CAAC,UAAU;CAChE,QAAQ,EAAE,WAAW,kCAAkC,CAAC,UAAU;CAClE,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACzD,OAAO,EAAE,QAAQ,CAAC,UAAU;CAC5B,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,gBAAgB,EACb,WAAW,yCAAyC,CACpD,UAAU;CACb,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxD,uCAAuC,EAAE,QAAQ,CAAC,UAAU;CAC5D,qBAAqB,EAAE,SAAS,CAAC,UAAU;CAC3C,WAAW,EAAE,WAAW,wBAAwB,CAAC,UAAU;CAC3D,yBAAyB,EACtB,MAAM,EAAE,WAAW,2BAA2B,CAAC,CAC/C,UAAU;CACb,0BAA0B,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACxD,kBAAkB,EACf,WAAW,2CAA2C,CACtD,UAAU;CACb,gBAAgB,EACb,WAAW,yCAAyC,CACpD,UAAU;CACb,uBAAuB,EACpB,WAAW,mCAAmC,CAC9C,UAAU;CACb,wBAAwB,EAAE,QAAQ,CAAC,UAAU;CAC7C,gCAAgC,EAAE,QAAQ,CAAC,UAAU;CACtD,CAAC,CACD,WAAU,OAAM;CACf,OAAO,EAAE;CACT,QAAQ,EAAE;CACV,gBAAgB,EAAE;CAClB,aAAa,EAAE;CACf,OAAO,EAAE;CACT,kBAAkB,EAAE;CACpB,kBAAkB,EAAE;CACpB,aAAa,EAAE;CACf,eAAe,EAAE;CACjB,YAAY,EAAE;CACd,YAAY,EAAE;CACd,oCACE,EAAE;CACJ,mBAAmB,EAAE;CACrB,UAAU,EAAE;CACZ,uBAAuB,EAAE;CACzB,wBAAwB,EAAE;CAC1B,iBAAiB,EAAE;CACnB,eAAe,EAAE;CACjB,qBAAqB,EAAE;CACvB,sBAAsB,EAAE;CACxB,4BAA4B,EAAE;CAC/B,EAAE;AAEP,MAAa,2CACX,EACG,OAAO;CACN,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC9B,wBAAwB,EAAE,QAAQ,CAAC,UAAU;CAC7C,sBAAsB,EAAE,QAAQ,CAAC,UAAU;CAC5C,CAAC,CACD,WAAU,OAAM;CACf,cAAc,EAAE;CAChB,QAAQ,EAAE;CACV,qBAAqB,EAAE;CACvB,oBAAoB,EAAE;CACvB,EAAE;AAEP,MAAa,6CACX,EACG,OAAO;CACN,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,4BAA4B,EAAE,QAAQ,CAAC,UAAU;CAClD,CAAC,CACD,WAAU,OAAM;CACf,cAAc,EAAE;CAChB,iBAAiB,EAAE;CACnB,0BAA0B,EAAE;CAC7B,EAAE;AAEP,MAAa,2CACX,EACG,OAAO;CACN,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,iBAAiB,EAAE,QAAQ,CAAC,UAAU;CACtC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC/B,CAAC,CACD,WAAU,OAAM;CACf,iBAAiB,EAAE;CACnB,eAAe,EAAE;CACjB,QAAQ,EAAE;CACX,EAAE;AAEP,MAAa,mCAAiE,EAC3E,OAAO;CACN,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CACzC,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CAC1C,CAAC,CACD,WAAU,OAAM;CACf,WAAW,EAAE;CACb,WAAW,EAAE;CACb,kBAAkB,EAAE;CACpB,kBAAkB,EAAE;CACrB,EAAE;AAEL,MAAa,oCACX,EACG,OAAO,EACN,yBAAyB,EACtB,MAAM,EAAE,WAAW,oCAAoC,CAAC,CACxD,UAAU,EACd,CAAC,CACD,WAAU,OAAM,EACf,uBAAuB,EAAE,yBAC1B,EAAE;AAEP,MAAa,2CACX,EACG,OAAO,EACN,gBAAgB,EACb,MAAM,EAAE,WAAW,oCAAoC,CAAC,CACxD,UAAU,EACd,CAAC,CACD,WAAU,OAAM,EACf,eAAe,EAAE,gBAClB,EAAE;AAEP,MAAa,qCACX,EACG,OAAO,EACN,yBAAyB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU,EACxD,CAAC,CACD,WAAU,OAAM,EACf,sBAAsB,EAAE,yBACzB,EAAE;AAEP,MAAa,sCACX,EACG,OAAO;CACN,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC/B,CAAC,CACD,WAAU,OAAM;CACf,YAAY,EAAE;CACd,SAAS,EAAE;CACZ,EAAE;AAEP,MAAa,yCAAoD,EAC9D,OAAO;CACN,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,eAAe,EACZ,WAAW,uCAAuC,CAClD,UAAU;CACb,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACvD,oCAAoC,EAAE,QAAQ,CAAC,UAAU;CACzD,mBAAmB,EAAE,SAAS,CAAC,UAAU;CACzC,UAAU,EAAE,WAAW,sBAAsB,CAAC,UAAU;CACxD,uBAAuB,EACpB,MAAM,EAAE,WAAW,yBAAyB,CAAC,CAC7C,UAAU;CACb,wBAAwB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACtD,iBAAiB,EACd,WAAW,yCAAyC,CACpD,UAAU;CACb,eAAe,EACZ,WAAW,uCAAuC,CAClD,UAAU;CACb,qBAAqB,EAClB,WAAW,iCAAiC,CAC5C,UAAU;CACb,sBAAsB,EAAE,QAAQ,CAAC,UAAU;CAC3C,4BAA4B,EAAE,QAAQ,CAAC,UAAU;CAClD,CAAC,CACD,WAAU,OAAM;CACf,oBAAoB,EAAE;CACtB,oBAAoB,EAAE;CACtB,cAAc,EAAE;CAChB,gBAAgB,EAAE;CAClB,cAAc,EAAE;CAChB,aAAa,EAAE;CACf,uCAAuC,EAAE;CACzC,qBAAqB,EAAE;CACvB,WAAW,EAAE;CACb,yBAAyB,EAAE;CAC3B,0BAA0B,EAAE;CAC5B,kBAAkB,EAAE;CACpB,gBAAgB,EAAE;CAClB,uBAAuB,EAAE;CACzB,wBAAwB,EAAE;CAC1B,gCAAgC,EAAE;CACnC,EAAE;AAEL,MAAa,yCAAoD,EAC9D,OAAO,EACN,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EACtC,CAAC,CACD,WAAU,OAAM,EACf,kBAAkB,EAAE,gBACrB,EAAE;AAEL,MAAa,wBAAmC,EAC7C,OAAO;CACN,UAAU,EAAE,WAAW,sBAAsB,CAAC,UAAU;CACxD,WAAW,EAAE,QAAQ,CAAC,UAAU;CAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,gBAAgB,EAAE,QAAQ,CAAC,UAAU;CACtC,CAAC,CACD,WAAU,OAAM;CACf,WAAW,EAAE;CACb,YAAY,EAAE;CACd,WAAW,EAAE;CACb,WAAW,EAAE;CACb,iBAAiB,EAAE;CACpB,EAAE;AAEL,MAAa,wBAAmC,EAC7C,OAAO,EACN,kBAAkB,EACf,mBAAmB,SAAS,CAC3B,EAAE,OAAO;CACP,OAAO,EAAE,QAAQ,gBAAgB;CACjC,eAAe,EAAE,QAAQ;CAC1B,CAAC,EACF,EAAE,OAAO;CACP,OAAO,EAAE,QAAQ,sBAAsB;CACvC,qBAAqB,EAAE,QAAQ;CAChC,CAAC,CACH,CAAC,CACD,UAAU,EACd,CAAC,CACD,WAAU,OAAM;CACf,GAAI,EAAE,kBAAkB,UAAU,mBAAmB,EACnD,iBAAiB,EAAE,iBAAiB,eACrC;CACD,GAAI,EAAE,kBAAkB,UAAU,yBAAyB,EACzD,wBAAwB,EAAE,iBAAiB,qBAC5C;CACF,EAAE;AAEL,MAAa,+BAA0C,EACpD,OAAO;CACN,UAAU,EAAE,QAAQ,CAAC,UAAU;CAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;CAChC,CAAC,CACD,WAAU,OAAM;CACf,UAAU,EAAE;CACZ,UAAU,EAAE;CACb,EAAE;AAEL,MAAa,2BAAsC,EAChD,OAAO;CACN,KAAK,EAAE,QAAQ,CAAC,UAAU;CAC1B,YAAY,EACT,mBAAmB,SAAS,CAC3B,EAAE,OAAO;EACP,OAAO,EAAE,QAAQ,YAAY;EAC7B,WAAW,EAAE,WAAW,6BAA6B;EACtD,CAAC,CACH,CAAC,CACD,UAAU;CACd,CAAC,CACD,WAAU,OAAM;CACf,KAAK,EAAE;CACP,GAAI,EAAE,YAAY,UAAU,eAAe,EACzC,YAAY,EAAE,WAAW,WAC1B;CACF,EAAE;AAEL,MAAa,uCAAkD,EAC5D,OAAO;CACN,gBAAgB,EAAE,QAAQ,CAAC,UAAU;CACrC,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,kBAAkB,EAAE,QAAQ,CAAC,UAAU;CACvC,aAAa,EAAE,QAAQ,CAAC,UAAU;CAClC,eAAe,EACZ,WAAW,uCAAuC,CAClD,UAAU;CACb,YAAY,EAAE,QAAQ,CAAC,UAAU;CACjC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC,UAAU;CACvD,oCAAoC,EAAE,QAAQ,CAAC,UAAU;CACzD,mBAAmB,EAAE,SAAS,CAAC,UAAU;CACzC,UAAU,EAAE,WAAW,sBAAsB,CAAC,UAAU;CACxD,uBAAuB,EACpB,MAAM,EAAE,WAAW,yBAAyB,CAAC,CAC7C,UAAU;CACb,wBAAwB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU;CACtD,iBAAiB,EACd,WAAW,yCAAyC,CACpD,UAAU;CACb,eAAe,EACZ,WAAW,uCAAuC,CAClD,UAAU;CACb,qBAAqB,EAClB,WAAW,iCAAiC,CAC5C,UAAU;CACb,sBAAsB,EAAE,QAAQ,CAAC,UAAU;CAC3C,4BAA4B,EAAE,QAAQ,CAAC,UAAU;CAClD,CAAC,CACD,WAAU,OAAM;CACf,kBAAkB,EAAE;CACpB,oBAAoB,EAAE;CACtB,oBAAoB,EAAE;CACtB,cAAc,EAAE;CAChB,gBAAgB,EAAE;CAClB,cAAc,EAAE;CAChB,aAAa,EAAE;CACf,uCAAuC,EAAE;CACzC,qBAAqB,EAAE;CACvB,WAAW,EAAE;CACb,yBAAyB,EAAE;CAC3B,0BAA0B,EAAE;CAC5B,kBAAkB,EAAE;CACpB,gBAAgB,EAAE;CAClB,uBAAuB,EAAE;CACzB,wBAAwB,EAAE;CAC1B,gCAAgC,EAAE;CACnC,EAAE;AAEL,MAAa,yCAAoD,EAC9D,OAAO;CACN,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC7B,qBAAqB,EAAE,QAAQ,CAAC,UAAU;CAC1C,oBAAoB,EAAE,QAAQ,CAAC,UAAU;CAC1C,CAAC,CACD,WAAU,OAAM;CACf,cAAc,EAAE;CAChB,SAAS,EAAE;CACX,wBAAwB,EAAE;CAC1B,sBAAsB,EAAE;CACzB,EAAE;AAEL,MAAa,2CAAsD,EAChE,OAAO;CACN,cAAc,EAAE,QAAQ,CAAC,UAAU;CACnC,iBAAiB,EAAE,QAAQ,CAAC,UAAU;CACtC,0BAA0B,EAAE,QAAQ,CAAC,UAAU;CAChD,CAAC,CACD,WAAU,OAAM;CACf,cAAc,EAAE;CAChB,oBAAoB,EAAE;CACtB,4BAA4B,EAAE;CAC/B,EAAE;AAEL,MAAa,yCAAoD,EAC9D,OAAO;CACN,iBAAiB,EAAE,QAAQ,CAAC,UAAU;CACtC,eAAe,EAAE,QAAQ,CAAC,UAAU;CACpC,QAAQ,EAAE,QAAQ,CAAC,UAAU;CAC9B,CAAC,CACD,WAAU,OAAM;CACf,kBAAkB,EAAE;CACpB,iBAAiB,EAAE;CACnB,SAAS,EAAE;CACZ,EAAE;AAEL,MAAa,mCAA8C,EACxD,OAAO,EACN,sBAAsB,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,UAAU,EACrD,CAAC,CACD,WAAU,OAAM,EACf,yBAAyB,EAAE,sBAC5B,EAAE"}
1
+ {"version":3,"file":"model.js","names":[],"sources":["../../src/v2/model.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport {z} from 'zod';\n\n/**\n * Availability type used for all subsequent nodes past the `first_on_demand` ones.\n *\n * Note: If `first_on_demand` is zero, this availability type will be used for the entire cluster.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AwsAvailability = {\n /** Use spot instances. */\n SPOT: 'SPOT',\n /** Use on-demand instances. */\n ON_DEMAND: 'ON_DEMAND',\n /**\n * Preferably use spot instances, but fall back to on-demand instances if spot instances cannot\n * be acquired (e.g., if AWS spot prices are too high).\n */\n SPOT_WITH_FALLBACK: 'SPOT_WITH_FALLBACK',\n} as const;\nexport type AwsAvailability =\n | (typeof AwsAvailability)[keyof typeof AwsAvailability]\n | (string & {});\n\n/**\n * Availability type used for all subsequent nodes past the `first_on_demand` ones.\n * Note: If `first_on_demand` is zero, this availability type will be used for the entire cluster.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AzureAvailability = {\n /** Use spot instances. */\n SPOT_AZURE: 'SPOT_AZURE',\n /** Use on-demand instances. */\n ON_DEMAND_AZURE: 'ON_DEMAND_AZURE',\n /**\n * Preferably use spot instances, but fall back to on-demand instances if spot instances cannot\n * be acquired (e.g., if Azure is out of Quota).\n */\n SPOT_WITH_FALLBACK_AZURE: 'SPOT_WITH_FALLBACK_AZURE',\n} as const;\nexport type AzureAvailability =\n | (typeof AzureAvailability)[keyof typeof AzureAvailability]\n | (string & {});\n\n/**\n * All Azure Disk types that <Databricks> supports.\n * See https://docs.microsoft.com/en-us/azure/storage/storage-about-disks-and-vhds-linux#types-of-disks\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const AzureDiskVolumeType = {\n /** Premium storage tier, backed by SSDs. */\n PREMIUM_LRS: 'PREMIUM_LRS',\n /** Standard storage tier, backed by HDDs. */\n STANDARD_LRS: 'STANDARD_LRS',\n} as const;\nexport type AzureDiskVolumeType =\n | (typeof AzureDiskVolumeType)[keyof typeof AzureDiskVolumeType]\n | (string & {});\n\n/**\n * All EBS volume types that <Databricks> supports.\n * See https://aws.amazon.com/ebs/details/ for details.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const EbsVolumeType = {\n /** Provision extra storage using AWS gp2 EBS volumes. */\n GENERAL_PURPOSE_SSD: 'GENERAL_PURPOSE_SSD',\n /** Provision extra storage using AWS st1 volumes. */\n THROUGHPUT_OPTIMIZED_HDD: 'THROUGHPUT_OPTIMIZED_HDD',\n} as const;\nexport type EbsVolumeType =\n | (typeof EbsVolumeType)[keyof typeof EbsVolumeType]\n | (string & {});\n\n/**\n * This field determines whether the instance pool will contain preemptible\n * VMs, on-demand VMs, or preemptible VMs with a fallback to on-demand VMs if the former is unavailable.\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const GcpAvailability = {\n PREEMPTIBLE_GCP: 'PREEMPTIBLE_GCP',\n ON_DEMAND_GCP: 'ON_DEMAND_GCP',\n PREEMPTIBLE_WITH_FALLBACK_GCP: 'PREEMPTIBLE_WITH_FALLBACK_GCP',\n} as const;\nexport type GcpAvailability =\n | (typeof GcpAvailability)[keyof typeof GcpAvailability]\n | (string & {});\n\n/**\n * The state of a Cluster. The current allowable state transitions are as follows:\n *\n * - ``ACTIVE`` -> ``STOPPED``\n * - ``ACTIVE`` -> ``DELETED``\n * - ``STOPPED`` -> ``ACTIVE``\n * - ``STOPPED`` -> ``DELETED``\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention -- Enum-style const object.\nexport const InstancePoolState = {\n /** Indicates an instance pool is active for use. */\n ACTIVE: 'ACTIVE',\n /**\n * Indicates an instance pool has been stopped so no more clusters should be able to get instances\n * from the pool.\n */\n STOPPED: 'STOPPED',\n /** Indicates the instance pool has been deleted and should no longer exist. */\n DELETED: 'DELETED',\n} as const;\nexport type InstancePoolState =\n | (typeof InstancePoolState)[keyof typeof InstancePoolState]\n | (string & {});\n\nexport interface CreateInstancePoolRequest {\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\nexport interface CreateInstancePoolResponse {\n /** The ID of the created instance pool. */\n instancePoolId?: string | undefined;\n}\n\nexport interface DeleteInstancePoolRequest {\n /** The instance pool to be terminated. */\n instancePoolId?: string | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface DeleteInstancePoolResponse {}\n\n/**\n * Describes the disks that are launched for each instance in the spark cluster.\n * For example, if the cluster has 3 instances, each instance is configured to launch\n * 2 disks, 100 GiB each, then <Databricks> will launch a total of 6 disks,\n * 100 GiB each, for this cluster.\n */\nexport interface DiskSpec {\n /** The type of disks that will be launched with this cluster. */\n diskType?: DiskType | undefined;\n /**\n * The number of disks launched for each instance:\n * - This feature is only enabled for supported node types.\n * - Users can choose up to the limit of the disks supported by the node type.\n * - For node types with no OS disk, at least one disk must be specified;\n * otherwise, cluster creation will fail.\n *\n * If disks are attached, <Databricks> will configure Spark to use only the disks for\n * scratch storage, because heterogenously sized scratch devices can lead to inefficient disk\n * utilization. If no disks are attached, <Databricks> will configure Spark to use\n * instance store disks.\n *\n * Note: If disks are specified, then the Spark configuration\n * `spark.local.dir` will be overridden.\n *\n * Disks will be mounted at:\n * - For AWS: `/ebs0`, `/ebs1`, and etc.\n * - For Azure: `/remote_volume0`, `/remote_volume1`, and etc.\n */\n diskCount?: number | undefined;\n /**\n * The size of each disk (in GiB) launched for each instance.\n * Values must fall into the supported range for a particular instance type.\n *\n * For AWS:\n * - General Purpose SSD: 100 - 4096 GiB\n * - Throughput Optimized HDD: 500 - 4096 GiB\n *\n * For Azure:\n * - Premium LRS (SSD): 1 - 1023 GiB\n * - Standard LRS (HDD): 1- 1023 GiB\n */\n diskSize?: number | undefined;\n diskIops?: number | undefined;\n diskThroughput?: number | undefined;\n}\n\n/** Describes the disk type. */\nexport interface DiskType {\n remoteVolumeType?:\n | {$case: 'ebsVolumeType'; ebsVolumeType: EbsVolumeType}\n | {$case: 'azureDiskVolumeType'; azureDiskVolumeType: AzureDiskVolumeType}\n | undefined;\n}\n\nexport interface DockerBasicAuth {\n /** Name of the user */\n username?: string | undefined;\n /** Password of the user */\n password?: string | undefined;\n}\n\nexport interface DockerImage {\n /** URL of the docker image. */\n url?: string | undefined;\n credsOneof?:\n | {\n $case: 'basicAuth';\n /** Basic auth with username and password */\n basicAuth: DockerBasicAuth;\n }\n | undefined;\n}\n\nexport interface EditInstancePoolRequest {\n /** Instance pool ID */\n instancePoolId?: string | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface EditInstancePoolResponse {}\n\nexport interface GetInstancePoolRequest {\n /** The canonical unique identifier for the instance pool. */\n instancePoolId?: string | undefined;\n}\n\nexport interface GetInstancePoolResponse {\n /** Usage statistics about the instance pool. */\n stats?: InstancePoolStats | undefined;\n /** Status of failed pending instances in the pool. */\n status?: InstancePoolStatus | undefined;\n /** Canonical unique identifier for the pool. */\n instancePoolId?: string | undefined;\n /**\n * Tags that are added by <Databricks> regardless of any ``custom_tags``, including:\n *\n * - Vendor: <Databricks>\n *\n * - InstancePoolCreator: <user_id_of_creator>\n *\n * - InstancePoolName: <name_of_pool>\n *\n * - InstancePoolId: <id_of_pool>\n */\n defaultTags?: Record<string, string> | undefined;\n /** Current state of the instance pool. */\n state?: InstancePoolState | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\nexport interface InstancePoolAndStats {\n /** Usage statistics about the instance pool. */\n stats?: InstancePoolStats | undefined;\n /** Status of failed pending instances in the pool. */\n status?: InstancePoolStatus | undefined;\n /** Canonical unique identifier for the pool. */\n instancePoolId?: string | undefined;\n /**\n * Tags that are added by <Databricks> regardless of any ``custom_tags``, including:\n *\n * - Vendor: <Databricks>\n *\n * - InstancePoolCreator: <user_id_of_creator>\n *\n * - InstancePoolName: <name_of_pool>\n *\n * - InstancePoolId: <id_of_pool>\n */\n defaultTags?: Record<string, string> | undefined;\n /** Current state of the instance pool. */\n state?: InstancePoolState | undefined;\n /**\n * Pool name requested by the user. Pool name must be unique. Length must be between 1 and 100\n * characters.\n */\n instancePoolName?: string | undefined;\n /** Minimum number of idle instances to keep in the instance pool */\n minIdleInstances?: number | undefined;\n /**\n * Maximum number of outstanding instances to keep in the pool, including both instances used by\n * clusters and idle instances. Clusters that require further instance provisioning will fail during\n * upsize requests.\n */\n maxCapacity?: number | undefined;\n /**\n * Attributes related to instance pools running on Amazon Web Services.\n * If not specified at pool creation, a set of default values will be used.\n */\n awsAttributes?: InstancePoolAwsAttributes | undefined;\n /**\n * This field encodes, through a single value, the resources available to each of\n * the Spark nodes in this cluster. For example, the Spark nodes can be provisioned\n * and optimized for memory or compute intensive workloads. A list of available node\n * types can be retrieved by using the [clusters/listNodeTypes](https://docs.databricks.com/api/workspace/clusters/listnodetypes) API call.\n */\n nodeTypeId?: string | undefined;\n /**\n * Additional tags for pool resources. <Databricks> will tag all pool resources (e.g., AWS\n * instances and EBS volumes) with these tags in addition to `default_tags`. Notes:\n *\n * - Currently, <Databricks> allows at most 45 custom tags\n */\n customTags?: Record<string, string> | undefined;\n /**\n * Automatically terminates the extra instances in the pool cache after they are inactive for this\n * time in minutes if min_idle_instances requirement is already met. If not set, the extra pool\n * instances will be automatically terminated after a default timeout. If specified, the\n * threshold must be between 0 and 10000 minutes.\n * Users can also set this value to 0 to instantly remove idle instances from the cache if\n * min cache size could still hold.\n */\n idleInstanceAutoterminationMinutes?: number | undefined;\n /**\n * Autoscaling Local Storage: when enabled, this instances in this pool will dynamically acquire\n * additional disk space when its Spark workers are running low on disk space. In AWS, this\n * feature requires specific AWS permissions to function correctly - refer to the User Guide for\n * more details.\n */\n enableElasticDisk?: boolean | undefined;\n /** Defines the specification of the disks that will be attached to all spark containers. */\n diskSpec?: DiskSpec | undefined;\n /** Custom Docker Image BYOC */\n preloadedDockerImages?: DockerImage[] | undefined;\n /**\n * A list containing at most one preloaded Spark image version for the pool. Pool-backed clusters started\n * with the preloaded Spark version will start faster. A list of available Spark versions\n * can be retrieved by using the [clusters/sparkVersions](https://docs.databricks.com/api/workspace/clusters/sparkversions) API call.\n */\n preloadedSparkVersions?: string[] | undefined;\n /**\n * Attributes related to instance pools running on Azure.\n * If not specified at pool creation, a set of default values will be used.\n */\n azureAttributes?: InstancePoolAzureAttributes | undefined;\n /**\n * Attributes related to instance pools running on Google Cloud Platform.\n * If not specified at pool creation, a set of default values will be used.\n */\n gcpAttributes?: InstancePoolGcpAttributes | undefined;\n /** Flexible node type configuration for the pool. */\n nodeTypeFlexibility?: NodeTypeFlexibility | undefined;\n /** If set, what the configurable throughput (in Mb/s) for the remote disk is. Currently only supported for GCP HYPERDISK_BALANCED types. */\n remoteDiskThroughput?: number | undefined;\n /** If set, what the total initial volume size (in GB) of the remote disks should be. Currently only supported for GCP HYPERDISK_BALANCED types. */\n totalInitialRemoteDiskSize?: number | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to Amazon Web Services. */\nexport interface InstancePoolAwsAttributes {\n /**\n * Availability type used for the instances in the pool. Supports on-demand, spot, and\n * spot-with-fallback (the pool acquires spot instances first, and falls back to on-demand\n * instances when spot capacity is unavailable).\n *\n * You can change this value on an existing pool. New clusters use the updated availability, and\n * existing clusters keep the availability they launched with.\n */\n availability?: AwsAvailability | undefined;\n /**\n * Identifier for the availability zone/datacenter in which the cluster resides.\n * This string will be of a form like \"us-west-2a\". The provided availability\n * zone must be in the same region as the <Databricks> deployment. For example, \"us-west-2a\"\n * is not a valid zone id if the <Databricks> deployment resides in the \"us-east-1\" region.\n * This is an optional field at cluster creation, and if not specified, a default zone will be used.\n * The list of available zones as well as the default value can be found by using the\n * `List Zones` method.\n *\n * Set this field to \"auto\" to enable Auto-AZ, in which case <Databricks> selects the availability\n * zone for each cluster independently when the cluster launches, and retries another zone if the\n * cluster can't be fulfilled because of insufficient capacity or quota. All nodes in a cluster\n * land in the same zone, and different clusters backed by the pool can run in different zones.\n *\n * You can change the zone on an existing pool. New clusters use the updated zone, and existing\n * clusters keep the zone they launched with.\n */\n zoneId?: string | undefined;\n /**\n * Calculates the bid price for AWS spot instances, as a percentage of the corresponding instance type's\n * on-demand price.\n * For example, if this field is set to 50, and the cluster needs a new `r3.xlarge` spot\n * instance, then the bid price is half of the price of\n * on-demand `r3.xlarge` instances. Similarly, if this field is set to 200, the bid price is twice\n * the price of on-demand `r3.xlarge` instances. If not specified, the default value is 100.\n * When spot instances are requested for this cluster, only spot instances whose bid price\n * percentage matches this field will be considered.\n * Note that, for safety, we enforce this field to be no more than 10000.\n *\n * You can change this value on an existing pool. New clusters use the updated bid price, and\n * existing clusters keep the bid price they launched with.\n */\n spotBidPricePercent?: number | undefined;\n /**\n * All AWS instances belonging to the instance pool will have this instance profile. If omitted, instances\n * will initially be launched with the workspace's default instance profile. If defined, clusters that use the\n * pool will inherit the instance profile, and must not specify their own instance profile on cluster creation or\n * update. If the pool does not specify an instance profile, clusters using the pool may specify any instance profile.\n * The instance profile must have previously been added to the <Databricks> environment by an account administrator.\n *\n * This feature may only be available to certain customer plans.\n */\n instanceProfileArn?: string | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to Azure. */\nexport interface InstancePoolAzureAttributes {\n /**\n * Availability type used for the instances in the pool. Supports on-demand, spot, and\n * spot-with-fallback (the pool acquires spot instances first, and falls back to on-demand\n * instances when spot capacity is unavailable).\n *\n * You can change this value on an existing pool. New clusters use the updated availability, and\n * existing clusters keep the availability they launched with.\n */\n availability?: AzureAvailability | undefined;\n /**\n * With variable pricing, you have option to set a max price, in US dollars (USD)\n * For example, the value 2 would be a max price of $2.00 USD per hour.\n * If you set the max price to be -1, the VM won't be evicted based on price.\n * The price for the VM will be the current price for spot or the price for a standard VM,\n * which ever is less, as long as there is capacity and quota available.\n *\n * You can change this value on an existing pool. New clusters use the updated max price, and\n * existing clusters keep the max price they launched with.\n */\n spotBidMaxPrice?: number | undefined;\n /**\n * The Azure capacity reservation group resource ID to use for launching VMs in this pool.\n * When specified, VMs will be launched using the provided capacity reservation.\n *\n * NOTE: Omitting this field will clear any existing configured capacity reservation group on the pool.\n *\n * Capacity reservations can only be specified when the workspace uses injected vnet (i.e. customer defined vnet not\n * managed by databricks). Ensure the databricks-login-prod Enterprise Application is granted the following four permissions:\n * 1. Microsoft.Compute/capacityReservationGroups/read\n * 2. Microsoft.Compute/capacityReservationGroups/deploy/action\n * 3. Microsoft.Compute/capacityReservationGroups/capacityReservations/read\n * 4. Microsoft.Compute/capacityReservationGroups/capacityReservations/deploy/action\n *\n * Format: `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}`\n */\n capacityReservationGroup?: string | undefined;\n}\n\n/** Attributes set during instance pool creation which are related to GCP. */\nexport interface InstancePoolGcpAttributes {\n /**\n * Availability type for the instances in the pool. One of:\n *\n * - `ON_DEMAND_GCP`: the pool uses on-demand instances only.\n * - `PREEMPTIBLE_GCP`: the pool uses preemptible instances only.\n * - `PREEMPTIBLE_WITH_FALLBACK_GCP`: the pool acquires preemptible instances first, and falls\n * back to on-demand instances when preemptible capacity is unavailable.\n */\n gcpAvailability?: GcpAvailability | undefined;\n /**\n * If provided, each node in the instance pool will have this number of local SSDs attached.\n * Each local SSD is 375GB in size. Refer to [GCP documentation](https://cloud.google.com/compute/docs/disks/local-ssd#choose_number_local_ssds)\n * for the supported number of local SSDs for each instance type.\n */\n localSsdCount?: number | undefined;\n /**\n * Identifier for the availability zone/datacenter in which the cluster resides.\n * This string will be of a form like \"us-west1-a\". The provided availability\n * zone must be in the same region as the <Databricks> workspace. For example, \"us-west1-a\"\n * is not a valid zone id if the <Databricks> workspace resides in the \"us-east1\" region.\n * This is an optional field at instance pool creation, and if not specified, a default zone will be used.\n *\n * This field can be one of the following:\n * - \"HA\" => High availability, spread nodes across availability zones for a <Databricks> deployment region\n * - \"auto\" => Auto-AZ. <Databricks> selects the availability zone for each cluster independently when the cluster launches, and retries another zone if the cluster can't be fulfilled because of insufficient capacity or quota. All nodes in a cluster land in the same zone, and different clusters backed by the pool can run in different zones.\n * - A GCP availability zone => Pick One of the available zones for (machine type + region) from https://cloud.google.com/compute/docs/regions-zones (e.g. \"us-west1-a\").\n *\n * If empty, <Databricks> picks an availability zone to schedule the cluster on.\n *\n * You can change the zone on an existing pool. New clusters use the updated zone, and existing\n * clusters keep the zone they launched with.\n */\n zoneId?: string | undefined;\n}\n\nexport interface InstancePoolStats {\n /** Number of active instances in the pool that are part of a cluster. */\n usedCount?: number | undefined;\n /** Number of active instances in the pool that are NOT part of a cluster. */\n idleCount?: number | undefined;\n /** Number of pending instances in the pool that are part of a cluster. */\n pendingUsedCount?: number | undefined;\n /** Number of pending instances in the pool that are NOT part of a cluster. */\n pendingIdleCount?: number | undefined;\n}\n\nexport interface InstancePoolStatus {\n /**\n * List of error messages for the failed pending instances.\n * The pending_instance_errors follows FIFO with maximum length of the min_idle of the pool.\n * The pending_instance_errors is emptied once the number of exiting available instances reaches\n * the min_idle of the pool.\n */\n pendingInstanceErrors?: PendingInstanceError[] | undefined;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\nexport interface ListInstancePoolsRequest {}\n\nexport interface ListInstancePoolsResponse {\n instancePools?: InstancePoolAndStats[] | undefined;\n}\n\n/** Configuration for flexible node types, allowing fallback to alternate node types during cluster launch and upscale. */\nexport interface NodeTypeFlexibility {\n /** A list of node type IDs to use as fallbacks when the primary node type is unavailable. */\n alternateNodeTypeIds?: string[] | undefined;\n /**\n * The AWS Context ID for EC2 Fleet.\n * When set (non-empty), the value is passed to AWS CreateFleet API to create the EC2 Fleet.\n */\n awsContextId?: string | undefined;\n}\n\n/** Error message of a failed pending instances */\nexport interface PendingInstanceError {\n instanceId?: string | undefined;\n message?: string | undefined;\n}\n\nexport const unmarshalCreateInstancePoolResponseSchema: z.ZodType<CreateInstancePoolResponse> =\n z\n .object({\n instance_pool_id: z.string().optional(),\n })\n .transform(d => ({\n instancePoolId: d.instance_pool_id,\n }));\n\nexport const unmarshalDeleteInstancePoolResponseSchema: z.ZodType<DeleteInstancePoolResponse> =\n z.object({});\n\nexport const unmarshalDiskSpecSchema: z.ZodType<DiskSpec> = z\n .object({\n disk_type: z.lazy(() => unmarshalDiskTypeSchema).optional(),\n disk_count: z.number().optional(),\n disk_size: z.number().optional(),\n disk_iops: z.number().optional(),\n disk_throughput: z.number().optional(),\n })\n .transform(d => ({\n diskType: d.disk_type,\n diskCount: d.disk_count,\n diskSize: d.disk_size,\n diskIops: d.disk_iops,\n diskThroughput: d.disk_throughput,\n }));\n\nexport const unmarshalDiskTypeSchema: z.ZodType<DiskType> = z\n .object({\n ebs_volume_type: z.string().optional(),\n azure_disk_volume_type: z.string().optional(),\n })\n .transform(d => ({\n remoteVolumeType:\n d.ebs_volume_type !== undefined\n ? {$case: 'ebsVolumeType' as const, ebsVolumeType: d.ebs_volume_type}\n : d.azure_disk_volume_type !== undefined\n ? {\n $case: 'azureDiskVolumeType' as const,\n azureDiskVolumeType: d.azure_disk_volume_type,\n }\n : undefined,\n }));\n\nexport const unmarshalDockerBasicAuthSchema: z.ZodType<DockerBasicAuth> = z\n .object({\n username: z.string().optional(),\n password: z.string().optional(),\n })\n .transform(d => ({\n username: d.username,\n password: d.password,\n }));\n\nexport const unmarshalDockerImageSchema: z.ZodType<DockerImage> = z\n .object({\n url: z.string().optional(),\n basic_auth: z.lazy(() => unmarshalDockerBasicAuthSchema).optional(),\n })\n .transform(d => ({\n url: d.url,\n credsOneof:\n d.basic_auth !== undefined\n ? {$case: 'basicAuth' as const, basicAuth: d.basic_auth}\n : undefined,\n }));\n\nexport const unmarshalEditInstancePoolResponseSchema: z.ZodType<EditInstancePoolResponse> =\n z.object({});\n\nexport const unmarshalGetInstancePoolResponseSchema: z.ZodType<GetInstancePoolResponse> =\n z\n .object({\n stats: z.lazy(() => unmarshalInstancePoolStatsSchema).optional(),\n status: z.lazy(() => unmarshalInstancePoolStatusSchema).optional(),\n instance_pool_id: z.string().optional(),\n default_tags: z.record(z.string(), z.string()).optional(),\n state: z.string().optional(),\n instance_pool_name: z.string().optional(),\n min_idle_instances: z.number().optional(),\n max_capacity: z.number().optional(),\n aws_attributes: z\n .lazy(() => unmarshalInstancePoolAwsAttributesSchema)\n .optional(),\n node_type_id: z.string().optional(),\n custom_tags: z.record(z.string(), z.string()).optional(),\n idle_instance_autotermination_minutes: z.number().optional(),\n enable_elastic_disk: z.boolean().optional(),\n disk_spec: z.lazy(() => unmarshalDiskSpecSchema).optional(),\n preloaded_docker_images: z\n .array(z.lazy(() => unmarshalDockerImageSchema))\n .optional(),\n preloaded_spark_versions: z.array(z.string()).optional(),\n azure_attributes: z\n .lazy(() => unmarshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcp_attributes: z\n .lazy(() => unmarshalInstancePoolGcpAttributesSchema)\n .optional(),\n node_type_flexibility: z\n .lazy(() => unmarshalNodeTypeFlexibilitySchema)\n .optional(),\n remote_disk_throughput: z.number().optional(),\n total_initial_remote_disk_size: z.number().optional(),\n })\n .transform(d => ({\n stats: d.stats,\n status: d.status,\n instancePoolId: d.instance_pool_id,\n defaultTags: d.default_tags,\n state: d.state,\n instancePoolName: d.instance_pool_name,\n minIdleInstances: d.min_idle_instances,\n maxCapacity: d.max_capacity,\n awsAttributes: d.aws_attributes,\n nodeTypeId: d.node_type_id,\n customTags: d.custom_tags,\n idleInstanceAutoterminationMinutes:\n d.idle_instance_autotermination_minutes,\n enableElasticDisk: d.enable_elastic_disk,\n diskSpec: d.disk_spec,\n preloadedDockerImages: d.preloaded_docker_images,\n preloadedSparkVersions: d.preloaded_spark_versions,\n azureAttributes: d.azure_attributes,\n gcpAttributes: d.gcp_attributes,\n nodeTypeFlexibility: d.node_type_flexibility,\n remoteDiskThroughput: d.remote_disk_throughput,\n totalInitialRemoteDiskSize: d.total_initial_remote_disk_size,\n }));\n\nexport const unmarshalInstancePoolAndStatsSchema: z.ZodType<InstancePoolAndStats> =\n z\n .object({\n stats: z.lazy(() => unmarshalInstancePoolStatsSchema).optional(),\n status: z.lazy(() => unmarshalInstancePoolStatusSchema).optional(),\n instance_pool_id: z.string().optional(),\n default_tags: z.record(z.string(), z.string()).optional(),\n state: z.string().optional(),\n instance_pool_name: z.string().optional(),\n min_idle_instances: z.number().optional(),\n max_capacity: z.number().optional(),\n aws_attributes: z\n .lazy(() => unmarshalInstancePoolAwsAttributesSchema)\n .optional(),\n node_type_id: z.string().optional(),\n custom_tags: z.record(z.string(), z.string()).optional(),\n idle_instance_autotermination_minutes: z.number().optional(),\n enable_elastic_disk: z.boolean().optional(),\n disk_spec: z.lazy(() => unmarshalDiskSpecSchema).optional(),\n preloaded_docker_images: z\n .array(z.lazy(() => unmarshalDockerImageSchema))\n .optional(),\n preloaded_spark_versions: z.array(z.string()).optional(),\n azure_attributes: z\n .lazy(() => unmarshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcp_attributes: z\n .lazy(() => unmarshalInstancePoolGcpAttributesSchema)\n .optional(),\n node_type_flexibility: z\n .lazy(() => unmarshalNodeTypeFlexibilitySchema)\n .optional(),\n remote_disk_throughput: z.number().optional(),\n total_initial_remote_disk_size: z.number().optional(),\n })\n .transform(d => ({\n stats: d.stats,\n status: d.status,\n instancePoolId: d.instance_pool_id,\n defaultTags: d.default_tags,\n state: d.state,\n instancePoolName: d.instance_pool_name,\n minIdleInstances: d.min_idle_instances,\n maxCapacity: d.max_capacity,\n awsAttributes: d.aws_attributes,\n nodeTypeId: d.node_type_id,\n customTags: d.custom_tags,\n idleInstanceAutoterminationMinutes:\n d.idle_instance_autotermination_minutes,\n enableElasticDisk: d.enable_elastic_disk,\n diskSpec: d.disk_spec,\n preloadedDockerImages: d.preloaded_docker_images,\n preloadedSparkVersions: d.preloaded_spark_versions,\n azureAttributes: d.azure_attributes,\n gcpAttributes: d.gcp_attributes,\n nodeTypeFlexibility: d.node_type_flexibility,\n remoteDiskThroughput: d.remote_disk_throughput,\n totalInitialRemoteDiskSize: d.total_initial_remote_disk_size,\n }));\n\nexport const unmarshalInstancePoolAwsAttributesSchema: z.ZodType<InstancePoolAwsAttributes> =\n z\n .object({\n availability: z.string().optional(),\n zone_id: z.string().optional(),\n spot_bid_price_percent: z.number().optional(),\n instance_profile_arn: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n zoneId: d.zone_id,\n spotBidPricePercent: d.spot_bid_price_percent,\n instanceProfileArn: d.instance_profile_arn,\n }));\n\nexport const unmarshalInstancePoolAzureAttributesSchema: z.ZodType<InstancePoolAzureAttributes> =\n z\n .object({\n availability: z.string().optional(),\n spot_bid_max_price: z.number().optional(),\n capacity_reservation_group: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n spotBidMaxPrice: d.spot_bid_max_price,\n capacityReservationGroup: d.capacity_reservation_group,\n }));\n\nexport const unmarshalInstancePoolGcpAttributesSchema: z.ZodType<InstancePoolGcpAttributes> =\n z\n .object({\n gcp_availability: z.string().optional(),\n local_ssd_count: z.number().optional(),\n zone_id: z.string().optional(),\n })\n .transform(d => ({\n gcpAvailability: d.gcp_availability,\n localSsdCount: d.local_ssd_count,\n zoneId: d.zone_id,\n }));\n\nexport const unmarshalInstancePoolStatsSchema: z.ZodType<InstancePoolStats> = z\n .object({\n used_count: z.number().optional(),\n idle_count: z.number().optional(),\n pending_used_count: z.number().optional(),\n pending_idle_count: z.number().optional(),\n })\n .transform(d => ({\n usedCount: d.used_count,\n idleCount: d.idle_count,\n pendingUsedCount: d.pending_used_count,\n pendingIdleCount: d.pending_idle_count,\n }));\n\nexport const unmarshalInstancePoolStatusSchema: z.ZodType<InstancePoolStatus> =\n z\n .object({\n pending_instance_errors: z\n .array(z.lazy(() => unmarshalPendingInstanceErrorSchema))\n .optional(),\n })\n .transform(d => ({\n pendingInstanceErrors: d.pending_instance_errors,\n }));\n\nexport const unmarshalListInstancePoolsResponseSchema: z.ZodType<ListInstancePoolsResponse> =\n z\n .object({\n instance_pools: z\n .array(z.lazy(() => unmarshalInstancePoolAndStatsSchema))\n .optional(),\n })\n .transform(d => ({\n instancePools: d.instance_pools,\n }));\n\nexport const unmarshalNodeTypeFlexibilitySchema: z.ZodType<NodeTypeFlexibility> =\n z\n .object({\n alternate_node_type_ids: z.array(z.string()).optional(),\n aws_context_id: z.string().optional(),\n })\n .transform(d => ({\n alternateNodeTypeIds: d.alternate_node_type_ids,\n awsContextId: d.aws_context_id,\n }));\n\nexport const unmarshalPendingInstanceErrorSchema: z.ZodType<PendingInstanceError> =\n z\n .object({\n instance_id: z.string().optional(),\n message: z.string().optional(),\n })\n .transform(d => ({\n instanceId: d.instance_id,\n message: d.message,\n }));\n\nexport const marshalCreateInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolName: z.string().optional(),\n minIdleInstances: z.number().optional(),\n maxCapacity: z.number().optional(),\n awsAttributes: z\n .lazy(() => marshalInstancePoolAwsAttributesSchema)\n .optional(),\n nodeTypeId: z.string().optional(),\n customTags: z.record(z.string(), z.string()).optional(),\n idleInstanceAutoterminationMinutes: z.number().optional(),\n enableElasticDisk: z.boolean().optional(),\n diskSpec: z.lazy(() => marshalDiskSpecSchema).optional(),\n preloadedDockerImages: z\n .array(z.lazy(() => marshalDockerImageSchema))\n .optional(),\n preloadedSparkVersions: z.array(z.string()).optional(),\n azureAttributes: z\n .lazy(() => marshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcpAttributes: z\n .lazy(() => marshalInstancePoolGcpAttributesSchema)\n .optional(),\n nodeTypeFlexibility: z\n .lazy(() => marshalNodeTypeFlexibilitySchema)\n .optional(),\n remoteDiskThroughput: z.number().optional(),\n totalInitialRemoteDiskSize: z.number().optional(),\n })\n .transform(d => ({\n instance_pool_name: d.instancePoolName,\n min_idle_instances: d.minIdleInstances,\n max_capacity: d.maxCapacity,\n aws_attributes: d.awsAttributes,\n node_type_id: d.nodeTypeId,\n custom_tags: d.customTags,\n idle_instance_autotermination_minutes: d.idleInstanceAutoterminationMinutes,\n enable_elastic_disk: d.enableElasticDisk,\n disk_spec: d.diskSpec,\n preloaded_docker_images: d.preloadedDockerImages,\n preloaded_spark_versions: d.preloadedSparkVersions,\n azure_attributes: d.azureAttributes,\n gcp_attributes: d.gcpAttributes,\n node_type_flexibility: d.nodeTypeFlexibility,\n remote_disk_throughput: d.remoteDiskThroughput,\n total_initial_remote_disk_size: d.totalInitialRemoteDiskSize,\n }));\n\nexport const marshalDeleteInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolId: z.string().optional(),\n })\n .transform(d => ({\n instance_pool_id: d.instancePoolId,\n }));\n\nexport const marshalDiskSpecSchema: z.ZodType = z\n .object({\n diskType: z.lazy(() => marshalDiskTypeSchema).optional(),\n diskCount: z.number().optional(),\n diskSize: z.number().optional(),\n diskIops: z.number().optional(),\n diskThroughput: z.number().optional(),\n })\n .transform(d => ({\n disk_type: d.diskType,\n disk_count: d.diskCount,\n disk_size: d.diskSize,\n disk_iops: d.diskIops,\n disk_throughput: d.diskThroughput,\n }));\n\nexport const marshalDiskTypeSchema: z.ZodType = z\n .object({\n remoteVolumeType: z\n .discriminatedUnion('$case', [\n z.object({\n $case: z.literal('ebsVolumeType'),\n ebsVolumeType: z.string(),\n }),\n z.object({\n $case: z.literal('azureDiskVolumeType'),\n azureDiskVolumeType: z.string(),\n }),\n ])\n .optional(),\n })\n .transform(d => ({\n ...(d.remoteVolumeType?.$case === 'ebsVolumeType' && {\n ebs_volume_type: d.remoteVolumeType.ebsVolumeType,\n }),\n ...(d.remoteVolumeType?.$case === 'azureDiskVolumeType' && {\n azure_disk_volume_type: d.remoteVolumeType.azureDiskVolumeType,\n }),\n }));\n\nexport const marshalDockerBasicAuthSchema: z.ZodType = z\n .object({\n username: z.string().optional(),\n password: z.string().optional(),\n })\n .transform(d => ({\n username: d.username,\n password: d.password,\n }));\n\nexport const marshalDockerImageSchema: z.ZodType = z\n .object({\n url: z.string().optional(),\n credsOneof: z\n .discriminatedUnion('$case', [\n z.object({\n $case: z.literal('basicAuth'),\n basicAuth: z.lazy(() => marshalDockerBasicAuthSchema),\n }),\n ])\n .optional(),\n })\n .transform(d => ({\n url: d.url,\n ...(d.credsOneof?.$case === 'basicAuth' && {\n basic_auth: d.credsOneof.basicAuth,\n }),\n }));\n\nexport const marshalEditInstancePoolRequestSchema: z.ZodType = z\n .object({\n instancePoolId: z.string().optional(),\n instancePoolName: z.string().optional(),\n minIdleInstances: z.number().optional(),\n maxCapacity: z.number().optional(),\n awsAttributes: z\n .lazy(() => marshalInstancePoolAwsAttributesSchema)\n .optional(),\n nodeTypeId: z.string().optional(),\n customTags: z.record(z.string(), z.string()).optional(),\n idleInstanceAutoterminationMinutes: z.number().optional(),\n enableElasticDisk: z.boolean().optional(),\n diskSpec: z.lazy(() => marshalDiskSpecSchema).optional(),\n preloadedDockerImages: z\n .array(z.lazy(() => marshalDockerImageSchema))\n .optional(),\n preloadedSparkVersions: z.array(z.string()).optional(),\n azureAttributes: z\n .lazy(() => marshalInstancePoolAzureAttributesSchema)\n .optional(),\n gcpAttributes: z\n .lazy(() => marshalInstancePoolGcpAttributesSchema)\n .optional(),\n nodeTypeFlexibility: z\n .lazy(() => marshalNodeTypeFlexibilitySchema)\n .optional(),\n remoteDiskThroughput: z.number().optional(),\n totalInitialRemoteDiskSize: z.number().optional(),\n })\n .transform(d => ({\n instance_pool_id: d.instancePoolId,\n instance_pool_name: d.instancePoolName,\n min_idle_instances: d.minIdleInstances,\n max_capacity: d.maxCapacity,\n aws_attributes: d.awsAttributes,\n node_type_id: d.nodeTypeId,\n custom_tags: d.customTags,\n idle_instance_autotermination_minutes: d.idleInstanceAutoterminationMinutes,\n enable_elastic_disk: d.enableElasticDisk,\n disk_spec: d.diskSpec,\n preloaded_docker_images: d.preloadedDockerImages,\n preloaded_spark_versions: d.preloadedSparkVersions,\n azure_attributes: d.azureAttributes,\n gcp_attributes: d.gcpAttributes,\n node_type_flexibility: d.nodeTypeFlexibility,\n remote_disk_throughput: d.remoteDiskThroughput,\n total_initial_remote_disk_size: d.totalInitialRemoteDiskSize,\n }));\n\nexport const marshalInstancePoolAwsAttributesSchema: z.ZodType = z\n .object({\n availability: z.string().optional(),\n zoneId: z.string().optional(),\n spotBidPricePercent: z.number().optional(),\n instanceProfileArn: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n zone_id: d.zoneId,\n spot_bid_price_percent: d.spotBidPricePercent,\n instance_profile_arn: d.instanceProfileArn,\n }));\n\nexport const marshalInstancePoolAzureAttributesSchema: z.ZodType = z\n .object({\n availability: z.string().optional(),\n spotBidMaxPrice: z.number().optional(),\n capacityReservationGroup: z.string().optional(),\n })\n .transform(d => ({\n availability: d.availability,\n spot_bid_max_price: d.spotBidMaxPrice,\n capacity_reservation_group: d.capacityReservationGroup,\n }));\n\nexport const marshalInstancePoolGcpAttributesSchema: z.ZodType = z\n .object({\n gcpAvailability: z.string().optional(),\n localSsdCount: z.number().optional(),\n zoneId: z.string().optional(),\n })\n .transform(d => ({\n gcp_availability: d.gcpAvailability,\n local_ssd_count: d.localSsdCount,\n zone_id: d.zoneId,\n }));\n\nexport const marshalNodeTypeFlexibilitySchema: z.ZodType = z\n .object({\n alternateNodeTypeIds: z.array(z.string()).optional(),\n awsContextId: z.string().optional(),\n })\n .transform(d => ({\n alternate_node_type_ids: d.alternateNodeTypeIds,\n aws_context_id: d.awsContextId,\n }));\n"],"mappings":"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"}
@@ -15,19 +15,27 @@ import { resolve } from "@databricks/sdk-core/profiles";
15
15
  */
16
16
  async function resolveClientConfig(options) {
17
17
  const profile = await resolve(options.profileOptions);
18
- const host = options.host ?? profile.host;
18
+ const host = normalizeHost(options.host ?? profile.host);
19
19
  if (host === void 0) throw new Error("Host is required.");
20
- let httpClient = new AuthHttpClient(options.httpClient ?? newFetchHttpClient(), options.credentials ?? defaultCredentials({ profile }));
20
+ let httpClient = new AuthHttpClient(options.httpClient ?? newFetchHttpClient(), options.credentials ?? defaultCredentials({ profile: {
21
+ ...profile,
22
+ host
23
+ } }));
21
24
  if (options.timeout !== void 0) httpClient = new TimeoutHttpClient(httpClient, options.timeout);
22
25
  const accountId = options.accountId ?? profile.accountId;
23
26
  const workspaceId = options.workspaceId ?? profile.workspaceId;
24
27
  return {
25
- host: host.replace(/\/$/, ""),
28
+ host,
26
29
  httpClient,
27
30
  ...accountId !== void 0 && { accountId },
28
31
  ...workspaceId !== void 0 && { workspaceId }
29
32
  };
30
33
  }
34
+ function normalizeHost(host) {
35
+ const trimmed = host?.trim();
36
+ if (trimmed === void 0 || trimmed === "") return;
37
+ return (/^https?:\/\//i.test(trimmed) ? trimmed : `https://${trimmed}`).replace(/\/$/, "");
38
+ }
31
39
  /** Wraps an HttpClient and adds authentication headers to requests. */
32
40
  var AuthHttpClient = class {
33
41
  constructor(base, credentials) {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","names":[],"sources":["../../src/v2/transport.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport type {Credentials} from '@databricks/sdk-auth';\nimport {defaultCredentials} from '@databricks/sdk-auth/credentials';\nimport type {\n HttpClient,\n HttpRequest,\n HttpResponse,\n} from '@databricks/sdk-core/http';\nimport {newFetchHttpClient} from '@databricks/sdk-core/http';\nimport type {Profile} from '@databricks/sdk-core/profiles';\nimport {resolve} from '@databricks/sdk-core/profiles';\nimport type {ClientOptions} from '@databricks/sdk-options/client';\n\n/**\n * The configuration a client needs to issue requests, resolved from\n * {@link ClientOptions} and a configuration profile.\n */\nexport interface ResolvedClientConfig {\n /** Host with any trailing slash removed. */\n host: string;\n\n /**\n * Default account ID for account-level paths that contain an account_id\n * segment. A request's own accountId still wins.\n */\n accountId?: string;\n\n /**\n * Workspace ID used to route workspace-level calls on unified hosts (SPOG).\n */\n workspaceId?: string;\n\n /** HTTP client with authentication, and any configured timeout, applied. */\n httpClient: HttpClient;\n}\n\n/**\n * Resolves {@link ClientOptions} into a {@link ResolvedClientConfig}.\n *\n * A configuration profile is always resolved from the config file and\n * environment variables (per options.profileOptions); it supplies host,\n * accountId, workspaceId, and credentials wherever the caller did not set them\n * explicitly. Explicit options always take precedence.\n *\n * @throws if host is neither provided nor present in the resolved profile.\n */\nexport async function resolveClientConfig(\n options: ClientOptions\n): Promise<ResolvedClientConfig> {\n const profile: Profile = await resolve(options.profileOptions);\n\n const host = options.host ?? profile.host;\n if (host === undefined) {\n throw new Error('Host is required.');\n }\n\n // The provided httpClient (or the default fetch client) is the base wire;\n // authentication and the optional timeout are layered on top of it. The\n // default credential chain reuses the profile resolved above so that the\n // same profileOptions govern host and authentication alike.\n const base = options.httpClient ?? newFetchHttpClient();\n const credentials = options.credentials ?? defaultCredentials({profile});\n let httpClient: HttpClient = new AuthHttpClient(base, credentials);\n if (options.timeout !== undefined) {\n httpClient = new TimeoutHttpClient(httpClient, options.timeout);\n }\n\n const accountId = options.accountId ?? profile.accountId;\n const workspaceId = options.workspaceId ?? profile.workspaceId;\n\n return {\n host: host.replace(/\\/$/, ''),\n httpClient,\n ...(accountId !== undefined && {accountId}),\n ...(workspaceId !== undefined && {workspaceId}),\n };\n}\n\n/** Wraps an HttpClient and adds authentication headers to requests. */\nclass AuthHttpClient implements HttpClient {\n constructor(\n private readonly base: HttpClient,\n private readonly credentials: Credentials\n ) {}\n\n async send(request: HttpRequest): Promise<HttpResponse> {\n const authHeaders = await this.credentials.authHeaders();\n // Do not modify the original request.\n const headers = new Headers(request.headers);\n for (const h of authHeaders) {\n headers.set(h.key, h.value);\n }\n return this.base.send({...request, headers});\n }\n}\n\n/** Wraps an HttpClient and applies a default timeout to requests. */\nclass TimeoutHttpClient implements HttpClient {\n constructor(\n private readonly base: HttpClient,\n private readonly timeout: number\n ) {}\n\n async send(request: HttpRequest): Promise<HttpResponse> {\n const timeoutSignal = AbortSignal.timeout(this.timeout);\n const signal =\n request.signal !== undefined\n ? AbortSignal.any([request.signal, timeoutSignal])\n : timeoutSignal;\n return this.base.send({...request, signal});\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,eAAsB,oBACpB,SAC+B;CAC/B,MAAM,UAAmB,MAAM,QAAQ,QAAQ,eAAe;CAE9D,MAAM,OAAO,QAAQ,QAAQ,QAAQ;AACrC,KAAI,SAAS,OACX,OAAM,IAAI,MAAM,oBAAoB;CAStC,IAAI,aAAyB,IAAI,eAFpB,QAAQ,cAAc,oBAAoB,EACnC,QAAQ,eAAe,mBAAmB,EAAC,SAAQ,CAAC,CACN;AAClE,KAAI,QAAQ,YAAY,OACtB,cAAa,IAAI,kBAAkB,YAAY,QAAQ,QAAQ;CAGjE,MAAM,YAAY,QAAQ,aAAa,QAAQ;CAC/C,MAAM,cAAc,QAAQ,eAAe,QAAQ;AAEnD,QAAO;EACL,MAAM,KAAK,QAAQ,OAAO,GAAG;EAC7B;EACA,GAAI,cAAc,UAAa,EAAC,WAAU;EAC1C,GAAI,gBAAgB,UAAa,EAAC,aAAY;EAC/C;;;AAIH,IAAM,iBAAN,MAA2C;CACzC,YACE,AAAiB,MACjB,AAAiB,aACjB;EAFiB;EACA;;CAGnB,MAAM,KAAK,SAA6C;EACtD,MAAM,cAAc,MAAM,KAAK,YAAY,aAAa;EAExD,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAC5C,OAAK,MAAM,KAAK,YACd,SAAQ,IAAI,EAAE,KAAK,EAAE,MAAM;AAE7B,SAAO,KAAK,KAAK,KAAK;GAAC,GAAG;GAAS;GAAQ,CAAC;;;;AAKhD,IAAM,oBAAN,MAA8C;CAC5C,YACE,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;;CAGnB,MAAM,KAAK,SAA6C;EACtD,MAAM,gBAAgB,YAAY,QAAQ,KAAK,QAAQ;EACvD,MAAM,SACJ,QAAQ,WAAW,SACf,YAAY,IAAI,CAAC,QAAQ,QAAQ,cAAc,CAAC,GAChD;AACN,SAAO,KAAK,KAAK,KAAK;GAAC,GAAG;GAAS;GAAO,CAAC"}
1
+ {"version":3,"file":"transport.js","names":[],"sources":["../../src/v2/transport.ts"],"sourcesContent":["// Code generated from API definition by Databricks SDK Generator. DO NOT EDIT.\n\nimport type {Credentials} from '@databricks/sdk-auth';\nimport {defaultCredentials} from '@databricks/sdk-auth/credentials';\nimport type {\n HttpClient,\n HttpRequest,\n HttpResponse,\n} from '@databricks/sdk-core/http';\nimport {newFetchHttpClient} from '@databricks/sdk-core/http';\nimport type {Profile} from '@databricks/sdk-core/profiles';\nimport {resolve} from '@databricks/sdk-core/profiles';\nimport type {ClientOptions} from '@databricks/sdk-options/client';\n\n/**\n * The configuration a client needs to issue requests, resolved from\n * {@link ClientOptions} and a configuration profile.\n */\nexport interface ResolvedClientConfig {\n /** Host with any trailing slash removed. */\n host: string;\n\n /**\n * Default account ID for account-level paths that contain an account_id\n * segment. A request's own accountId still wins.\n */\n accountId?: string;\n\n /**\n * Workspace ID used to route workspace-level calls on unified hosts (SPOG).\n */\n workspaceId?: string;\n\n /** HTTP client with authentication, and any configured timeout, applied. */\n httpClient: HttpClient;\n}\n\n/**\n * Resolves {@link ClientOptions} into a {@link ResolvedClientConfig}.\n *\n * A configuration profile is always resolved from the config file and\n * environment variables (per options.profileOptions); it supplies host,\n * accountId, workspaceId, and credentials wherever the caller did not set them\n * explicitly. Explicit options always take precedence.\n *\n * @throws if host is neither provided nor present in the resolved profile.\n */\nexport async function resolveClientConfig(\n options: ClientOptions\n): Promise<ResolvedClientConfig> {\n const profile: Profile = await resolve(options.profileOptions);\n\n const host = normalizeHost(options.host ?? profile.host);\n if (host === undefined) {\n throw new Error('Host is required.');\n }\n\n // The provided httpClient (or the default fetch client) is the base wire;\n // authentication and the optional timeout are layered on top of it. The\n // default credential chain reuses the profile resolved above so that the\n // same profileOptions govern host and authentication alike.\n const base = options.httpClient ?? newFetchHttpClient();\n const credentials =\n options.credentials ?? defaultCredentials({profile: {...profile, host}});\n let httpClient: HttpClient = new AuthHttpClient(base, credentials);\n if (options.timeout !== undefined) {\n httpClient = new TimeoutHttpClient(httpClient, options.timeout);\n }\n\n const accountId = options.accountId ?? profile.accountId;\n const workspaceId = options.workspaceId ?? profile.workspaceId;\n\n return {\n host,\n httpClient,\n ...(accountId !== undefined && {accountId}),\n ...(workspaceId !== undefined && {workspaceId}),\n };\n}\n\nfunction normalizeHost(host: string | undefined): string | undefined {\n const trimmed = host?.trim();\n if (trimmed === undefined || trimmed === '') {\n return undefined;\n }\n const absolute = /^https?:\\/\\//i.test(trimmed)\n ? trimmed\n : `https://${trimmed}`;\n return absolute.replace(/\\/$/, '');\n}\n\n/** Wraps an HttpClient and adds authentication headers to requests. */\nclass AuthHttpClient implements HttpClient {\n constructor(\n private readonly base: HttpClient,\n private readonly credentials: Credentials\n ) {}\n\n async send(request: HttpRequest): Promise<HttpResponse> {\n const authHeaders = await this.credentials.authHeaders();\n // Do not modify the original request.\n const headers = new Headers(request.headers);\n for (const h of authHeaders) {\n headers.set(h.key, h.value);\n }\n return this.base.send({...request, headers});\n }\n}\n\n/** Wraps an HttpClient and applies a default timeout to requests. */\nclass TimeoutHttpClient implements HttpClient {\n constructor(\n private readonly base: HttpClient,\n private readonly timeout: number\n ) {}\n\n async send(request: HttpRequest): Promise<HttpResponse> {\n const timeoutSignal = AbortSignal.timeout(this.timeout);\n const signal =\n request.signal !== undefined\n ? AbortSignal.any([request.signal, timeoutSignal])\n : timeoutSignal;\n return this.base.send({...request, signal});\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AA+CA,eAAsB,oBACpB,SAC+B;CAC/B,MAAM,UAAmB,MAAM,QAAQ,QAAQ,eAAe;CAE9D,MAAM,OAAO,cAAc,QAAQ,QAAQ,QAAQ,KAAK;AACxD,KAAI,SAAS,OACX,OAAM,IAAI,MAAM,oBAAoB;CAUtC,IAAI,aAAyB,IAAI,eAHpB,QAAQ,cAAc,oBAAoB,EAErD,QAAQ,eAAe,mBAAmB,EAAC,SAAS;EAAC,GAAG;EAAS;EAAK,EAAC,CAAC,CACR;AAClE,KAAI,QAAQ,YAAY,OACtB,cAAa,IAAI,kBAAkB,YAAY,QAAQ,QAAQ;CAGjE,MAAM,YAAY,QAAQ,aAAa,QAAQ;CAC/C,MAAM,cAAc,QAAQ,eAAe,QAAQ;AAEnD,QAAO;EACL;EACA;EACA,GAAI,cAAc,UAAa,EAAC,WAAU;EAC1C,GAAI,gBAAgB,UAAa,EAAC,aAAY;EAC/C;;AAGH,SAAS,cAAc,MAA8C;CACnE,MAAM,UAAU,MAAM,MAAM;AAC5B,KAAI,YAAY,UAAa,YAAY,GACvC;AAKF,SAHiB,gBAAgB,KAAK,QAAQ,GAC1C,UACA,WAAW,WACC,QAAQ,OAAO,GAAG;;;AAIpC,IAAM,iBAAN,MAA2C;CACzC,YACE,AAAiB,MACjB,AAAiB,aACjB;EAFiB;EACA;;CAGnB,MAAM,KAAK,SAA6C;EACtD,MAAM,cAAc,MAAM,KAAK,YAAY,aAAa;EAExD,MAAM,UAAU,IAAI,QAAQ,QAAQ,QAAQ;AAC5C,OAAK,MAAM,KAAK,YACd,SAAQ,IAAI,EAAE,KAAK,EAAE,MAAM;AAE7B,SAAO,KAAK,KAAK,KAAK;GAAC,GAAG;GAAS;GAAQ,CAAC;;;;AAKhD,IAAM,oBAAN,MAA8C;CAC5C,YACE,AAAiB,MACjB,AAAiB,SACjB;EAFiB;EACA;;CAGnB,MAAM,KAAK,SAA6C;EACtD,MAAM,gBAAgB,YAAY,QAAQ,KAAK,QAAQ;EACvD,MAAM,SACJ,QAAQ,WAAW,SACf,YAAY,IAAI,CAAC,QAAQ,QAAQ,cAAc,CAAC,GAChD;AACN,SAAO,KAAK,KAAK,KAAK;GAAC,GAAG;GAAS;GAAO,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@databricks/sdk-instancepools",
3
- "version": "0.49.0",
3
+ "version": "0.52.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "exports": {
@@ -33,9 +33,9 @@
33
33
  "directory": "packages/instancepools"
34
34
  },
35
35
  "dependencies": {
36
- "@databricks/sdk-auth": ">=0.49.0 <1.0.0",
37
- "@databricks/sdk-core": ">=0.49.0 <1.0.0",
38
- "@databricks/sdk-options": ">=0.49.0 <1.0.0",
36
+ "@databricks/sdk-auth": ">=0.51.0 <1.0.0",
37
+ "@databricks/sdk-core": ">=0.51.0 <1.0.0",
38
+ "@databricks/sdk-options": ">=0.51.0 <1.0.0",
39
39
  "@js-temporal/polyfill": "^0.5.0",
40
40
  "json-bigint": "^1.0.0",
41
41
  "zod": "^4.3.6"